video_info 2.8.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/unit_test.yml +39 -0
  3. data/Guardfile +1 -1
  4. data/README.md +8 -21
  5. data/lib/video_info.rb +2 -3
  6. data/lib/video_info/provider.rb +3 -2
  7. data/lib/video_info/providers/vimeo_scraper.rb +12 -2
  8. data/lib/video_info/providers/youtube.rb +4 -0
  9. data/lib/video_info/providers/youtube_api.rb +1 -1
  10. data/lib/video_info/providers/youtube_scraper.rb +42 -25
  11. data/lib/video_info/providers/youtubeplaylist_api.rb +15 -1
  12. data/lib/video_info/version.rb +1 -1
  13. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +26 -37
  14. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +26 -35
  15. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author/1_3_7_1.yml +31 -40
  16. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_thumbnail/1_3_9_1.yml +31 -40
  17. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_url/1_3_8_1.yml +31 -40
  18. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +31 -40
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_description/1_3_10_1.yml +31 -40
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +31 -40
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +31 -40
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/{1_3_19_1.yml → 1_3_21_1.yml} +31 -40
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +31 -40
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +31 -40
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_16_1.yml +31 -40
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +31 -40
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/{1_3_20_1.yml → 1_3_22_1.yml} +31 -40
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +38 -37
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +28 -25
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +44 -41
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +26 -23
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +46 -38
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +24 -23
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +33 -31
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +33 -31
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +32 -28
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +33 -31
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +34 -34
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +33 -30
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +34 -32
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +33 -30
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +34 -34
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +34 -33
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +34 -33
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +34 -33
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +33 -31
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +34 -33
  48. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +34 -33
  49. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_20_1.yml +158 -0
  50. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_20_1.yml +80 -0
  51. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_19_1.yml +158 -0
  52. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_19_1.yml +85 -0
  53. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_21_1.yml +159 -0
  54. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_21_1.yml +80 -0
  55. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +82 -68
  56. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +44 -34
  57. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +36 -35
  58. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +45 -37
  59. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +39 -33
  60. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +46 -38
  61. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +36 -35
  62. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +85 -71
  63. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_18_1.yml +236 -0
  64. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_18_1.yml +82 -0
  65. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +67 -53
  66. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +37 -34
  67. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +67 -54
  68. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +37 -32
  69. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +67 -53
  70. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +37 -32
  71. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +45 -36
  72. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +39 -33
  73. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_22_1.yml +158 -0
  74. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_22_1.yml +84 -0
  75. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +46 -40
  76. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +37 -34
  77. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/1_12_1_1.yml +234 -0
  78. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/2_12_1_1.yml +78 -0
  79. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/1_12_2_1.yml +233 -0
  80. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/2_12_2_1.yml +78 -0
  81. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/1_12_3_1.yml +235 -0
  82. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/2_12_3_1.yml +73 -0
  83. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/1_12_4_1.yml +234 -0
  84. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/2_12_4_1.yml +77 -0
  85. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +25 -17
  86. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +28 -18
  87. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +33 -25
  88. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +33 -25
  89. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +33 -24
  90. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +34 -25
  91. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +33 -25
  92. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +33 -24
  93. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +33 -24
  94. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +33 -25
  95. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +33 -23
  96. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/{1_3_13_1.yml → 1_3_15_1.yml} +33 -23
  97. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +33 -23
  98. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +33 -23
  99. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +33 -25
  100. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +33 -25
  101. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +33 -23
  102. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +20 -442
  103. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +81 -21
  104. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +24 -446
  105. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +81 -21
  106. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +25 -449
  107. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +81 -21
  108. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +24 -450
  109. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +81 -21
  110. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +23 -449
  111. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +81 -21
  112. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +24 -446
  113. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +81 -21
  114. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_18_1.yml +59 -0
  115. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_18_1.yml +114 -0
  116. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +23 -20
  117. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +152 -90
  118. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +23 -447
  119. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +81 -21
  120. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_a_video_without_description/_description/1_1_1_1.yml +59 -0
  121. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +181 -110
  122. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +22 -19
  123. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +152 -90
  124. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +23 -20
  125. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +152 -90
  126. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +23 -20
  127. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +152 -90
  128. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +20 -17
  129. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +152 -90
  130. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_17_1.yml +59 -0
  131. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_17_1.yml +187 -0
  132. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +74 -15
  133. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +152 -90
  134. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +74 -15
  135. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +271 -144
  136. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +21 -18
  137. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +271 -144
  138. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/can_be_called_twice_and_receive_the_same_value.yml +391 -0
  139. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +173 -108
  140. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +23 -19
  141. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +152 -90
  142. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +21 -18
  143. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +152 -90
  144. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +21 -18
  145. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +152 -90
  146. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +23 -20
  147. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +152 -90
  148. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_21_1.yml +59 -0
  149. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_21_1.yml +187 -0
  150. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +87 -27
  151. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +120 -60
  152. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +120 -60
  153. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_21_1.yml +165 -0
  154. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_22_1.yml +274 -0
  155. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_23_1.yml +274 -0
  156. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +131 -71
  157. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +131 -71
  158. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_18_1.yml +165 -0
  159. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +131 -71
  160. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large_2x/1_3_16_1.yml +165 -0
  161. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_maxres/1_3_17_1.yml +165 -0
  162. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +131 -71
  163. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +131 -71
  164. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +131 -71
  165. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +78 -231
  166. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +81 -21
  167. data/spec/lib/video_info/providers/dailymotion_spec.rb +6 -6
  168. data/spec/lib/video_info/providers/vimeo_spec.rb +21 -21
  169. data/spec/lib/video_info/providers/wistia_spec.rb +6 -6
  170. data/spec/lib/video_info/providers/youtube_playlist_spec.rb +22 -28
  171. data/spec/lib/video_info/providers/youtube_scraper_spec.rb +4 -2
  172. data/spec/lib/video_info/providers/youtube_spec.rb +28 -26
  173. data/spec/lib/video_info_spec.rb +0 -4
  174. data/spec/spec_helper.rb +6 -1
  175. data/tmp/rspec_guard_result +25 -0
  176. data/video_info.gemspec +4 -4
  177. metadata +85 -215
  178. data/.travis.yml +0 -21
  179. data/lib/video_info/providers/vkontakte.rb +0 -208
  180. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_18_1.yml +0 -150
  181. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_18_1.yml +0 -79
  182. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_17_1.yml +0 -150
  183. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_17_1.yml +0 -79
  184. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_19_1.yml +0 -150
  185. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_19_1.yml +0 -79
  186. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_16_1.yml +0 -222
  187. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_16_1.yml +0 -79
  188. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_20_1.yml +0 -150
  189. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_20_1.yml +0 -79
  190. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/1_12_1_1.yml +0 -222
  191. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/2_12_1_1.yml +0 -75
  192. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/1_12_2_1.yml +0 -222
  193. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/2_12_2_1.yml +0 -75
  194. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/1_12_3_1.yml +0 -222
  195. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/2_12_3_1.yml +0 -75
  196. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/1_12_4_1.yml +0 -222
  197. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/2_12_4_1.yml +0 -75
  198. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_hashes/available_/1_2_6_1_1.yml +0 -86
  199. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/1_2_2_1_1.yml +0 -50
  200. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_private_video/available_/1_2_3_1_1.yml +0 -132
  201. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect/available_/1_2_4_1_1.yml +0 -134
  202. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect_to_main_page_for_auth/available_/1_2_5_1_1.yml +0 -85
  203. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/1_2_1_1_1.yml +0 -87
  204. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author/1_5_14_1.yml +0 -48
  205. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_thumbnail/1_5_15_1.yml +0 -48
  206. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_url/1_5_16_1.yml +0 -48
  207. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/description/1_5_8_1.yml +0 -48
  208. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/duration/1_5_10_1.yml +0 -48
  209. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_code/1_5_6_1.yml +0 -48
  210. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_url/1_5_5_1.yml +0 -48
  211. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/height/1_5_12_1.yml +0 -48
  212. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/thumbnail_small/1_5_18_1.yml +0 -48
  213. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/title/1_5_7_1.yml +0 -48
  214. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/view_count/1_5_13_1.yml +0 -48
  215. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/width/1_5_11_1.yml +0 -50
  216. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/author/1_3_7_1.yml +0 -48
  217. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_code/1_3_6_1.yml +0 -48
  218. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_url/1_3_5_1.yml +0 -48
  219. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/title/1_3_4_1.yml +0 -48
  220. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/1_7_4_1.yml +0 -48
  221. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video3552522_171340713/embed_url/1_10_1_1.yml +0 -48
  222. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/description/1_6_8_1.yml +0 -48
  223. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/duration/1_6_10_1.yml +0 -48
  224. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_code/1_6_6_1.yml +0 -48
  225. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_url/1_6_5_1.yml +0 -48
  226. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/height/1_6_12_1.yml +0 -48
  227. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/title/1_6_7_1.yml +0 -48
  228. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/view_count/1_6_13_1.yml +0 -48
  229. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/width/1_6_11_1.yml +0 -48
  230. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author/1_4_5_1.yml +0 -48
  231. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_thumbnail/1_4_6_1.yml +0 -48
  232. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_url/1_4_7_1.yml +0 -48
  233. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/title/1_4_4_1.yml +0 -48
  234. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/1_2_2_1_1.yml +0 -1447
  235. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/2_2_2_1_1.yml +0 -156
  236. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_3_1_1.yml +0 -485
  237. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_3_1_1.yml +0 -54
  238. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_3_11_1.yml +0 -481
  239. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_3_11_1.yml +0 -54
  240. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_3_8_1.yml +0 -483
  241. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_3_8_1.yml +0 -54
  242. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_3_10_1.yml +0 -484
  243. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_3_10_1.yml +0 -54
  244. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_3_9_1.yml +0 -484
  245. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_3_9_1.yml +0 -54
  246. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_3_7_1.yml +0 -484
  247. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_3_7_1.yml +0 -54
  248. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_17_1.yml +0 -485
  249. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_3_17_1.yml +0 -485
  250. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_17_1.yml +0 -54
  251. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_3_17_1.yml +0 -54
  252. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_4_1_1.yml +0 -484
  253. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_4_1_1.yml +0 -54
  254. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_16_1.yml +0 -56
  255. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_16_1.yml +0 -125
  256. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_20_1.yml +0 -56
  257. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_20_1.yml +0 -125
  258. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/2_2_2_1_1.yml +0 -60
  259. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/2_2_3_1_1.yml +0 -94
  260. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/2_2_1_1_1.yml +0 -94
  261. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_19_1.yml +0 -105
  262. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/2_3_19_1.yml +0 -105
  263. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_20_1.yml +0 -189
  264. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/2_3_20_1.yml +0 -189
  265. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_21_1.yml +0 -189
  266. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/2_3_21_1.yml +0 -189
  267. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/2_3_7_1.yml +0 -105
  268. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/2_3_8_1.yml +0 -105
  269. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_16_1.yml +0 -105
  270. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/2_3_16_1.yml +0 -105
  271. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/2_3_15_1.yml +0 -105
  272. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/2_3_14_1.yml +0 -105
  273. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/2_3_13_1.yml +0 -105
  274. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/2_3_6_1.yml +0 -105
  275. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/2_4_2_1.yml +0 -54
  276. data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -236
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=AIzaSyA6PYwSr1EnLFUFy1cZDk3Ifb0rxeJaeZ0&part=snippet,statistics,status,contentDetails
5
+ uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=youtube_api_key_123&part=snippet,statistics,status,contentDetails
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - VideoInfo/2.7
11
+ - VideoInfo/2.8.0
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -18,37 +18,97 @@ http_interactions:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
- Expires:
22
- - Mon, 27 Mar 2017 21:02:07 GMT
21
+ Content-Type:
22
+ - application/json; charset=UTF-8
23
+ Vary:
24
+ - Origin
25
+ - Referer
26
+ - X-Origin
23
27
  Date:
24
- - Mon, 27 Mar 2017 21:02:07 GMT
28
+ - Tue, 27 Oct 2020 18:33:51 GMT
29
+ Server:
30
+ - scaffolding on HTTPServer2
25
31
  Cache-Control:
26
- - private, max-age=0, must-revalidate, no-transform
27
- Etag:
28
- - '"uQc-MPTsstrHkQcRXL3IWLmeNsM/KeOik9Ri5nMPZgjDLHtO3tGN6Pc"'
32
+ - private
33
+ X-Xss-Protection:
34
+ - '0'
35
+ X-Frame-Options:
36
+ - SAMEORIGIN
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ Alt-Svc:
40
+ - h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
41
+ ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
42
+ ma=2592000; v="46,43"
43
+ Transfer-Encoding:
44
+ - chunked
45
+ body:
46
+ encoding: ASCII-8BIT
47
+ string: |
48
+ {
49
+ "items": []
50
+ }
51
+ http_version:
52
+ recorded_at: Tue, 27 Oct 2020 18:33:51 GMT
53
+ - request:
54
+ method: get
55
+ uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=%3Cyoutube_api_key_123%3E&part=snippet,statistics,status,contentDetails
56
+ body:
57
+ encoding: US-ASCII
58
+ string: ''
59
+ headers:
60
+ User-Agent:
61
+ - VideoInfo/2.8.0
62
+ Accept-Encoding:
63
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
64
+ Accept:
65
+ - "*/*"
66
+ response:
67
+ status:
68
+ code: 400
69
+ message: Bad Request
70
+ headers:
29
71
  Vary:
30
72
  - Origin
73
+ - Referer
31
74
  - X-Origin
32
75
  Content-Type:
33
76
  - application/json; charset=UTF-8
34
- X-Content-Type-Options:
35
- - nosniff
77
+ Date:
78
+ - Tue, 27 Oct 2020 18:44:58 GMT
79
+ Server:
80
+ - scaffolding on HTTPServer2
81
+ Cache-Control:
82
+ - private
83
+ X-Xss-Protection:
84
+ - '0'
36
85
  X-Frame-Options:
37
86
  - SAMEORIGIN
38
- X-Xss-Protection:
39
- - 1; mode=block
40
- Content-Length:
41
- - '17'
42
- Server:
43
- - GSE
87
+ X-Content-Type-Options:
88
+ - nosniff
44
89
  Alt-Svc:
45
- - quic=":443"; ma=2592000; v="37,36,35"
90
+ - h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
91
+ ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
92
+ ma=2592000; v="46,43"
93
+ Transfer-Encoding:
94
+ - chunked
46
95
  body:
47
- encoding: UTF-8
96
+ encoding: ASCII-8BIT
48
97
  string: |
49
98
  {
50
- "items": []
99
+ "error": {
100
+ "code": 400,
101
+ "message": "API key not valid. Please pass a valid API key.",
102
+ "errors": [
103
+ {
104
+ "message": "API key not valid. Please pass a valid API key.",
105
+ "domain": "global",
106
+ "reason": "badRequest"
107
+ }
108
+ ],
109
+ "status": "INVALID_ARGUMENT"
110
+ }
51
111
  }
52
- http_version:
53
- recorded_at: Mon, 27 Mar 2017 21:02:07 GMT
112
+ http_version:
113
+ recorded_at: Tue, 27 Oct 2020 18:44:58 GMT
54
114
  recorded_with: VCR 3.0.3
@@ -18,468 +18,42 @@ http_interactions:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
- X-Frame-Options:
22
- - SAMEORIGIN
21
+ Expires:
22
+ - Tue, 27 Apr 1971 19:44:06 GMT
23
23
  X-Content-Type-Options:
24
24
  - nosniff
25
25
  Strict-Transport-Security:
26
26
  - max-age=31536000
27
- X-Xss-Protection:
28
- - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
29
- Expires:
30
- - Tue, 27 Apr 1971 19:44:06 EST
31
- P3p:
32
- - CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en
33
- for more info."
34
- Content-Type:
35
- - text/html; charset=utf-8
27
+ X-Frame-Options:
28
+ - SAMEORIGIN
36
29
  Cache-Control:
37
30
  - no-cache
31
+ Content-Type:
32
+ - text/html; charset=utf-8
33
+ P3p:
34
+ - CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=pt-BR
35
+ for more info."
38
36
  Date:
39
- - Mon, 27 Mar 2017 21:01:59 GMT
37
+ - Tue, 27 Oct 2020 18:33:34 GMT
40
38
  Server:
41
- - YouTubeFrontEnd
39
+ - YouTube Frontend Proxy
40
+ X-Xss-Protection:
41
+ - '0'
42
42
  Set-Cookie:
43
- - VISITOR_INFO1_LIVE=TsqT1SNclXc; path=/; domain=.youtube.com; expires=Sun,
44
- 26-Nov-2017 08:54:59 GMT; httponly
45
- - YSC=E_82jYH0QK8; path=/; domain=.youtube.com; httponly
43
+ - GPS=1; path=/; domain=.youtube.com; expires=Tue, 27-Oct-2020 19:03:34 GMT
44
+ - VISITOR_INFO1_LIVE=WhByor9hSzY; path=/; domain=.youtube.com; secure; expires=Sun,
45
+ 25-Apr-2021 18:33:34 GMT; httponly; samesite=None
46
+ - YSC=3_EQMfNdjJ8; path=/; domain=.youtube.com; secure; httponly; samesite=None
46
47
  Alt-Svc:
47
- - quic=":443"; ma=2592000; v="37,36,35"
48
+ - h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
49
+ ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
50
+ ma=2592000; v="46,43"
48
51
  Transfer-Encoding:
49
52
  - chunked
50
53
  body:
51
54
  encoding: ASCII-8BIT
52
- string: "<!DOCTYPE html><html lang=\"en\" data-cast-api-enabled=\"true\"><head><style
53
- name=\"www-roboto\">@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto
54
- Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v15/OLffGBTaF0XFOW1gnuHF0Z0EAVxt0G0biEntp43Qt6E.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto
55
- Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto
56
- Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v15/zN7GBFwfMP4uA6AR0HCoLQ.ttf)format('truetype');}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto
57
- Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v15/W4wDsBUluyw0tK3tykhXEfesZW2xOQ-xsNqO47m55DA.ttf)format('truetype');}</style><script
58
- name=\"www-roboto\">if (document.fonts && document.fonts.load) {document.fonts.load(\"400
59
- 10pt Roboto\", \"E\");document.fonts.load(\"500 10pt Roboto\", \"E\");}</script><script>var
60
- ytcsi = {gt: function(n) {n = (n || '') + 'data_';return ytcsi[n] || (ytcsi[n]
61
- = {tick: {},info: {}});},now: window.performance && window.performance.timing
62
- &&window.performance.now ? function() {return window.performance.timing.navigationStart
63
- + window.performance.now();} : function() {return (new Date()).getTime();},tick:
64
- function(l, t, n) {ticks = ytcsi.gt(n).tick;var v = t || ytcsi.now();if (ticks[l])
65
- {ticks['_' + l] = (ticks['_' + l] || [ticks[l]]);ticks['_' + l].push(v);}ticks[l]
66
- = v;},info: function(k, v, n) {ytcsi.gt(n).info[k] = v;},setStart: function(s,
67
- t, n) {ytcsi.info('yt_sts', s, n);ytcsi.tick('_start', t, n);}};(function(w,
68
- d) {ytcsi.setStart('dhs', w.performance ? w.performance.timing.responseStart
69
- : null);var isPrerender = (d.visibilityState || d.webkitVisibilityState) ==
70
- 'prerender';var vName = d.webkitVisibilityState ? 'webkitvisibilitychange'
71
- : 'visibilitychange';if (isPrerender) {ytcsi.info('prerender', 1);var startTick
72
- = function() {ytcsi.setStart('dhs');d.removeEventListener(vName, startTick);};d.addEventListener(vName,
73
- startTick, false);}if (d.addEventListener) {d.addEventListener(vName, function()
74
- {ytcsi.tick('vc');}, false);}var slt = function(el, t) {setTimeout(function()
75
- {var n = ytcsi.now();el.loadTime = n;if (el.slt) {el.slt();}}, t);};w.__ytRIL
76
- = function(el) {if (!el.getAttribute('data-thumb')) {if (w.requestAnimationFrame)
77
- {w.requestAnimationFrame(function() {slt(el, 0);});} else {slt(el, 16);}}};})(window,
78
- document);</script><script>var ytcfg = {d: function() {return (window.yt &&
79
- yt.config_) || ytcfg.data_ || (ytcfg.data_ = {});},get: function(k, o) {return
80
- (k in ytcfg.d()) ? ytcfg.d()[k] : o;},set: function() {var a = arguments;if
81
- (a.length > 1) {ytcfg.d()[a[0]] = a[1];} else {for (var k in a[0]) {ytcfg.d()[k]
82
- = a[0][k];}}}};</script> <script>ytcfg.set(\"EXP_QUICK_FETCH_BISCOTTI\",
83
- false);ytcfg.set(\"LACT\", null);</script>\n \n\n\n\n\n <script>\n (function(){var
84
- b={a:\"content-snap-width-1\",b:\"content-snap-width-2\",c:\"content-snap-width-3\"};function
85
- f(){var a=[],c;for(c in b)a.push(b[c]);return a}\nfunction h(a){var c=f().concat([\"guide-pinned\",\"show-guide\"]),e=c.length,g=[];a.replace(/\\S+/g,function(a){for(var
86
- d=0;d<e;d++)if(a==c[d])return;g.push(a)});\nreturn g}\n;function k(a,c,e){var
87
- g=document.getElementsByTagName(\"html\")[0],d=h(g.className);a&&1251<=(window.innerWidth||document.documentElement.clientWidth)&&(d.push(\"guide-pinned\"),c&&d.push(\"show-guide\"));e&&(e=(window.innerWidth||document.documentElement.clientWidth)-21-50,1251<=(window.innerWidth||document.documentElement.clientWidth)&&a&&c&&(e-=230),d.push(1262<=e?\"content-snap-width-3\":1056<=e?\"content-snap-width-2\":\"content-snap-width-1\"));g.className=d.join(\"
88
- \")}\nvar l=[\"yt\",\"www\",\"masthead\",\"sizing\",\"runBeforeBodyIsReady\"],m=this;l[0]in
89
- m||!m.execScript||m.execScript(\"var \"+l[0]);for(var n;l.length&&(n=l.shift());)l.length||void
90
- 0===k?m[n]&&m[n]!==Object.prototype[n]?m=m[n]:m=m[n]={}:m[n]=k;}).call(this);\n\n
91
- \ try {window.ytbuffer = {};ytbuffer.handleClick = function(e) {var element
92
- = e.target || e.srcElement;while (element.parentElement) {if (/(^| )yt-can-buffer(
93
- |$)/.test(element.className)) {window.ytbuffer = {bufferedClick: e};element.className
94
- += ' yt-is-buffered';break;}element = element.parentElement;}};if (document.addEventListener)
95
- {document.addEventListener('click', ytbuffer.handleClick);} else {document.attachEvent('onclick',
96
- ytbuffer.handleClick);}} catch(e) {}\n\n yt.www.masthead.sizing.runBeforeBodyIsReady(false,false,true);\n
97
- \ </script>\n\n <script src=\"/yts/jsbin/scheduler-vflP0xYB-/scheduler.js\"
98
- type=\"text/javascript\" name=\"scheduler/scheduler\"></script>\n\n\n <script>var
99
- ytimg = {};ytimg.count = 1;ytimg.preload = function(src) {var img = new Image();var
100
- count = ++ytimg.count;ytimg[count] = img;img.onload = img.onerror = function()
101
- {delete ytimg[count];};img.src = src;};</script>\n\n\n <script src=\"/yts/jsbin/player-en_US-vflTzv1GM/base.js\"
102
- name=\"player/base\"></script>\n\n\n\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-core-vfl8pkKxk.css\"
103
- name=\"www-core\">\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-player-vflBdNOn0.css\"
104
- name=\"www-player\">\n\n <link rel=\"stylesheet\" href=\"/yts/cssbin/www-pageframe-vflnlJjDX.css\"
105
- name=\"www-pageframe\">\n \n\n<title>YouTube</title><meta name=\"robots\"
106
- content=\"noindex\"> <meta name=\"title\" content=\"\">\n\n <meta
107
- name=\"description\" content=\"\">\n\n <meta name=\"keywords\" content=\"\">\n\n<link
108
- rel=\"manifest\" href=\"/manifest.json\"><meta name=\"referrer\" content=\"origin\"><link
109
- rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"https://www.youtube.com/opensearch?locale=en_US\"
110
- title=\"YouTube Video Search\"><link rel=\"shortcut icon\" href=\"https://s.ytimg.com/yts/img/favicon-vflz7uhzw.ico\"
111
- type=\"image/x-icon\"> <link rel=\"icon\" href=\"/yts/img/favicon_32-vfl8NGn4k.png\"
112
- sizes=\"32x32\"><link rel=\"icon\" href=\"/yts/img/favicon_48-vfl1s0rGh.png\"
113
- sizes=\"48x48\"><link rel=\"icon\" href=\"/yts/img/favicon_96-vfldSA3ca.png\"
114
- sizes=\"96x96\"><link rel=\"icon\" href=\"/yts/img/favicon_144-vflWmzoXw.png\"
115
- sizes=\"144x144\"><meta name=\"theme-color\" content=\"#e62117\"> \n<style>.yt-uix-button-primary,
116
- .yt-uix-button-primary[disabled], .yt-uix-button-primary[disabled]:hover,
117
- .yt-uix-button-primary[disabled]:active, .yt-uix-button-primary[disabled]:focus
118
- { background-color: #167ac6; }</style></head> <body dir=\"ltr\" id=\"body\"
119
- class=\" ltr exp-responsive exp-scrollable-guide exp-search-big-thumbs
120
- \ site-center-aligned site-as-giant-card appbar-hidden visibility-logging-enabled
121
- \ not-nirvana-dogfood not-yt-legacy-css flex-width-enabled flex-width-enabled-snap
122
- \ delayed-frame-styles-not-in \" data-spf-name=\"watch\">\n<div id=\"early-body\"></div><div
123
- id=\"body-container\"><div id=\"a11y-announcements-container\" role=\"alert\"><div
124
- id=\"a11y-announcements-message\"></div></div><form name=\"logoutForm\" method=\"POST\"
125
- action=\"/logout\"><input type=\"hidden\" name=\"action_logout\" value=\"1\"></form><div
126
- id=\"masthead-positioner\"> <div id=\"ticker-content\">\n \n\n </div>\n
127
- \ <div id=\"yt-masthead-container\" class=\"clearfix yt-base-gutter\"> <button
128
- id=\"a11y-skip-nav\" class=\"skip-nav\" data-target-id=\"main\" tabindex=\"3\">\nSkip
129
- navigation\n </button>\n<div id=\"yt-masthead\"><div class=\"yt-masthead-logo-container
130
- \"> <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-text
131
- yt-uix-button-empty yt-uix-button-has-icon appbar-guide-toggle appbar-guide-clickable-ancestor\"
132
- type=\"button\" onclick=\";return false;\" id=\"appbar-guide-button\" aria-label=\"Guide\"
133
- aria-controls=\"appbar-guide-menu\"><span class=\"yt-uix-button-icon-wrapper\"><span
134
- class=\"yt-uix-button-icon yt-uix-button-icon-appbar-guide yt-sprite\"></span></span></button>\n
135
- \ <div id=\"appbar-main-guide-notification-container\"></div>\n<span id=\"yt-masthead-logo-fragment\"><a
136
- href=\"/\" class=\"masthead-logo-renderer yt-uix-sessionlink spf-link
137
- \" data-sessionlink=\"itct=CAUQsV4iEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\" id=\"logo-container\"
138
- title=\"YouTube Home\"> <span class=\"logo masthead-logo-renderer-logo yt-sprite\"
139
- title=\"YouTube Home\"></span>\n</a></span></div><div id=\"yt-masthead-signin\"><a
140
- href=\"//www.youtube.com/upload\" class=\"yt-uix-button yt-uix-sessionlink
141
- yt-uix-button-opacity yt-uix-button-size-default yt-uix-button-has-icon yt-uix-tooltip
142
- yt-uix-button-empty\" data-sessionlink=\"ei=x33ZWJnSMMGr_AP366_QDQ&amp;feature=mhsb\"
143
- id=\"upload-btn\" title=\"Upload\"><span class=\"yt-uix-button-icon-wrapper\"><span
144
- class=\"yt-uix-button-icon yt-uix-button-icon-material-upload yt-sprite\"></span></span></a><div
145
- class=\"signin-container \"><button class=\"yt-uix-button yt-uix-button-size-default
146
- yt-uix-button-primary\" type=\"button\" onclick=\";window.location.href=this.getAttribute(&#39;href&#39;);return
147
- false;\" role=\"link\" href=\"https://accounts.google.com/ServiceLogin?passive=true&amp;service=youtube&amp;uilel=3&amp;hl=en&amp;continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26next%3D%252Fwatch%253Fv%253DSUkXvWn1m7Q%26feature%3Dsign_in_button%26hl%3Den\"><span
148
- class=\"yt-uix-button-content\">Sign in</span></button></div></div><div id=\"yt-masthead-content\"><form
149
- id=\"masthead-search\" class=\" search-form consolidated-form vve-check\"
150
- action=\"/results\" onsubmit=\"if (document.getElementById(&#39;masthead-search-term&#39;).value
151
- == &#39;&#39;) return false;\" data-clicktracking=\"CAEQ7VAiEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\"
152
- data-visibility-tracking=\"CAEQ7VAiEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\"><button
153
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default search-btn-component
154
- search-button\" type=\"submit\" onclick=\"if (document.getElementById(&#39;masthead-search-term&#39;).value
155
- == &#39;&#39;) return false; document.getElementById(&#39;masthead-search&#39;).submit();
156
- return false;;return true;\" tabindex=\"2\" id=\"search-btn\" dir=\"ltr\"><span
157
- class=\"yt-uix-button-content\">Search</span></button><div id=\"masthead-search-terms\"
158
- class=\"masthead-search-terms-border\" dir=\"ltr\"><input id=\"masthead-search-term\"
159
- autocomplete=\"off\" onkeydown=\"if (!this.value &amp;&amp; (event.keyCode
160
- == 40 || event.keyCode == 32 || event.keyCode == 34)) {this.onkeydown = null;
161
- this.blur();}\" class=\"search-term masthead-search-renderer-input yt-uix-form-input-bidi\"
162
- name=\"search_query\" value=\"\" type=\"text\" tabindex=\"1\" placeholder=\"Search\"
163
- title=\"Search\" aria-label=\"Search\"></div></form></div></div></div>\n <div
164
- id=\"masthead-appbar-container\" class=\"clearfix\"><div id=\"masthead-appbar\"><div
165
- id=\"appbar-content\" class=\"\"></div></div></div>\n\n</div><div id=\"masthead-positioner-height-offset\"></div><div
166
- id=\"page-container\"><div id=\"page\" class=\" watch video- clearfix\"><div
167
- id=\"guide\" class=\"yt-scrollbar\"> <div id=\"appbar-guide-menu\" class=\"appbar-menu
168
- appbar-guide-menu-layout appbar-guide-clickable-ancestor\">\n <div id=\"guide-container\">\n
169
- \ <div class=\"guide-module-content guide-module-loading\">\n <p
170
- class=\"yt-spinner \">\n <span class=\"yt-spinner-img yt-sprite\"
171
- title=\"Loading icon\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
172
- \ </span>\n </p>\n\n </div>\n </div>\n </div>\n\n</div><div class=\"alerts-wrapper\"><div
173
- id=\"alerts\" class=\"content-alignment\"> \n <div id=\"editor-progress-alert-container\"></div>\n
174
- \ <div class=\"yt-alert yt-alert-default yt-alert-warn hid \" id=\"editor-progress-alert-template\">
175
- \ <div class=\"yt-alert-icon\">\n <span class=\"icon master-sprite yt-sprite\"></span>\n
176
- \ </div>\n<div class=\"yt-alert-content\" role=\"alert\"></div><div class=\"yt-alert-buttons\"><button
177
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-close close
178
- yt-uix-close\" type=\"button\" onclick=\";return false;\" aria-label=\"Close\"
179
- data-close-parent-class=\"yt-alert\"><span class=\"yt-uix-button-content\">Close</span></button></div></div>\n\n
180
- \ <div id=\"edit-confirmation-alert\"></div>\n <div class=\"yt-alert yt-alert-actionable
181
- yt-alert-info hid \" id=\"edit-confirmation-alert-template\"> <div class=\"yt-alert-icon\">\n
182
- \ <span class=\"icon master-sprite yt-sprite\"></span>\n </div>\n<div class=\"yt-alert-content\"
183
- role=\"alert\"> <div class=\"yt-alert-message\" tabindex=\"0\">\n </div>\n</div><div
184
- class=\"yt-alert-buttons\"> <button class=\"yt-uix-button yt-uix-button-size-default
185
- yt-uix-button-alert-info yt-uix-button-has-icon edit-confirmation-yes\" type=\"button\"
186
- onclick=\";return false;\"><span class=\"yt-uix-button-icon-wrapper\"><span
187
- class=\"yt-uix-button-icon yt-uix-button-icon-watch-like-invert yt-sprite\"></span></span><span
188
- class=\"yt-uix-button-content\">Yeah, keep it</span></button>\n <button class=\"yt-uix-button
189
- yt-uix-button-size-default yt-uix-button-alert-info yt-uix-button-has-icon
190
- edit-confirmation-no\" type=\"button\" onclick=\";return false;\"><span class=\"yt-uix-button-icon-wrapper\"><span
191
- class=\"yt-uix-button-icon yt-uix-button-icon-watch-unlike-invert yt-sprite\"></span></span><span
192
- class=\"yt-uix-button-content\">Undo</span></button>\n<button class=\"yt-uix-button
193
- yt-uix-button-size-default yt-uix-button-close close yt-uix-close\" type=\"button\"
194
- onclick=\";return false;\" aria-label=\"Close\" data-close-parent-class=\"yt-alert\"><span
195
- class=\"yt-uix-button-content\">Close</span></button></div></div>\n\n\n\n</div></div><div
196
- id=\"header\"></div><div id=\"player\" class=\" content-alignment watch-small
197
- \ off-screen-trigger \" role=\"complementary\"><div id=\"theater-background\"
198
- class=\"player-height\"></div> <div id=\"player-mole-container\">\n <div
199
- id=\"player-unavailable\" class=\" player-width player-height player-unavailable
200
- \">\n <div class=\"icon meh\"></div>\n <div class=\"content\">\n
201
- \ <h1 id=\"unavailable-message\" class=\"message\">\n This
202
- video is unavailable.\n\n </h1>\n <div id=\"unavailable-submessage\"
203
- class=\"submessage\">\nSorry about that.\n </div>\n </div>\n\n\n </div>\n\n
204
- \ <div id=\"player-api\" class=\"player-width player-height off-screen-target
205
- player-api\" tabIndex=\"-1\"></div>\n \n\n <div id=\"watch-queue-mole\"
206
- class=\"video-mole mole-collapsed hid\"><div id=\"watch-queue\" class=\"watch-playlist
207
- player-height\"><div class=\"main-content\"><div class=\"watch-queue-header\"><div
208
- class=\"watch-queue-info\"><div class=\"watch-queue-info-icon\"><span class=\"tv-queue-list-icon
209
- yt-sprite\"></span></div><h3 class=\"watch-queue-title\">Watch Queue</h3><h3
210
- class=\"tv-queue-title\">Queue</h3><span class=\"tv-queue-details\"></span></div><div
211
- class=\"watch-queue-control-bar control-bar-button\"><div class=\"watch-queue-mole-info\"><div
212
- class=\"watch-queue-control-bar-icon\"><span class=\"watch-queue-icon yt-sprite\"></span></div><div
213
- class=\"watch-queue-title-container\"><span class=\"watch-queue-count\"></span><span
214
- class=\"watch-queue-title\">Watch Queue</span><span class=\"tv-queue-title\">Queue</span></div></div>
215
- \ <span class=\"dark-overflow-action-menu\">\n \n \n <button aria-expanded=\"false\"
216
- aria-haspopup=\"true\" onclick=\";return false;\" class=\"flip control-bar-button
217
- yt-uix-button yt-uix-button-dark-overflow-action-menu yt-uix-button-size-default
218
- yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\" aria-label=\"Actions
219
- for the queue\" type=\"button\" ><span class=\"yt-uix-button-arrow yt-sprite\"></span><ul
220
- class=\"watch-queue-menu yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu
221
- hid\" role=\"menu\" aria-haspopup=\"true\"><li role=\"menuitem\"><span data-action=\"remove-all\"
222
- class=\"watch-queue-menu-choice overflow-menu-choice yt-uix-button-menu-item\"
223
- onclick=\";return false;\" >Remove all</span></li><li role=\"menuitem\"><span
224
- data-action=\"disconnect\" class=\"watch-queue-menu-choice overflow-menu-choice
225
- yt-uix-button-menu-item\" onclick=\";return false;\" >Disconnect</span></li></ul></button>\n
226
- \ </span>\n <div class=\"watch-queue-controls\">\n <button class=\"yt-uix-button
227
- yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button
228
- prev-watch-queue-button yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\"
229
- type=\"button\" onclick=\";return false;\" title=\"Previous video\"><span
230
- class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-prev
231
- yt-sprite\"></span></span></button>\n\n <button class=\"yt-uix-button yt-uix-button-size-default
232
- yt-uix-button-empty yt-uix-button-has-icon control-bar-button play-watch-queue-button
233
- yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return
234
- false;\" title=\"Play\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
235
- yt-uix-button-icon-watch-queue-play yt-sprite\"></span></span></button>\n\n
236
- \ <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty
237
- yt-uix-button-has-icon control-bar-button pause-watch-queue-button yt-uix-button-opacity
238
- yt-uix-tooltip hid yt-uix-tooltip\" type=\"button\" onclick=\";return false;\"
239
- title=\"Pause\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
240
- yt-uix-button-icon-watch-queue-pause yt-sprite\"></span></span></button>\n\n
241
- \ <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty
242
- yt-uix-button-has-icon control-bar-button next-watch-queue-button yt-uix-button-opacity
243
- yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return false;\"
244
- title=\"Next video\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon
245
- yt-uix-button-icon-watch-queue-next yt-sprite\"></span></span></button>\n
246
- \ </div>\n</div><div class=\"autoplay-dismiss-bar fade-out\"><span class=\"autoplay-dismiss-title-label\">The
247
- next video is starting</span><span><button class=\"yt-uix-button yt-uix-button-size-default
248
- autoplay-dismiss-button yt-uix-tooltip\" type=\"button\" onclick=\";return
249
- false;\" title=\"stop\"><span class=\"yt-uix-button-content\">stop</span></button></span></div></div><div
250
- class=\"watch-queue-items-container yt-scrollbar-dark yt-scrollbar\"><div
251
- class=\"yt-uix-scroller playlist-videos-list\"><ol class=\"watch-queue-items-list\"
252
- data-scroll-action=\"yt.www.watchqueue.loadThumbnails\"> <p class=\"yt-spinner
253
- \">\n <span class=\"yt-spinner-img yt-sprite\" title=\"Loading icon\"></span>\n\n
254
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n</ol><div
255
- class=\"autoplay-control-container yt-uix-scroller-scroll-unit hid\"> <div
256
- class=\"autoplay-control-bar\">\n <label class=\"autoplay-label\" for=autoplay-toggle-id></label>\n
257
- \ <label class=\"yt-uix-form-input-checkbox-container yt-uix-form-input-container
258
- yt-uix-form-input-paper-toggle-container \"><input class=\"yt-uix-form-input-checkbox\"
259
- type=\"checkbox\" id=\"autoplay-toggle-id\"/><div class=\"yt-uix-form-input-paper-toggle-bg
260
- yt-uix-form-input-paper-toggle-bar\"></div><div class=\"yt-uix-form-input-paper-toggle-bg
261
- yt-uix-form-input-paper-toggle-button\"></div></label>\n </div>\n</div><div
262
- class=\"up-next-item-container hid\"></div></div></div></div> <div class=\"hid\">\n
263
- \ <div id=\"watch-queue-title-msg\">\nWatch Queue\n </div>\n\n <div
264
- id=\"tv-queue-title-msg\">Queue</div>\n\n <div id=\"watch-queue-count-msg\">\n__count__/__total__\n
265
- \ </div>\n\n <div id=\"watch-queue-loading-template\">\n <!--\n
266
- \ <p class=\"yt-spinner \">\n <span class=\"yt-spinner-img
267
- \ yt-sprite\" title=\"Loading icon\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
268
- \ </span>\n </p>\n\n -->\n </div>\n </div>\n</div></div>\n <div
269
- id=\"player-playlist\" class=\" content-alignment watch-player-playlist
270
- \ \">\n \n </div>\n\n </div>\n\n <div class=\"clear\"></div>\n</div><div
271
- id=\"content\" class=\" content-alignment\" role=\"main\"> <div id=\"placeholder-player\">\n
272
- \ <div class=\"player-api player-width player-height\"></div>\n </div>\n\n
273
- \ <div id=\"watch7-container\" class=\"\">\n <div id=\"player-messages\">\n
274
- \ </div>\n <div id=\"watch7-main-container\">\n <div id=\"watch7-main\"
275
- class=\"clearfix\">\n <div id=\"watch7-preview\" class=\"player-width
276
- player-height hid\">\n </div>\n <div id=\"watch7-content\" class=\"watch-main-col
277
- \" itemscope itemid=\"\" itemtype=\"http://schema.org/VideoObject\"\n >\n
278
- \ \n </div>\n <div id=\"watch7-sidebar\" class=\"watch-sidebar\">\n
279
- \ </div>\n </div>\n </div>\n <div id=\"watch7-hidden-extras\">\n
280
- \ <div style=\"visibility: hidden; height: 0px; padding: 0px; overflow:
281
- hidden;\">\n </div>\n\n </div>\n\n\n </div>\n\n</div></div></div></div>
282
- \ <div id=\"footer-container\" class=\"yt-base-gutter force-layer\"><div id=\"footer\"><div
283
- id=\"footer-main\"><div id=\"footer-logo\"><a href=\"/\" id=\"footer-logo-link\"
284
- title=\"YouTube home\" data-sessionlink=\"ei=x33ZWJnSMMGr_AP366_QDQ&amp;ved=CAIQpmEiEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\"
285
- class=\"yt-uix-sessionlink\"><span class=\"footer-logo-icon yt-sprite\"></span></a></div>
286
- \ <ul class=\"pickers yt-uix-button-group\" data-button-toggle-group=\"optional\">\n
287
- \ <li>\n <button class=\"yt-uix-button yt-uix-button-size-default
288
- yt-uix-button-default yt-uix-button-has-icon\" type=\"button\" onclick=\";return
289
- false;\" id=\"yt-picker-language-button\" data-button-menu-id=\"arrow-display\"
290
- data-picker-key=\"language\" data-picker-position=\"footer\" data-button-action=\"yt.www.picker.load\"
291
- data-button-toggle=\"true\"><span class=\"yt-uix-button-icon-wrapper\"><span
292
- class=\"yt-uix-button-icon yt-uix-button-icon-footer-language yt-sprite\"></span></span><span
293
- class=\"yt-uix-button-content\"> <span class=\"yt-picker-button-label\">\nLanguage:\n
294
- \ </span>\n English\n</span><span class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n
295
- \ </li>\n <li>\n <button class=\"yt-uix-button yt-uix-button-size-default
296
- yt-uix-button-default\" type=\"button\" onclick=\";return false;\" id=\"yt-picker-country-button\"
297
- data-button-menu-id=\"arrow-display\" data-picker-key=\"country\" data-picker-position=\"footer\"
298
- data-button-action=\"yt.www.picker.load\" data-button-toggle=\"true\"><span
299
- class=\"yt-uix-button-content\"> <span class=\"yt-picker-button-label\">\nContent
300
- location:\n </span>\n United States\n</span><span class=\"yt-uix-button-arrow
301
- yt-sprite\"></span></button>\n\n\n </li>\n <li>\n <button
302
- class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default\" type=\"button\"
303
- onclick=\";return false;\" id=\"yt-picker-safetymode-button\" data-button-menu-id=\"arrow-display\"
304
- data-picker-key=\"safetymode\" data-picker-position=\"footer\" data-button-action=\"yt.www.picker.load\"
305
- data-button-toggle=\"true\"><span class=\"yt-uix-button-content\"> <span
306
- class=\"yt-picker-button-label\">\nRestricted Mode:\n </span>\nOff\n</span><span
307
- class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n </li>\n
308
- \ </ul>\n<a href=\"/feed/history\" class=\"yt-uix-button footer-history yt-uix-sessionlink
309
- yt-uix-button-default yt-uix-button-size-default yt-uix-button-has-icon\"
310
- data-sessionlink=\"ei=x33ZWJnSMMGr_AP366_QDQ\"><span class=\"yt-uix-button-icon-wrapper\"><span
311
- class=\"yt-uix-button-icon yt-uix-button-icon-footer-history yt-sprite\"></span></span><span
312
- class=\"yt-uix-button-content\">History</span></a> <button class=\"yt-uix-button
313
- yt-uix-button-size-default yt-uix-button-default yt-uix-button-has-icon yt-uix-button-reverse
314
- yt-google-help-link inq-no-click \" type=\"button\" onclick=\";return false;\"
315
- id=\"google-help\" data-ghelp-tracking-param=\"\" data-ghelp-anchor=\"google-help\"
316
- data-load-chat-support=\"\" data-feedback-product-id=\"59\"><span class=\"yt-uix-button-icon-wrapper\"><span
317
- class=\"yt-uix-button-icon yt-uix-button-icon-questionmark yt-sprite\"></span></span><span
318
- class=\"yt-uix-button-content\">Help\n</span></button>\n <div id=\"yt-picker-language-footer\"
319
- class=\"yt-picker\" style=\"display: none\">\n <p class=\"yt-spinner
320
- \">\n <span class=\"yt-spinner-img yt-sprite\" title=\"Loading icon\"></span>\n\n
321
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n\n
322
- \ </div>\n\n <div id=\"yt-picker-country-footer\" class=\"yt-picker\"
323
- style=\"display: none\">\n <p class=\"yt-spinner \">\n <span class=\"yt-spinner-img
324
- \ yt-sprite\" title=\"Loading icon\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
325
- \ </span>\n </p>\n\n </div>\n\n <div id=\"yt-picker-safetymode-footer\"
326
- class=\"yt-picker\" style=\"display: none\">\n <p class=\"yt-spinner
327
- \">\n <span class=\"yt-spinner-img yt-sprite\" title=\"Loading icon\"></span>\n\n
328
- \ <span class=\"yt-spinner-message\">\nLoading...\n </span>\n </p>\n\n
329
- \ </div>\n\n</div><div id=\"footer-links\"><ul id=\"footer-links-primary\">
330
- \ <li><a href=\"//www.youtube.com/yt/about/\">About</a></li>\n <li><a href=\"//www.youtube.com/yt/press/\">Press</a></li>\n
331
- \ <li><a href=\"//www.youtube.com/yt/copyright/\">Copyright</a></li>\n <li><a
332
- href=\"//www.youtube.com/yt/creators/\">Creators</a></li>\n <li><a href=\"//www.youtube.com/yt/advertise/\">Advertise</a></li>\n
333
- \ <li><a href=\"//www.youtube.com/yt/dev/\">Developers</a></li>\n <li><a
334
- href=\"https://plus.google.com/+youtube\" dir=\"ltr\">+YouTube</a></li>\n</ul><ul
335
- id=\"footer-links-secondary\"> <li><a href=\"/t/terms\">Terms</a></li>\n
336
- \ <li><a href=\"https://www.google.com/intl/en/policies/privacy/\">Privacy</a></li>\n
337
- \ <li><a href=\"//www.youtube.com/yt/policyandsafety/\">\nPolicy &amp; Safety\n
338
- \ </a></li>\n <li><a href=\"//support.google.com/youtube/?hl=en\" onclick=\"return
339
- yt.www.feedback.start(59);\" class=\"reportbug\">Send feedback</a></li>\n
340
- \ <li>\n <a href=\"/testtube\">Test new features</a>\n </li>\n <li></li>\n</ul></div></div></div>\n\n\n
341
- \ <div class=\"yt-dialog hid \" id=\"feed-privacy-lb\">\n <div class=\"yt-dialog-base\">\n
342
- \ <span class=\"yt-dialog-align\"></span>\n <div class=\"yt-dialog-fg\"
343
- role=\"dialog\">\n <div class=\"yt-dialog-fg-content\">\n <div
344
- class=\"yt-dialog-loading\">\n <div class=\"yt-dialog-waiting-content\">\n
345
- \ <p class=\"yt-spinner \">\n <span class=\"yt-spinner-img yt-sprite\"
346
- title=\"Loading icon\"></span>\n\n <span class=\"yt-spinner-message\">\nLoading...\n
347
- \ </span>\n </p>\n\n </div>\n\n </div>\n <div class=\"yt-dialog-content\">\n
348
- \ <div id=\"feed-privacy-dialog\">\n </div>\n\n </div>\n
349
- \ <div class=\"yt-dialog-working\">\n <div class=\"yt-dialog-working-overlay\"></div>\n
350
- \ <div class=\"yt-dialog-working-bubble\">\n <div class=\"yt-dialog-waiting-content\">\n
351
- \ <p class=\"yt-spinner \">\n <span class=\"yt-spinner-img yt-sprite\"
352
- title=\"Loading icon\"></span>\n\n <span class=\"yt-spinner-message\">\n
353
- \ Working...\n </span>\n </p>\n\n </div>\n </div>\n\n </div>\n
354
- \ </div>\n <div class=\"yt-dialog-focus-trap\" tabindex=\"0\"></div>\n
355
- \ </div>\n </div>\n </div>\n\n\n<div id=\"hidden-component-template-wrapper\"
356
- class=\"hid\"> <div id=\"shared-addto-watch-later-login\" class=\"hid\">\n
357
- \ <a class=\"sign-in-link\" href=\"https://accounts.google.com/ServiceLogin?passive=true&amp;service=youtube&amp;uilel=3&amp;hl=en&amp;continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26next%3D%252Fwatch%253Fv%253DSUkXvWn1m7Q%26feature%3Dplaylist%26hl%3Den\">Sign
358
- in</a> to add this to Watch Later\n\n </div>\n<div id=\"yt-uix-videoactionmenu-menu\"
359
- class=\"yt-ui-menu-content\"> <div class=\"hide-on-create-pl-panel\">\n <h3>\nAdd
360
- to\n </h3>\n </div>\n <div class=\"add-to-widget\">\n <p class=\"yt-spinner
361
- \">\n <span class=\"yt-spinner-img yt-sprite\" title=\"Loading icon\"></span>\n\n
362
- \ <span class=\"yt-spinner-message\">\n Loading playlists...\n </span>\n
363
- \ </p>\n\n </div>\n</div></div> <script>var ytspf = ytspf || {};ytspf.enabled
364
- = true;ytspf.config = {'reload-identifier': 'spfreload'};ytspf.config['request-headers']
365
- = {'X-YouTube-Identity-Token': null};ytspf.config['experimental-request-headers']
366
- = ytspf.config['request-headers'];ytspf.config['cache-max'] = 50;ytspf.config['navigate-limit']
367
- = 50;ytspf.config['navigate-lifetime'] = 64800000;ytspf.config['animation-duration']
368
- = 0;</script>\n <script src=\"/yts/jsbin/spf-vflbAG6Qt/spf.js\" type=\"text/javascript\"
369
- name=\"spf/spf\"></script>\n <script src=\"/yts/jsbin/www-en_US-vflJLkLjx/base.js\"
370
- name=\"www/base\"></script>\n<script>spf.script.path({'www/': '/yts/jsbin/www-en_US-vflJLkLjx/'});var
371
- ytdepmap = {\"www/base\": null, \"www/common\": \"www/base\", \"www/angular_base\":
372
- \"www/common\", \"www/channels_accountupload\": \"www/common\", \"www/channels\":
373
- \"www/common\", \"www/dashboard\": \"www/common\", \"www/downloadreports\":
374
- \"www/common\", \"www/experiments\": \"www/common\", \"www/feed\": \"www/common\",
375
- \"www/instant\": \"www/common\", \"www/legomap\": \"www/common\", \"www/live_chat\":
376
- \"www/common\", \"www/live_chat_moderation\": \"www/common\", \"www/promo_join_network\":
377
- \"www/common\", \"www/results_harlemshake\": \"www/common\", \"www/results\":
378
- \"www/common\", \"www/results_starwars\": \"www/common\", \"www/subscriptionmanager\":
379
- \"www/common\", \"www/unlimited\": \"www/common\", \"www/watch\": \"www/common\",
380
- \"www/ypc_bootstrap\": \"www/common\", \"www/ypc_core\": \"www/common\", \"www/channels_edit\":
381
- \"www/channels\", \"www/live_dashboard\": \"www/angular_base\", \"www/videomanager\":
382
- \"www/angular_base\", \"www/watch_autoplayrenderer\": \"www/watch\", \"www/watch_edit\":
383
- \"www/watch\", \"www/watch_editor\": \"www/watch\", \"www/watch_live\": \"www/watch\",
384
- \"www/watch_promos\": \"www/watch\", \"www/watch_speedyg\": \"www/watch\",
385
- \"www/watch_transcript\": \"www/watch\", \"www/watch_videoshelf\": \"www/watch\",
386
- \"www/ct_advancedsearch\": \"www/videomanager\", \"www/my_videos\": \"www/videomanager\"};spf.script.declare(ytdepmap);</script><script>if
387
- (window.ytcsi) {window.ytcsi.tick(\"je\", null, '');}</script><script>yt.setConfig({INNERTUBE_CONTEXT_CLIENT_NAME:
388
- 1,APIARY_HOST: \"\",APIARY_HOST_FIRSTPARTY: \"\",INNERTUBE_CONTEXT_CLIENT_VERSION:
389
- \"1.20170322\",INNERTUBE_API_KEY: \"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8\",INNERTUBE_API_VERSION:
390
- \"v1\",GAPI_HINT_PARAMS: \"m;\\/_\\/scs\\/abc-static\\/_\\/js\\/k=gapi.gapi.en.DTPeBB_SvOA.O\\/m=__features__\\/rt=j\\/d=1\\/rs=AHpOoo-J3J0yqNDMPVrmQT6j-SBFfGx8oA\",'VISITOR_DATA':
391
- \"CgtUc3FUMVNOY2xYYw%3D%3D\",'GAPI_HOST': \"https:\\/\\/apis.google.com\",'GAPI_LOCALE':
392
- \"en_US\",'INNERTUBE_CONTEXT_HL': \"en\",'INNERTUBE_CONTEXT_GL': \"US\",'XHR_APIARY_HOST':
393
- \"youtubei.youtube.com\"});yt.setConfig({'ROOT_VE_CHILDREN': [\"CAEQ7VAiEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\",\"CAIQpmEiEwjZ0Ye8yvfSAhXBFX8KHff1C9oo-B0\"],'ROOT_VE_TYPE':
394
- 3832});yt.setConfig({'EVENT_ID': \"x33ZWJnSMMGr_AP366_QDQ\",'PAGE_NAME': \"watch\",'LOGGED_IN':
395
- false,'SESSION_INDEX': null,'VALID_SESSION_TEMPDATA_DOMAINS': [\"www.youtube.com\",\"gaming.youtube.com\"],'PARENT_TRACKING_PARAMS':
396
- \"\",'FORMATS_FILE_SIZE_JS': [\"%s B\",\"%s KB\",\"%s MB\",\"%s GB\",\"%s
397
- TB\"],'DELEGATED_SESSION_ID': null,'ONE_PICK_URL': \"\",'UNIVERSAL_HOVERCARDS':
398
- false,'GOOGLEPLUS_HOST': \"https:\\/\\/plus.google.com\",'PAGEFRAME_JS': \"\\/yts\\/jsbin\\/www-pageframe-vflliZgBm\\/www-pageframe.js\",'GAPI_LOADER_URL':
399
- \"\\/yts\\/jsbin\\/www-gapi-loader-vflNhfwHJ\\/www-gapi-loader.js\",'JS_COMMON_MODULE':
400
- \"\\/yts\\/jsbin\\/www-en_US-vflJLkLjx\\/common.js\",'PAGE_FRAME_DELAYLOADED_CSS':
401
- \"\\/yts\\/cssbin\\/www-pageframedelayloaded-vflyiAVoi.css\",'EXPERIMENT_FLAGS':
402
- {\"enable_more_related_ve_logging\":true,\"watch_next_pause_autoplay_lact_sec\":0,\"service_worker_enabled\":true,\"autoplay_pause_sampling_fraction\":0.0,\"desktop_polymer\":true,\"service_worker_scope\":\"\\/\",\"player_swfcfg_cleanup\":true,\"gfeedback_for_signed_out_users_enabled\":true,\"desktop_pyv_on_watch_via_valor\":true,\"same_domain_static_resources_desktop\":true,\"navigation_only_csi_reset\":true,\"web_gel_lact\":true,\"cold_load_nav_start_web\":true,\"comment_deep_link\":true,\"consent_url_override\":\"\",\"warm_load_nav_start_web\":true,\"block_spf_search_ads_impressions\":true,\"autoescape_tempdata_url\":true,\"use_push_for_desktop_live_chat\":true,\"service_worker_push_home_only\":true,\"enable_server_side_search_pyv\":true,\"desktop_pyv_on_watch_missing_params\":true,\"log_window_onerror_fraction\":0.1,\"enable_youtubei_innertube\":true,\"desktop_pyv_on_watch_override_lact\":true,\"web_logging_max_batch\":20,\"chat_smoothing_animations\":0,\"service_worker_push_enabled\":true,\"clear_web_implicit_clicktracking\":true,\"service_worker_push_prompt_cap\":1},'GUIDE_DELAY_LOAD':
403
- true,'GUIDE_DELAYLOADED_CSS': \"\\/yts\\/cssbin\\/www-guide-vflzcam_P.css\",'GUIDED_HELP_PARAMS':
404
- {\"logged_in\":\"0\"},'HIGH_CONTRAST_MODE_CSS': \"\\/yts\\/cssbin\\/www-highcontrastmode-vflUxH5WH.css\",'PREFETCH_LINKS':
405
- false,'PREFETCH_LINKS_MAX': 1,'PREFETCH_AUTOPLAY': false,'PREFETCH_AUTOPLAY_TIME':
406
- 0,'PREFETCH_AUTONAV': false,'PREBUFFER_MAX': 1,'PREBUFFER_LINKS': false,'PREBUFFER_AUTOPLAY':
407
- false,'PREBUFFER_AUTONAV': false,'WATCH_LATER_BUTTON': \"\\n\\n \\u003cbutton
408
- class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default yt-uix-button-empty
409
- yt-uix-button-has-icon no-icon-markup addto-button video-actions spf-nolink
410
- hide-until-delayloaded addto-watch-later-button-sign-in yt-uix-tooltip\\\"
411
- type=\\\"button\\\" onclick=\\\";return false;\\\" role=\\\"button\\\" title=\\\"Watch
412
- Later\\\" data-button-menu-id=\\\"shared-addto-watch-later-login\\\" data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan
413
- class=\\\"yt-uix-button-arrow yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_BUTTON':
414
- \" \\u003cbutton class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default
415
- yt-uix-button-empty yt-uix-button-has-icon no-icon-markup addto-button addto-queue-button
416
- video-actions spf-nolink hide-until-delayloaded addto-tv-queue-button yt-uix-tooltip\\\"
417
- type=\\\"button\\\" onclick=\\\";return false;\\\" title=\\\"Queue\\\" data-style=\\\"tv-queue\\\"
418
- data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_MENU':
419
- \" \\u003cspan class=\\\"thumb-menu dark-overflow-action-menu video-actions\\\"\\u003e\\n
420
- \ \\u003cbutton onclick=\\\";return false;\\\" aria-expanded=\\\"false\\\"
421
- class=\\\"yt-uix-button-reverse flip addto-watch-queue-menu spf-nolink hide-until-delayloaded
422
- yt-uix-button yt-uix-button-dark-overflow-action-menu yt-uix-button-size-default
423
- yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\\\" type=\\\"button\\\"
424
- aria-haspopup=\\\"true\\\" \\u003e\\u003cspan class=\\\"yt-uix-button-arrow
425
- yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003cul class=\\\"watch-queue-thumb-menu
426
- yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu hid\\\"\\u003e\\u003cli
427
- role=\\\"menuitem\\\" class=\\\"overflow-menu-choice addto-watch-queue-menu-choice
428
- addto-watch-queue-play-next yt-uix-button-menu-item\\\" data-action=\\\"play-next\\\"
429
- onclick=\\\";return false;\\\" data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan
430
- class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay next\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003cli
431
- role=\\\"menuitem\\\" class=\\\"overflow-menu-choice addto-watch-queue-menu-choice
432
- addto-watch-queue-play-now yt-uix-button-menu-item\\\" data-action=\\\"play-now\\\"
433
- onclick=\\\";return false;\\\" data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan
434
- class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay now\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003c\\/ul\\u003e\\u003c\\/button\\u003e\\n
435
- \ \\u003c\\/span\\u003e\\n\",'SAFETY_MODE_PENDING': false,'ZWIEBACK_PING_URLS':
436
- [\"https:\\/\\/www.google.com\\/pagead\\/lvz?evtid=AJhsOughrDxXn2fC5Tovdiw9QM8k7ShHbuLSDhYoyQzDT5xRAYYIpF6s1XnsuzpIqOaf4uCJM8Rpo_EuK69RIJGGKvfMDHieeg\\u0026pg=watch\\u0026req_ts=1490648519\\u0026sigh=AIz_a89wTBCoL5LZFty5rwev30d3my8GTw\"],'LOCAL_DATE_TIME_CONFIG':
437
- {\"shortWeekdays\":[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\"months\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"formatLongDate\":\"MMMM
438
- d, yyyy h:mm a\",\"weekendRange\":[6,5],\"formatWeekdayShortTime\":\"EE h:mm
439
- a\",\"formatShortDate\":\"MMM d, yyyy\",\"formatLongDateOnly\":\"MMMM d, yyyy\",\"amPms\":[\"AM\",\"PM\"],\"firstWeekCutoffDay\":3,\"formatShortTime\":\"h:mm
440
- a\",\"firstDayOfWeek\":0,\"weekdays\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"dateFormats\":[\"MMMM
441
- d, yyyy h:mm a\",\"MMMM d, yyyy\",\"MMM d, yyyy\",\"MMM d, yyyy\"],\"shortMonths\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]},'PAGE_CL':
442
- 151286026,'PAGE_BUILD_LABEL': \"youtube_20170322_0_RC6_RC4\",'VARIANTS_CHECKSUM':
443
- \"cbbba52c74fed3739bb77d64a73d2d56\",'CLIENT_PROTOCOL': \"HTTP\\/1.1\",'CLIENT_TRANSPORT':
444
- \"tcp\",'MDX_ENABLE_CASTV2': true,'MDX_ENABLE_QUEUE': true,'FEEDBACK_BUCKET_ID':
445
- \"Watch\",'FEEDBACK_LOCALE_LANGUAGE': \"en\",'FEEDBACK_LOCALE_EXTRAS': {\"accept_language\":null,\"experiments\":\"9415398,9416475,9417482,9419979,9420289,9422596,9423555,9428398,9431012,9432720,9432939,9433221,9433839,9433870,9434046,9434289,9434949,9438309,9439294,9440054,9441194,9441929,9442387,9442746,9444189,9444771,9445139,9446054,9446364,9448302,9449243,9449256,9450059,9450402,9450544,9451814,9451827,9451937,9452448,9452814,9452833,9452850,9453098,9453167,9453540,9453553,9453897,9454394,9454653,9454837,9454899,9454976,9455031,9455068,9455939,9456249,9456445,9456628,9456640,9456955,9457114,9457141,9457169,9457542,9457591,9457595,9457597,9457968,9458171,9458230,9458240,9458265,9458576,9458668,9458881,9458947,9459067,9459075,9459187,9459651,9459655,9459792,9459798,9460088,9460160,9460266,9460295,9460349,9460458,9460554,9460611,9460637,9460829,9461124,9461452,9461765,9461777,9461906,9462003,9462018,9462032,9462233,9462359,9462377,9462474,9462948,9463002,9463004,9463083,9463175,9463177,9463251,9463287,9463460,9463470,9463496,9463512,9463594,9463664,9463784,9463809,9463963,9463965,9464040,9464111,9464207,9464272,9464408,9464440,9464490,9464823,9464888,9464889,9464909,9465513,9465533,9465560,9465652,9465676,9465710,9465732,9466136,9466181,9466186,9466194,9466397,9466755,9466793,9466795,9466835,9467085,9467274,9467338,9467400,9467588,9467659,9467700,9467795,9467867,9467977,9468153,9468228,9468389,9468433\",\"logged_in\":false,\"is_partner\":\"\"}});
446
- \ yt.setConfig({\n 'GUIDED_HELP_LOCALE': \"en_US\",\n 'GUIDED_HELP_ENVIRONMENT':
447
- \"prod\"\n });\nyt.setConfig('SPF_SEARCH_BOX', true);yt.setMsg({'ADDTO_CREATE_NEW_PLAYLIST':
448
- \"Create new playlist\\n\",'ADDTO_CREATE_PLAYLIST_DYNAMIC_TITLE': \" $dynamic_title_placeholder
449
- (create new)\\n\",'ADDTO_WATCH_LATER': \"Watch Later\",'ADDTO_WATCH_LATER_ADDED':
450
- \"Added\",'ADDTO_WATCH_LATER_ERROR': \"Error\",'ADDTO_WATCH_QUEUE': \"Watch
451
- Queue\",'ADDTO_WATCH_QUEUE_ADDED': \"Added\",'ADDTO_WATCH_QUEUE_ERROR': \"Error\",'ADDTO_TV_QUEUE':
452
- \"Queue\",'ADS_INSTREAM_FIRST_PLAY': \"A video ad is playing.\",'ADS_INSTREAM_SKIPPABLE':
453
- \"Video ad can be skipped.\",'ADS_OVERLAY_IMPRESSION': \"Ad displayed.\",'MASTHEAD_NOTIFICATIONS_LABEL':
454
- {\"other\": \"# unread notifications.\", \"case1\": \"1 unread notification.\",
455
- \"case0\": \"0 unread notifications.\"},'MASTHEAD_NOTIFICATIONS_COUNT_99PLUS':
456
- \"99+\",'MDX_AUTOPLAY_OFF': 'Autoplay is off','MDX_AUTOPLAY_ON': 'Autoplay
457
- is on'}); yt.setConfig('FEED_PRIVACY_CSS_URL', \"\\/yts\\/cssbin\\/www-feedprivacydialog-vflW29Bds.css\");\n\n
458
- \ yt.setConfig('FEED_PRIVACY_LIGHTBOX_ENABLED', true);\nyt.setConfig({'SBOX_JS_URL':
459
- \"\\/yts\\/jsbin\\/www-searchbox-legacy-vflYjU91s\\/www-searchbox-legacy.js\",'SBOX_SETTINGS':
460
- {\"PSUGGEST_TOKEN\":null,\"REQUEST_DOMAIN\":\"us\",\"PQ\":\"\",\"SESSION_INDEX\":null,\"SUGG_EXP_ID\":\"\",\"REQUEST_LANGUAGE\":\"en\",\"IS_FUSION\":false,\"HAS_ON_SCREEN_KEYBOARD\":false},'SBOX_LABELS':
461
- {\"SUGGESTION_DISMISSED_LABEL\":\"Suggestion dismissed\",\"SUGGESTION_DISMISS_LABEL\":\"Remove\"}});
462
- \ yt.setConfig({\n 'YPC_LOADER_JS': \"\\/yts\\/jsbin\\/www-ypc-vflEWOCqz\\/www-ypc.js\",\n
463
- \ 'YPC_LOADER_CSS': \"\\/yts\\/cssbin\\/www-ypc-vfl_wOJp6.css\",\n 'YPC_SIGNIN_URL':
464
- \"https:\\/\\/accounts.google.com\\/ServiceLogin?passive=true\\u0026service=youtube\\u0026uilel=3\\u0026hl=en\\u0026continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26next%3D%252F%26hl%3Den\",\n
465
- \ 'DBLCLK_ADVERTISER_ID': \"2542116\",\n 'DBLCLK_YPC_ACTIVITY_GROUP':
466
- \"youtu444\",\n 'SUBSCRIPTION_URL': \"\\/subscription_ajax\",\n 'YPC_SWITCH_URL':
467
- \"\\/signin?action_handle_signin=true\\u0026next=%2F\\u0026feature=purchases\\u0026skip_identity_prompt=True\",\n
468
- \ 'YPC_GB_LANGUAGE': \"en_US\",\n 'YPC_MB_URL': \"https:\\/\\/payments.google.com\\/payments\\/v4\\/js\\/integrator.js?ss=md\",\n
469
- \ 'YPC_TRANSACTION_URL': \"\\/transaction_handler\",\n 'YPC_SUBSCRIPTION_URL':
470
- \"\\/ypc_subscription_ajax\",\n 'YPC_POST_PURCHASE_URL': \"\\/ypc_post_purchase_ajax\",\n
471
- \ 'YTR_FAMILY_CREATION_URL': \"https:\\/\\/families.google.com\\/webcreation?usegapi=1\",\n
472
- \ 'YTO_GTM_DATA': {'event': 'purchased', 'purchaseStatus': 'success'},\n
473
- \ 'YTO_GTM_1_BUTTON_CLICK_DATA': {'event': 'landingButtonClick', 'buttonPosition':
474
- '1'},\n 'YTO_GTM_2_BUTTON_CLICK_DATA': {'event': 'landingButtonClick',
475
- 'buttonPosition': '2'}\n });\n yt.setMsg({\n 'YPC_OFFER_OVERLAY': \"
476
- \ \\n\",\n 'YPC_UNSUBSCRIBE_OVERLAY': \" \\n\"\n });\n yt.setConfig('GOOGLE_HELP_CONTEXT',
477
- \"watch\");\nytcsi.info('st', 66);ytcfg.set({\"TIMING_ACTION\":\"watch,watch7_html5\",\"TIMING_INFO\":{\"c\":\"WEB\",\"yt_lt\":\"cold\",\"yt_li\":\"0\",\"yt_pl\":0,\"cver\":\"1.20170322\",\"GetWatchNext_rid\":\"0x286d9ff6fb78e5cd\",\"GetPlayer_rid\":\"0x286d9ff6fb78e5cd\"},\"CSI_VIEWPORT\":true,\"CSI_SERVICE_NAME\":\"youtube\"});;
478
- \ yt.setConfig({\n 'XSRF_TOKEN': \"QUFFLUhqbkhrbHBrTHdWLTM3ci01OEJqMXUyVEhVRm9PUXxBQ3Jtc0trZW9BdVpzeS13aVZHa1JJLU4yNXNlQzBONTNuU1ZFSEdBemdiaFd6MXU0aTV6djRPVnhidVNmclktNU5UMXpZV1UyWVRzR3JFcWRDMkJCWHJsY2dnVTRpQjBBbEt1Wjc3RzBFMDlpZWU0eGc0aGQtejhlM1B0YVVNZEpJVWtDa1RwUUFGVXVHX2VYeHludkhEeTNCTkxzcU43b1E=\",\n
479
- \ 'XSRF_FIELD_NAME': \"session_token\",\n\n 'XSRF_REDIRECT_TOKEN':
480
- \"SUPrOgRyHKMLSNbvDREhWtmWUIN8MTQ5MDczNDkxOUAxNDkwNjQ4NTE5\" });\nyt.setConfig('ID_TOKEN',
481
- null);window.ytcfg.set('SERVICE_WORKER_KILLSWITCH', false); yt.setConfig('THUMB_DELAY_LOAD_BUFFER',
482
- 0);\nif (window.ytcsi) {window.ytcsi.tick(\"jl\", null, '');}</script>\n</body></html>"
483
- http_version:
484
- recorded_at: Mon, 27 Mar 2017 21:01:59 GMT
55
+ string: !binary |-
56
+ PCFkb2N0eXBlIGh0bWw+PGh0bWwgIHN0eWxlPSJmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IiBsYW5nPSJwdC1CUiIgZGlyPSJsdHIiIGdsPSJCUiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIwLTEwLTIzIiBjb250ZW50PSJBaGJtUkRBU1k3TnVPWkQ5Y0ZNZ1FpaForbVFwQ3dhOFdUR2RUeDgydlNhcjlkZEJRYnppQmZaWFpnK1Njb2Z2RVpEZEhRTkNFd3o0eU03SGpCUzlSZ2tBQUFCbmV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwzbHZkWFIxWW1VdVkyOXRPalEwTXlJc0ltWmxZWFIxY21VaU9pSlhaV0pEYjIxd2IyNWxiblJ6VmpBaUxDSmxlSEJwY25raU9qRTJNRE0wT0RZNE5UWXNJbWx6VTNWaVpHOXRZV2x1SWpwMGNuVmxmUT09Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMC0xMC0yNyIgY29udGVudD0iQXYyKzFxZlVwM013RWZBRmNDY2N5a1MxcUZtdkxpQ3JNWi8vcEhRS25SWldHOWRsZFZvOEhZdUptR2oyd1o3bkRnK3hFNFJRTVErS3UxektNM1B2WUFJQUFBQm1leUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pTNWpiMjA2TkRReklpd2labVZoZEhWeVpTSTZJbGRsWWtOdmJYQnZibVZ1ZEhOV01DSXNJbVY0Y0dseWVTSTZNVFl3TXpnek5qYzNNaXdpYVhOVGRXSmtiMjFoYVc0aU9uUnlkV1Y5Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMS0wMS0wOCIgY29udGVudD0iQWl4VUsrOFVFU2hsdDYrSlgxd3k5ZWcrWEwrZVY1UFlTRURQSDNDOTBKTlZiSWtFMVJnMUZ5VlVmdTJiWi95NlBtMXhiUEx6dXdIWUhqdjR1S1BObkE0QUFBQnFleUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pYQnliMlF1WTI5dE9qUTBNeUlzSW1abFlYUjFjbVVpT2lKWFpXSkRiMjF3YjI1bGJuUnpWakFpTENKbGVIQnBjbmtpT2pFMk1UQXdOalEwTWpNc0ltbHpVM1ZpWkc5dFlXbHVJanAwY25WbGZRPT0iPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIxLTAzLTA5IiBjb250ZW50PSJBaEhwcTJuVVQ2ZnFQMEtta3E0OUVXSWNsMlAxTEsxY2VVMDVCb2lWbldpOFpJV0RkbVgva013TCtadHVDM29JZjB0bnM4WG5PNWZtOTQ2SkV6UFZFd2dBQUFCcWV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwyTXVaMjl2WjJ4bGNuTXVZMjl0T2pRME15SXNJbVpsWVhSMWNtVWlPaUpYWldKRGIyMXdiMjVsYm5SelZqQWlMQ0psZUhCcGNua2lPakUyTVRJeU1qTTVPVGtzSW1selUzVmlaRzl0WVdsdUlqcDBjblZsZlE9PSI+PHNjcmlwdCA+dmFyIHl0Y2ZnID0ge2Q6IGZ1bmN0aW9uKCkge3JldHVybiAod2luZG93Lnl0ICYmIHl0LmNvbmZpZ18pIHx8IHl0Y2ZnLmRhdGFfIHx8ICh5dGNmZy5kYXRhXyA9IHt9KTt9LGdldDogZnVuY3Rpb24oaywgbykge3JldHVybiAoayBpbiB5dGNmZy5kKCkpID8geXRjZmcuZCgpW2tdIDogbzt9LHNldDogZnVuY3Rpb24oKSB7dmFyIGEgPSBhcmd1bWVudHM7aWYgKGEubGVuZ3RoID4gMSkge3l0Y2ZnLmQoKVthWzBdXSA9IGFbMV07fSBlbHNlIHtmb3IgKHZhciBrIGluIGFbMF0pIHt5dGNmZy5kKClba10gPSBhWzBdW2tdO319fX07d2luZG93Lnl0Y2ZnLnNldCgnRU1FUkdFTkNZX0JBU0VfVVJMJywgIlwvZXJyb3JfMjA0P2NsaWVudC5uYW1lPTFcdTAwMjZjbGllbnQudmVyc2lvbj0yLjIwMjAxMDIzLjAyLjAwXHUwMDI2bGV2ZWw9RVJST1JcdTAwMjZ0PWpzZXJyb3IiKTs8L3NjcmlwdD4gIAo8c2NyaXB0ID52YXIgJGpzY29tcD0kanNjb21wfHx7fTskanNjb21wLnNjb3BlPXt9OyRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGw9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19OyRqc2NvbXAuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbihhKXtyZXR1cm57bmV4dDokanNjb21wLmFycmF5SXRlcmF0b3JJbXBsKGEpfX07JGpzY29tcC5BU1NVTUVfRVM1PSExOyRqc2NvbXAuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTskanNjb21wLlNJTVBMRV9GUk9VTkRfUE9MWUZJTEw9ITE7JGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAuSVNfU1lNQk9MX05BVElWRT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJ4Iik7JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTPSEkanNjb21wLklTT0xBVEVfUE9MWUZJTExTfHwkanNjb21wLklTX1NZTUJPTF9OQVRJVkU7JGpzY29tcC5wb2x5ZmlsbHM9e307JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307JGpzY29tcC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7JGpzY29tcC5wb2x5ZmlsbD1mdW5jdGlvbihhLGIsZCxlKXtiJiYoJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz8kanNjb21wLnBvbHlmaWxsSXNvbGF0ZWQoYSxiLGQsZSk6JGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQoYSxiLGQsZSkpfTsKJGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQ9ZnVuY3Rpb24oYSxiKXt2YXIgZD0kanNjb21wLmdsb2JhbDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGEubGVuZ3RoLTE7ZSsrKXt2YXIgYz1hW2VdO2lmKCEoYyBpbiBkKSlyZXR1cm47ZD1kW2NdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yj1iKGUpO2IhPWUmJm51bGwhPWImJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKJGpzY29tcC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnNwbGl0KCIuIik7YT0xPT09ZS5sZW5ndGg7dmFyIGM9ZVswXTtjPSFhJiZjIGluICRqc2NvbXAucG9seWZpbGxzPyRqc2NvbXAucG9seWZpbGxzOiRqc2NvbXAuZ2xvYmFsO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGgtMTtmKyspe3ZhciBnPWVbZl07aWYoIShnIGluIGMpKXJldHVybjtjPWNbZ119ZT1lW2UubGVuZ3RoLTFdO2Q9JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFJiYiZXM2Ij09PWQ/Y1tlXTpudWxsO2I9YihkKTtudWxsIT1iJiYoYT8kanNjb21wLmRlZmluZVByb3BlcnR5KCRqc2NvbXAucG9seWZpbGxzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWQmJigkanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtlXT0kanNjb21wLklTX1NZTUJPTF9OQVRJVkU/JGpzY29tcC5nbG9iYWwuU3ltYm9sKGUpOiRqc2NvbXAuUE9MWUZJTExfUFJFRklYK2UsCmU9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbZV0sJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShjLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSkpKX07JGpzY29tcC5pbml0U3ltYm9sPWZ1bmN0aW9uKCl7fTsKJGpzY29tcC5wb2x5ZmlsbCgiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMsZil7dGhpcy4kanNjb21wJHN5bWJvbCRpZF89YzskanNjb21wLmRlZmluZVByb3BlcnR5KHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kanNjb21wJHN5bWJvbCRpZF99O3ZhciBkPTAsZT1mdW5jdGlvbihjKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoImpzY29tcF9zeW1ib2xfIisoY3x8IiIpKyJfIitkKyssYyl9O3JldHVybiBlfSwiZXM2IiwiZXMzIik7CiRqc2NvbXAucG9seWZpbGwoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBiPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPSRqc2NvbXAuZ2xvYmFsW2JbZF1dOyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUucHJvdG90eXBlW2FdJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAkanNjb21wLml0ZXJhdG9yUHJvdG90eXBlKCRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGwodGhpcykpfX0pfXJldHVybiBhfSwiZXM2IiwKImVzMyIpOyRqc2NvbXAuaXRlcmF0b3JQcm90b3R5cGU9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9OyRqc2NvbXAuaXRlcmF0b3JGcm9tQXJyYXk9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT0hMSxjPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWUmJmQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWU9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2NbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBjfTtyZXR1cm4gY307CiRqc2NvbXAucG9seWZpbGwoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmE9ZnVuY3Rpb24oKXtyZXR1cm4gJGpzY29tcC5pdGVyYXRvckZyb21BcnJheSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSwiZXM2IiwiZXMzIik7d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8ITA7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307d2luZG93LnVuaGFuZGxlZEVycm9yQ291bnQ9MDsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsZSxjKXtjfHwoYz1FcnJvcigpLGMuc3RhY2s9IiIsYy5tZXNzYWdlPWEsYy5maWxlTmFtZT1iLGMubGluZU51bWJlcj1kLGlzTmFOKGUpfHwoYy5jb2x1bW5OdW1iZXI9ZSkpO2I9U3RyaW5nKGMubWVzc2FnZSk7aWYoISghYy5tZXNzYWdlfHxiIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzfHw1PD13aW5kb3cudW5oYW5kbGVkRXJyb3JDb3VudCkpe3dpbmRvdy51bmhhbmRsZWRFcnJvckNvdW50Kz0xO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW2JdPSEwO2E9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWE7YS5vbmxvYWQ9YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTtlPWMubGluZU51bWJlcjtpc05hTihjLmNvbHVtbk51bWJlcil8fChlKz0iOiIrYy5jb2x1bW5OdW1iZXIpO2Q9Yy5zdGFja3x8IiI7Yj17bXNnOmIsdHlwZTpjLm5hbWUsCiJjbGllbnQucGFyYW1zIjoidW5oYW5kbGVkIHdpbmRvdyBlcnJvciIsZmlsZTpjLmZpbGVOYW1lLGxpbmU6ZSxzdGFjazpkLnN1YnN0cigwLDUwMCl9O2M9Ijxhbm9ueW1vdXM+Ij09PWMuZmlsZU5hbWU7ZD1kLnJlcGxhY2UoL2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cLy9nLCIiKTtkLm1hdGNoKC9odHRwcz86XC9cL1teL10rXC8vKSYmKGM9ITApO2MmJihiLmxldmVsPSJXQVJOSU5HIik7Yz1bd2luZG93Lnl0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTtmb3IodmFyIGYgaW4gYikoZD1iW2ZdKSYmYy5wdXNoKGYrIj0iK2VuY29kZVVSSUNvbXBvbmVudChkKSk7YS5zcmM9Yy5qb2luKCImIil9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXt2YXIgZz10aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdO2lmKCFnKXtnPU9iamVjdC5jcmVhdGUodGhpcy5nZXROYXRpdmVQcm90b3R5cGUoZikpO2Zvcih2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cuUG9seW1lci5CYXNlKSxrPTAsaD12b2lkIDA7azxsLmxlbmd0aCYmKGg9bFtrXSk7aysrKWlmKCF3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnNbaF0pdHJ5e2dbaF09d2luZG93LlBvbHltZXIuQmFzZVtoXX1jYXRjaChtKXt0aHJvdyBFcnJvcigiRXJyb3Igd2hpbGUgY29weWluZyBwcm9wZXJ0eTogIitoKyIuIFRhZyBpcyAiK2YpO310cnl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZyx3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnMpfWNhdGNoKG0pe3Rocm93IEVycm9yKCJQb2x5bWVyIGRlZmluZSBwcm9wZXJ0eSBmYWlsZWQgZm9yICIrT2JqZWN0LmtleXMoZykpO310aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdPQpnfXJldHVybiBnfWZ1bmN0aW9uIGIoZil7d2luZG93Lm9uZXJyb3IoZix3aW5kb3cubG9jYXRpb24uaHJlZiwwLDAsRXJyb3IoQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiwiKSkpfXZhciBkPXdpbmRvdy5Qb2x5bWVyLGU9ZnVuY3Rpb24oZil7IWQuX3l0SW50ZXJjZXB0ZWQmJndpbmRvdy5Qb2x5bWVyLkJhc2UmJihkLl95dEludGVyY2VwdGVkPSEwLHdpbmRvdy5Qb2x5bWVyLkJhc2UuX2dldEV4dGVuZGVkTmF0aXZlUHJvdG90eXBlPWEsd2luZG93LlBvbHltZXIuQmFzZS5fZXJyb3I9Yix3aW5kb3cuUG9seW1lci5CYXNlLl93YXJuPWIpO3JldHVybiBkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywiUG9seW1lciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIlBvbHltZXIiLHtzZXQ6ZnVuY3Rpb24oZil7YyYmYy5zZXQmJmMuZ2V0PyhjLnNldChmKSxkPWMuZ2V0KCkpOmQ9ZjsKImZ1bmN0aW9uIj09PXR5cGVvZiBkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJQb2x5bWVyIix7dmFsdWU6ZCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMH0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGQ/ZTpkfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pfSkoKTsKPC9zY3JpcHQ+ICAKPHNjcmlwdCA+d2luZG93LlNoYWR5RE9NID0ge2ZvcmNlOiB0cnVlfTt3aW5kb3cuU2hhZHlET00ucHJlZmVyUGVyZm9ybWFuY2UgPSB0cnVlO3dpbmRvdy5TaGFkeURPTS5ub1BhdGNoID0gdHJ1ZTt3aW5kb3cuUG9seW1lciA9ICh3aW5kb3cuUG9seW1lciB8fCB7fSk7d2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyA9IHRydWU7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8zMi5wbmciIHNpemVzPSIzMngzMiIgPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2ltZy9mYXZpY29uXzQ4LnBuZyIgc2l6ZXM9IjQ4eDQ4IiA+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb25fOTYucG5nIiBzaXplcz0iOTZ4OTYiID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8xNDQucG5nIiBzaXplcz0iMTQ0eDE0NCIgPjxzY3JpcHQgPnZhciB5dGNzaSA9IHtndDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVybiB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319KTt9LG5vdzogKHdpbmRvdy5wZXJmb3JtYW5jZSAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nICYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCkgP2Z1bmN0aW9uKCkge3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCArd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOmZ1bmN0aW9uKCkge3JldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO30sdGljazogZnVuY3Rpb24obCwgdCwgbikge3ZhciB0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tzWydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3RpY2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNldFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3RzJywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5jZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxsKTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFtZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVuZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNldFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljaywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2YycpO30sIGZhbHNlKTt9ZnVuY3Rpb24gaXNHZWNrbygpIHtpZiAoIXcubmF2aWdhdG9yIHx8ICF3Lm5hdmlnYXRvci51c2VyQWdlbnQpIHtyZXR1cm4gZmFsc2U7fXZhciB1YSA9IHcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZignR2Vja28nKSA+IDAgJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3dlYmtpdCcpIDwgMCAmJnVhLmluZGV4T2YoJ0VkZ2UnKSA8IDAgJiZ1YS5pbmRleE9mKCdUcmlkZW50JykgPCAwICYmdWEuaW5kZXhPZignTVNJRScpIDwgMDt9aWYgKGlzR2Vja28oKSkge3ZhciBpc0hpZGRlbiA9IChkLnZpc2liaWxpdHlTdGF0ZSB8fCBkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSkgPT0gJ2hpZGRlbic7aWYgKGlzSGlkZGVuKSB7eXRjc2kudGljaygndmMnKTt9fXZhciBzbHQgPSBmdW5jdGlvbihlbCwgdCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7dmFyIG4gPSB5dGNzaS5ub3coKTtlbC5sb2FkVGltZSA9IG47aWYgKGVsLnNsdCkge2VsLnNsdCgpO319LCB0KTt9O3cuX195dFJJTCA9IGZ1bmN0aW9uKGVsKSB7aWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGh1bWInKSkge2lmICh3LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NsdChlbCwgMCk7fSk7fSBlbHNlIHtzbHQoZWwsIDE2KTt9fX07fSkod2luZG93LCBkb2N1bWVudCk7PC9zY3JpcHQ+PHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKS5zcmMgPSAiaHR0cHM6Ly9pLnl0aW1nLmNvbS9nZW5lcmF0ZV8yMDQiO30pKCk7PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY3MiLCBudWxsLCAnJyk7fShmdW5jdGlvbigpIHt3aW5kb3cueXRwbGF5ZXIgPSB7fTt5dGNmZy5zZXQoeyJSRVVTRV9DT01QT05FTlRTIjp0cnVlLCJYU1JGX0ZJRUxEX05BTUUiOiJzZXNzaW9uX3Rva2VuIiwiUkVDQVBUQ0hBX1YzX1NJVEVLRVkiOiI2TGVkb09jVUFBQUFBSEE0Q0ZHOXpScGFDTmpZajMzU1lqelE5Y1R5IiwiU0VSVklDRV9XT1JLRVJfUFJPTVBUX05PVElGSUNBVElPTlMiOmZhbHNlLCJTVEFSVF9JTl9GVUxMX1dJTkRPV19NT0RFIjpmYWxzZSwiRkVYUF9FWFBFUklNRU5UUyI6WzIzNzQ0MTc2LDIzNzQ4MTQ3LDIzODA0MjgxLDIzODM5NTk3LDIzODU2OTUwLDIzODU3OTQ5LDIzODY4MzM0LDIzODgwMDQzLDIzODgyNTAzLDIzODg0Mzg2LDIzODkwOTU5LDIzODk1NjcxLDIzOTExMDU1LDIzOTE1OTkyLDIzOTE4NTk3LDIzOTIxNTUzLDIzOTIzMjY2LDIzOTI4NTA4LDIzOTMwMjIwLDIzOTM0OTcwLDIzOTM1MTc4LDIzOTQwMjQ3LDIzOTQyMzM4LDIzOTQyNjMzLDIzOTQzMjk0LDIzOTQ0Nzc5LDIzOTQ1NDc5LDIzOTQ2NDIwLDIzOTQ3Njk4LDIzOTQ4ODQxLDIzOTQ4OTQ0LDIzOTQ4OTQ0LDIzOTUwMDIzLDIzOTUxMTM5LDIzOTUxNjAwLDIzOTUzNzY2LDIzOTU0MDEwLDIzOTU0Mzg3LDIzOTU2NzU0LDIzOTU3NjYxLDIzOTYyMzk0LDIzOTYyOTIwLDIzOTYyOTYyLDIzOTYzOTMxLDIzOTY0MzkzLDI0NTkwMjYyLDI0NjMxNTEzLDk0NDkyNDMsOTQ2NjU5MV0sIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJMSVZFX0NIQVRfU0VORF9NRVNTQUdFX0FDVElPTiI6ImxpdmVfY2hhdFwvd2F0Y2hfcGFnZVwvc2VuZCIsIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIjoxLCJST09UX1ZFX1RZUEUiOjM4MzIsIlhIUl9BUElBUllfSE9TVCI6InlvdXR1YmVpLnlvdXR1YmUuY29tIiwiVk9aX0FQSV9LRVkiOiJBSXphU3lCVTJ4RV9KSHZCNndhZzN0TWZoeFhwZzJRX1c4eG5NLUkiLCJESVNBQkxFX1dBUk1fTE9BRFMiOmZhbHNlLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJESVNBQkxFX1lUX0lNR19ERUxBWV9MT0FESU5HIjpmYWxzZSwiUEFHRV9DTCI6MzM4NDQzOTEwLCJMQU5HVUFHRSI6IlBvcnR1Z3XDqnMiLCJWQVJJQU5UU19DSEVDS1NVTSI6ImE5NTA0ZTZkYzM1NWQ2ZGUxMjkyNThmNGRkZjFlZDQxIiwiTEFURVNUX0VDQVRDSEVSX1NFUlZJQ0VfVFJBQ0tJTkdfUEFSQU1TIjp7ImNsaWVudC5uYW1lIjoiV0VCIn0sIk5PX0VNUFRZX0RBVEFfSU1HIjp0cnVlLCJIVE1MX0xBTkciOiJwdC1CUiIsIkdPT0dMRV9GRUVEQkFDS19QUk9EVUNUX0RBVEEiOnsicG9seW1lcjIiOiJhY3RpdmUiLCJhY2NlcHRfbGFuZ3VhZ2UiOm51bGwsInBvbHltZXIiOiJhY3RpdmUifSwiTElWRV9DSEFUX0JBU0VfVEFOR09fQ09ORklHIjp7ImNoYW5uZWxVcmkiOiJodHRwczpcL1wvY2xpZW50LWNoYW5uZWwuZ29vZ2xlLmNvbVwvY2xpZW50LWNoYW5uZWxcL2NsaWVudCIsInVzZU5ld1RhbmdvIjp0cnVlLCJzZW5kZXJVcmkiOiJodHRwczpcL1wvY2xpZW50czQuZ29vZ2xlLmNvbVwvaW52YWxpZGF0aW9uXC9sY3NcL2NsaWVudCIsImNsaWVudFR5cGUiOjEwNTcsImNsaWVudE5hbWUiOiJ5dC1saXZlLWNoYXQtYW5vbiIsImFwaUtleSI6IkFJemFTeURaTmt5Qy1BdFJPd01CcExmZXZJdnFZay1HZmk4Wk9lbyIsInJlcXVpcmVzQXV0aFRva2VuIjp0cnVlfSwiSU5ORVJUVUJFX0FQSV9LRVkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS55dGZlLmRlc2t0b3BfMjAyMDEwMjJfMl9SQzAiLCJZVFJfRkFNSUxZX0NSRUFUSU9OX1VSTCI6Imh0dHBzOlwvXC9mYW1pbGllcy5nb29nbGUuY29tXC93ZWJjcmVhdGlvbj91c2VnYXBpPTEiLCJHQVBJX0hJTlRfUEFSQU1TIjoibTtcL19cL3Njc1wvYWJjLXN0YXRpY1wvX1wvanNcL2s9Z2FwaS5nYXBpLmVuLjlLeTVHZjNnUDBvLk9cL2Q9MVwvY3Q9emdtc1wvcnM9QUhwT29vOW50Z1VnYVZtU0t4YjZvWHNrMTExODgwYWR5Z1wvbT1fX2ZlYXR1cmVzX18iLCJMT0dHRURfSU4iOmZhbHNlLCJHT09HTEVfRkVFREJBQ0tfUFJPRFVDVF9JRCI6IjU5IiwiU1RBUlRfSU5fVEhFQVRFUl9NT0RFIjpmYWxzZSwiUExBWUVSX0NTU19VUkwiOiJcL3NcL3BsYXllclwvOWI2NWU5ODBcL3d3dy1wbGF5ZXIuY3NzIiwiQ0xJRU5UX1BST1RPQ09MIjoiSFRUUFwvMS4xIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJwdCIsIlBMQVlFUl9KU19VUkwiOiJcL3NcL3BsYXllclwvOWI2NWU5ODBcL3BsYXllcl9pYXMudmZsc2V0XC9wdF9CUlwvYmFzZS5qcyIsIlZJU0lUT1JfREFUQSI6IkNndFhhRUo1YjNJNWFGTjZXU2otei1IOEJRJTNEJTNEIiwiWldJRUJBQ0tfUElOR19VUkxTIjpbImh0dHBzOlwvXC93d3cuZ29vZ2xlLmNvbS5iclwvcGFnZWFkXC9sdno/cGc9d2F0Y2hcdTAwMjZldnRpZD1BS0I3OGNoZ3ZObXYzSURlQi0tblhUdHdBY21OQXNsOTZSMl9Wb2x2ZVoxalVaOFJCN3JNenIyd0dlS09yWmlScVljSWFIc1pVbGV0RUlCekxkTk9hdUVzSjBlbDhTUEJVUVx1MDAyNnJlcV90cz0xNjAzODIzNjE0XHUwMDI2c2lnaD1BS0ZweVlVTUt6UVMydG5wTEFPZGZieEhabFRFTnFqMC13IiwiaHR0cHM6XC9cL3d3dy5nb29nbGUuY29tXC9wYWdlYWRcL2x2ej9wZz13YXRjaFx1MDAyNmV2dGlkPUFLQjc4Y2dnNERZeGlGQ2ppZnBmb2F4ZmI2bVJpemJ2eUNNalQ2a2syMEZnd0tqeXFDTWtBTzZGTlY3c19ReWc5X05EX3MxLWQzaWg1LVVDWDVVMUJ6NmJvV0hkN3ExSlJnXHUwMDI2cmVxX3RzPTE2MDM4MjM2MTRcdTAwMjZzaWdoPUFLRnB5WVhrWjM4dVRUMVpHQkxBeFBjTXVTaUxFd21RMUEiXSwiU0lHTklOX1VSTCI6Imh0dHBzOlwvXC9hY2NvdW50cy5nb29nbGUuY29tXC9TZXJ2aWNlTG9naW4/Y29udGludWU9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZhcHAlM0RkZXNrdG9wJTI2ZmVhdHVyZSUzRF9fRkVBVFVSRV9fJTI2aGwlM0RwdCUyNm5leHQlM0QlMjUyRndhdGNoJTI1M0Z2JTI1M0RTVWtYdlduMW03UVx1MDAyNmhsPXB0LUJSXHUwMDI2cGFzc2l2ZT10cnVlXHUwMDI2c2VydmljZT15b3V0dWJlXHUwMDI2dWlsZWw9MyIsIklOTkVSVFVCRV9BUElfVkVSU0lPTiI6InYxIiwiQVNZTkNfV0FUQ0giOnRydWUsIlNUQU1QRVJfU1RBQkxFX0xJU1QiOnRydWUsIkdBUElfTE9DQUxFIjoicHRfQlIiLCJFVkVOVF9JRCI6Il9tZVlYNjJSS2NfMHdnU2NtYURnQWciLCJFWFBFUklNRU5UX0ZMQUdTIjp7Imtldmxhcl90aHVtYm5haWxfZmx1aWQiOnRydWUsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJrZXZsYXJfY2xlYXJfbm9uX2Rpc3BsYXlhYmxlX3VybF9wYXJhbXMiOnRydWUsInZzc19uZXR3b3JrbGVzc19ieXBhc3Nfd3JpdGUiOnRydWUsImVuYWJsZV95cGNfc3Bpbm5lcnMiOnRydWUsIndlYl9hcGlfdXJsIjp0cnVlLCJzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZyI6dHJ1ZSwia2V2bGFyX3dhdGNoX2luY3JlYXNlZF93aWR0aF90aHJlc2hvbGQiOnRydWUsInBsYXlsaXN0X3JlbW92ZV93YXRjaGVkIjp0cnVlLCJzdXBwcmVzc19nZW5fMjA0Ijp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ19hbGJ1bSI6dHJ1ZSwiZW5hYmxlX3ByZW1pdW1fdm9sdW50YXJ5X3BhdXNlIjp0cnVlLCJsb2dfd2ViX21ldGFfaW50ZXJ2YWxfbXMiOjAsImVuYWJsZV9zZXJ2aWNlX2FqYXhfY3NuIjp0cnVlLCJ3ZWJfZG9udF9jYW5jZWxfcGVuZGluZ19uYXZpZ2F0aW9uX3NhbWVfdXJsIjp0cnVlLCJ3ZWJfcGxheWVyX3RvdWNoX21vZGVfaW1wcm92ZW1lbnRzIjp0cnVlLCJrZXZsYXJfZW5hYmxlX3NsaXMiOnRydWUsImd1aWRlX2J1c2luZXNzX2luZm9fY291bnRyaWVzIjpbIktSIl0sImtldmxhcl9jdHJsX3RhcF9maXgiOnRydWUsImVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImNzaV9vbl9nZWwiOnRydWUsImtldmxhcl9sb2dfbmF0aXZlX3JpZ2h0X2NsaWNrX3ZlIjp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZV91dGMiOjE2MDM3NzExOTksImtldmxhcl9nZWxfZXJyb3Jfcm91dGluZyI6dHJ1ZSwiZGVza3RvcF90aGVtZWFibGVfdnVsY2FuIjp0cnVlLCJyZW5kZXJfbWV0YV90YWdzX2xhYnMiOnRydWUsInBvbHltZXIyX3BvbHlmaWxsX21hbnVhbF9mbHVzaCI6dHJ1ZSwiaGlnaF9wcmlvcml0eV9mbHlvdXRfZnJlcXVlbmN5IjozLCJrZXZsYXJfdXNlX29uZV9wbGF0Zm9ybV9mb3JfcXVldWVfcmVmcmVzaCI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX292ZXJ2aWV3Ijp0cnVlLCJlbmFibGVfc2lnbmFscyI6dHJ1ZSwiZW5hYmxlX3dhdGNoX25leHRfcGF1c2VfYXV0b3BsYXlfbGFjdCI6dHJ1ZSwid2ViX2NsaWVudF9jb3VudGVyX3JhbmRvbV9zZWVkIjp0cnVlLCJ1c2VfcGxheWVyX3BhcmFtc19mb3JfcGFzc2luZ19kZXNrdG9wX2NvbnZlcnNpb25fdXJscyI6dHJ1ZSwia2V2bGFyX2VuYWJsZV9yZW9yZGVyYWJsZV9wbGF5bGlzdHMiOnRydWUsImVuYWJsZV9tYXN0aGVhZF9xdWFydGlsZV9waW5nX2ZpeCI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfbWluaXBsYXllcl9maXgiOnRydWUsImtldmxhcl9mcm9udGVuZF92aWRlb19saXN0X2FjdGlvbnMiOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX2hpZ2hfcHJpb3JpdHlfaWdub3JlX3B1c2giOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX3NldF90aXRsZV9iYXIiOnRydWUsInNwZl9rZXZsYXJfYXNzdW1lX2NodW5rZWQiOnRydWUsImVuYWJsZV9kZXZpY2VfZm9yd2FyZGluZ19mcm9tX3hocl9jbGllbnQiOnRydWUsImVuYWJsZV9sY3JfYnJvYWRjYXN0X2VkaXRvciI6dHJ1ZSwiZW5hYmxlX2xjcl9uZXdfaGVhZGVyIjp0cnVlLCJwcmVmZXRjaF9jb21tZW50c19tc19hZnRlcl92aWRlbyI6MCwidXNlcl9lbmdhZ2VtZW50X2V4cGVyaW1lbnRzX3JhdGVfbGltaXRfbXMiOjg2NDAwMDAwLCJyZWNvbW1lbmRlZF92aWRlb19yZW9yZGVyaW5nIjp0cnVlLCJrZXZsYXJfZmFsbGJhY2tfdG9fcGFnZV9kYXRhX3Jvb3RfdmUiOnRydWUsInNlcnZlX3BkcF9hdF9jYW5vbmljYWxfdXJsIjp0cnVlLCJwb2x5bWVyMl9lbGVtZW50X3Bvb2xfcHJvcGVydGllcyI6dHJ1ZSwiZGVza3RvcF9wZXJzaXN0ZW50X21lbnUiOnRydWUsImtldmxhcl9wZXJzaXN0ZW50X2d1aWRlX3dpZHRoX3RocmVzaG9sZCI6MTMxMiwia2V2bGFyX2lubGluZWRfaHRtbF90ZW1wbGF0ZXNfcG9seW1lcl9mbGFncyI6dHJ1ZSwiYWRkX2RldmljZV90aGVtZV9wcmVmZXJlbmNlX3dlYiI6dHJ1ZSwid2ViX3l0X2NvbmZpZ19jb250ZXh0Ijp0cnVlLCJkZXNrdG9wX3N3aXBlYWJsZV9ndWlkZSI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2F1dG9uYXZfbG9vcF9maXgiOnRydWUsIm1pbmltdW1fZHVyYXRpb25fdG9fY29uc2lkZXJfbW91c2VvdmVyX2FzX2hvdmVyIjo1MDAsInBvcHVwX2Zvcl9zaWduX291dF9yZXBvcnRfcGxheWxpc3QiOnRydWUsImVuYWJsZV93ZWJfa2V0Y2h1cF9oZXJvX2FuaW1hdGlvbiI6dHJ1ZSwicG9seW1lcjJfbm90X3NoYWR5X2J1aWxkIjp0cnVlLCJrZXZsYXJfc2VydmVfdW52ZXJzaW9uZWRfYmluYXJ5Ijp0cnVlLCJ3ZWJfbGlmZWN5Y2xlcyI6dHJ1ZSwia2V2bGFyX2xvZ2dlZF9vdXRfdG9wYmFyX21lbnVfbWlncmF0aW9uIjp0cnVlLCJ5b29kbGVfYWx0X3RleHRfbG9jYWxlIjoiIiwia2V2bGFyX3BsYXlsaXN0X2NvbGxhcHNpYmxlIjp0cnVlLCJmbHVzaF9vbmJlZm9yZXVubG9hZCI6dHJ1ZSwieW9vZGxlX2RhdGVfb3ZlcnJpZGVfZGVidWciOiIiLCJkaXNhYmxlX3lvdXRoZXJlX2xhY3RfdGhyZXNob2xkX2NoZWNrIjp0cnVlLCJrZXZsYXJfb3BfcGFnZV9zZXJ2aWNlX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3B1cmNoYXNlX2FjdGl2aXR5X2luX3BhaWRfbWVtYmVyc2hpcHMiOnRydWUsIndlYl9zaG93X3JlZ2V4X2Vycm9yX3RleHRhcmVhIjp0cnVlLCJwZGdfZW5hYmxlX3NpZ25faW5fbW9kYWxfZm9yX3N1cGVyX3ZvZCI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwia2V2bGFyX21vdXNlZG93bl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJyZW5kZXJfY2hhbm5lbF9jYW5vbmljYWxfdGFncyI6dHJ1ZSwia2V2bGFyX3VzZV9hbHBoYV9pbl9jb2xvcl9wYWxldHRlcyI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX3JlY292ZXIiOnRydWUsImtldmxhcl9kaXNhYmxlX2Zhc3RfcGxheWVyX3NpemluZ19vbl9jaGFubmVsX3BhZ2UiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudF9hZnRlcl9hdXRvcGxheWVkX3ZpZGVvIjotMSwiZW5hYmxlX3Byb2dyYW1tZWRfcGxheWxpc3RfcmVkZXNpZ24iOnRydWUsImVuYWJsZV93ZWJfcG9zdGVyX2hvdmVyX2FuaW1hdGlvbiI6dHJ1ZSwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxNTAsImtldmxhcl9vcF9taWdyYXRpb25feXBjIjp0cnVlLCJ2aWV3cG9ydF9sb2FkX2NvbGxlY3Rpb25fd2FpdF90aW1lIjowLCJrZXZsYXJfcGxheWxpc3RfZHJhZ19oYW5kbGVzIjp0cnVlLCJrZXZsYXJfcHJlcGFyZV9wbGF5ZXJfb25fbWluaXBsYXllcl9hY3RpdmF0aW9uIjp0cnVlLCJrZXZsYXJfdGltZV9jYWNoaW5nX3N0YXJ0X3RocmVzaG9sZCI6MTUsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwia2V2bGFyX21pbmlwbGF5ZXJfcXVldWVfdXNlcl9hY3RpdmF0aW9uIjp0cnVlLCJmaXhfZm9yX3NhZmFyaV9kZXNrdG9wX21hc3RoZWFkX2Jhbm5lcl9zaXplIjp0cnVlLCJ3ZWJfZW5hYmxlX2hpc3RvcnlfY2FjaGVfbWFwIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uIjp0cnVlLCJndWlkZV9sZWdhbF9mb290ZXJfZW5hYmxlZF9jb3VudHJpZXMiOlsiTkwiLCJFUyJdLCJrZXZsYXJfbWVudV9sb2dnaW5nIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3Nfbm90aWZpY2F0aW9ucyI6dHJ1ZSwia2V2bGFyX2hpZGVfdGltZV9jb250aW51ZV91cmxfcGFyYW0iOnRydWUsImtldmxhcl9rZXlib2FyZF9idXR0b25fZm9jdXMiOnRydWUsImtldmxhcl91c2VfcmVzcG9uc2VfdHRsX3RvX2ludmFsaWRhdGVfY2FjaGUiOnRydWUsImdmZWVkYmFja19mb3Jfc2lnbmVkX291dF91c2Vyc19lbmFibGVkIjp0cnVlLCJrZXZsYXJfZW5hYmxlX2VkaXRhYmxlX3BsYXlsaXN0cyI6dHJ1ZSwia2V2bGFyX3F1ZXVlX3VzZV91cGRhdGVfYXBpIjp0cnVlLCJrZXZsYXJfYXV0b2ZvY3VzX21lbnVfb25fa2V5Ym9hcmRfbmF2Ijp0cnVlLCJ3ZWJfc2NyZWVuX2Fzc29jaWF0ZWRfYWxsX2xheWVycyI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbl9iYXRjaF8yIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uX2JhdGNoXzMiOnRydWUsImtldmxhcl9hZF9iYWRnZV9saW5lX2hlaWdodF91cGRhdGUiOnRydWUsImtldmxhcl9kcm9wcGFibGVfcHJlZmV0Y2hhYmxlX3JlcXVlc3RzIjp0cnVlLCJrZXZsYXJfZml4X3BsYXlsaXN0X2NvbnRpbnVhdGlvbiI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXIiOnRydWUsImRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZCI6dHJ1ZSwia2V2bGFyX21vdXNlZG93bl9wcmVmZXRjaGFibGVfY29tcG9uZW50cyI6WyJ5dGQtcGxheWxpc3QtdmlkZW8tcmVuZGVyZXIiLCJ5dGQtZ3JpZC12aWRlby1yZW5kZXJlciIsInl0ZC1jb21wYWN0LXZpZGVvLXJlbmRlcmVyIiwieXRkLXZpZGVvLXJlbmRlcmVyIiwieXRkLXBsYXlsaXN0LXBhbmVsLXZpZGVvLXJlbmRlcmVyIl0sIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsInNob3dfZ2hvc3RfY2FyZF9jb250aW51YXRpb25zIjowLCJrZXZsYXJfcGxheWVyX3BsYXlsaXN0X3VzZV9sb2NhbF9pbmRleCI6dHJ1ZSwia2V2bGFyX25vX3VybF9wYXJhbXMiOnRydWUsInBhaXJfc2VydmxldF9kZXByZWNhdGlvbl93YXJuaW5nX2VuYWJsZWQiOnRydWUsInlvdXJfZGF0YV9lbnRyeXBvaW50Ijp0cnVlLCJkZWZlcl9tZW51cyI6dHJ1ZSwidXNlX3ByZXZpZXdfc2VsZWN0aW9uX3Rvb2wiOnRydWUsImtldmxhcl9pMThuX2xpYnJhcnkiOnRydWUsImtldmxhcl9vcF9wYWdlX3NlcnZpY2VfYnJvd3NlIjp0cnVlLCJrZXZsYXJfZnJvbnRlbmRfcXVldWVfYXV0b21hdGljX3JlY292ZXIiOnRydWUsImtldmxhcl9oaWRlX3BwX3VybF9wYXJhbSI6dHJ1ZSwid2FybV9sb2FkX25hdl9zdGFydF93ZWIiOnRydWUsImtldmxhcl9ub19hdXRvc2Nyb2xsX29uX3BsYXlsaXN0X2hvdmVyIjp0cnVlLCJsaXZlX2NoYXRfY3JlYXRlX2lmcmFtZV9idXlmbG93X2xhdW5jaGVyX2R1cmluZ19pbml0Ijp0cnVlLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJkZXNrdG9wX2tleWJvYXJkX2NhcHR1cmVfa2V5ZG93bl9raWxsc3dpdGNoIjp0cnVlLCJ0d2VsdmVfdmlkZW9fcmVvcmRlcmluZyI6WzAsMSwyLDQsNyw4LDMsNSw2LDksMTAsMTFdLCJ1c2VyX21lbnRpb25fc3VnZ2VzdGlvbnNfZWR1X2ltcHJlc3Npb25fY2FwIjoxMCwia2V2bGFyX21lYWxiYXJfYWJvdmVfcGxheWVyIjp0cnVlLCJlbmFibGVfbWVudGlvbnNfaW5fcmVwb3N0cyI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl93aXRoX2VkdSI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXJfbm9fdXBkYXRlX29uX2RlYWN0aXZhdGUiOnRydWUsImVuYWJsZV9hbHBhY2FfY2xpZW50X3BsYXllcl9jaGFuZ2VzIjp0cnVlLCJyZXRyeV93ZWJfbG9nZ2luZ19iYXRjaGVzIjp0cnVlLCJrZXZsYXJfbWluaV9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjc5MSwicHJldmlld19wbGF5X2R1cmF0aW9uIjozMDAwLCJrZXZsYXJfaWNvbnNfb25fbWVudXMiOnRydWUsImRlY29yYXRlX2F1dG9wbGF5X3JlbmRlcmVyIjp0cnVlLCJrZXZsYXJfd2F0Y2hfanNfcGFuZWxfaGVpZ2h0Ijp0cnVlLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sInBlcnNpc3RlbnRfbWluaXBsYXllciI6dHJ1ZSwia2V2bGFyX2V4aXRfZnVsbHNjcmVlbl9sZWF2aW5nX3dhdGNoIjp0cnVlLCJkZXNrdG9wX3dlYl9jYW5hcnkiOnRydWUsInJlbmRlcl9taWNyb2Zvcm1hdF9pbl9oZWFkIjp0cnVlLCJhdXRvcGxheV90aW1lIjo4MDAwLCJkaXNhYmxlX3NpbXBsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImVuYWJsZV9zZXJ2bGV0X2Vycm9yc19zdHJlYW16Ijp0cnVlLCJzaG91bGRfY2xlYXJfdmlkZW9fZGF0YV9vbl9wbGF5ZXJfY3VlZF91bnN0YXJ0ZWQiOnRydWUsIndlYl9nZWxfZGVib3VuY2VfbXMiOjEwMDAwLCJ3ZWJfcGxheWVyX3dhdGNoX25leHRfcmVzcG9uc2UiOnRydWUsInJlbmRlcl9tZXRhX2dlbmVyYWxfdGFncyI6dHJ1ZSwia2V2bGFyX2hvbWVfa2V5Ym9hcmRfc2Nyb2xsX2Rpc3RhbmNlIjowLCJlbmFibGVfc2VydmxldF9zdHJlYW16Ijp0cnVlLCJrZXZsYXJfbWl4X2hhbmRsZV9maXJzdF9lbmRwb2ludF9kaWZmZXJlbnQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfZm9yY2Vfbm90aWZpY2F0aW9uX3Byb21wdF90YWciOiIxIiwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJnbG9iYWxfc3BhY2ViYXJfcGF1c2UiOnRydWUsIndlYl9vcF9jb250aW51YXRpb25fdHlwZV9iYW5saXN0IjpbXSwia2V2bGFyX2hlbHBfdXNlX2xvY2FsZSI6dHJ1ZSwiZGVza3RvcF9zZWFyY2hfc3VnZ2VzdGlvbl90YXBfdGFyZ2V0IjowLCJrZXZsYXJfcGFnZV9zZXJ2aWNlX3VybF9wcmVmaXhfY2FydmVvdXRzIjpbXSwia2V2bGFyX3RyYW5zY3JpcHRfZW5nYWdlbWVudF9wYW5lbCI6dHJ1ZSwicGxheWVyX2FsbG93X2F1dG9uYXZfYWZ0ZXJfcGxheWxpc3QiOnRydWUsImtldmxhcl91c2VfZW5kcG9pbnRfZm9yX2NoYW5uZWxfY3JlYXRpb25fZm9ybSI6dHJ1ZSwicG9seW1lcl90YXNrX21hbmFnZXJfc3RhdHVzIjoicHJvZHVjdGlvbiIsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwiZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeSI6dHJ1ZSwia2V2bGFyX2FkZF90b19xdWV1ZV9vcHRpb24iOnRydWUsImtldmxhcl93YXRjaF9za2VsZXRvbiI6dHJ1ZSwia2V2bGFyX25vX2Vhcmx5X2luaXRfdW5wYXVzZSI6dHJ1ZSwic3VwcHJlc3Nfc3BhcmtsZXNfZm9yX3doaXRlbGlzdGVkX2luc3RyZWFtX29uX2Rlc2t0b3AiOnRydWUsImtldmxhcl90aHVtYm5haWxfZmx5b3V0X2RlbGF5IjozMDAsImtldmxhcl9uZXh0X2NvbGRfb25fYXV0aF9jaGFuZ2VfZGV0ZWN0ZWQiOnRydWUsIndlYl9hbHdheXNfbG9hZF9jaGF0X3N1cHBvcnQiOnRydWUsImtldmxhcl9tYWNyb19tYXJrZXJzX2tleWJvYXJkX3Nob3J0Y3V0Ijp0cnVlLCJlbmFibGVfdG9wc29pbF93dGFfZm9yX2hhbGZ0aW1lIjp0cnVlLCJjb25maWdfYWdlX3JlcG9ydF9raWxsc3dpdGNoIjp0cnVlLCJrZXZsYXJfYWxsb3dfbXVsdGlzdGVwX3ZpZGVvX2luaXQiOnRydWUsImlzX3BhcnRfb2ZfYW55X3VzZXJfZW5nYWdlbWVudF9leHBlcmltZW50Ijp0cnVlLCJlbmFibGVfeXRvX3dpbmRvdyI6dHJ1ZSwiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2ludGVydmFsX3NlY29uZHMiOjYwLCJrZXZsYXJfc2V0dGluZ3Nfc2hhcmluZyI6dHJ1ZSwibGl2ZV9jaGF0X2NsaWVudF91cmwiOnRydWUsImtldmxhcl9hYmFuZG9uX29uX3N0b3AiOnRydWUsImtldmxhcl93YXRjaF9kcmFnX2hhbmRsZXMiOnRydWUsImtldmxhcl90aW1lX2NhY2hpbmdfZW5kX3RocmVzaG9sZCI6MTUsImVuYWJsZV9taWNyb2Zvcm1hdF9kYXRhIjp0cnVlLCJsb2dfdmlzX29uX3RhYl9jaGFuZ2UiOnRydWUsImRlZmVyX292ZXJsYXlzIjp0cnVlLCJub19zdWJfY291bnRfb25fc3ViX2J1dHRvbiI6dHJ1ZSwia2V2bGFyX2luY2x1ZGVfcXVlcnlfaW5fc2VhcmNoX2VuZHBvaW50Ijp0cnVlLCJtaW5fbW91c2Vfc3RpbGxfZHVyYXRpb24iOjEwMCwia2V2bGFyX3NldHRpbmdzX2JpbGxpbmciOnRydWUsIndlYl9sb2dfY29ubmVjdGlvbiI6dHJ1ZSwidGVuX3ZpZGVvX3Jlb3JkZXJpbmciOlswLDEsMiwzLDYsNCw1LDcsOCw5XSwid2ViX3Nob3dfZGVzY3JpcHRpb25fdGFnX21vdmllcyI6dHJ1ZSwia2V2bGFyX2xvZ19wcmVmZXJzX2NvbG9yX3RoZW1lIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wIjp0cnVlLCJhdXRvZXNjYXBlX3RlbXBkYXRhX3VybCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfZGVsYXlfbWljcm9zZWNvbmRzIjozODg4MDAwMDAwMDAwLCJsaXZlX2NoYXRfaW5jcmVhc2VkX21pbl9oZWlnaHQiOnRydWUsInlvb2RsZV9lbmRfdGltZV91dGMiOjE2MDM4NzkxOTksImtldmxhcl9hbGxvd19xdWV1ZV9yZW9yZGVyIjp0cnVlLCJrZXZsYXJfcGxheWVyX3Jlc3BvbnNlX3N3Zl9jb25maWdfd3JhcHBlcl9raWxsc3dpdGNoIjp0cnVlLCJkZXNrdG9wX3NlYXJjaF9wcm9taW5lbnRfdGh1bWJzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zdWJzY3JpYmVfd2l0aF92YXBpZF9rZXkiOnRydWUsInJpY2hfZ3JpZCI6dHJ1ZSwibmV0d29ya2xlc3NfcmVxdWVzdF9hZ2VfbGltaXQiOjMwLCJwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZSI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwiZGVza3RvcF9hZGRfdG9fcGxheWxpc3RfcmVuZGVyZXJfZGlhbG9nX3BvcHVwIjp0cnVlLCJwb2x5bWVyX2VuYWJsZV9tZHgiOnRydWUsImZpbGxfd2ViX3BsYXllcl9jb250ZXh0X2NvbmZpZyI6dHJ1ZSwicGxheWVyX2Jvb3RzdHJhcF9tZXRob2QiOnRydWUsImRlc2t0b3BfcHl2X29uX3dhdGNoX292ZXJyaWRlX2xhY3QiOnRydWUsInNraXBfZW5kcG9pbnRfcGFyYW1fY29tcGFyaXNvbiI6dHJ1ZSwidXNlX3dhdGNoX2ZyYWdtZW50czIiOnRydWUsImtldmxhcl9wcmVmZXRjaCI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl9idXR0b25fY2xpY2tfdGhyZXNob2xkIjoyLCJpZ25vcmVfZW1wdHlfeGhyIjp0cnVlLCJsaXZlX2NoYXRfdW5pY29kZV9lbW9qaV9qc29uX3VybCI6Imh0dHBzOlwvXC93d3cuZ3N0YXRpYy5jb21cL3lvdXR1YmVcL2ltZ1wvZW1vamlzXC9lbW9qaXMtc3ZnLTQuanNvbiIsImRlc2t0b3BfY2xpZW50X3JlbGVhc2UiOnRydWUsImtldmxhcl9vbmVfcGlja19hZGRfdmlkZW9fdG9fcGxheWxpc3QiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3NldF9lbGVtZW50X2Vhcmx5Ijp0cnVlLCJhcHBfc2V0dGluZ3Nfc25hcHNob3RfbWluX3RpbWVfYmV0d2Vlbl9zbmFwc2hvdHNfaG91cnMiOjI0LCJrZXZsYXJfcXVldWVfdXNlX2RlZGljYXRlZF9saXN0X3R5cGUiOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwic2VydmljZV93b3JrZXJfcHVzaF9sb2dnZWRfb3V0X3Byb21wdF93YXRjaGVzIjotMSwia2V2bGFyX21pbmlwbGF5ZXJfc2V0X3dhdGNoX25leHQiOnRydWUsImtldmxhcl9kaXNhYmxlX2h0bWxfaW1wb3J0cyI6dHJ1ZSwia2V2bGFyX29wX2luZnJhIjp0cnVlLCJwYmpfbmF2aWdhdGVfbGltaXQiOi0xLCJrZXZsYXJfdG9vbHRpcF9pbXByZXNzaW9uX2NhcCI6Miwia2V2bGFyX2d1aWRlX3JlZnJlc2giOnRydWUsImtldmxhcl9jb2xsZWN0X2hvdmVyX3RvdWNoX3N1cHBvcnQiOnRydWUsImNvbnNlbnRfdXJsX292ZXJyaWRlIjoiIiwiYWxsb3dfaHR0cHNfc3RyZWFtaW5nX2Zvcl9hbGwiOnRydWUsImRpc2FibGVfdGh1bWJuYWlsX3ByZWxvYWRpbmciOnRydWUsImtldmxhcl9jbGllbnRfc2F2ZV9zdWJzX3ByZWZlcmVuY2VzIjp0cnVlLCJrZXZsYXJfanNfZml4ZXMiOnRydWUsImVuYWJsZV9vZmZlcl9zdXBwcmVzc2lvbiI6dHJ1ZSwic2VhcmNoYm94X3JlcG9ydGluZyI6dHJ1ZSwiY3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsIjp0cnVlLCJsb2dfanNfZXhjZXB0aW9uc19mcmFjdGlvbiI6MS4wLCJ5b29kbGVfYmFzZV91cmwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9pbWdcL2JyYW5kaW5nXC9kZXNrdG9wXC9nbG9iYWxfdGVzdFwveXRfbG9nb192MSIsImtldmxhcl93YXRjaF9jb2xvcl91cGRhdGUiOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMSwibGl2ZV9jaGF0X2l0ZmVfZW5kcG9pbnRfbWlncmF0aW9uIjp0cnVlLCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIjp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJrZXZsYXJfc2F2ZV9xdWV1ZSI6dHJ1ZSwic2tpcF9pbml0X3ByZXZpZXdfc2VsZWN0aW9uIjp0cnVlLCJrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZSI6dHJ1ZSwiZGVza3RvcF9hY3Rpb25fY29tcGFuaW9uX3d0YV9zdXBwb3J0Ijp0cnVlLCJrZXZsYXJfY29weV9wbGF5bGlzdCI6dHJ1ZSwid2ViX3Jlc3BvbnNlX3Byb2Nlc3Nvcl9zdXBwb3J0Ijp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZSI6IiIsImtldmxhcl91c2VfcGFnZV9kYXRhX3dpbGxfdXBkYXRlIjp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuIjp0cnVlLCJsb2dfanNfZXJyb3JfY2x1c3RlcnMiOjEuMCwia2V2bGFyX2RlcHJlY2F0ZWRfdGlja2VyIjp0cnVlLCJ3ZWJfZW11bGF0ZWRfaWRsZV9jYWxsYmFja19kZWxheSI6MCwicGxheWVyX2RvdWJsZXRhcF90b19zZWVrIjp0cnVlLCJ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeSI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX2FkdmFuY2VkIjp0cnVlLCJzZXJ2ZV9jcm9zc3dhbGtfY29tcGxpYW50X3BkcCI6dHJ1ZSwid2ViX2xvZ19hcHBfaW5zdGFsbF9leHBlcmltZW50cyI6dHJ1ZSwicmVuZGVyX2Jhc2VfdGFnc19ob21lX3BhZ2UiOnRydWUsImtldmxhcl9jb2xsZWN0X2JhdHRlcnlfbmV0d29ya19zdGF0dXMiOnRydWUsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9jb3VudCI6MTAwLCJrZXZsYXJfcmVwb3NpdGlvbl9ndWlkZV9odG1sIjp0cnVlLCJrZXZsYXJfbml0cmF0ZV9kcml2ZW5fdG9vbHRpcHMiOnRydWUsImtldmxhcl9jaGFubmVsc19wbGF5ZXJfaGFuZGxlX21pc3Npbmdfc3dmY29uZmlnIjp0cnVlLCJ5b29kbGVfZW5kX3RpbWUiOiIiLCJrZXZsYXJfc2V0X2ludGVybmFsX3BsYXllcl9zaXplIjp0cnVlLCJlbmFibGVfdmVfdHJhY2tlcl9rZXkiOnRydWUsInVzZV90eXBlc2NyaXB0X3RyYW5zcG9ydCI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl9idXR0b25fc2hvd25fdGhyZXNob2xkIjoxMCwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwia2V2bGFyX2FwcGx5X3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsImxpdmVfY2hhdF91c2VfeW91dHViZV9ob3N0ZWRfdGFuZ29fZG9tYWlucyI6dHJ1ZSwibGl2ZV9jaGF0X3VzZV9mZXRjaF9jb21tYW5kIjp0cnVlLCJwb2x5bWVyX3ZpZGVvX3JlbmRlcmVyX2RlZmVyX21lbnUiOnRydWUsImJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXMiOjMwMDAsImh0bWw1X2V4cGVyaW1lbnRfaWRfbGFiZWwiOjAsIm5ldHdvcmtsZXNzX3Rocm90dGxlX3RpbWVvdXQiOjEwMCwia2V2bGFyX3RyYW5zY3JpcHRfcGFuZWxfcmVmcmVzaGVkX3N0eWxlcyI6dHJ1ZSwibGl2ZV9jaGF0X2xpdmVfY29tbWVudGFyeV9tb2RlIjp0cnVlLCJrZXZsYXJfbWVudV9yZWZyZXNoIjp0cnVlLCJrZXZsYXJfZml4X21pbmlwbGF5ZXJfbG9nZ2luZyI6dHJ1ZSwia2V2bGFyX2dhaWFfbGluayI6dHJ1ZSwicG9seW1lcl9yZXBvcnRfbWlzc2luZ193ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9yYXRlIjowLjAwMSwidmlzaWJpbGl0eV90aW1lX2JldHdlZW5fam9ic19tcyI6MTAwLCJrZXZsYXJfaG9tZV9za2VsZXRvbiI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsImxvZ193ZWJfZW5kcG9pbnRfdG9fbGF5ZXIiOnRydWUsIm92ZXJ3cml0ZV9wb2x5ZmlsbF9vbl9sb2dnaW5nX2xpYl9sb2FkZWQiOnRydWUsImxpdmVfY2hhdF9jb250aW51YXRpb25zX21pZ3JhdGlvbiI6dHJ1ZSwiZGVza3RvcF9weXZfb25fd2F0Y2hfbWlzc2luZ19wYXJhbXMiOnRydWUsImtldmxhcl9kaXNhYmxlX2NoYW5uZWxzX2Zsb3dfcGFyYW0iOnRydWUsInlvb2RsZV9hbHRfdGV4dCI6IiIsImF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnQiOi0xLCJrZXZsYXJfYmFja2dyb3VuZF9jb2xvcl91cGRhdGUiOnRydWUsIndlYl9nZWxfdGltZW91dF9jYXAiOnRydWUsImVuYWJsZV9jYWxsX3RvX2FjdGlvbl9jbGFyaWZpY2F0aW9uX3JlbmRlcmVyX2JvdHRvbV9zZWN0aW9uX2NvbmRpdGlvbnMiOnRydWUsImtldmxhcl9wbGF5ZXJfYXV0b3BsYXlfY291bnRfZnJvbV9ydnMiOnRydWUsImZpeF9kZXNrdG9wX2Fkc19jdGFfZHVwX2NsaWNrX3BpbmciOnRydWUsImtldmxhcl9hbGxvd19wbGF5bGlzdF9yZW9yZGVyIjp0cnVlLCJyaWNoX2dyaWRfbWluaV9tb2RlIjp0cnVlLCJtYXhfZHVyYXRpb25fdG9fY29uc2lkZXJfbW91c2VvdmVyX2FzX2hvdmVyIjo2MDAwMDAsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsIm5ldHdvcmtsZXNzX2xvZ2dpbmciOnRydWUsImtldmxhcl90aHVtYm5haWxfb3ZlcmxheV9idXR0b25fcmVmcmVzaCI6dHJ1ZSwiZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZSI6dHJ1ZSwic2VydmljZV93b3JrZXJfc2NvcGUiOiJcLyIsImVuYWJsZV9wbGF5ZXJfbWljcm9mb3JtYXRfZGF0YSI6dHJ1ZSwia2V2bGFyX2NsaWVudF9zaWRlX3NjcmVlbnMiOnRydWUsIm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbCI6MzAwMDAsImtldmxhcl9sYXp5X2xpc3RfcmVzdW1lX2Zvcl9hdXRvZmlsbCI6dHJ1ZSwia2V2bGFyX2NhbmNlbF9zY2hlZHVsZWRfY29tbWVudF9qb2JzX29uX25hdmlnYXRlIjp0cnVlLCJkZXNrdG9wX3BvbHltZXJfdmlkZW9fbWFzdGhlYWRfc2Vzc2lvbl90ZW1wZGF0YV90dGwiOjMwLCJrZXZsYXJfdGh1bWJuYWlsX292ZXJsYXlfbmV3X2VsZW1lbnRwb29sX3NjaGVkdWxlIjp0cnVlLCJrZXZsYXJfY2xlYW5fdXAiOnRydWUsInJlbmRlcl9zY2hlbWFfb3JnX3RhZ3MiOnRydWUsImtldmxhcl9zZXR0aW5nc19wcml2YWN5Ijp0cnVlLCJkZXNrdG9wX3dlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW0iOnRydWUsIm5ldHdvcmtsZXNzX3l0aWRiX3ZlcnNpb24iOjEsInBvbHltZXJfd2FybV90aHVtYm5haWxfcHJlbG9hZCI6dHJ1ZSwid2ViX3Bvc3Rfc2VhcmNoIjp0cnVlLCJwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHMiOnRydWUsIndlYl9vcF9lbmRwb2ludF9iYW5saXN0IjpbXSwiZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWVfd2F0Y2giOnRydWUsImtldmxhcl9zbmFwX3N0YXRlX3JlZnJlc2giOnRydWUsImVsZW1lbnRfcG9vbF9wb3B1bGF0b3JfYXV0b19hYm9ydCI6dHJ1ZSwibGl2ZV9jaGF0X292ZXJfcGxheWxpc3QiOnRydWUsImtldmxhcl9wbGF5ZXJfZGlzYWJsZV9ydnNfdXBkYXRlIjp0cnVlLCJib3RndWFyZF9wZXJpb2RpY19yZWZyZXNoIjp0cnVlLCJlbmFibGVfcG9zdF9zY2hlZHVsaW5nIjp0cnVlLCJyZWxvYWRfd2l0aG91dF9wb2x5bWVyX2lubmVydHViZSI6dHJ1ZSwia2V2bGFyX2d1aWRlX2FqYXhfbWlncmF0aW9uIjp0cnVlLCJ3YXRjaF9uZXh0X3BhdXNlX2F1dG9wbGF5X2xhY3Rfc2VjIjo0NTAwLCJkZXNrdG9wX3NlYXJjaF9wcm9taW5lbnRfdGh1bWJzX3N0eWxlIjoiREVGQVVMVCIsImVuYWJsZV9ib3JkZXJzX29uX2NvbW11bml0eSI6dHJ1ZSwia2V2bGFyX25leHRfdXBfbmV4dF9lZHVfZW1vamkiOiIiLCJuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cyI6MSwiZW5hYmxlX2J1dHRvbl9iZWhhdmlvcl9yZXVzZSI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXIiOnRydWUsImtldmxhcl9zZXR0aW5nc19wbGF5YmFjayI6dHJ1ZSwia2V2bGFyX29wX2Jyb3dzZV9zYW1wbGVkX3ByZWZpeF9pZHMiOltdLCJ3ZWJfcmVmcmVzaF9pbmZvX3BhbmVsIjp0cnVlLCJrZXZsYXJfY2VudGVyX3NlYXJjaF9yZXN1bHRzIjp0cnVlLCJkaXNhYmxlX2xlZ2FjeV9kZXNrdG9wX3JlbW90ZV9xdWV1ZSI6dHJ1ZSwiZGVza3RvcF90b3VjaF9nZXN0dXJlc191c2FnZV9sb2ciOnRydWUsImNvbGRfbWlzc2luZ19oaXN0b3J5Ijp0cnVlLCJ3ZWJfcGxheWVyX2VuYWJsZV9pcHAiOnRydWUsImRlZmVyX3JlbmRlcmluZ19vdXRzaWRlX3Zpc2libGVfYXJlYSI6dHJ1ZSwid2ViX21vdmVfcGFzc2l2ZV9zaWduaW4iOnRydWUsIndlYl9uZXR3b3JrX2NvbWJpbmVkX2NhdGNoIjp0cnVlLCJrZXZsYXJfZGlzYWJsZV9iYWNrZ3JvdW5kX3ByZWZldGNoIjp0cnVlLCJlbmFibGVfc3RyZWFtbGluZV9yZXBvc3RfZmxvdyI6dHJ1ZSwia2V2bGFyX2hvbWVfc2tlbGV0b25faGlkZV9sYXRlciI6dHJ1ZSwicG9seW1lcl9yZXBvcnRfY2xpZW50X3VybF9yZXF1ZXN0ZWRfcmF0ZSI6MC4wMDEsImVuYWJsZV9tZW1iZXJzaGlwc19hbmRfcHVyY2hhc2VzIjp0cnVlLCJlbmFibGVfcG9seW1lcl9yZXNpbl9taWdyYXRpb24iOnRydWUsImJvdGd1YXJkX2V2YWxfd2l0aF9zY3JpcHRfdGFnIjp0cnVlLCJrZXZsYXJfYXV0b25hdl9wb3B1cF9maWx0ZXJpbmciOnRydWUsImtldmxhcl9jaGFubmVsX3RyYWlsZXJfbXVsdGlfYXR0YWNoIjp0cnVlLCJkZXNrdG9wX2FkanVzdF90b3VjaF90YXJnZXQiOnRydWUsImtldmxhcl91c2VfeXRkX3BsYXllciI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF93YXRjaF9wYWdlX3Byb21wdCI6dHJ1ZX0sIllQQ19NQl9VUkwiOiJodHRwczpcL1wvcGF5bWVudHMueW91dHViZS5jb21cL3BheW1lbnRzXC92NFwvanNcL2ludGVncmF0b3IuanM/c3M9bWQiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6IkJSIiwiU1RTIjoxODU2MSwiREVWSUNFIjoiY2VuZz1VU0VSX0RFRklORUQiLCJTQk9YX1NFVFRJTkdTIjp7IlZJU0lUT1JfREFUQSI6IkNndFhhRUo1YjNJNWFGTjZXU2otei1IOEJRJTNEJTNEIiwiU0VBUkNIQk9YX1pFUk9fVFlQSU5HX1NVR0dFU1RfVVNFX1JFR1VMQVJfU1VHR0VTVCI6ImFsd2F5cyIsIlNFQVJDSEJPWF9CRUhBVklPUl9FWFBFUklNRU5UIjoiemVyby1wcmVmaXgiLCJTRUFSQ0hCT1hfSE9TVF9PVkVSUklERSI6IiIsIlNFQVJDSEJPWF9FTkFCTEVfUkVGSU5FTUVOVF9TVUdHRVNUIjp0cnVlLCJIQVNfT05fU0NSRUVOX0tFWUJPQVJEIjp0cnVlLCJSRVFVRVNUX0xBTkdVQUdFIjoicHQiLCJJU19QT0xZTUVSIjp0cnVlLCJSRVFVRVNUX0RPTUFJTiI6ImJyIiwiU0VORF9WSVNJVE9SX0RBVEEiOnRydWUsIlNFQVJDSEJPWF9UQVBfVEFSR0VUX0VYUEVSSU1FTlQiOjAsIklTX0ZVU0lPTiI6ZmFsc2V9LCJJU19UQUJMRVQiOmZhbHNlLCJYU1JGX1RPS0VOIjoiUVVGRkxVaHFibU42VEdSTWVUWllPWEphWlZSV05WaGxZM2R2TTNSd1ZIUnFaM3hCUTNKdGMwdHNhRzlDTVhWV1RWSllXblUyYjNFM1JsaHpabUpZZEZaaFRVUnJhamRVY25CSFRYTndZa3hyZDBJM1JqRmtYMmwzY1RGaWIxSnBWMVZaU1RoRVF6bDZjMEpqVDFoVFVteFFWMU40Y1VjMVozaERNMmREUzJ0NWFsVjVTVEZtY1Vad01YcFZaa05EWXpkTk0xZDNSRlF0Y2tGWUxXUlliMko1Um5sNVpqbEhVekppWDFoeU5YSnRXVEJQTUY5MGNrc3dkVWxGWWpZd01VUmFZbWM9IiwiSFRNTF9ESVIiOiJsdHIiLCJHQVBJX0hPU1QiOiJodHRwczpcL1wvYXBpcy5nb29nbGUuY29tIiwiU0JPWF9KU19VUkwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9kZXNrdG9wXC9hOTAwMzZlYVwvanNiaW5cL3d3dy1zZWFyY2hib3gudmZsc2V0XC93d3ctc2VhcmNoYm94LmpzIiwiQ09VTlRSWSI6IkJyYXNpbCIsIkVMRU1FTlRfUE9PTF9ERUZBVUxUX0NBUCI6NzUsIkRFRkVSUkVEX0RFVEFDSCI6dHJ1ZSwiVklTSUJJTElUWV9USU1FX0JFVFdFRU5fSk9CU19NUyI6MTAwfSk7eXRjZmcuc2V0KCJTQk9YX0xBQkVMUyIsIHsiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdlc3TDo28gcmVtb3ZpZGEiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmVyIn0pO3ZhciBzZXRNZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7aWYgKHdpbmRvdy55dCAmJiB5dC5zZXRNc2cpIHt5dC5zZXRNc2cobXNnKTt9IGVsc2Uge3dpbmRvdy55dGNmZyA9IHdpbmRvdy55dGNmZyB8fCB7fTt5dGNmZy5tc2dzID0gbXNnO319O3NldE1lc3NhZ2UoeydTSUdOX0lOX0xBQkVMJzogIkZhemVyIGxvZ2luIiwnU0hBUkVfTEFCRUwnOiAiQ29tcGFydGlsaGFyIiwnR1VJREVfQUxUX0xBQkVMJzogIkd1aWEiLCdMT0dPX0FMVF9MQUJFTCc6ICJQw6FnaW5hIGluaWNpYWwgZG8gWW91VHViZSIsJ0JBQ0tfQUxUX0xBQkVMJzogIlZvbHRhciIsJ0NIT09TRV9DT1VOVFJZX0xBQkVMJzogIlNlbGVjaW9uZSBzZXUgbG9jYWwiLCdDT1VOVFJZX0xBQkVMJzogIkxvY2FsOiIsJ0NIT09TRV9MQU5HVUFHRV9MQUJFTCc6ICJTZWxlY2lvbmUgc2V1IGlkaW9tYSIsJ0xBTkdVQUdFX0xBQkVMJzogIklkaW9tYToiLCdUSU1FWk9ORV9GT1JNQVQnOiAiKCR1dGNfb2Zmc2V0X3RleHQpICRjaXR5X25hbWUiLCdMT0NBTF9USU1FX0xBQkVMJzogIkhvcmEgbG9jYWwiLCdMT0NBTF9USU1FX0dNVF9MQUJFTCc6ICJIb3LDoXJpbyBsb2NhbCAoJGdtdF90ZXh0KSIsJ1VUQ19PRkZTRVRfRk9STUFUJzogIkdNVCR1dGNfb2Zmc2V0IiwnRU5URVJfREFURV9PUl9FQVJMSUVSJzogIkluc2lyYSAkYWxsb3dlZF9kYXRlIG91IHVtYSBkYXRhIGFudGVyaW9yIiwnRU5URVJfREFURV9PUl9MQVRFUic6ICJJbnNpcmEgJGFsbG93ZWRfZGF0ZSBvdSB1bSBob3LDoXJpbyBwb3N0ZXJpb3IiLCdJTlZBTElEX0RBVEVfRVJST1InOiAiRGF0YSBpbnbDoWxpZGEiLCdPRkYnOiAiRGVzYXRpdmFkbyIsJ09OJzogIkF0aXZhZG8iLCdSRVNUUklDVEVEX01PREVfTEFCRUwnOiAiTW9kbyByZXN0cml0bzoiLCdSRVNUUklDVEVEX01PREVfVEVYVF9MSU5FXzEnOiAiTyBNb2RvIHJlc3RyaXRvIG9jdWx0YSB2w61kZW9zIHF1ZSBwb2RlbSBjb250ZXIgY29udGXDumRvIGluYWRlcXVhZG8sIHNpbmFsaXphZG8gcG9yIHVzdcOhcmlvcyBvdSBvdXRyb3MgaW5kaWNhZG9yZXMuIE5lbmh1bSBmaWx0cm8gw6kgMTAwJSBwcmVjaXNvLCBtYXMgZGV2ZSBhanVkYXIgdm9jw6ogYSBldml0YXIgYSBtYWlvcmlhIGRvcyBjb250ZcO6ZG9zIGluYWRlcXVhZG9zLiIsJ1JFU1RSSUNURURfTU9ERV9URVhUX0xJTkVfMic6ICJBIGNvbmZpZ3VyYcOnw6NvIGRvIE1vZG8gcmVzdHJpdG8gc2Vyw6EgYXBsaWNhZGEgc29tZW50ZSBhIGVzdGUgbmF2ZWdhZG9yLiIsJ1JFU1RSSUNURURfTU9ERV9USVRMRSc6ICJNb2RvIHJlc3RyaXRvIiwnSU1BR0VfSE9SSVpPTlRBTF9QT1NJVElPTl9MQUJFTCc6ICJPIGNlbnRybyBkYSB2aXN1YWxpemHDp8OjbyBlc3TDoSBhICR4X3BlcmNlbnQlIGRhIGVzcXVlcmRhIGUgYSR5X3BlcmNlbnQlIGRhIGRpcmVpdGEuIiwnSU1BR0VfVkVSVElDQUxfUE9TSVRJT05fTEFCRUwnOiAiTyBjZW50cm8gZGEgdmlzdWFsaXphw6fDo28gZXN0w6EgYSAkeF9wZXJjZW50JSBkYSBwYXJ0ZSBzdXBlcmlvciBlIGEkeV9wZXJjZW50JSBkYSBwYXJ0ZSBpbmZlcmlvci4iLCdSRVBPU0lUSU9OX0lNQUdFX0hPUklaT05UQUxMWV9MQUJFTCc6ICJVc2UgYXMgdGVjbGFzIGRlIHNldGEgZXNxdWVyZGEgZSBkaXJlaXRhIHBhcmEgcG9zaWNpb25hciBhIHZpc3VhbGl6YcOnw6NvIiwnUkVQT1NJVElPTl9JTUFHRV9WRVJUSUNBTExZX0xBQkVMJzogIlVzZSBhcyB0ZWNsYXMgZGUgc2V0YSBwYXJhIGNpbWEgZSBwYXJhIGJhaXhvIHBhcmEgcG9zaWNpb25hciBhIHZpc3VhbGl6YcOnw6NvIiwnUkVBQ0hfVE9QX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IGEgcGFydGUgc3VwZXJpb3IgZGEgaW1hZ2VtIiwnUkVBQ0hfQk9UVE9NX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IGEgcGFydGUgaW5mZXJpb3IgZGEgaW1hZ2VtIiwnUkVBQ0hfTEVGVF9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBvIGxhZG8gZXNxdWVyZG8gZGEgaW1hZ2VtIiwnUkVBQ0hfUklHSFRfT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgbyBsYWRvIGRpcmVpdG8gZGEgaW1hZ2VtIiwnU0JPWF9QTEFDRUhPTERFUic6ICJQZXNxdWlzYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfUFJPTVBUJzogIkRlbnVuY2lhciBwcmV2aXPDtWVzIGRlIGVucXVldGUiLCdTQk9YX0lOQVBQUk9QUklBVEVfVElUTEUnOiAiRGVudW5jaWFyIHByZXZpc8O1ZXMgZGUgZW5xdWV0ZSIsJ1NCT1hfSU5BUFBST1BSSUFURV9TVUdHRVNUSU9OUyc6ICJTZWxlY2lvbmUgYXMgcHJldmlzw7VlcyBxdWUgdm9jw6ogcXVlciBkZW51bmNpYXI6IiwnU0JPWF9JTkFQUFJPUFJJQVRFX0NBVEVHT1JZJzogIk8gY29udGXDumRvIGRhcyBwcmV2aXPDtWVzIHNlbGVjaW9uYWRhczoiLCdTQk9YX0lOQVBQUk9QUklBVEVfSEFURUZVTCc6ICJpbmNpdGEgYW8gw7NkaW8iLCdTQk9YX0lOQVBQUk9QUklBVEVfRVhQTElDSVQnOiAiw6kgc2V4dWFsbWVudGUgZXhwbMOtY2l0byIsJ1NCT1hfSU5BUFBST1BSSUFURV9WSU9MRU5UJzogImNvbnTDqW0gdmlvbMOqbmNpYSIsJ1NCT1hfSU5BUFBST1BSSUFURV9EQU5HRVJPVVMnOiAiY29udMOpbSBhdGl2aWRhZGVzIHBlcmlnb3NhcyBvdSBub2NpdmFzIiwnU0JPWF9JTkFQUFJPUFJJQVRFX09USEVSJzogIm91dHJvIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1JFQVNPTic6ICJNb3Rpdm8gKG9icmlnYXTDs3JpbykiLCdTQk9YX0lOQVBQUk9QUklBVEVfQURESVRJT05BTCc6ICJGb3JuZcOnYSBtYWlzIGRldGFsaGVzIChvcGNpb25hbCkiLCdTQk9YX0lOQVBQUk9QUklBVEVfU1VCTUlUJzogIkVudmlhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9SRVBPUlQnOiAiRGVudW5jaWFyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0NBTkNFTCc6ICJDYW5jZWxhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9UT0FTVCc6ICJBZ3JhZGVjZW1vcyBzZXUgZmVlZGJhY2suIiwnU0JPWF9WT0lDRV9PVkVSTEFZX1BMQUNFSE9MREVSJzogIk91dmluZG/igKYiLCdBRERfVE9fRFJPUERPV05fTEFCRUwnOiAiU2FsdmFyIGVtLi4uIiwnUkVRVUlSRURfTEFCRUwnOiAiT2JyaWdhdMOzcmlvIiwnTk9fQU5HTEVfQlJBQ0tFVF9MQUJFTCc6ICJPIG5vbWUgZGEgcGxheWxpc3QgbsOjbyBwb2RlIGNvbnRlciBcdTAwM2Mgb3UgXHUwMDNlXG4iLCdFRElUX0FWQVRBUl9MQUJFTCc6ICJFZGl0YXIgZm90byBkbyBwZXJmaWwiLCdBRF9CQURHRV9URVhUJzogIkFuw7puY2lvIiwnRURVX0dPVF9JVCc6ICJPayIsJ01JTklQTEFZRVJfQ09MTEFQU0VfTEFCRUwnOiAiUmVjb2xoZXIiLCdNSU5JUExBWUVSX0VYUEFORF9MQUJFTCc6ICJFeHBhbmRpciIsJ1FVRVVFJzogIkZpbGEiLCdBRERFRF9UT19RVUVVRSc6ICJBZGljaW9uYWRvIMOgIGZpbGEiLCdRVUVVRV9DTEVBUkVEJzogeyJvdGhlciI6ICIjIHZcdTAwZWRkZW9zIHJlbW92aWRvcyBkYSBmaWxhIiwgIm9uZSI6ICIjIHZcdTAwZWRkZW8gcmVtb3ZpZG8gZGEgZmlsYSIsICJjYXNlMSI6ICIxIHZcdTAwZWRkZW8gcmVtb3ZpZG8gZGEgZmlsYSJ9LCdRVUVVRV9DTEVBUkVEX1VOUExVUkFMSVpFRCc6IkZpbGEgdmF6aWEiLCdNSU5JUExBWUVSX0NMT1NFJzogIkZlY2hhciBwbGF5ZXIiLCdRVUVVRV9DTE9TRV9NSU5JUExBWUVSX0NPTkZJUk1fVElUTEUnOiAiQSBmaWxhIHNlcsOhIGV4Y2x1w61kYSIsJ1FVRVVFX0NMT1NFX01JTklQTEFZRVJfQ09ORklSTV9CT0RZX1RFWFQnOiAiVm9jw6ogcXVlciBtZXNtbyBmZWNoYXIgbyBwbGF5ZXI/IiwnUVVFVUVfUkVDT1ZFUl9CVVRUT04nOiAiUmVhdGl2YXIiLCdRVUVVRV9SRUNPVkVSX01FU1NBR0UnOiAiUmVjdXBlcmFyIGEgZmlsYSIsJ0NMRUFSJzogIkxpbXBhciIsJ1VORE8nOiAiRGVzZmF6ZXIiLCdDQU5DRUwnOiAiQ2FuY2VsYXIiLCdTVUJTX0ZJTFRFUl9FRFVfVEVYVCc6ICJWZWphIG5vdm9zIHbDrWRlb3MgZGUgY2FkYSBjYW5hbCIsJ1NVQlNfR1VJREVfSVRFTV9FRFVfVEVYVCc6ICJWZWphIG5vdm9zIHbDrWRlb3MgZGUgdG9kYXMgYXMgc3VhcyBpbnNjcmnDp8O1ZXMiLCdTVUJTX0ZJTFRFUl9FRFVfQ0hBTk5FTF9URVhUJzogIk1vc3RyYW5kbyBub3ZvcyB2w61kZW9zIGRlc3RlIGNhbmFsLiIsJ0xJQlJBUllfR1VJREVfSVRFTV9FRFVfVElUTEUnOiAiVmVqYSBzdWEgbm92YSBiaWJsaW90ZWNhIiwnTElCUkFSWV9HVUlERV9JVEVNX0VEVV9URVhUJzogIkVuY29udHJlIHNldSBoaXN0w7NyaWNvLCBwbGF5bGlzdHMsIGNvbXByYXMgZSBtdWl0byBtYWlzIiwnTUVOVElPTlNfRURVX1RJVExFJzogIlNhaWJhIG1haXMiLCdNRU5USU9OU19FRFVfVEVYVCc6ICJBY2Vzc2UgYSBDZW50cmFsIGRlIEFqdWRhIHBhcmEgdmVyIGNvbW8gYXMgbWVuw6fDtWVzIGZ1bmNpb25hbSBubyBZb3VUdWJlLiIsJ05PX0lOVEVSTkVUX0NPTk5FQ1RJT04nOiAiU2VtIGNvbmV4w6NvIMOgIEludGVybmV0IiwnQ09OTkVDVF9UT19USEVfSU5URVJORVQnOiAiQ29uZWN0ZS1zZSDDoCBJbnRlcm5ldCIsJ09GRkxJTkVfQ0hFQ0tfQ09OTkVDVElPTic6ICJWb2PDqiBlc3TDoSBvZmYtbGluZS4gVmVyaWZpcXVlIHN1YSBjb25leMOjby4iLCdSRVRSWSc6ICJUZW50YXIgbm92YW1lbnRlIiwnSk9JTl9NRU1CRVJTSElQX0VEVV9USVRMRSc6ICJBc3NpbmF0dXJhIiwnSk9JTl9NRU1CRVJTSElQX0VEVV9URVhUJzogIkdhbmhlIGJlbmVmw61jaW9zIGV4Y2x1c2l2b3MgYW8gc2UgdG9ybmFyIG1lbWJybyBkZXN0ZSBjYW5hbC4iLCdTSEFSRV9QT1NUX0VEVV9URVhUJzogIkFnb3JhLCB2b2PDqiBwb2RlIGNvbXBhcnRpbGhhciBwb3N0YWdlbnMgbm8gWW91VHViZSIsJ0ZSRUVCSUVfSk9JTl9NRU1CRVJTSElQX0VEVV9URVhUJzogIkVzdGUgY2FuYWwgb2ZlcmVjZSB1bWEgYXNzaW5hdHVyYSBxdWUgdm9jw6ogcG9kZSBhcHJvdmVpdGFyIGdyYXR1aXRhbWVudGUgY29tIG8gWW91VHViZSBQcmVtaXVtIiwnTUFOQUdFX01FTUJFUlNISVBfRURVX1RFWFQnOiAiQWNlc3NlIHNldXMgYmVuZWbDrWNpb3MgZSBnZXJlbmNpZSBzdWEgYXNzaW5hdHVyYSBhcXVpLiJ9KTt9KSgpO3l0Y2ZnLnNldCgnTUVOVElPTlNfRURVX0hFTFBfTElOSycsICdodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlLz9wPWNyZWF0b3JfY29tbXVuaXR5Jyk7eXRjZmcuc2V0KCdzY2hlZHVsZXInLCB7dXNlUmFmOiB0cnVlLCB0aW1lb3V0OiAyMH0pO3l0Y2ZnLnNldCgnaW5pdGlhbElubmVyV2lkdGgnLCB3aW5kb3cuaW5uZXJXaWR0aCk7eXRjZmcuc2V0KCdpbml0aWFsSW5uZXJIZWlnaHQnLCB3aW5kb3cuaW5uZXJIZWlnaHQpO3dpbmRvdy55dGNmZy5zZXQoJ0lTX1dBVENIX1BBR0VfQ09MRCcsIHRydWUpO3dpbmRvdy55dGNmZy5zZXQoJ0xJTktfQVBJX0tFWScsICJBSXphU3lEb3BoQVF1eXlpQnI4aDBueXBFd1hVS296SC1CRXN3RDAiKTt3aW5kb3cueXRjZmcuc2V0KCdMSU5LX0dBTF9ET01BSU4nLCAiaHR0cHM6XC9cL2FjY291bnRsaW5raW5nLXBhLWNsaWVudHM2LnlvdXR1YmUuY29tIik7d2luZG93Lnl0Y2ZnLnNldCgnTElOS19PSVNfRE9NQUlOJywgIm9hdXRoaW50ZWdyYXRpb25zLmdvb2dsZWFwaXMuY29tIik7aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJscGNmIiwgbnVsbCwgJycpO308L3NjcmlwdD4gIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9zY2hlZHVsZXIudmZsc2V0L3NjaGVkdWxlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJzY2hlZHVsZXIvc2NoZWR1bGVyIiA+PC9zY3JpcHQ+ICAKICA8c2NyaXB0ID4KICAgIHl0Y2ZnLnNldCh7IklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6InB0IiwiZ2wiOiJCUiIsInZpc2l0b3JEYXRhIjoiQ2d0WGFFSjViM0k1YUZONldTai16LUg4QlElM0QlM0QiLCJ1c2VyQWdlbnQiOiJSdWJ5LGd6aXAoZ2ZlKSIsImNsaWVudE5hbWUiOiJXRUIiLCJjbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJyZXF1ZXN0Ijp7InNlc3Npb25JZCI6IjY4ODgzNjk5NzI3NjM2Mjc4NzUifSwiYWRTaWduYWxzSW5mbyI6eyJjb25zZW50QnVtcFBhcmFtcyI6eyJjb25zZW50SG9zdG5hbWVPdmVycmlkZSI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwidXJsT3ZlcnJpZGUiOiIifX19fSk7CiAgPC9zY3JpcHQ+CiAgCjxzY3JpcHQgIHNyYz0iL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0icGxheWVyX2lhcy9iYXNlIiA+PC9zY3JpcHQ+ICAKPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJjc2wiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogIDxzdHlsZSBuYW1lPSJ3d3ctcm9ib3RvIiA+QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOmxvY2FsKCdSb2JvdG8gUmVndWxhcicpLGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9tQ25xRXU5MkZyMU11NG14UC50dGYpZm9ybWF0KCd0cnVldHlwZScpO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRpdW0nKSxsb2NhbCgnUm9ib3RvLU1lZGl1bScpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkJCYzkudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo0MDA7c3JjOmxvY2FsKCdSb2JvdG8gSXRhbGljJyksbG9jYWwoJ1JvYm90by1JdGFsaWMnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPa0NucUV1OTJGcjFNdTUxeElJemMudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7c3JjOmxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2pDbnFFdTkyRnIxTXU1MVM3QUNjNkNzRS50dGYpZm9ybWF0KCd0cnVldHlwZScpO308L3N0eWxlPjxzY3JpcHQgbmFtZT0id3d3LXJvYm90byIgPmlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5sb2FkKSB7ZG9jdW1lbnQuZm9udHMubG9hZCgiNDAwIDEwcHQgUm9ib3RvIiwgIlAiKTtkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiUCIpO308L3NjcmlwdD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9WVQlMjBTYW5zJTNBMzAwJTJDNTAwJTJDNzAwIiBuYW1lPSJ3d3ctd2ViZm9udC15dC1zYW5zIj48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIgbmFtZT0icGxheWVyL3d3dy1wbGF5ZXIiIGlkPSJwbGF5ZXItY3NzIj48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9jc3NiaW4vd3d3LW1haW4tZGVza3RvcC1wbGF5ZXItc2tlbGV0b24uY3NzIiBuYW1lPSJ3d3ctbWFpbi1kZXNrdG9wLXBsYXllci1za2VsZXRvbiI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvY3NzYmluL3d3dy1tYWluLWRlc2t0b3Atd2F0Y2gtcGFnZS1za2VsZXRvbi5jc3MiIG5hbWU9Ind3dy1tYWluLWRlc2t0b3Atd2F0Y2gtcGFnZS1za2VsZXRvbiI+PHN0eWxlIG5hbWU9Imdsb2JhbF9zdHlsZXMiPmJvZHl7cGFkZGluZzowO21hcmdpbjowO292ZXJmbG93LXk6c2Nyb2xsfWJvZHkuYXV0b3Njcm9sbHtvdmVyZmxvdy15OmF1dG99Ym9keS5uby1zY3JvbGx7b3ZlcmZsb3c6aGlkZGVufWJvZHkubm8teS1zY3JvbGx7b3ZlcmZsb3cteTpoaWRkZW59LmhpZGRlbntkaXNwbGF5Om5vbmV9dGV4dGFyZWF7LS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXRfLV93aGl0ZS1zcGFjZTpwcmUtd3JhcH0uZ3JlY2FwdGNoYS1iYWRnZXt2aXNpYmlsaXR5OmhpZGRlbn08L3N0eWxlPjxzdHlsZSBuYW1lPSJtYXN0aGVhZF9zaGVsbCI+eXRkLW1hc3RoZWFkLnNoZWxse2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjk4KTtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2xlZnQ6MDtkaXNwbGF5Oi1tcy1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTZweDstbXMtZmxleC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfXl0ZC1tYXN0aGVhZC5zaGVsbCAjbWVudS1pY29ue21hcmdpbi1sZWZ0OjE2cHh9eXRkLWFwcD55dGQtbWFzdGhlYWQuY2h1bmtlZHtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfXl0ZC1tYXN0aGVhZC5zaGVsbC5kYXJrLHl0ZC1tYXN0aGVhZC5zaGVsbC50aGVhdGVye2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjk4KX15dGQtbWFzdGhlYWQuc2hlbGwuZnVsbC13aW5kb3ctbW9kZXtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC45OCk7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSA1cHgpKX15dGQtbWFzdGhlYWQuc2hlbGw+KjpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MTZweH15dGQtbWFzdGhlYWQuc2hlbGw+KjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MTZweH15dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ297ZGlzcGxheTotbXMtZmxleDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dvICNjb3VudHJ5LWNvZGV7bWFyZ2luLXJpZ2h0OjJweH15dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tc3ZnLHl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1yZWQtc3Zne2FsaWduLXNlbGY6Y2VudGVyO21hcmdpbi1sZWZ0OjhweDtwYWRkaW5nOjA7Y29sb3I6YmxhY2t9eXRkLW1hc3RoZWFkLnNoZWxsICNhMTF5LXNraXAtbmF2e2Rpc3BsYXk6bm9uZX15dGQtbWFzdGhlYWQuc2hlbGwgc3Zne3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7bWFyZ2luLXJpZ2h0OjhweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzYwNjA2MDtmaWxsOmN1cnJlbnRDb2xvcn15dGQtbWFzdGhlYWQgLmV4dGVybmFsLWljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH15dGQtbWFzdGhlYWQgLnl0LWljb25zLWV4dHtmaWxsOmN1cnJlbnRDb2xvcjtjb2xvcjojNjA2MDYwfXl0ZC1tYXN0aGVhZC5zaGVsbC5kYXJrIC55dC1pY29ucy1leHQgeXRkLW1hc3RoZWFkLnNoZWxsLnRoZWF0ZXIgLnl0LWljb25zLWV4dHtmaWxsOiNmZmZ9eXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXN2Z3t3aWR0aDo4MHB4fXl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1yZWQtc3Zne3dpZHRoOjEwNi40cHh9QG1lZGlhIChtYXgtd2lkdGg6NjU2cHgpe3l0ZC1tYXN0aGVhZC5zaGVsbD4qOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDo4cHh9eXRkLW1hc3RoZWFkLnNoZWxsPio6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjhweH15dGQtbWFzdGhlYWQuc2hlbGwgc3Zne21hcmdpbi1yaWdodDowfXl0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nb3stbXMtZmxleDoxIDEgLjAwMDAwMDAwMXB4Oy13ZWJraXQtZmxleDoxO2ZsZXg6MTstd2Via2l0LWZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4O2ZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4fXl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1zdmcseXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXJlZC1zdmd7bWFyZ2luLWxlZnQ6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo4NzZweCl7eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dve3dpZHRoOjEyOXB4fX0jbWFzdGhlYWQtc2tlbGV0b24taWNvbnN7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfXl0ZC1tYXN0aGVhZC5tYXN0aGVhZC1maW5pc2ggI21hc3RoZWFkLXNrZWxldG9uLWljb25ze2Rpc3BsYXk6bm9uZX0ubWFzdGhlYWQtc2tlbGV0b24taWNvbntib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MzJweDt3aWR0aDozMnB4O21hcmdpbjowIDhweDtiYWNrZ3JvdW5kLWNvbG9yOmhzbCgwLDAlLDg5JSl9eXRkLW1hc3RoZWFkLmRhcmsgLm1hc3RoZWFkLXNrZWxldG9uLWljb257YmFja2dyb3VuZC1jb2xvcjpoc2woMCwwJSwxNiUpfTwvc3R5bGU+PHN0eWxlIG5hbWU9Im1hc3RoZWFkX2N1c3RvbV9zdHlsZXMiIGlzPSJjdXN0b20tc3R5bGUiICBpZD0iZXh0LXN0eWxlcyIgPnl0ZC1tYXN0aGVhZCAueXQtaWNvbnMtZXh0e2NvbG9yOnZhcigtLXl0LXNwZWMtaWNvbi1hY3RpdmUtb3RoZXIpfXl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1zdmcgI3lvdXR1YmUtcGF0aHMgcGF0aCx5dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tcmVkLXN2ZyAjeW91dHViZS1yZWQtcGF0aHMgcGF0aHtmaWxsOiMyODI4Mjh9eXRkLW1hc3RoZWFkLmRhcmsgc3ZnI3l0LWxvZ28tc3ZnICN5b3V0dWJlLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkLmRhcmsgc3ZnI3l0LWxvZ28tcmVkLXN2ZyAjeW91dHViZS1yZWQtcGF0aHMgcGF0aCx5dGQtbWFzdGhlYWQudGhlYXRlciBzdmcjeXQtbG9nby1zdmcgI3lvdXR1YmUtcGF0aHMgcGF0aCx5dGQtbWFzdGhlYWQudGhlYXRlciBzdmcjeXQtbG9nby1yZWQtc3ZnICN5b3V0dWJlLXJlZC1wYXRocyBwYXRoe2ZpbGw6I2ZmZn08L3N0eWxlPjxzdHlsZSBuYW1lPSJzZWFyY2hib3giPiNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgaW5wdXR7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JveC1zaGFkb3c6bm9uZTtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OidSb2JvdG8nLCdOb3RvJyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi1sZWZ0OjRweDttYXgtd2lkdGg6MTAwJTtvdXRsaW5lOm5vbmU7dGV4dC1hbGlnbjppbmhlcml0O3dpZHRoOjEwMCU7LW1zLWZsZXg6MSAxIC4wMDAwMDAwMDFweDstd2Via2l0LWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1mbGV4LWJhc2lzOi4wMDAwMDAwMDFweDtmbGV4LWJhc2lzOi4wMDAwMDAwMDFweH0jc2VhcmNoLWNvbnRhaW5lci55dGQtc2VhcmNoYm94LXNwdHtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfSNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgI3NlYXJjaDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwjc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0ICNzZWFyY2g6Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXIsI3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCAjc2VhcmNoOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjpoc2woMCwwJSw1My4zJSl9PC9zdHlsZT48c3R5bGUgbmFtZT0ia2V2bGFyX2dsb2JhbF9zdHlsZXMiPmh0bWx7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5IWltcG9ydGFudDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZX1odG1sW2Rhcmtde2JhY2tncm91bmQtY29sb3I6IzE4MTgxOCFpbXBvcnRhbnR9I2xvZ28tcmVkLWljb24tY29udGFpbmVyLnl0ZC10b3BiYXItbG9nby1yZW5kZXJlcnt3aWR0aDo4NnB4fTwvc3R5bGU+PHN0eWxlIG5hbWU9ImVtZXJnZW5jeWNzc2V4cCI+CiAgICAgIAogICAgICAKICAgIDwvc3R5bGU+PGxpbmsgcmVsPSJzZWFyY2giIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5zZWFyY2hkZXNjcmlwdGlvbit4bWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL29wZW5zZWFyY2g/bG9jYWxlPXB0X0JSIiB0aXRsZT0iWW91VHViZSI+PGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0iL3Mvbm90aWZpY2F0aW9ucy9tYW5pZmVzdC9tYW5pZmVzdC5qc29uIiBjcm9zc29yaWdpbj0idXNlLWNyZWRlbnRpYWxzIj48IS0tIGVuZCBvZiBjaHVuayAtLT4gICAgICAgIDxzY3JpcHQgPgogICAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYmMiLCBudWxsLCAnJyk7fSAgICAgICAgdmFyIHl0aW1nID0ge307eXRpbWcuY291bnQgPSAxO3l0aW1nLnByZWxvYWQgPSBmdW5jdGlvbihzcmMpIHt2YXIgaW1nID0gbmV3IEltYWdlKCk7dmFyIGNvdW50ID0gKyt5dGltZy5jb3VudDt5dGltZ1tjb3VudF0gPSBpbWc7aW1nLm9ubG9hZCA9IGltZy5vbmVycm9yID0gZnVuY3Rpb24oKSB7ZGVsZXRlIHl0aW1nW2NvdW50XTt9O2ltZy5zcmMgPSBzcmM7fTsKICAgICAgICAgIHl0aW1nLnByZWxvYWQoImh0dHBzOlwvXC9yNS0tLXNuLW94dW54ZzhwanZuLTJ2NWUuZ29vZ2xldmlkZW8uY29tXC9nZW5lcmF0ZV8yMDQiKTsKICAgICAgICAgIHl0aW1nLnByZWxvYWQoImh0dHBzOlwvXC9yNS0tLXNuLW94dW54ZzhwanZuLTJ2NWUuZ29vZ2xldmlkZW8uY29tXC9nZW5lcmF0ZV8yMDQ/Y29ubjIiKTsKICAgICAgPC9zY3JpcHQ+CgogIAogICAgCiAgPGRpdiBpZD0icGxheWVyIiBjbGFzcz0ic2tlbGV0b24iPgogICAgICA8ZGl2IGlkPSJwbGF5ZXItYXBpIiBjbGFzcz0icGxheWVyLXdpZHRoIHBsYXllci1oZWlnaHQgb2ZmLXNjcmVlbi10YXJnZXQgcGxheWVyLWFwaSI+PC9kaXY+CiAgICAgICAgCiAgPC9kaXY+CgogIDwhLS0gZW5kIG9mIGNodW5rIC0tPgogICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJhaSIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CiAgPHl0ZC1hcHAgZGlzYWJsZS11cGdyYWRlPSJ0cnVlIj4KICAgIDx5dGQtbWFzdGhlYWQgaWQ9Im1hc3RoZWFkIiBzbG90PSJtYXN0aGVhZCIgY2xhc3M9InNoZWxsICBjaHVua2VkImRpc2FibGUtdXBncmFkZT0idHJ1ZSI+PGRpdiBpZD0ic2VhcmNoLWNvbnRhaW5lciIgY2xhc3M9Inl0ZC1zZWFyY2hib3gtc3B0IiBzbG90PSJzZWFyY2gtY29udGFpbmVyIj48L2Rpdj48ZGl2IGlkPSJzZWFyY2gtaW5wdXQiIGNsYXNzPSJ5dGQtc2VhcmNoYm94LXNwdCIgc2xvdD0ic2VhcmNoLWlucHV0Ij48aW5wdXQgaWQ9InNlYXJjaCIgYXV0b2NhcGl0YWxpemU9Im5vbmUiIGF1dG9jb21wbGV0ZT0ib2ZmImF1dG9jb3JyZWN0PSJvZmYiICBoaWRkZW4gbmFtZT0ic2VhcmNoX3F1ZXJ5IiB0YWJpbmRleD0iMCJ0eXBlPSJ0ZXh0IiBzcGVsbGNoZWNrPSJmYWxzZSI+PC9kaXY+PHN2ZyBpZD0ibWVudS1pY29uIiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+PGcgaWQ9Im1lbnUiIGNsYXNzPSJ5dC1pY29ucy1leHQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6Ii8+PC9nPjwvc3ZnPjxkaXYgaWQ9Im1hc3RoZWFkLWxvZ28iIHNsb3Q9Im1hc3RoZWFkLWxvZ28iPiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsiPgogICAgPHN2ZyBpZD0ieXQtbG9nby1zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjAwIDYwIj4KICAgICAgPGcgaWQ9Inl0LWxvZ28iIHZpZXdCb3g9IjAgMCAyMDAgNjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogICAgICAgIDxnPgogICAgICAgICAgPHBhdGggZmlsbD0iI0ZGMDAwMCIgZD0iTTYzLDE0Ljg3Yy0wLjcyLTIuNy0yLjg1LTQuODMtNS41Ni01LjU2QzUyLjU0LDgsMzIuODgsOCwzMi44OCw4UzEzLjIzLDgsOC4zMiw5LjMxCiAgICAgICAgICAgIGMtMi43LDAuNzItNC44MywyLjg1LTUuNTYsNS41NkMxLjQ1LDE5Ljc3LDEuNDUsMzAsMS40NSwzMHMwLDEwLjIzLDEuMzEsMTUuMTNjMC43MiwyLjcsMi44NSw0LjgzLDUuNTYsNS41NgogICAgICAgICAgICBDMTMuMjMsNTIsMzIuODgsNTIsMzIuODgsNTJzMTkuNjYsMCwyNC41Ni0xLjMxYzIuNy0wLjcyLDQuODMtMi44NSw1LjU2LTUuNTZDNjQuMzEsNDAuMjMsNjQuMzEsMzAsNjQuMzEsMzAKICAgICAgICAgICAgUzY0LjMxLDE5Ljc3LDYzLDE0Ljg3eiIvPgogICAgICAgICAgPHBvbHlnb24gZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIyNi42LDM5LjQzIDQyLjkzLDMwIDI2LjYsMjAuNTciLz4KICAgICAgICA8L2c+CiAgICAgICAgPGc+CiAgICAgICAgICA8ZyBpZD0ieW91dHViZS1wYXRocyI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik05Mi42OSw0OC4wM2MtMS4yNC0wLjg0LTIuMTMtMi4xNC0yLjY1LTMuOTFjLTAuNTItMS43Ny0wLjc5LTQuMTItMC43OS03LjA2di00CiAgICAgICAgICAgICAgYzAtMi45NywwLjMtNS4zNSwwLjktNy4xNWMwLjYtMS44LDEuNTQtMy4xMSwyLjgxLTMuOTNjMS4yNy0wLjgyLDIuOTQtMS4yNCw1LjAxLTEuMjRjMi4wNCwwLDMuNjcsMC40Miw0LjksMS4yNgogICAgICAgICAgICAgIGMxLjIzLDAuODQsMi4xMywyLjE1LDIuNywzLjkzYzAuNTcsMS43OCwwLjg1LDQuMTYsMC44NSw3LjEydjRjMCwyLjk0LTAuMjgsNS4zLTAuODMsNy4wOGMtMC41NSwxLjc4LTEuNDUsMy4wOS0yLjcsMy45MQogICAgICAgICAgICAgIGMtMS4yNCwwLjgyLTIuOTMsMS4yNC01LjA2LDEuMjRDOTUuNjUsNDkuMjksOTMuOTMsNDguODcsOTIuNjksNDguMDN6IE05OS42Niw0My43MWMwLjM0LTAuOSwwLjUyLTIuMzcsMC41Mi00LjR2LTguNTkKICAgICAgICAgICAgICBjMC0xLjk4LTAuMTctMy40Mi0wLjUyLTQuMzRjLTAuMzQtMC45MS0wLjk1LTEuMzctMS44Mi0xLjM3Yy0wLjg0LDAtMS40MywwLjQ2LTEuNzgsMS4zN2MtMC4zNCwwLjkxLTAuNTIsMi4zNi0wLjUyLDQuMzR2OC41OQogICAgICAgICAgICAgIGMwLDIuMDQsMC4xNiwzLjUxLDAuNDksNC40YzAuMzMsMC45LDAuOTMsMS4zNSwxLjgsMS4zNUM5OC43MSw0NS4wNiw5OS4zMSw0NC42MSw5OS42Niw0My43MXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE4OC4xNiwzNy4xM3YxLjM5YzAsMS43NywwLjA1LDMuMDksMC4xNiwzLjk4YzAuMSwwLjg4LDAuMzIsMS41MywwLjY1LDEuOTMKICAgICAgICAgICAgICBjMC4zMywwLjQsMC44NCwwLjYxLDEuNTMsMC42MWMwLjkzLDAsMS41Ny0wLjM2LDEuOTEtMS4wOGMwLjM0LTAuNzIsMC41My0xLjkyLDAuNTYtMy42bDUuMzUsMC4zMQogICAgICAgICAgICAgIGMwLjAzLDAuMjQsMC4wNCwwLjU3LDAuMDQsMC45OWMwLDIuNTUtMC43LDQuNDUtMi4wOSw1LjcxYy0xLjM5LDEuMjYtMy4zNiwxLjg5LTUuOTEsMS44OWMtMy4wNiwwLTUuMi0wLjk2LTYuNDMtMi44OAogICAgICAgICAgICAgIGMtMS4yMy0xLjkyLTEuODQtNC44OC0xLjg0LTguOXYtNC44MWMwLTQuMTQsMC42NC03LjE1LDEuOTEtOS4wNmMxLjI3LTEuOSwzLjQ1LTIuODUsNi41NC0yLjg1YzIuMTMsMCwzLjc2LDAuMzksNC45LDEuMTcKICAgICAgICAgICAgICBjMS4xNCwwLjc4LDEuOTQsMS45OSwyLjQxLDMuNjRjMC40NiwxLjY1LDAuNywzLjkzLDAuNyw2LjgzdjQuNzJIMTg4LjE2eiBNMTg4Ljk1LDI1LjUzYy0wLjMxLDAuMzktMC41MiwxLjAzLTAuNjMsMS45MQogICAgICAgICAgICAgIGMtMC4xMSwwLjg4LTAuMTYsMi4yMy0wLjE2LDQuMDJ2MS45OGg0LjU0di0xLjk4YzAtMS43Ny0wLjA2LTMuMTEtMC4xOC00LjAyYy0wLjEyLTAuOTEtMC4zNC0xLjU2LTAuNjUtMS45MwogICAgICAgICAgICAgIGMtMC4zMS0wLjM3LTAuOC0wLjU2LTEuNDYtMC41NkMxODkuNzUsMjQuOTQsMTg5LjI2LDI1LjE0LDE4OC45NSwyNS41M3oiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTc3LjU5LDM2LjYxbC03LjA2LTI1LjQ5aDYuMTZsMi40NywxMS41NWMwLjYzLDIuODUsMS4wOSw1LjI3LDEuMzksNy4yOGgwLjE4CiAgICAgICAgICAgICAgYzAuMjEtMS40NCwwLjY3LTMuODUsMS4zOS03LjI0bDIuNTYtMTEuNmg2LjE2TDgzLjcsMzYuNjF2MTIuMjNoLTYuMTFWMzYuNjF6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xMjYuNDUsMjEuMjh2MjcuNTVoLTQuODVsLTAuNTQtMy4zN2gtMC4xM2MtMS4zMiwyLjU1LTMuMywzLjgyLTUuOTMsMy44MmMtMS44MywwLTMuMTgtMC42LTQuMDUtMS44CiAgICAgICAgICAgICAgYy0wLjg3LTEuMi0xLjMtMy4wNy0xLjMtNS42MlYyMS4yOGg2LjJ2MjAuMjNjMCwxLjIzLDAuMTMsMi4xMSwwLjQsMi42M2MwLjI3LDAuNTIsMC43MiwwLjc5LDEuMzUsMC43OQogICAgICAgICAgICAgIGMwLjU0LDAsMS4wNi0wLjE2LDEuNTUtMC40OWMwLjQ5LTAuMzMsMC44Ni0wLjc1LDEuMS0xLjI2VjIxLjI4SDEyNi40NXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE1OC4yNywyMS4yOHYyNy41NWgtNC44NWwtMC41NC0zLjM3aC0wLjEzYy0xLjMyLDIuNTUtMy4zLDMuODItNS45MywzLjgyYy0xLjgzLDAtMy4xOC0wLjYtNC4wNS0xLjgKICAgICAgICAgICAgICBjLTAuODctMS4yLTEuMy0zLjA3LTEuMy01LjYyVjIxLjI4aDYuMnYyMC4yM2MwLDEuMjMsMC4xMywyLjExLDAuNCwyLjYzYzAuMjcsMC41MiwwLjcyLDAuNzksMS4zNSwwLjc5CiAgICAgICAgICAgICAgYzAuNTQsMCwxLjA2LTAuMTYsMS41NS0wLjQ5YzAuNDktMC4zMywwLjg2LTAuNzUsMS4xLTEuMjZWMjEuMjhIMTU4LjI3eiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTQzLjMxLDE2LjExaC02LjE2djMyLjcyaC02LjA3VjE2LjExaC02LjE2di00Ljk5aDE4LjM4VjE2LjExeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTc4LjgsMjUuNjljLTAuMzgtMS43NC0wLjk4LTMtMS44Mi0zLjc4Yy0wLjg0LTAuNzgtMS45OS0xLjE3LTMuNDYtMS4xN2MtMS4xNCwwLTIuMiwwLjMyLTMuMTksMC45NwogICAgICAgICAgICAgIGMtMC45OSwwLjY0LTEuNzUsMS40OS0yLjI5LDIuNTRoLTAuMDVsMC0xNC41MmgtNS45OHYzOS4xMWg1LjEybDAuNjMtMi42MWgwLjEzYzAuNDgsMC45MywxLjIsMS42NiwyLjE2LDIuMgogICAgICAgICAgICAgIGMwLjk2LDAuNTQsMi4wMiwwLjgxLDMuMTksMC44MWMyLjEsMCwzLjY0LTAuOTcsNC42My0yLjljMC45OS0xLjkzLDEuNDgtNC45NSwxLjQ4LTkuMDZ2LTQuMzYKICAgICAgICAgICAgICBDMTc5LjM2LDI5Ljg0LDE3OS4xNywyNy40MywxNzguOCwyNS42OXogTTE3My4xMSwzNi45M2MwLDIuMDEtMC4wOCwzLjU4LTAuMjUsNC43MmMtMC4xNiwxLjE0LTAuNDQsMS45NS0wLjgzLDIuNDMKICAgICAgICAgICAgICBjLTAuMzksMC40OC0wLjkxLDAuNzItMS41NywwLjcyYy0wLjUxLDAtMC45OC0wLjEyLTEuNDItMC4zNmMtMC40My0wLjI0LTAuNzktMC42LTEuMDYtMS4wOFYyNy43MQogICAgICAgICAgICAgIGMwLjIxLTAuNzUsMC41Ny0xLjM2LDEuMDgtMS44NGMwLjUxLTAuNDgsMS4wNi0wLjcyLDEuNjYtMC43MmMwLjYzLDAsMS4xMiwwLjI1LDEuNDYsMC43NGMwLjM0LDAuNDksMC41OCwxLjMzLDAuNzIsMi40OQogICAgICAgICAgICAgIGMwLjEzLDEuMTcsMC4yLDIuODMsMC4yLDQuOTlWMzYuOTN6Ii8+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICA8L3N2Zz4KICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8c3ZnIGlkPSJ5dC1sb2dvLXJlZC1zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgOTggMjQiIHN0eWxlPSJ3aWR0aDo4NnB4OyI+CiAgICAgIDxnIGlkPSJ5dC1sb2dvLXJlZCIgdmlld0JveD0iMCAwIDk4IDI0IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgICAgICA8Zz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiNGRjAwMDAiIGQ9Ik0yOC40LDUuMTJjLTAuMzQtMS4yNC0xLjMxLTIuMi0yLjU1LTIuNTJDMjMuNjIsMiwxNC42OCwyLDE0LjY4LDJTNS43NSwyLDMuNTIsMi42CiAgICAgICAgICAgIEMyLjI5LDIuOTMsMS4zMywzLjg5LDEsNS4xMkMwLjU5LDcuMzksMC4zOSw5LjY5LDAuNCwxMmMtMC4wMSwyLjMxLDAuMTksNC42MSwwLjYsNi44OGMwLjMzLDEuMjMsMS4yOSwyLjE5LDIuNTIsMi41MgogICAgICAgICAgICBDNS43NSwyMiwxNC42OCwyMiwxNC42OCwyMnM4LjkzLDAsMTEuMTYtMC42YzEuMjQtMC4zMiwyLjIyLTEuMjgsMi41Ni0yLjUyYzAuNDEtMi4yNywwLjYxLTQuNTcsMC42LTYuODgKICAgICAgICAgICAgQzI5LjAxLDkuNjksMjguODEsNy4zOSwyOC40LDUuMTJ6Ii8+CiAgICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjExLjgzLDE2LjI5IDE5LjI1LDEyIDExLjgzLDcuNzEiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgaWQ9InlvdXR1YmUtcmVkLXBhdGhzIj4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik00MS42Nyw4LjM1VjljMCwzLjQ1LTEuNTMsNS40OC00Ljg4LDUuNDhoLTAuNTF2NmgtMi43NFYzLjQyaDMuNDlDNDAuMjIsMy40Miw0MS42Nyw0Ljc3LDQxLjY3LDguMzV6CiAgICAgICAgICAgIE0zOC43OSw4LjZjMC0yLjQ5LTAuNDUtMy4wOS0yLTMuMDloLTAuNTF2N2gwLjQ3YzEuNDcsMCwyLTEuMDYsMi0zLjM3TDM4Ljc5LDguNnoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik00OC4xNCw3LjgzTDQ4LDExLjA4Yy0xLjE3LTAuMjQtMi4xMy0wLjA4LTIuNiwwLjY5djguNzhoLTIuNjdWOGgyLjE3bDAuMjQsMi43MWgwLjFjMC4yOC0yLDEuMi0zLDIuMzktMwogICAgICAgICAgICBDNDcuOCw3LjczLDQ3Ljk4LDcuNzcsNDguMTQsNy44M3oiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik01MS4yNywxNS4yNXYwLjYzYzAsMi4yMSwwLjEyLDMsMS4wNiwzczEuMS0wLjY5LDEuMTItMi4xMmwyLjQzLDAuMTRjMC4xOCwyLjctMS4yMywzLjktMy42MSwzLjkKICAgICAgICAgICAgYy0yLjksMC0zLjc2LTEuOS0zLjc2LTUuMzV2LTIuMjNjMC0zLjY0LDEtNS40MSwzLjg0LTUuNDFzMy42NCwxLjUxLDMuNjQsNS4yOXYyLjE1SDUxLjI3eiBNNTEuMjcsMTIuNjd2MC45aDIuMDZ2LTAuODkKICAgICAgICAgICAgYzAtMi4zLTAuMTYtMy0xLTNzLTEsMC42Ny0xLDNMNTEuMjcsMTIuNjd6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNzAuMDIsMTEuMXY5LjQ2SDY3LjJ2LTkuMjVjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTQsMC4wMi0xLjAyLDAuMzQtMS4yNSwwLjgyCiAgICAgICAgICAgIGMwLjAxLDAuMTcsMC4wMSwwLjM0LDAsMC41MXY5LjQ2aC0yLjc5di05LjI2YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjUzLDAuMDItMSwwLjMzLTEuMjMsMC44djEwSDU3LjRWOGgyLjIzbDAuMjUsMS41OWwwLDAKICAgICAgICAgICAgYzAuNTEtMS4xMiwxLjYzLTEuODUsMi44Ni0xLjg2YzEuMDUtMC4wNywxLjk4LDAuNjcsMi4xNiwxLjdjMC41NS0xLjAxLDEuNjEtMS42NSwyLjc2LTEuNjZDNjkuNCw3Ljc4LDcwLjAyLDksNzAuMDIsMTEuMXoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik03MS40LDQuODNjMC0xLjM1LDAuNDktMS43NCwxLjUzLTEuNzRzMS41MywwLjQ1LDEuNTMsMS43NHMtMC40NywxLjc0LTEuNTMsMS43NFM3MS40LDYuMjIsNzEuNCw0LjgzegogICAgICAgICAgICBNNzEuNTksOGgyLjd2MTIuNTZoLTIuN1Y4eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTgzLjUsOHYxMi41NmgtMi4yTDgxLjA1LDE5aC0wLjA2Yy0wLjQ2LDEuMDgtMS41MywxLjc3LTIuNywxLjc0Yy0xLjY3LDAtMi40My0xLjA2LTIuNDMtMy4zN1Y4aDIuODIKICAgICAgICAgICAgdjkuMTljMCwxLjEsMC4yMywxLjU1LDAuOCwxLjU1YzAuNTItMC4wMiwwLjk4LTAuMzMsMS4yLTAuOFY4SDgzLjV6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNOTcuOCwxMS4xdjkuNDZoLTIuODJ2LTkuMjVjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTQsMC4wMi0xLjAyLDAuMzQtMS4yNSwwLjgyCiAgICAgICAgICAgIGMwLjAxLDAuMTcsMC4wMSwwLjM0LDAsMC41MXY5LjQ2aC0yLjc5di05LjI2YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjUzLDAuMDItMSwwLjMzLTEuMjMsMC44djEwaC0yLjgxVjhoMi4yNmwwLjI0LDEuNTlsMCwwCiAgICAgICAgICAgIGMwLjUxLTEuMTIsMS42My0xLjg1LDIuODYtMS44NmMxLjA0LTAuMDcsMS45NywwLjY0LDIuMTcsMS42NmMwLjU1LTAuOTksMS42LTEuNjEsMi43My0xLjYyQzk3LjE1LDcuNzgsOTcuOCw5LDk3LjgsMTEuMXoiLz4KICAgICAgICA8L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgogIDwvZGl2Pgo8c3BhbiBpZD0iY291bnRyeS1jb2RlIj48L3NwYW4+PC9kaXY+PGRpdiBpZD0ibWFzdGhlYWQtc2tlbGV0b24taWNvbnMiIHNsb3Q9Im1hc3RoZWFkLXNrZWxldG9uIj48ZGl2IGNsYXNzPSJtYXN0aGVhZC1za2VsZXRvbi1pY29uIj48L2Rpdj48ZGl2IGNsYXNzPSJtYXN0aGVhZC1za2VsZXRvbi1pY29uIj48L2Rpdj48ZGl2IGNsYXNzPSJtYXN0aGVhZC1za2VsZXRvbi1pY29uIj48L2Rpdj48ZGl2IGNsYXNzPSJtYXN0aGVhZC1za2VsZXRvbi1pY29uIj48L2Rpdj48L2Rpdj48L3l0ZC1tYXN0aGVhZD4KICAgICAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlNvYnJlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0L3ByZXNzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5JbXByZW5zYTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC9jb3B5cmlnaHQvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkRpcmVpdG9zIGF1dG9yYWlzPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Ii90L2NvbnRhY3RfdXMiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+RW50cmUgZW0gY29udGF0bzwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9jcmVhdG9ycy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+Q3JpYWRvcmVzIGRlIGNvbnRlw7pkbzwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hZHMvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlB1YmxpY2lkYWRlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3lvdXR1YmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+RGVzZW52b2x2ZWRvcmVzPC9hPgoKICAgICAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSIvdC90ZXJtcyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5UZXJtb3M8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tLmJyL2ludGwvcHQtQlIvcG9saWNpZXMvcHJpdmFjeS8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+UHJpdmFjaWRhZGU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC9wb2xpY2llcy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+UG9sw610aWNhIGUgU2VndXJhbsOnYTwvYT4KICAgIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vaG93eW91dHViZXdvcmtzP3V0bV9jYW1wYWlnbj15dGdlbiZhbXA7dXRtX3NvdXJjZT15dGhwJmFtcDt1dG1fbWVkaXVtPUxlZnROYXYmYW1wO3V0bV9jb250ZW50PXR4dCZhbXA7dT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRmhvd3lvdXR1YmV3b3JrcyUzRnV0bV9zb3VyY2UlM0R5dGhwJTI2dXRtX21lZGl1bSUzRExlZnROYXYlMjZ1dG1fY2FtcGFpZ24lM0R5dGdlbiIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Db21vIGZ1bmNpb25hIG8gWW91VHViZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Ii9uZXciIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+VGVzdGFyIG9zIG5vdm9zIHJlY3Vyc29zPC9hPgoKICAgICAgPGRpdiBpZD0idmF0LW5vdGljZSIgc2xvdD0idmF0LW5vdGljZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9ImNvcHlyaWdodCIgc2xvdD0iY29weXJpZ2h0IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgPGRpdiBkaXI9Imx0ciIgc3R5bGU9ImRpc3BsYXk6aW5saW5lIj4mY29weTsgMjAyMCBHb29nbGUgTExDPC9kaXY+CiAgPC9kaXY+CgogIDwveXRkLWFwcD4KCiAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJuY19waiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CiAgICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vc3BmLnZmbHNldC9zcGYuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0ic3BmL3NwZiIgPjwvc2NyaXB0PiAgCjxzY3JpcHQgPmlmICh3aW5kb3dbJ19zcGZfc3RhdGUnXSkge3dpbmRvd1snX3NwZl9zdGF0ZSddLmNvbmZpZyA9IHsiYXNzdW1lLWFsbC1qc29uLXJlcXVlc3RzLWNodW5rZWQiOnRydWV9O308L3NjcmlwdD4gIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9uZXR3b3JrLnZmbHNldC9uZXR3b3JrLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9Im5ldHdvcmsvbmV0d29yayIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3dlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4udmZsc2V0L3dlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0id2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbi93ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluIiA+PC9zY3JpcHQ+ICAKICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vd2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2gudmZsc2V0L3dlYmNvbXBvbmVudHMtbGl0ZS1ub1BhdGNoLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9IndlYmNvbXBvbmVudHMtbGl0ZS1ub1BhdGNoL3dlYmNvbXBvbmVudHMtbGl0ZS1ub1BhdGNoIiA+PC9zY3JpcHQ+ICAKICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vZmV0Y2gtcG9seWZpbGwudmZsc2V0L2ZldGNoLXBvbHlmaWxsLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9ImZldGNoLXBvbHlmaWxsL2ZldGNoLXBvbHlmaWxsIiA+PC9zY3JpcHQ+ICAKICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vd3d3LWkxOG4tY29uc3RhbnRzLXB0X0JSLnZmbHNldC93d3ctaTE4bi1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0id3d3LWkxOG4tY29uc3RhbnRzL3d3dy1pMThuLWNvbnN0YW50cyIgPjwvc2NyaXB0PiAgCiAgICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicnNiZV9kcGoiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgoKCjxzY3JpcHQgPihmdW5jdGlvbigpIHt2YXIgbG9hZEpTID0gZnVuY3Rpb24oZSkge2lmIChlKSB7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0hUTUxJbXBvcnRzTG9hZGVkJywgbG9hZEpTKTt9dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3NjcmlwdC5zcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9kZXNrdG9wX3BvbHltZXJfaW5saW5lZF9odG1sX3BvbHltZXJfZmxhZ3NfbGVnYWN5X2Jyb3dzZXJzLnZmbHNldC9kZXNrdG9wX3BvbHltZXJfaW5saW5lZF9odG1sX3BvbHltZXJfZmxhZ3NfbGVnYWN5X2Jyb3dzZXJzLmpzIjtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7c2NyaXB0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkge3ZhciBsb2FkRXZlbnQgPSBuZXcgRXZlbnQoInNjcmlwdC1sb2FkLWRwaiIpO3dpbmRvdy5kaXNwYXRjaEV2ZW50KGxvYWRFdmVudCk7fTt9O2lmICh3aW5kb3cuSFRNTEltcG9ydHMgJiYgd2luZG93LkhUTUxJbXBvcnRzLnJlYWR5KSB7bG9hZEpTKCk7fSBlbHNlIHt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignSFRNTEltcG9ydHNMb2FkZWQnLCBsb2FkSlMpO319KSgpOzwvc2NyaXB0PiAgICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicnNhZV9kcGoiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgoKICAKPHNjcmlwdCA+dmFyIHNjaGVkdWxlQXBwTG9hZD1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JpcHQtbG9hZC1kcGoiLHNjaGVkdWxlQXBwTG9hZCk7aWYod2luZG93Lnl0c2lnbmFscyYmd2luZG93Lnl0c2lnbmFscy5nZXRJbnN0YW5jZSl7dmFyIGE9d2luZG93Lnl0c2lnbmFscy5nZXRJbnN0YW5jZSgpLGI9YS5vbkFueShbImVvaXIiLCJlb3IiXSk7YS5wYXJrT3JTY2hlZHVsZUpvYihhcHBMb2FkLDMsYil9ZWxzZSBpZihhcHBMb2FkKCksYT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxhPS0xPT09YS5pbmRleE9mKCJtc25ib3QiKSYmLTE9PT1hLmluZGV4T2YoIkJpbmdQcmV2aWV3IikmJi0xPT09YS5pbmRleE9mKCJiaW5nYm90Iikpd2luZG93Lm9uZXJyb3IoInl0c2lnbmFscyBtaXNzaW5nIiwiYXN5bmNfYXR0YWNoX2FwcF9sb2FkZXIuanMiLDAsMCxFcnJvcigieXRzaWduYWxzIG1pc3NpbmciKSl9LGFwcExvYWQ9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cueXRjc2k7CmEmJmEudGljaygiYXBhX2IiKTt2YXIgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ5dGQtYXBwIiksYz1iJiZiLnF1ZXJ5U2VsZWN0b3IoInl0ZC1tYXN0aGVhZCIpO2MmJmMucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlLXVwZ3JhZGUiKTtiJiZiLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZS11cGdyYWRlIik7YSYmYS50aWNrKCJhcGFfYSIpfSx5dFNpZ25hbHM9d2luZG93Lnl0c2lnbmFsczt5dFNpZ25hbHM/c2NoZWR1bGVBcHBMb2FkKCk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcmlwdC1sb2FkLWRwaiIsc2NoZWR1bGVBcHBMb2FkKTsKPC9zY3JpcHQ+ICAKCiAgPHNjcmlwdCA+CiAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImFjIiwgbnVsbCwgJycpO30KICAgIHZhciBvblBvbHltZXJSZWFkeSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NjcmlwdC1sb2FkLWRwaicsIG9uUG9seW1lclJlYWR5KTsKICAgICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJhcHIiLCBudWxsLCAnJyk7fQogICAgfQoKICAgIGlmICh3aW5kb3cuUG9seW1lciAmJiBQb2x5bWVyLlJlbmRlclN0YXR1cykgewogICAgICBvblBvbHltZXJSZWFkeSgpOwogICAgfSBlbHNlIHsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3NjcmlwdC1sb2FkLWRwaicsIG9uUG9seW1lclJlYWR5KTsKICAgIH0KCiAgPC9zY3JpcHQ+CiAgPCEtLSBlbmQgb2YgY2h1bmsgLS0+CiAgICA8ZGl2IGlkPSJ3YXRjaC1wYWdlLXNrZWxldG9uIiBjbGFzcz0id2F0Y2gtc2tlbGV0b24gIj4KICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InJlbGF0ZWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG9wbGF5IHNrZWxldG9uLWxpZ2h0LWJvcmRlci1ib3R0b20iPgogICAgICAgICAgPGRpdiBpZD0idXBuZXh0IiBjbGFzcz0ic2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1za2VsZXRvbiI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlby1kZXRhaWxzIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyBmbGV4LTEiPgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXRpdGxlIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLW1ldGEgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0iaW5mby1jb250YWluZXIiPgogICAgICAgIDxkaXYgaWQ9InByaW1hcnktaW5mbyIgY2xhc3M9InNrZWxldG9uLWxpZ2h0LWJvcmRlci1ib3R0b20iPgogICAgICAgICAgPGRpdiBpZD0idGl0bGUiIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImluZm8iPgogICAgICAgICAgICA8ZGl2IGlkPSJjb3VudCIgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4LTEiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJtZW51Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYnV0dG9uIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYnV0dG9uIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYnV0dG9uIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYnV0dG9uIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYnV0dG9uIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzZWNvbmRhcnktaW5mbyIgY2xhc3M9InNrZWxldG9uLWxpZ2h0LWJvcmRlci1ib3R0b20iPgogICAgICAgICAgPGRpdiBpZD0idG9wLXJvdyI+CiAgICAgICAgICAgIDxkaXYgaWQ9InZpZGVvLW93bmVyIiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJjaGFubmVsLWljb24iIGNsYXNzPSJza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBpZD0idXBsb2FkLWluZm8iIGNsYXNzPSJmbGV4LTEiPgogICAgICAgICAgICAgICAgPGRpdiBpZD0ib3duZXItbmFtZSIKICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwdWJsaXNoZWQtZGF0ZSIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9InN1YnNjcmliZS1idXR0b24iIGNsYXNzPSJza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImdjYyIsIG51bGwsICcnKTt9PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInBkYyIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1TVWtYdlduMW03USI+CgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgaHJlZj0iaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3dhdGNoP3Y9U1VrWHZXbjFtN1EiPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIiBocmVmPSJodHRwczovL20ueW91dHViZS5jb20vd2F0Y2g/dj1TVWtYdlduMW03USI+CiAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCkiPgoKICAgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFwcm92ZWl0ZSB2w61kZW9zIGUgbcO6c2ljYSBxdWUgdm9jw6ogYW1hLCBlbnZpZSBjb250ZcO6ZG8gb3JpZ2luYWwgZSBjb21wYXJ0aWxoZS1vIGNvbSBhbWlnb3MsIHBhcmVudGVzIGUgbyBtdW5kbyBubyBZb3VUdWJlLiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0idsOtZGVvLCBjb21wYXJ0aWxoYW1lbnRvLCBjZWx1bGFyIGNvbSBjw6JtZXJhLCB2aWRlb2ZvbmUsIGdyYXR1aXRvLCB1cGxvYWQiPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4/Y29udGludWU9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZhcHAlM0RkZXNrdG9wJTI2ZmVhdHVyZSUzRHBhc3NpdmUlMjZobCUzRHB0JTI2bmV4dCUzRCUyNTJGc2lnbmluX3Bhc3NpdmUmYW1wO2hsPXB0LUJSJmFtcDtwYXNzaXZlPXRydWUmYW1wO3NlcnZpY2U9eW91dHViZSZhbXA7dWlsZWw9MyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiID48L2lmcmFtZT4KICA8L2hlYWQ+CiAgPGJvZHkgZGlyPSJsdHIiIG5vLXktb3ZlcmZsb3c+CiAgPHNjcmlwdCA+CiAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImJzIiwgbnVsbCwgJycpO30gICAgeXRjZmcuc2V0KCdpbml0aWFsQm9keUNsaWVudFdpZHRoJywgZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCk7CgogICAgd2luZG93Lnl0Y2ZnLnNldCgnU0VSVklDRV9XT1JLRVJfS0lMTFNXSVRDSCcsIGZhbHNlKTsKICA8L3NjcmlwdD4KICA8c2NyaXB0ID4KICAgIHdpbmRvd1sieXRJbml0aWFsRGF0YSJdID0geyJyZXNwb25zZUNvbnRleHQiOnsid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YSI6eyJ5dENvbmZpZ0RhdGEiOnsiY3NuIjoiX21lWVg2MlJLY18wd2dTY21hRGdBZyIsInZpc2l0b3JEYXRhIjoiQ2d0WGFFSjViM0k1YUZONldTai16LUg4QlElM0QlM0QiLCJyb290VmlzdWFsRWxlbWVudFR5cGUiOjM4MzJ9fX0sIndlYldhdGNoTmV4dFJlc3BvbnNlRXh0ZW5zaW9uRGF0YSI6eyJyZWxhdGVkVmlkZW9BcmdzIjoiIn19OwogICAgd2luZG93WyJ5dEluaXRpYWxQbGF5ZXJSZXNwb25zZSJdID0geyJyZXNwb25zZUNvbnRleHQiOnsic2VydmljZVRyYWNraW5nUGFyYW1zIjpbeyJzZXJ2aWNlIjoiR0ZFRURCQUNLIiwicGFyYW1zIjpbeyJrZXkiOiJpc192aWV3ZWRfbGl2ZSIsInZhbHVlIjoiRmFsc2UifSx7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9LHsia2V5IjoiZSIsInZhbHVlIjoiMjM5NjM5MzEsMjM4MDQyODEsMjM5MzQ5NzAsMjM4ODQzODYsOTQ2NjU5MSwyMzk1MDAyMywyMzk0NjQyMCwyMzkxODU5NywyMzkzMDIyMCwyMzk2MjkyMCwyMzkxMTA1NSwyNDU5MDI2MiwyMzk1MTYwMCwyMzkyODUwOCwyMzk0MjMzOCwxNzE0MjQyLDIzOTQyNjMzLDIzOTYyOTYyLDIzNzQ4MTQ3LDIzOTQwMjQ3LDIzOTU3NjYxLDIzOTIxNTUzLDIzODkwOTU5LDIzOTU2NzU0LDIzODM5NTk3LDIzOTM1MTc4LDIzODgyNTAzLDIzOTQ0Nzc5LDIzNzQ0MTc2LDIzOTU0Mzg3LDIzODgwMDQzLDIzOTQ4OTQ0LDIzODU3OTQ5LDIzOTUxMTM5LDIzOTQzMjk0LDIzOTU0MDEwLDIzOTUzNzY2LDIzOTYyMzk0LDIzOTQ4ODQxLDIzOTQ3Njk4In1dfSx7InNlcnZpY2UiOiJDU0kiLCJwYXJhbXMiOlt7ImtleSI6ImMiLCJ2YWx1ZSI6IldFQiJ9LHsia2V5IjoiY3ZlciIsInZhbHVlIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LHsia2V5IjoieXRfbGkiLCJ2YWx1ZSI6IjAifSx7ImtleSI6IkdldFBsYXllcl9yaWQiLCJ2YWx1ZSI6IjB4NGU1YTM2MmQyNzk3YWI5YSJ9XX0seyJzZXJ2aWNlIjoiR1VJREVEX0hFTFAiLCJwYXJhbXMiOlt7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9XX0seyJzZXJ2aWNlIjoiRUNBVENIRVIiLCJwYXJhbXMiOlt7ImtleSI6ImNsaWVudC52ZXJzaW9uIiwidmFsdWUiOiIyLjIwMjAxMDIzIn0seyJrZXkiOiJjbGllbnQubmFtZSIsInZhbHVlIjoiV0VCIn1dfV0sIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsieXRDb25maWdEYXRhIjp7ImNzbiI6Il9tZVlYNjJSS2NfMHdnU2NtYURnQWciLCJ2aXNpdG9yRGF0YSI6IkNndFhhRUo1YjNJNWFGTjZXU2otei1IOEJRJTNEJTNEIiwicm9vdFZpc3VhbEVsZW1lbnRUeXBlIjozODMyfSwiaGFzRGVjb3JhdGVkIjp0cnVlfX0sInBsYXlhYmlsaXR5U3RhdHVzIjp7InN0YXR1cyI6IkVSUk9SIiwicmVhc29uIjoiVsOtZGVvIGluZGlzcG9uw612ZWwiLCJlcnJvclNjcmVlbiI6eyJwbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlciI6eyJyZWFzb24iOnsic2ltcGxlVGV4dCI6IlbDrWRlbyBpbmRpc3BvbsOtdmVsIn0sInRodW1ibmFpbCI6eyJ0aHVtYm5haWxzIjpbeyJ1cmwiOiIvL3MueXRpbWcuY29tL3l0cy9pbWcvbWVoNy12ZmxHZXZlajcucG5nIiwid2lkdGgiOjE0MCwiaGVpZ2h0IjoxMDB9XX0sImljb24iOnsiaWNvblR5cGUiOiJFUlJPUl9PVVRMSU5FIn19fSwiY29udGV4dFBhcmFtcyI6IlEwRkJVMEZuWjBFPSJ9LCJ0cmFja2luZ1BhcmFtcyI6IkNBQVF1MmtpRXdpRXpOekd0TlhzQWhVS1BaQUtIWEJKQWVjPSJ9OwogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJwZHIiLCBudWxsLCAnJyk7fQogIDwvc2NyaXB0PgogICAgICA8c2NyaXB0ID4oZnVuY3Rpb24oKSB7dmFyIGNvbmZpZ3MgPSB7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1dBVENIIjp7InRyYW5zcGFyZW50QmFja2dyb3VuZCI6dHJ1ZSwidXNlRmFzdFNpemluZ09uV2F0Y2hEZWZhdWx0IjpmYWxzZSwic2hvd01pbmlwbGF5ZXJCdXR0b24iOnRydWUsImV4dGVybmFsRnVsbHNjcmVlbiI6dHJ1ZSwic2hvd01pbmlwbGF5ZXJVaVdoZW5NaW5pbWl6ZWQiOnRydWUsInJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfV0FUQ0giLCJldmVudExhYmVsIjoiZGV0YWlscGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6IndhdGNoIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1ZFUlRJQ0FMX0xBTkRJTkdfUEFHRV9QUk9NTyI6eyJyb290RWxlbWVudElkIjoieXRkLWRlZmF1bHQtcHJvbW8tcGFuZWwtcmVuZGVyZXItaW5saW5lLXBsYXliYWNrLXJlbmRlcmVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1ZFUlRJQ0FMX0xBTkRJTkdfUEFHRV9QUk9NTyIsImV2ZW50TGFiZWwiOiJwcm9maWxlcGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiY29udHJvbHNUeXBlIjowLCJkaXNhYmxlUmVsYXRlZFZpZGVvcyI6dHJ1ZSwiYW5ub3RhdGlvbnNMb2FkUG9saWN5IjozLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImhpZGVJbmZvIjp0cnVlLCJzdGFydE11dGVkIjp0cnVlLCJlbmFibGVNdXRlZEF1dG9wbGF5Ijp0cnVlLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6ImNoYW5uZWxzIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1BMQVlMSVNUX09WRVJWSUVXIjp7InJvb3RFbGVtZW50SWQiOiJjNC1wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfUExBWUxJU1RfT1ZFUlZJRVciLCJldmVudExhYmVsIjoicGxheWxpc3RvdmVydmlldyIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJkaXNhYmxlU2hhcmluZyI6dHJ1ZSwiaGlkZUluZm8iOnRydWUsImRpc2FibGVXYXRjaExhdGVyIjp0cnVlLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6InBsYXlsaXN0X292ZXJ2aWV3In0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1NQT05TT1JTSElQU19PRkZFUiI6eyJyb290RWxlbWVudElkIjoieXRkLXNwb25zb3JzaGlwcy1vZmZlci13aXRoLXZpZGVvLXJlbmRlcmVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1NQT05TT1JTSElQU19PRkZFUiIsImV2ZW50TGFiZWwiOiJzcG9uc29yc2hpcHNvZmZlciIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGlzYWJsZVJlbGF0ZWRWaWRlb3MiOnRydWUsImFubm90YXRpb25zTG9hZFBvbGljeSI6MywiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJkaXNhYmxlRnVsbHNjcmVlbiI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0NIQU5ORUxfVFJBSUxFUiI6eyJyb290RWxlbWVudElkIjoiYzQtcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0NIQU5ORUxfVFJBSUxFUiIsImV2ZW50TGFiZWwiOiJwcm9maWxlcGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6ImNoYW5uZWxzIn19O2ZvciAodmFyIGNvbnRleHRJZCBpbiBjb25maWdzKSB7Y29uZmlnc1tjb250ZXh0SWRdWydzZXJpYWxpemVkRXhwZXJpbWVudElkcyddID0gIjIzNzQ0MTc2LDIzNzQ4MTQ3LDIzODA0MjgxLDIzODM5NTk3LDIzODU2OTUwLDIzODU3OTQ5LDIzODY4MzM0LDIzODgwMDQzLDIzODgyNTAzLDIzODg0Mzg2LDIzODkwOTU5LDIzODk1NjcxLDIzOTExMDU1LDIzOTE1OTkyLDIzOTE4NTk3LDIzOTIxNTUzLDIzOTIzMjY2LDIzOTI4NTA4LDIzOTMwMjIwLDIzOTM0OTcwLDIzOTM1MTc4LDIzOTQwMjQ3LDIzOTQyMzM4LDIzOTQyNjMzLDIzOTQzMjk0LDIzOTQ0Nzc5LDIzOTQ1NDc5LDIzOTQ2NDIwLDIzOTQ3Njk4LDIzOTQ4ODQxLDIzOTQ4OTQ0LDIzOTQ4OTQ0LDIzOTUwMDIzLDIzOTUxMTM5LDIzOTUxNjAwLDIzOTUzNzY2LDIzOTU0MDEwLDIzOTU0Mzg3LDIzOTU2NzU0LDIzOTU3NjYxLDIzOTYyMzk0LDIzOTYyOTIwLDIzOTYyOTYyLDIzOTYzOTMxLDIzOTY0MzkzLDI0NTkwMjYyLDI0NjMxNTEzLDk0NDkyNDMsOTQ2NjU5MSI7Y29uZmlnc1tjb250ZXh0SWRdWydzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzJ10gPSAiaHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91cz10cnVlXHUwMDI2aG9mZmxlX2NhY2hlX3NpemVfc2Vjcz0wXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbD0wLjVcdTAwMjZodG1sNV9qdW1ib191bGxfbm9uc3RyZWFtaW5nX21mZmFfbXM9NDAwMFx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHM9dHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbj0wLjFcdTAwMjZlbmFibGVfbGl2ZV9wcmVtaWVyZV93ZWJfcGxheWVyX2luZGljYXRvcj10cnVlXHUwMDI2dnNzX25ldHdvcmtsZXNzX2J5cGFzc193cml0ZT10cnVlXHUwMDI2d2ViX2FwaV91cmw9dHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kPXRydWVcdTAwMjZodG1sNV9sb2dfZXhwZXJpbWVudF9pZF9mcm9tX3BsYXllcl9yZXNwb25zZV90b19jdG1wPVx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWQ9dHJ1ZVx1MDAyNnN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nPXRydWVcdTAwMjZodG1sNV9pbmxpbmVfdmlkZW9fcXVhbGl0eV9zdXJ2ZXk9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbm9fZW5kc2NyZWVuX2Nyb3A9dHJ1ZVx1MDAyNmh0bWw1X2ZsdWRkX3N1c3BlbmQ9dHJ1ZVx1MDAyNnNraXBfYWRfYnV0dG9uX3dpdGhfdGh1bWJuYWlsPXRydWVcdTAwMjZodG1sNV9lcnJvcl9jb29sZG93bl9pbl9tcz0zMDAwMFx1MDAyNnN1cHByZXNzX2dlbl8yMDQ9dHJ1ZVx1MDAyNndlYl93bl9tYWNyb19tYXJrZXJzPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uPTAuMDFcdTAwMjZodG1sNV9hZF90aW1lb3V0X21zPTBcdTAwMjZ1c2VfdG91Y2hfZXZlbnRzX2Zvcl9idWxsZWl0X213ZWI9dHJ1ZVx1MDAyNmVycm9yX21lc3NhZ2VfZm9yX2dzdWl0ZV9uZXR3b3JrX3Jlc3RyaWN0aW9ucz10cnVlXHUwMDI2d2ViX3BsYXllcl93YXRjaF9uZXh0X3Jlc3BvbnNlX3BhcnNpbmc9dHJ1ZVx1MDAyNnNlbGZfcG9kZGluZ19oZWFkZXJfc3RyaW5nX3RlbXBsYXRlPXNlbGZfcG9kZGluZ19pbnRlcnN0aXRpYWxfbWVzc2FnZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3A9dHJ1ZVx1MDAyNmh0bWw1X25vX3BsYWNlaG9sZGVyX3JvbGxiYWNrcz10cnVlXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcD0wXHUwMDI2aHRtbDVfbWF4X3JlYWRiZWhpbmRfc2Vjcz0wXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjI1XHUwMDI2ZGVza3RvcF9wbGF5ZXJfYnV0dG9uX3Rvb2x0aXBfd2l0aF9zaG9ydGN1dD10cnVlXHUwMDI2cmVuZGVyX2VuaGFuY2VkX292ZXJsYXlzX2FzX2N0YXNfZm9yX2Rlc2t0b3Bfc3R5bGU9dW5zZXRcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXA9dHJ1ZVx1MDAyNmh0bWw1X2hlYWx0aF90b19nZWw9dHJ1ZVx1MDAyNmh0bWw1X2hsc19taW5fdmlkZW9faGVpZ2h0PTBcdTAwMjZ1c2VfdmlkZW9fYWRfYnJlYWtfb2Zmc2V0X21zX2ludDY0PXRydWVcdTAwMjZlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzPXRydWVcdTAwMjZ1c2VfaXZhcl90b19leHRyYWN0X2FkX3ZpZGVvX2lkPXRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWM9dHJ1ZVx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQ9MS4zXHUwMDI2aHRtbDVfZ2FwbGVzc19tYXhfcGxheWVkX3Jhbmdlcz0xMlx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsPVx1MDAyNmh0bWw1X2VuY291cmFnZV9hcnJheV9jb2FsZXNjaW5nPXRydWVcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXM9MjAwMFx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHM9NVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2w9LTFcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZT10cnVlXHUwMDI2d2ViX3BsYXllcl9pbmNsdWRlX2lubmVydHViZV9jb21tYW5kcz10cnVlXHUwMDI2dW5wbHVnZ2VkX3R2aHRtbDVfdmlkZW9fcHJlbG9hZF9vbl9mb2N1c19kZWxheV9tcz0wXHUwMDI2ZW5hYmxlX3lwY19jbGlja3dyYXBfb25fbGl2aW5nX3Jvb209dHJ1ZVx1MDAyNmh0bWw1X25ld19lbGVtX29uX2hpZGRlbj10cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2VtYmVkZGVkX3BsYXllcl92aXNpYmlsaXR5X3NpZ25hbHM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfcGxheWJhY2tfdHJhY2tpbmdfcGFyc2luZz10cnVlXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zPTIwMDAwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93PTAuMFx1MDAyNmVuYWJsZV9kcm1fc3NkYWk9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvbj0wLjBcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5PXRydWVcdTAwMjZ3ZWJfb3BfZW5kcG9pbnRfYmFubGlzdD0oKVx1MDAyNmh0bWw1X3FvZV9pbnRlcmNlcHQ9XHUwMDI2d2ViX2NsaWVudF9jb3VudGVyX3JhbmRvbV9zZWVkPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2lwcF9jYW5hcnlfdHlwZV9mb3JfbG9nZ2luZz1cdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0PTMuMFx1MDAyNnVzZV9wbGF5ZXJfcGFyYW1zX2Zvcl9wYXNzaW5nX2Rlc2t0b3BfY29udmVyc2lvbl91cmxzPXRydWVcdTAwMjZodG1sNV9zdXNwZW5kX2xvYWRlcj10cnVlXHUwMDI2aHRtbDVfYXYxX3RocmVzaF9sY2M9NDgwXHUwMDI2d2ViX3BsYXllcl9zZW50aW5lbF9pc191bmlwbGF5ZXI9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfcmVzZXRfb25fYXBwZW5kX2Vycm9yPXRydWVcdTAwMjZodG1sNV9sb2dfdGltZXN0YW1wX29mZnNldD10cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkPXRydWVcdTAwMjZrZXZsYXJfYXV0b25hdl9taW5pcGxheWVyX2ZpeD10cnVlXHUwMDI2a2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucz10cnVlXHUwMDI2aHRtbDVfYmFja2dyb3VuZF9jYXBfaWRsZV9zZWNzPTYwXHUwMDI2dXNlX3N1cnZleV9za2lwX2luXzBzPXRydWVcdTAwMjZwbGF5ZXJfYWRzX3NldF9hZGZvcm1hdF9vbl9jbGllbnQ9dHJ1ZVx1MDAyNndlYl9tYWNyb19tYXJrZXJzX3NuYXBwaW5nX3RocmVzaG9sZD00XHUwMDI2aHRtbDVfc2V0X2VuZGVkX2luX3BmeF9saXZlPXRydWVcdTAwMjZlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV94aHJfY2xpZW50PXRydWVcdTAwMjZkaXNhYmxlX25ld19wYXVzZV9zdGF0ZTM9dHJ1ZVx1MDAyNm13ZWJfbXV0ZWRfYXV0b3BsYXlfYW5pbWF0aW9uPXNocmlua1x1MDAyNmh0bWw1X3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tcz0xMFx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2Vfb3ZlcmxheV9wYXJzaW5nPWZhbHNlXHUwMDI2aHRtbDVfZGlzYWJsZV9zdWJzY3JpYmVfbmV3X3Zpcz10cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViPXRydWVcdTAwMjZodG1sNV9iYW5kd2lkdGhfd2luZG93X3NpemU9MFx1MDAyNndlYl9sb2dfY29ubmVjdGlvbj10cnVlXHUwMDI2aHRtbDVfYXNwZWN0X2Zyb21fYWRhcHRpdmVfZm9ybWF0PXRydWVcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuPXRydWVcdTAwMjZodG1sNV9jcnlwdG9fcGVyaW9kX3NlY3NfZnJvbV9lbXNnPXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3NlZWtfdG9sZXJhbmNlX3NlY3M9My4wXHUwMDI2aHRtbDVfaGVhcnRiZWF0X3NldF9lbmRlZD10cnVlXHUwMDI2bXdlYl9jb3VnYXJfYmlnX2NvbnRyb2xzPXRydWVcdTAwMjZ3ZWJfcGxheWVyX3NzX21lZGlhX3RpbWVfb2Zmc2V0PXRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3M9MFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tcz0wXHUwMDI2bXdlYl9lbmFibGVfc2tpcHBhYmxlc19vbl9qaW9fcGhvbmU9dHJ1ZVx1MDAyNmlnbm9yZV9lbXB0eV94aHI9dHJ1ZVx1MDAyNmFsaWduX2FkX3RvX3ZpZGVvX3BsYXllcl9saWZlY3ljbGVfZm9yX2J1bGxlaXQ9dHJ1ZVx1MDAyNndlYl95dF9jb25maWdfY29udGV4dD10cnVlXHUwMDI2Y3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsPXRydWVcdTAwMjZodG1sNV9tYXhfZHJpZnRfcGVyX3RyYWNrX3NlY3M9MC4wXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX3BhZGRpbmdfc2Vjcz0zLjBcdTAwMjZlbmFibGVfY2xpZW50X2RlZmVycmVkX2Z1bGxfc2NyZWVuX2ZpbHRlcmluZ19mb3JfbXdlYl9waG9uZXM9dHJ1ZVx1MDAyNmh0bWw1X2lvc19mb3JjZV9zZWVrX3RvX3plcm9fb25fc3RvcD10cnVlXHUwMDI2bG9nX2pzX2V4Y2VwdGlvbnNfZnJhY3Rpb249MS4wXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsPTMwMDAwXHUwMDI2c2VsZl9wb2RkaW5nX2hpZ2hsaWdodF9ub25fZGVmYXVsdF9idXR0b249dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9wZXJfZm9ybWF0X2xvdWRuZXNzPXRydWVcdTAwMjZodG1sNV9xdWFsaXR5X2NhcF9taW5fYWdlX3NlY3M9MFx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXA9MFx1MDAyNmh0bWw1X2F2MV90aHJlc2hfYXJtPTI0MFx1MDAyNmh0bWw1X3VzZV9jdXJyZW50X21lZGlhX3RpbWVfZm9yX2dscmVtX2dsbGF0PXRydWVcdTAwMjZodG1sNV9hdjFfdHZfa2lsbHN3aXRjaD10cnVlXHUwMDI2ZW5hYmxlX2V2aWN0aW9uX3Byb3RlY3Rpb25fZm9yX2J1bGxlaXQ9dHJ1ZVx1MDAyNmh0bWw1X25vbl9uZXR3b3JrX3JlYnVmZmVyX2R1cmF0aW9uX21zPTBcdTAwMjZ3ZWJfcGxheWVyX2xpdmVfbW9uaXRvcl9lbnZfa2lsbHN3aXRjaDI9dHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVfdWZwaD10cnVlXHUwMDI2YnVsbGVpdF9nZXRfbWlkcm9sbF9pbmZvX3RpbWVvdXRfbXM9ODAwMFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tcz0wXHUwMDI2aHRtbDVfaW9zNF9zZWVrX2Fib3ZlX3plcm89dHJ1ZVx1MDAyNmRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydD10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19wcmVsb2FkaW5nPXRydWVcdTAwMjZoaWRlX3ByZXNraXA9dHJ1ZVx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX3NlY3M9MFx1MDAyNndlYl9wbGF5ZXJfaWNvbnM9dHJ1ZVx1MDAyNmh0bWw1X3Jlc3RvcmVfcGVyZl9jYXA9ZmFsc2VcdTAwMjZodG1sNV9yZW1vdmVfcGF1c2U9ZmFsc2VcdTAwMjZodG1sNV92cDlfbWltZV9mdWxsX3JhbmdlX2ZsYWc9dHJ1ZVx1MDAyNmh0bWw1X2luX2J1ZmZlcl9wdGxfdGltZW91dF9tcz0wXHUwMDI2c2VsZl9wb2RkaW5nX2hpZ2hsaWdodGVkX2J1dHRvbl9ibHVlPXRydWVcdTAwMjZob2ZmbGVfbWF4X3ZpZGVvX2R1cmF0aW9uX3NlY3M9MFx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkPTNcdTAwMjZyZWxlYXNlX3BsYXllcl9vbl9hYmFuZG9uX2Zvcl9idWxsZWl0X2xyX2Fkc19mcm9udGVuZD10cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyPXRydWVcdTAwMjZodG1sNV9zZWVrX292ZXJfZGlzY29udGludWl0aWVzPXRydWVcdTAwMjZodG1sNV9zdG9wX3ZpZGVvX2luX2NhbmNlbF9wbGF5YmFjaz10cnVlXHUwMDI2bG9nX2pzX2Vycm9yX2NsdXN0ZXJzPTEuMFx1MDAyNnBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGU9dHJ1ZVx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5X3N0YWdlPTBcdTAwMjZodG1sNV9nYXBsZXNzX2VuZGVkX3RyYW5zaXRpb25fYnVmZmVyX21zPTIwMFx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6aW5nX211bHRpcGxpZXI9MC44XHUwMDI2aHRtbDVfZ2FwbGVzc19lcnJvcl9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2hjYz0xMDgwXHUwMDI2aHRtbDVfaGFja19nYXBsZXNzX2luaXQ9dHJ1ZVx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfdGhyZXNob2xkX21zPTMwMDAwXHUwMDI2cGxheWVyX2RvdWJsZXRhcF90b19zZWVrPXRydWVcdTAwMjZkZWJ1Z19kYXBwZXJfdHJhY2VfaWQ9XHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uPXRydWVcdTAwMjZ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeT10cnVlXHUwMDI2aHRtbDVfc291cmNlX2J1ZmZlcl9hdHRhY2hfcmV0cnlfbGltaXQ9MFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRfYWZ0ZXJfYXV0b3BsYXllZF92aWRlbz0tMVx1MDAyNmh0bWw1X2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvdz0wLjBcdTAwMjZodG1sNV9jaGVja19zZWdudW1fZGlzY29udGludWl0eT10cnVlXHUwMDI2d2ViX2xvZ19hcHBfaW5zdGFsbF9leHBlcmltZW50cz10cnVlXHUwMDI2c2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2g9MTUwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGY9dHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfcGFnZV9pZF9oZWFkZXJfZm9yX2ZpcnN0X3BhcnR5X3BpbmdzPXRydWVcdTAwMjZodG1sNV9idWZmZXJfaGVhbHRoX3RvX2RlZmVyX3NsaWNlX3Byb2Nlc3Npbmc9MC4wXHUwMDI2bWF4X3Jlc29sdXRpb25fZm9yX3doaXRlX25vaXNlPTM2MFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aD0wXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnM9dHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreT10cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9kZWxheV9tcz0xMjAwMFx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tcz0wXHUwMDI2ZGVidWdfc2hlcmxvZ191c2VybmFtZT1cdTAwMjZlbmFibGVfa2V2bGFyX2FjdGlvbl9jb21wYW5pb25fY2xlYW51cD10cnVlXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9hZHZlcnRpc2Vyc19xdWVzdGlvbl90ZXh0PXRydWVcdTAwMjZodG1sNV92aWRlb190YmRfbWluX2tiPTBcdTAwMjZlbmFibGVfdmVfdHJhY2tlcl9rZXk9dHJ1ZVx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb249LTFcdTAwMjZ1c2VfdHlwZXNjcmlwdF90cmFuc3BvcnQ9dHJ1ZVx1MDAyNndlYl9nZWxfdGltZW91dF9jYXA9dHJ1ZVx1MDAyNmh0bWw1X3NhZmFyaV9kZXNrdG9wX2VtZV9taW5fdmVyc2lvbj0wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlbj10cnVlXHUwMDI2aHRtbDVfbGl2ZV9hYnJfcmVwcmVkaWN0X2ZyYWN0aW9uPTAuMFx1MDAyNmh0bWw1X2xpdmVfbm9ybWFsX2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvdz0wLjBcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eT10cnVlXHUwMDI2aHRtbDVfbG9nX2xpdmVfZGlzY29udGludWl0eT10cnVlXHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHM9dHJ1ZVx1MDAyNnR2aHRtbDVfZGlzYWJsZV9saXZlX3ByZWZldGNoPXRydWVcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aT10cnVlXHUwMDI2aHRtbDVfcHJvYmVfbGl2ZV91c2luZ19yYW5nZT10cnVlXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmQ9Y291bnRkb3duX25leHRfdG9fdGh1bWJuYWlsXHUwMDI2c2VsZl9wb2RkaW5nX3BvZF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlPXNlbGZfcG9kZGluZ19wb2RfY2hvaWNlXHUwMDI2Ym90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcz0zMDAwXHUwMDI2aHRtbDVfZXhwZXJpbWVudF9pZF9sYWJlbD0wXHUwMDI2a2V2bGFyX3F1ZXVlX3VzZV91cGRhdGVfYXBpPXRydWVcdTAwMjZuZXR3b3JrbGVzc190aHJvdHRsZV90aW1lb3V0PTEwMFx1MDAyNndlYl9zY3JlZW5fYXNzb2NpYXRlZF9hbGxfbGF5ZXJzPXRydWVcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXA9MFx1MDAyNmVuYWJsZV9hZF9wb2Rfc3BlY2lmaWNfdWk9dHJ1ZVx1MDAyNmVuc3VyZV9vbmx5X29uZV9yZXNvbHZlZF9taWRyb2xsX3Jlc3BvbnNlX29uX3dlYj10cnVlXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2VhYzM9dHJ1ZVx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvbj01XHUwMDI2ZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXI9dHJ1ZVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkPTEuNVx1MDAyNmh0bWw1X2JhY2tncm91bmRfcXVhbGl0eV9jYXA9MzYwXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaD0wLjJcdTAwMjZodG1sNV9saWNlbnNlX3NlcnZlcl9lcnJvcl9yZXRyeV9saW1pdD0zXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudD1mYWtlXHUwMDI2ZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkPXRydWVcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZT10cnVlXHUwMDI2ZmFzdF9hdXRvbmF2X2luX2JhY2tncm91bmQ9dHJ1ZVx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc192cDk9dHJ1ZVx1MDAyNndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZT1cdTAwMjZkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nPXRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlPXRydWVcdTAwMjZ3ZWJfcGxheWVyX3Jlc3BvbnNlX2ZhaXJwbGF5X2NvbmZpZ19raWxsc3dpdGNoPXRydWVcdTAwMjZoZnJfZHJvcHBlZF9mcmFtZXJhdGVfZmFsbGJhY2tfdGhyZXNob2xkPTBcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWQ9MjBcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50PS0xXHUwMDI2d2ViX3Bvc3Rfc2VhcmNoPXRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZHluYW1pY19ib3R0b21fZ3JhZGllbnQ9dHJ1ZVx1MDAyNnBhaXJfc2VydmxldF9kZXByZWNhdGlvbl93YXJuaW5nX2VuYWJsZWQ9dHJ1ZVx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc19tZWRpYV9zb3VyY2VfZHVyYXRpb249MjUyMDBcdTAwMjZodG1sNV9kZWFkem9uZV9tdWx0aXBsaWVyPTEuMFx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZT01XHUwMDI2a2FidWtpX3BhbmdlYV9wcmVmZXJfYXVkaW9fb25seV9mb3JfYXR2X2FuZF91cGxvYWRzPXRydWVcdTAwMjZodG1sNV9hbGxvd2FibGVfbGl2ZW5lc3NfZHJpZnRfY2h1bmtzPTJcdTAwMjZkaXNhYmxlX3NpbXBsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNmNzaV9vbl9nZWw9dHJ1ZVx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheT01MDAwXHUwMDI2a2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlPXRydWVcdTAwMjZ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXM9MjgwMDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNm13ZWJfZW5hYmxlX2N1c3RvbV9jb250cm9sX3NoYXJlZD10cnVlXHUwMDI2aHRtbDVfc3luY19zZWVraW5nX3N0YXRlPXRydWVcdTAwMjZuZXR3b3JrbGVzc19sb2dnaW5nPXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX25vX3JlcXVlc3RzX2FmdGVyX2xvY2s9dHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfbW9kdWxlPXRydWVcdTAwMjZlbmFibGVfY29va2llX3JlaXNzdWVfaWZyYW1lPXRydWVcdTAwMjZrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmc9dHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW89dHJ1ZVx1MDAyNmV4dGVybmFsX2Z1bGxzY3JlZW5fd2l0aF9lZHU9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfcHJlc2VydmVfcmVmZXJlbmNlPXRydWVcdTAwMjZ3ZWJfZ2VsX2RlYm91bmNlX21zPTEwMDAwXHUwMDI2aHRtbDVfcmVhZGFoZWFkX3JhdGVsaW1pdD0zMDAwXHUwMDI2bmV0d29ya2xlc3NfcmVxdWVzdF9hZ2VfbGltaXQ9MzBcdTAwMjZ3ZWJfcGxheWVyX2lubGluZV9ib3RndWFyZD10cnVlXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9zdGFydF9idXR0b249dHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fpbj0wLjVcdTAwMjZodG1sNV91bmlmeV9zcWxlc3NfZmxvdz10cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcD0wXHUwMDI2d3d3X2Zvcl92aWRlb3N0YXRzPXRydWVcdTAwMjZwbGF5ZXJfZGVzdHJveV9vbGRfdmVyc2lvbj10cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3Q9KClcdTAwMjZodG1sNV9tYXhfaGVhZG1fZm9yX3N0cmVhbWluZ194aHI9MFx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW09dHJ1ZVx1MDAyNnVzZV9pbmxpbmVkX3BsYXllcl9ycGM9dHJ1ZVx1MDAyNm5ldHdvcmtsZXNzX3l0aWRiX3ZlcnNpb249MVx1MDAyNmh0bWw1X3JlbGVhc2Vfb25fZXJyb3I9dHJ1ZVx1MDAyNmh0bWw1X25vdF92cDlfc3VwcG9ydGVkX3F1YWxpdHlfY2FwPTBcdTAwMjZsaXZlX2ZyZXNjYV92Mj10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjVcdTAwMjZhdXRvcGxheV90aW1lPTgwMDBcdTAwMjZkZWxheV9hZHNfZ3ZpX2NhbGxfb25fYnVsbGVpdF9saXZpbmdfcm9vbV9tcz0wXHUwMDI2cG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzPXRydWVcdTAwMjZzaG91bGRfY2xlYXJfdmlkZW9fZGF0YV9vbl9wbGF5ZXJfY3VlZF91bnN0YXJ0ZWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbGl2ZV9tb25pdG9yX2Vudj10cnVlXHUwMDI2aHRtbDVfc3RhdGljX2Ficl9yZXNvbHV0aW9uX3NoZWxmPTBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nPXRydWVcdTAwMjZ3ZWJfcGxheWVyX3dhdGNoX25leHRfcmVzcG9uc2U9dHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9zdGFydF9zZWNvbmRzX2Zvcl9hZHNfa2lsbHN3aXRjaD10cnVlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfc2hhcmVfcGFuZWw9dHJ1ZVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjcz0yLjBcdTAwMjZodG1sNV9obHNfaW5pdGlhbF9iaXRyYXRlPTBcdTAwMjZrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZT10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9ieXRlcmF0ZV9tdWx0aXBsaWVyPTEuNlx1MDAyNmh0bWw1X2Rpc2FibGVfYWFjX2FjMz10cnVlXHUwMDI2aHRtbDVfc2Vla19qaWdnbGVfY210X2RlbGF5X21zPTgwMDBcdTAwMjZ2c3NfcGluZ3NfdXNpbmdfbmV0d29ya2xlc3M9dHJ1ZVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3NlZWtfbGF0ZW5jeV9mdWRnZT0wLjVcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfbWF4X3NlZ21lbnRfaGlzdG9yeT0wXHUwMDI2aHRtbDVfZGVza3RvcF92cjE4MF9hbGxvd19wYW5uaW5nPXRydWVcdTAwMjZlbmFibGVfc3ZnX21vZGVfb25fZW1iZWRfbW9iaWxlPXRydWVcdTAwMjZodG1sNV9zdGlja3lfcmVkdWNlc19kaXNjb3VudF9ieT0wLjBcdTAwMjZodG1sNV9zb3VyY2VfYnVmZmVyX2F0dGFjaF9kZWxheV90aW1lPTE1MDAwXHUwMDI2d2ViX29wX2NvbnRpbnVhdGlvbl90eXBlX2Jhbmxpc3Q9KClcdTAwMjZuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cz0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0PTAuMVx1MDAyNmh0bWw1X2VuYWJsZV9hYzM9dHJ1ZVx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX2NhcF9zZWNzPTYwXHUwMDI2aHRtbDVfZXhwYW5kZWRfbWF4X3Zzc19waW5ncz10cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXI9dHJ1ZVx1MDAyNmh0bWw1X25ld19lbGVtZW50X29uX2ludmFsaWRfc3RhdGU9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW9zX213ZWJfcmVzaXppbmc9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2hvd19tdXNpY19pbl90aGlzX3ZpZGVvX2dyYXBoaWM9dmlkZW9fdGh1bWJuYWlsXHUwMDI2aHRtbDVfZGVmYXVsdF9xdWFsaXR5X2NhcD03MjBcdTAwMjZwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdD10cnVlXHUwMDI2aHRtbDVfcW9lX3VzZXJfaW50ZW50X21hdGNoX2hlYWx0aD10cnVlXHUwMDI2aHRtbDVfcHJvYmVfc2Vjb25kYXJ5X2R1cmluZ190aW1lb3V0X21pc3NfY291bnQ9Mlx1MDAyNmRpc2FibGVfbGVnYWN5X2Rlc2t0b3BfcmVtb3RlX3F1ZXVlPXRydWVcdTAwMjZ1bnBsdWdnZWRfdHZodG1sNV9ib3RndWFyZF9hdHRlc3RhdGlvbj10cnVlXHUwMDI2aHRtbDVfZGVjb2Rlcl9mcmVlemVfdGltZW91dF9kZWxheV9tcz0wXHUwMDI2aHRtbDVfYXYxX3RocmVzaD0xMDgwXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZkZWxheV9nZWxfdW50aWxfY29uZmlnX3JlYWR5PXRydWVcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9zdWJzY3JpcHRpb25fdXBkYXRlPXRydWVcdTAwMjZodG1sNV9pb3M3X2ZvcmNlX3BsYXlfb25fc3RhbGw9dHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9iYWRfYml0cmF0ZXM9dHJ1ZVx1MDAyNnN1cHByZXNzX3NwYXJrbGVzX2Zvcl93aGl0ZWxpc3RlZF9pbnN0cmVhbV9vbl9kZXNrdG9wPXRydWVcdTAwMjZ3ZWJfbmV0d29ya19jb21iaW5lZF9jYXRjaD10cnVlXHUwMDI2aHRtbDVfbWF4X3JlYWRhaGVhZF9iYW5kd2lkdGhfY2FwPTBcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGU9dHJ1ZVx1MDAyNmVuYWJsZV90b3Bzb2lsX3d0YV9mb3JfaGFsZnRpbWU9dHJ1ZVx1MDAyNnZhcmlhYmxlX2xvYWRfdGltZW91dF9tcz0wXHUwMDI2a2V2bGFyX2FsbG93X211bHRpc3RlcF92aWRlb19pbml0PXRydWVcdTAwMjZ3ZWJfcGxheWVyX3Zzc19wYWdlaWRfaGVhZGVyPXRydWVcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3M9NDY4MDAuMFx1MDAyNmh0bWw1X2Rpc2FibGVfZXh0cmFfdXBkYXRlX3Jlc291cmNlPXRydWVcdTAwMjZodG1sNV9yZWxvYWRfZWxlbWVudF9sb25nX3JlYnVmZmVyX2RlbGF5X21zPTIwMDAwXHUwMDI2aHRtbDVfcmV3cml0ZV9tYW5pZmVzdGxlc3NfZm9yX2NvbnRpbnVpdHk9dHJ1ZVx1MDAyNmh0bWw1X2RlbGF5X2luaXRpYWxfbG9hZGluZz10cnVlXHUwMDI2YWxsb3dfcG9sdGVyZ3VzdF9hdXRvcGxheT10cnVlXHUwMDI2aHRtbDVfdW5yZXBvcnRlZF9zZWVrX3Jlc2Vla19kZWxheV9tcz0wXHUwMDI2aHRtbDVfdW5yZXdyaXRlX3RpbWVzdGFtcHM9dHJ1ZVx1MDAyNmh0bWw1X2xvZ19wbGF5YmFja19yYXRlX2NoYW5nZV9raWxsc3dpdGNoPXRydWVcdTAwMjZib3RndWFyZF9ldmFsX3dpdGhfc2NyaXB0X3RhZz10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9tb3ZlX3Bzc2hfdG9fbW9vdj10cnVlXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZodG1sNV9hdXRvcGxheV9kZWZhdWx0X3F1YWxpdHlfY2FwPTBcdTAwMjZ2YXJpYWJsZV9idWZmZXJfdGltZW91dF9tcz0wXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yPTM2MFx1MDAyNmxpdmVfZnJlc2NhX3NjaGVkdWxlZF9wZXJzaXN0ZW50PXRydWVcdTAwMjZodG1sNV92cDlfbmV3X21pbWU9dHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlMz10cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZD0wXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZT10cnVlXHUwMDI2YnVsbGVpdF91c2VfdG91Y2hfZXZlbnRzX2Zvcl9za2lwPXRydWVcdTAwMjZvdmVyd3JpdGVfcG9seWZpbGxfb25fbG9nZ2luZ19saWJfbG9hZGVkPXRydWUiO315dGNmZy5zZXQoeydXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyc6IGNvbmZpZ3N9KTt9KSgpOzwvc2NyaXB0PgoKICA8c2NyaXB0ID4KICAgIChmdW5jdGlvbigpIHsKICAgICAgdmFyIHNldEZpbGxlciA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBmaWxsZXJEYXRhID0gewogICAgICAgICAgYnJvd3NlOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2Jyb3dzZScKICAgICAgICAgIH0sCiAgICAgICAgICBob21lOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2hvbWUnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi8iLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfQlJPV1NFIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdXJsRW5kcG9pbnQ6IHsKICAgICAgICAgICAgICAgIHVybDogIi8iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5Ccm93c2VSZXN1bHRzUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgdGFiczogW3sKICAgICAgICAgICAgICAgICAgICB0YWJSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJpY2hHcmlkUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWF0aW9uczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRDb250aW51YXRpb25EYXRhOiB7Y29udGludWF0aW9uOiAnJ30KICAgICAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHNlYXJjaDogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdzZWFyY2gnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi9yZXN1bHRzIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX1NFQVJDSCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHVybEVuZHBvaW50OiB7CiAgICAgICAgICAgICAgICB1cmw6ICIvcmVzdWx0cyIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgICAgICAgY29udGVudHM6IHsKICAgICAgICAgICAgICAgIHR3b0NvbHVtblNlYXJjaFJlc3VsdHNSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICBwcmltYXJ5Q29udGVudHM6IHsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uTGlzdFJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICBzdWJNZW51OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFN1Yk1lbnVSZW5kZXJlcjoge30KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5U2VhcmNoQ29udGFpbmVyUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBbXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHdhdGNoOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ3dhdGNoJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvd2F0Y2giLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfV0FUQ0giCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB1cmxFbmRwb2ludDogewogICAgICAgICAgICAgICAgdXJsOiAiL3dhdGNoIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcGxheWVyUmVzcG9uc2U6IHsKICAgICAgICAgICAgICBwbGF5YWJpbGl0eVN0YXR1czogewogICAgICAgICAgICAgICAgc3RhdHVzOiAnT0snCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgIHJlc3VsdHM6IHsKICAgICAgICAgICAgICAgICAgICByZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW3sKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyOiB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9TZWNvbmRhcnlJbmZvUmVuZGVyZXI6IHt9CiAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5UmVzdWx0czogewogICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVJlc3VsdHM6IHt9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB3aW5kb3cueXRjZmcuc2V0KCdGSUxMRVJfREFUQScsIGZpbGxlckRhdGEpOwogICAgICB9OwoKICAgICAgICB3aW5kb3cuZ2V0UGFnZURhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicHIiLCBudWxsLCAnJyk7fQogICAgICAgICAgdmFyIGVuZHBvaW50ID0gbnVsbDsKICAgICAgICAgICAgZW5kcG9pbnQgPSB7ImNvbW1hbmRNZXRhZGF0YSI6eyJ3ZWJDb21tYW5kTWV0YWRhdGEiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfVU5LTk9XTiIsInJvb3RWZSI6ODM3Njl9fSwidXJsRW5kcG9pbnQiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EifX07CiAgICAgICAgICB2YXIgZGF0YSA9IHsKICAgICAgICAgICAgICBwYWdlOiAid2F0Y2giLAogICAgICAgICAgICAgIHBsYXllcjogeXRwbGF5ZXIuY29uZmlnLAogICAgICAgICAgICAgIHBsYXllclJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsUGxheWVyUmVzcG9uc2UsCiAgICAgICAgICAgICAgICB1cmw6ICJcL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLAogICAgICAgICAgICAgIHJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsRGF0YSwKICAgICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBkYXRhOiBkYXRhLAogICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgfTsKCiAgICAgICAgaWYgKHdpbmRvdy5sb2FkRGF0YUhvb2spIHsKICAgICAgICAgIHZhciBwYWdlRGF0YSA9IHdpbmRvdy5nZXRQYWdlRGF0YSgpOwogICAgICAgICAgd2luZG93LmxvYWREYXRhSG9vayhwYWdlRGF0YS5lbmRwb2ludCwgcGFnZURhdGEuZGF0YSk7CiAgICAgICAgICB3aW5kb3cubG9hZERhdGFIb29rID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgc2V0RmlsbGVyKCk7CgogICAgfSkoKTsKCiAgICAgIHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncmVmZXJyZXInOwogICAgICBtZXRhLmNvbnRlbnQgPSAnb3JpZ2luJzsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChtZXRhKTsKICAgICAgdmFyIG5vaW5kZXhNZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncm9ib3RzJzsKICAgICAgbWV0YS5jb250ZW50ID0gJ25vaW5kZXgnOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG1ldGEpOwoKICA8L3NjcmlwdD4KICAKPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS5pbmZvKCJzdCIsIDEyMCwgJycpO308L3NjcmlwdD48L2JvZHk+PC9odG1sPg==
57
+ http_version:
58
+ recorded_at: Tue, 27 Oct 2020 18:33:34 GMT
485
59
  recorded_with: VCR 3.0.3