@design-system-rte/angular 1.4.1-rc1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/esm2022/lib/components/accordion/accordion.component.mjs +94 -0
  2. package/esm2022/lib/components/avatar/assets/status/status.component.mjs +15 -0
  3. package/esm2022/lib/components/avatar/avatar.component.mjs +52 -0
  4. package/esm2022/lib/components/banner/banner.component.mjs +1 -1
  5. package/esm2022/lib/components/button/button.component.mjs +9 -3
  6. package/esm2022/lib/components/card/card.component.mjs +5 -6
  7. package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -3
  8. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +1 -1
  9. package/esm2022/lib/components/drawer/drawer-trigger/drawer-trigger.directive.mjs +33 -0
  10. package/esm2022/lib/components/drawer/drawer.component.mjs +160 -0
  11. package/esm2022/lib/components/drawer/drawer.directive.mjs +302 -0
  12. package/esm2022/lib/components/drawer/drawer.module.mjs +17 -0
  13. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +1 -1
  14. package/esm2022/lib/components/icon/icon-map.mjs +3 -1
  15. package/esm2022/lib/components/icon/icon.component.mjs +9 -10
  16. package/esm2022/lib/components/popover/popover.component.mjs +1 -1
  17. package/esm2022/lib/components/toast/toast.component.mjs +1 -1
  18. package/esm2022/lib/components/treeview/index.mjs +4 -0
  19. package/esm2022/lib/components/treeview/treeview-check.service.mjs +24 -0
  20. package/esm2022/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.mjs +20 -0
  21. package/esm2022/lib/components/treeview/treeview-item/treeview-item.component.mjs +227 -0
  22. package/esm2022/lib/components/treeview/treeview-keyboard.service.mjs +80 -0
  23. package/esm2022/lib/components/treeview/treeview-selection.service.mjs +23 -0
  24. package/esm2022/lib/components/treeview/treeview.component.mjs +89 -0
  25. package/esm2022/public-api.mjs +8 -1
  26. package/fesm2022/design-system-rte-angular.mjs +1222 -150
  27. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  28. package/lib/assets/icons/add.svg +3 -0
  29. package/lib/assets/icons/add_circle_filled.svg +3 -0
  30. package/lib/assets/icons/add_circle_outlined.svg +3 -0
  31. package/lib/assets/icons/admin_panel_settings_filled.svg +3 -0
  32. package/lib/assets/icons/admin_panel_settings_outlined.svg +3 -0
  33. package/lib/assets/icons/alt_route.svg +3 -0
  34. package/lib/assets/icons/analytics_filled.svg +3 -0
  35. package/lib/assets/icons/analytics_outlined.svg +3 -0
  36. package/lib/assets/icons/apps.svg +3 -0
  37. package/lib/assets/icons/archive_filled.svg +3 -0
  38. package/lib/assets/icons/archive_outlined.svg +3 -0
  39. package/lib/assets/icons/arrow_alt_down.svg +3 -0
  40. package/lib/assets/icons/arrow_alt_down_left.svg +3 -0
  41. package/lib/assets/icons/arrow_alt_down_right.svg +3 -0
  42. package/lib/assets/icons/arrow_alt_left.svg +3 -0
  43. package/lib/assets/icons/arrow_alt_right.svg +3 -0
  44. package/lib/assets/icons/arrow_alt_up.svg +3 -0
  45. package/lib/assets/icons/arrow_alt_up_left.svg +3 -0
  46. package/lib/assets/icons/arrow_alt_up_right.svg +3 -0
  47. package/lib/assets/icons/arrow_angle_down_left.svg +3 -0
  48. package/lib/assets/icons/arrow_angle_down_right.svg +3 -0
  49. package/lib/assets/icons/arrow_angle_up_left.svg +3 -0
  50. package/lib/assets/icons/arrow_angle_up_right.svg +3 -0
  51. package/lib/assets/icons/arrow_chevron_down.svg +3 -0
  52. package/lib/assets/icons/arrow_chevron_left.svg +3 -0
  53. package/lib/assets/icons/arrow_chevron_right.svg +3 -0
  54. package/lib/assets/icons/arrow_chevron_up.svg +3 -0
  55. package/lib/assets/icons/arrow_circle_chevron_down_filled.svg +3 -0
  56. package/lib/assets/icons/arrow_circle_chevron_down_outlined.svg +3 -0
  57. package/lib/assets/icons/arrow_circle_chevron_left_filled.svg +3 -0
  58. package/lib/assets/icons/arrow_circle_chevron_left_outlined.svg +3 -0
  59. package/lib/assets/icons/arrow_circle_chevron_right_filled.svg +3 -0
  60. package/lib/assets/icons/arrow_circle_chevron_right_outlined.svg +3 -0
  61. package/lib/assets/icons/arrow_circle_chevron_up_filled.svg +3 -0
  62. package/lib/assets/icons/arrow_circle_chevron_up_outlined.svg +3 -0
  63. package/lib/assets/icons/arrow_circle_down_filled.svg +3 -0
  64. package/lib/assets/icons/arrow_circle_down_outlined.svg +3 -0
  65. package/lib/assets/icons/arrow_circle_left_filled.svg +3 -0
  66. package/lib/assets/icons/arrow_circle_left_outlined.svg +3 -0
  67. package/lib/assets/icons/arrow_circle_right_filled.svg +3 -0
  68. package/lib/assets/icons/arrow_circle_right_outlined.svg +3 -0
  69. package/lib/assets/icons/arrow_circle_up_filled.svg +3 -0
  70. package/lib/assets/icons/arrow_circle_up_outlined.svg +3 -0
  71. package/lib/assets/icons/arrow_compare.svg +3 -0
  72. package/lib/assets/icons/arrow_double_down.svg +3 -0
  73. package/lib/assets/icons/arrow_double_left.svg +3 -0
  74. package/lib/assets/icons/arrow_double_right.svg +3 -0
  75. package/lib/assets/icons/arrow_double_up.svg +3 -0
  76. package/lib/assets/icons/arrow_down.svg +3 -0
  77. package/lib/assets/icons/arrow_down_left.svg +3 -0
  78. package/lib/assets/icons/arrow_down_right.svg +3 -0
  79. package/lib/assets/icons/arrow_drop_down.svg +3 -0
  80. package/lib/assets/icons/arrow_drop_up.svg +3 -0
  81. package/lib/assets/icons/arrow_left.svg +3 -0
  82. package/lib/assets/icons/arrow_right.svg +3 -0
  83. package/lib/assets/icons/arrow_up.svg +3 -0
  84. package/lib/assets/icons/arrow_up_left.svg +3 -0
  85. package/lib/assets/icons/arrow_up_right.svg +3 -0
  86. package/lib/assets/icons/article_filled.svg +3 -0
  87. package/lib/assets/icons/article_outlined.svg +3 -0
  88. package/lib/assets/icons/assignment_complete_filled.svg +3 -0
  89. package/lib/assets/icons/assignment_complete_outlined.svg +3 -0
  90. package/lib/assets/icons/assignment_filled.svg +3 -0
  91. package/lib/assets/icons/assignment_outlined.svg +3 -0
  92. package/lib/assets/icons/asterisk.svg +3 -0
  93. package/lib/assets/icons/attach_file.svg +3 -0
  94. package/lib/assets/icons/battery_alert_filled.svg +3 -0
  95. package/lib/assets/icons/battery_alert_outlined.svg +3 -0
  96. package/lib/assets/icons/battery_alt_empty.svg +3 -0
  97. package/lib/assets/icons/battery_alt_full.svg +3 -0
  98. package/lib/assets/icons/battery_charging.svg +3 -0
  99. package/lib/assets/icons/battery_charging_full_filled.svg +3 -0
  100. package/lib/assets/icons/battery_charging_full_outlined.svg +3 -0
  101. package/lib/assets/icons/battery_empty.svg +3 -0
  102. package/lib/assets/icons/battery_full.svg +3 -0
  103. package/lib/assets/icons/bluetooth.svg +3 -0
  104. package/lib/assets/icons/bluetooth_off.svg +3 -0
  105. package/lib/assets/icons/bolt_alt_circle_filled.svg +3 -0
  106. package/lib/assets/icons/bolt_alt_circle_outlined.svg +3 -0
  107. package/lib/assets/icons/bolt_alt_filled.svg +3 -0
  108. package/lib/assets/icons/bolt_alt_outlined.svg +3 -0
  109. package/lib/assets/icons/bolt_circle_filled.svg +3 -0
  110. package/lib/assets/icons/bolt_circle_outlined.svg +3 -0
  111. package/lib/assets/icons/bolt_filled.svg +3 -0
  112. package/lib/assets/icons/bolt_outlined.svg +3 -0
  113. package/lib/assets/icons/bookmark_filled.svg +3 -0
  114. package/lib/assets/icons/bookmark_outlined.svg +3 -0
  115. package/lib/assets/icons/bookmarks_filled.svg +3 -0
  116. package/lib/assets/icons/bookmarks_outlined.svg +3 -0
  117. package/lib/assets/icons/build_filled.svg +3 -0
  118. package/lib/assets/icons/build_outlined.svg +3 -0
  119. package/lib/assets/icons/calendar_available_filled.svg +3 -0
  120. package/lib/assets/icons/calendar_available_outlined.svg +3 -0
  121. package/lib/assets/icons/calendar_busy_filled.svg +3 -0
  122. package/lib/assets/icons/calendar_busy_outlined.svg +3 -0
  123. package/lib/assets/icons/calendar_month_filled.svg +3 -0
  124. package/lib/assets/icons/calendar_month_outlined.svg +3 -0
  125. package/lib/assets/icons/calendar_today_filled.svg +3 -0
  126. package/lib/assets/icons/calendar_today_outlined.svg +3 -0
  127. package/lib/assets/icons/call_filled.svg +3 -0
  128. package/lib/assets/icons/call_outlined.svg +3 -0
  129. package/lib/assets/icons/cancel_filled.svg +3 -0
  130. package/lib/assets/icons/cancel_outlined.svg +3 -0
  131. package/lib/assets/icons/category_filled.svg +3 -0
  132. package/lib/assets/icons/category_outlined.svg +3 -0
  133. package/lib/assets/icons/chart_add_filled.svg +3 -0
  134. package/lib/assets/icons/chart_add_outlined.svg +3 -0
  135. package/lib/assets/icons/chart_area_filled.svg +3 -0
  136. package/lib/assets/icons/chart_area_outlined.svg +3 -0
  137. package/lib/assets/icons/chart_bar.svg +3 -0
  138. package/lib/assets/icons/chart_bar_stacked.svg +3 -0
  139. package/lib/assets/icons/chart_pie_filled.svg +3 -0
  140. package/lib/assets/icons/chart_pie_outlined.svg +3 -0
  141. package/lib/assets/icons/chart_table_filled.svg +3 -0
  142. package/lib/assets/icons/chart_table_outlined.svg +3 -0
  143. package/lib/assets/icons/chat_alt_filled.svg +3 -0
  144. package/lib/assets/icons/chat_alt_outlined.svg +3 -0
  145. package/lib/assets/icons/chat_alt_unread_filled.svg +3 -0
  146. package/lib/assets/icons/chat_alt_unread_outlined.svg +3 -0
  147. package/lib/assets/icons/chat_filled.svg +3 -0
  148. package/lib/assets/icons/chat_outlined.svg +3 -0
  149. package/lib/assets/icons/chat_unread_filled.svg +3 -0
  150. package/lib/assets/icons/chat_unread_outlined.svg +3 -0
  151. package/lib/assets/icons/check.svg +3 -0
  152. package/lib/assets/icons/check_circle_filled.svg +3 -0
  153. package/lib/assets/icons/check_circle_outlined.svg +3 -0
  154. package/lib/assets/icons/check_indeterminate.svg +3 -0
  155. package/lib/assets/icons/check_small.svg +3 -0
  156. package/lib/assets/icons/checkbox_empty.svg +3 -0
  157. package/lib/assets/icons/checkbox_filled.svg +3 -0
  158. package/lib/assets/icons/checkbox_indeterminate_filled.svg +3 -0
  159. package/lib/assets/icons/checkbox_indeterminate_outlined.svg +3 -0
  160. package/lib/assets/icons/checkbox_outlined.svg +3 -0
  161. package/lib/assets/icons/clock_filled.svg +3 -0
  162. package/lib/assets/icons/clock_outlined.svg +3 -0
  163. package/lib/assets/icons/close.svg +3 -0
  164. package/lib/assets/icons/cloud_download_filled.svg +3 -0
  165. package/lib/assets/icons/cloud_download_outlined.svg +3 -0
  166. package/lib/assets/icons/cloud_filled.svg +3 -0
  167. package/lib/assets/icons/cloud_off_filled.svg +3 -0
  168. package/lib/assets/icons/cloud_off_outlined.svg +3 -0
  169. package/lib/assets/icons/cloud_outlined.svg +3 -0
  170. package/lib/assets/icons/cloud_upload_filled.svg +3 -0
  171. package/lib/assets/icons/cloud_upload_outlined.svg +3 -0
  172. package/lib/assets/icons/comment_add_filled.svg +3 -0
  173. package/lib/assets/icons/comment_add_outlined.svg +3 -0
  174. package/lib/assets/icons/comment_filled.svg +3 -0
  175. package/lib/assets/icons/comment_outlined.svg +3 -0
  176. package/lib/assets/icons/company.svg +3 -0
  177. package/lib/assets/icons/compare.svg +3 -0
  178. package/lib/assets/icons/contact_filled.svg +3 -0
  179. package/lib/assets/icons/contact_outlined.svg +3 -0
  180. package/lib/assets/icons/copy_all.svg +3 -0
  181. package/lib/assets/icons/copy_filled.svg +3 -0
  182. package/lib/assets/icons/copy_outlined.svg +3 -0
  183. package/lib/assets/icons/crisis_alert.svg +3 -0
  184. package/lib/assets/icons/cut.svg +3 -0
  185. package/lib/assets/icons/dangerous_filled.svg +3 -0
  186. package/lib/assets/icons/dangerous_outlined.svg +3 -0
  187. package/lib/assets/icons/dashboard_filled.svg +3 -0
  188. package/lib/assets/icons/dashboard_outlined.svg +3 -0
  189. package/lib/assets/icons/database_filled.svg +3 -0
  190. package/lib/assets/icons/database_outlined.svg +3 -0
  191. package/lib/assets/icons/delete_filled.svg +3 -0
  192. package/lib/assets/icons/delete_outlined.svg +3 -0
  193. package/lib/assets/icons/desktop_filled.svg +3 -0
  194. package/lib/assets/icons/desktop_outlined.svg +3 -0
  195. package/lib/assets/icons/devices_filled.svg +3 -0
  196. package/lib/assets/icons/devices_outlined.svg +3 -0
  197. package/lib/assets/icons/download.svg +3 -0
  198. package/lib/assets/icons/download_done.svg +3 -0
  199. package/lib/assets/icons/draft_filled.svg +3 -0
  200. package/lib/assets/icons/draft_outlined.svg +3 -0
  201. package/lib/assets/icons/drag_handle.svg +3 -0
  202. package/lib/assets/icons/drag_indicator.svg +3 -0
  203. package/lib/assets/icons/eco_filled.svg +3 -0
  204. package/lib/assets/icons/eco_outlined.svg +3 -0
  205. package/lib/assets/icons/edit_filled.svg +3 -0
  206. package/lib/assets/icons/edit_outlined.svg +3 -0
  207. package/lib/assets/icons/electric_meter_filled.svg +3 -0
  208. package/lib/assets/icons/electric_meter_outlined.svg +3 -0
  209. package/lib/assets/icons/error_filled.svg +3 -0
  210. package/lib/assets/icons/error_outlined.svg +3 -0
  211. package/lib/assets/icons/exclamation.svg +3 -0
  212. package/lib/assets/icons/explore_filled.svg +3 -0
  213. package/lib/assets/icons/explore_off_filled.svg +3 -0
  214. package/lib/assets/icons/explore_off_outlined.svg +3 -0
  215. package/lib/assets/icons/explore_outlined.svg +3 -0
  216. package/lib/assets/icons/explore_travel.svg +3 -0
  217. package/lib/assets/icons/export_xls_filled.svg +3 -0
  218. package/lib/assets/icons/export_xls_outlined.svg +6 -0
  219. package/lib/assets/icons/external_link.svg +3 -0
  220. package/lib/assets/icons/fast_forward_filled.svg +3 -0
  221. package/lib/assets/icons/fast_forward_outlined.svg +3 -0
  222. package/lib/assets/icons/fast_rewind_filled.svg +3 -0
  223. package/lib/assets/icons/fast_rewind_outlined.svg +3 -0
  224. package/lib/assets/icons/feedback_filled.svg +3 -0
  225. package/lib/assets/icons/feedback_outlined.svg +3 -0
  226. package/lib/assets/icons/file_copy_filled.svg +3 -0
  227. package/lib/assets/icons/file_copy_outlined.svg +3 -0
  228. package/lib/assets/icons/file_download_filled.svg +3 -0
  229. package/lib/assets/icons/file_download_outlined.svg +3 -0
  230. package/lib/assets/icons/file_upload_filled.svg +3 -0
  231. package/lib/assets/icons/file_upload_outlined.svg +3 -0
  232. package/lib/assets/icons/filter.svg +3 -0
  233. package/lib/assets/icons/filter_alt_filled.svg +3 -0
  234. package/lib/assets/icons/filter_alt_off_filled.svg +3 -0
  235. package/lib/assets/icons/filter_alt_off_outlined.svg +3 -0
  236. package/lib/assets/icons/filter_alt_outlined.svg +3 -0
  237. package/lib/assets/icons/filter_off.svg +3 -0
  238. package/lib/assets/icons/fire_filled.svg +3 -0
  239. package/lib/assets/icons/fire_outlined.svg +3 -0
  240. package/lib/assets/icons/first_page.svg +3 -0
  241. package/lib/assets/icons/fit_screen_filled.svg +3 -0
  242. package/lib/assets/icons/fit_screen_outlined.svg +3 -0
  243. package/lib/assets/icons/flag_filled.svg +3 -0
  244. package/lib/assets/icons/flag_outlined.svg +3 -0
  245. package/lib/assets/icons/flash_filled.svg +3 -0
  246. package/lib/assets/icons/flash_off_filled.svg +3 -0
  247. package/lib/assets/icons/flash_off_outlined.svg +3 -0
  248. package/lib/assets/icons/flash_outlined.svg +3 -0
  249. package/lib/assets/icons/folder_add_filled.svg +3 -0
  250. package/lib/assets/icons/folder_add_outlined.svg +3 -0
  251. package/lib/assets/icons/folder_filled.svg +3 -0
  252. package/lib/assets/icons/folder_move_filled.svg +3 -0
  253. package/lib/assets/icons/folder_move_outlined.svg +3 -0
  254. package/lib/assets/icons/folder_open_filled.svg +3 -0
  255. package/lib/assets/icons/folder_open_outlined.svg +3 -0
  256. package/lib/assets/icons/folder_outlined.svg +3 -0
  257. package/lib/assets/icons/folder_shared_filled.svg +3 -0
  258. package/lib/assets/icons/folder_shared_outlined.svg +3 -0
  259. package/lib/assets/icons/forum_filled.svg +3 -0
  260. package/lib/assets/icons/forum_outlined.svg +3 -0
  261. package/lib/assets/icons/forward.svg +3 -0
  262. package/lib/assets/icons/fullscreen.svg +3 -0
  263. package/lib/assets/icons/fullscreen_exit.svg +3 -0
  264. package/lib/assets/icons/group_add_filled.svg +3 -0
  265. package/lib/assets/icons/group_add_outlined.svg +3 -0
  266. package/lib/assets/icons/group_filled.svg +3 -0
  267. package/lib/assets/icons/group_outlined.svg +3 -0
  268. package/lib/assets/icons/groups_filled.svg +3 -0
  269. package/lib/assets/icons/groups_outlined.svg +3 -0
  270. package/lib/assets/icons/handshake_filled.svg +3 -0
  271. package/lib/assets/icons/handshake_outlined.svg +3 -0
  272. package/lib/assets/icons/headphones_filled.svg +3 -0
  273. package/lib/assets/icons/headphones_outlined.svg +3 -0
  274. package/lib/assets/icons/heart_filled.svg +3 -0
  275. package/lib/assets/icons/heart_outlined.svg +3 -0
  276. package/lib/assets/icons/help_filled.svg +3 -0
  277. package/lib/assets/icons/help_outlined.svg +3 -0
  278. package/lib/assets/icons/history.svg +3 -0
  279. package/lib/assets/icons/home_filled.svg +3 -0
  280. package/lib/assets/icons/home_outlined.svg +3 -0
  281. package/lib/assets/icons/hourglass_empty.svg +3 -0
  282. package/lib/assets/icons/hourglass_filled.svg +3 -0
  283. package/lib/assets/icons/hourglass_outlined.svg +3 -0
  284. package/lib/assets/icons/image_broken_filled.svg +3 -0
  285. package/lib/assets/icons/image_broken_outlined.svg +3 -0
  286. package/lib/assets/icons/image_filled.svg +3 -0
  287. package/lib/assets/icons/image_gallery_filled.svg +3 -0
  288. package/lib/assets/icons/image_gallery_outlined.svg +3 -0
  289. package/lib/assets/icons/image_outlined.svg +3 -0
  290. package/lib/assets/icons/inbox_filled.svg +3 -0
  291. package/lib/assets/icons/inbox_outlined.svg +3 -0
  292. package/lib/assets/icons/info_filled.svg +3 -0
  293. package/lib/assets/icons/info_i.svg +3 -0
  294. package/lib/assets/icons/info_outlined.svg +3 -0
  295. package/lib/assets/icons/keep_filled.svg +3 -0
  296. package/lib/assets/icons/keep_off_filled.svg +3 -0
  297. package/lib/assets/icons/keep_off_outlined.svg +3 -0
  298. package/lib/assets/icons/keep_outlined.svg +3 -0
  299. package/lib/assets/icons/label_filled.svg +3 -0
  300. package/lib/assets/icons/label_outlined.svg +3 -0
  301. package/lib/assets/icons/language.svg +3 -0
  302. package/lib/assets/icons/laptop_filled.svg +3 -0
  303. package/lib/assets/icons/laptop_outlined.svg +3 -0
  304. package/lib/assets/icons/last_page.svg +3 -0
  305. package/lib/assets/icons/left_panel_close_filled.svg +3 -0
  306. package/lib/assets/icons/left_panel_close_outlined.svg +3 -0
  307. package/lib/assets/icons/left_panel_open_filled.svg +3 -0
  308. package/lib/assets/icons/left_panel_open_outlined.svg +3 -0
  309. package/lib/assets/icons/light_off_filled.svg +3 -0
  310. package/lib/assets/icons/light_off_outlined.svg +3 -0
  311. package/lib/assets/icons/lightbulb_alt_filled.svg +3 -0
  312. package/lib/assets/icons/lightbulb_alt_outlined.svg +3 -0
  313. package/lib/assets/icons/lightbulb_circle_filled.svg +3 -0
  314. package/lib/assets/icons/lightbulb_circle_outlined.svg +3 -0
  315. package/lib/assets/icons/lightbulb_filled.svg +3 -0
  316. package/lib/assets/icons/lightbulb_outlined.svg +3 -0
  317. package/lib/assets/icons/link.svg +3 -0
  318. package/lib/assets/icons/link_off.svg +3 -0
  319. package/lib/assets/icons/list.svg +3 -0
  320. package/lib/assets/icons/list_alt_filled.svg +3 -0
  321. package/lib/assets/icons/list_alt_outlined.svg +3 -0
  322. package/lib/assets/icons/location_disabled.svg +10 -0
  323. package/lib/assets/icons/location_me_filled.svg +3 -0
  324. package/lib/assets/icons/location_me_outlined.svg +3 -0
  325. package/lib/assets/icons/location_off_filled.svg +3 -0
  326. package/lib/assets/icons/location_off_outlined.svg +3 -0
  327. package/lib/assets/icons/location_on_filled.svg +3 -0
  328. package/lib/assets/icons/location_on_outlined.svg +3 -0
  329. package/lib/assets/icons/lock_filled.svg +3 -0
  330. package/lib/assets/icons/lock_open_filled.svg +3 -0
  331. package/lib/assets/icons/lock_open_outlined.svg +3 -0
  332. package/lib/assets/icons/lock_open_right_filled.svg +3 -0
  333. package/lib/assets/icons/lock_open_right_outlined.svg +3 -0
  334. package/lib/assets/icons/lock_outlined.svg +3 -0
  335. package/lib/assets/icons/login.svg +3 -0
  336. package/lib/assets/icons/logout.svg +3 -0
  337. package/lib/assets/icons/mail_filled.svg +3 -0
  338. package/lib/assets/icons/mail_outlined.svg +3 -0
  339. package/lib/assets/icons/mail_unread_filled.svg +3 -0
  340. package/lib/assets/icons/mail_unread_outlined.svg +3 -0
  341. package/lib/assets/icons/map_filled.svg +3 -0
  342. package/lib/assets/icons/map_outlined.svg +3 -0
  343. package/lib/assets/icons/menu.svg +3 -0
  344. package/lib/assets/icons/menu_open.svg +3 -0
  345. package/lib/assets/icons/mic_filled.svg +3 -0
  346. package/lib/assets/icons/mic_off_filled.svg +3 -0
  347. package/lib/assets/icons/mic_off_outlined.svg +3 -0
  348. package/lib/assets/icons/mic_outlined.svg +3 -0
  349. package/lib/assets/icons/mode_dark_filled.svg +3 -0
  350. package/lib/assets/icons/mode_dark_outlined.svg +3 -0
  351. package/lib/assets/icons/mode_light_filled.svg +10 -0
  352. package/lib/assets/icons/mode_light_outlined.svg +10 -0
  353. package/lib/assets/icons/monitoring.svg +3 -0
  354. package/lib/assets/icons/more_down.svg +3 -0
  355. package/lib/assets/icons/more_horiz.svg +3 -0
  356. package/lib/assets/icons/more_up.svg +3 -0
  357. package/lib/assets/icons/more_vert.svg +3 -0
  358. package/lib/assets/icons/notification_filled.svg +3 -0
  359. package/lib/assets/icons/notification_important_filled.svg +3 -0
  360. package/lib/assets/icons/notification_important_outlined.svg +3 -0
  361. package/lib/assets/icons/notification_off_filled.svg +3 -0
  362. package/lib/assets/icons/notification_off_outlined.svg +3 -0
  363. package/lib/assets/icons/notification_outlined.svg +3 -0
  364. package/lib/assets/icons/notification_unread_filled.svg +3 -0
  365. package/lib/assets/icons/notification_unread_outlined.svg +3 -0
  366. package/lib/assets/icons/ohm.svg +3 -0
  367. package/lib/assets/icons/open_in_full.svg +3 -0
  368. package/lib/assets/icons/palette_filled.svg +3 -0
  369. package/lib/assets/icons/palette_outlined.svg +3 -0
  370. package/lib/assets/icons/paste.svg +3 -0
  371. package/lib/assets/icons/pause_circle_filled.svg +3 -0
  372. package/lib/assets/icons/pause_circle_outlined.svg +3 -0
  373. package/lib/assets/icons/pause_filled.svg +3 -0
  374. package/lib/assets/icons/pause_outlined.svg +3 -0
  375. package/lib/assets/icons/photo_camera_filled.svg +3 -0
  376. package/lib/assets/icons/photo_camera_outlined.svg +3 -0
  377. package/lib/assets/icons/play_circle_filled.svg +3 -0
  378. package/lib/assets/icons/play_circle_outlined.svg +3 -0
  379. package/lib/assets/icons/play_filled.svg +3 -0
  380. package/lib/assets/icons/play_outlined.svg +3 -0
  381. package/lib/assets/icons/play_pause.svg +3 -0
  382. package/lib/assets/icons/power_filled.svg +3 -0
  383. package/lib/assets/icons/power_input.svg +3 -0
  384. package/lib/assets/icons/power_off_filled.svg +3 -0
  385. package/lib/assets/icons/power_off_outlined.svg +3 -0
  386. package/lib/assets/icons/power_outlined.svg +3 -0
  387. package/lib/assets/icons/power_plug.svg +3 -0
  388. package/lib/assets/icons/power_plug_connect_filled.svg +3 -0
  389. package/lib/assets/icons/power_plug_connect_outlined.svg +3 -0
  390. package/lib/assets/icons/power_settings.svg +3 -0
  391. package/lib/assets/icons/power_settings_circle_filled.svg +3 -0
  392. package/lib/assets/icons/power_settings_circle_outlined.svg +3 -0
  393. package/lib/assets/icons/power_solar_filled.svg +3 -0
  394. package/lib/assets/icons/power_solar_outlined.svg +3 -0
  395. package/lib/assets/icons/power_switch_filled.svg +3 -0
  396. package/lib/assets/icons/power_switch_outlined.svg +3 -0
  397. package/lib/assets/icons/power_wind_filled.svg +3 -0
  398. package/lib/assets/icons/power_wind_outlined.svg +3 -0
  399. package/lib/assets/icons/print_filled.svg +3 -0
  400. package/lib/assets/icons/print_outlined.svg +3 -0
  401. package/lib/assets/icons/priority_high.svg +3 -0
  402. package/lib/assets/icons/public.svg +3 -0
  403. package/lib/assets/icons/publish.svg +3 -0
  404. package/lib/assets/icons/question_mark.svg +3 -0
  405. package/lib/assets/icons/radar.svg +3 -0
  406. package/lib/assets/icons/radio_button_empty.svg +3 -0
  407. package/lib/assets/icons/redo.svg +3 -0
  408. package/lib/assets/icons/reload.svg +3 -0
  409. package/lib/assets/icons/remove.svg +3 -0
  410. package/lib/assets/icons/reply.svg +3 -0
  411. package/lib/assets/icons/reply_all.svg +3 -0
  412. package/lib/assets/icons/right_panel_close_filled.svg +3 -0
  413. package/lib/assets/icons/right_panel_close_outlined.svg +3 -0
  414. package/lib/assets/icons/right_panel_open_filled.svg +3 -0
  415. package/lib/assets/icons/right_panel_open_outlined.svg +3 -0
  416. package/lib/assets/icons/route.svg +3 -0
  417. package/lib/assets/icons/save_filled.svg +3 -0
  418. package/lib/assets/icons/save_outlined.svg +3 -0
  419. package/lib/assets/icons/search.svg +3 -0
  420. package/lib/assets/icons/send_filled.svg +3 -0
  421. package/lib/assets/icons/send_outlined.svg +3 -0
  422. package/lib/assets/icons/settings_filled.svg +3 -0
  423. package/lib/assets/icons/settings_outlined.svg +3 -0
  424. package/lib/assets/icons/share_filled.svg +3 -0
  425. package/lib/assets/icons/share_outlined.svg +3 -0
  426. package/lib/assets/icons/side_navigation.svg +3 -0
  427. package/lib/assets/icons/skip_next_filled.svg +3 -0
  428. package/lib/assets/icons/skip_next_outlined.svg +3 -0
  429. package/lib/assets/icons/skip_previous_filled.svg +3 -0
  430. package/lib/assets/icons/skip_previous_outlined.svg +3 -0
  431. package/lib/assets/icons/smartphone_filled.svg +3 -0
  432. package/lib/assets/icons/smartphone_outlined.svg +3 -0
  433. package/lib/assets/icons/sort.svg +3 -0
  434. package/lib/assets/icons/star_filled.svg +3 -0
  435. package/lib/assets/icons/star_outlined.svg +3 -0
  436. package/lib/assets/icons/sticky_note_filled.svg +3 -0
  437. package/lib/assets/icons/sticky_note_outlined.svg +3 -0
  438. package/lib/assets/icons/stop_circle_filled.svg +3 -0
  439. package/lib/assets/icons/stop_circle_outlined.svg +3 -0
  440. package/lib/assets/icons/stop_filled.svg +3 -0
  441. package/lib/assets/icons/stop_outlined.svg +3 -0
  442. package/lib/assets/icons/subtitles_filled.svg +3 -0
  443. package/lib/assets/icons/subtitles_outlined.svg +3 -0
  444. package/lib/assets/icons/support_agent.svg +3 -0
  445. package/lib/assets/icons/swap_horiz.svg +3 -0
  446. package/lib/assets/icons/swap_vert.svg +3 -0
  447. package/lib/assets/icons/text_snippet_filled.svg +3 -0
  448. package/lib/assets/icons/text_snippet_outlined.svg +3 -0
  449. package/lib/assets/icons/timeline.svg +3 -0
  450. package/lib/assets/icons/trash_restore_filled.svg +3 -0
  451. package/lib/assets/icons/trash_restore_outlined.svg +3 -0
  452. package/lib/assets/icons/trending_down.svg +3 -0
  453. package/lib/assets/icons/trending_flat.svg +3 -0
  454. package/lib/assets/icons/trending_up.svg +3 -0
  455. package/lib/assets/icons/tune.svg +3 -0
  456. package/lib/assets/icons/unarchive_filled.svg +3 -0
  457. package/lib/assets/icons/unarchive_outlined.svg +3 -0
  458. package/lib/assets/icons/undo.svg +3 -0
  459. package/lib/assets/icons/upload.svg +3 -0
  460. package/lib/assets/icons/user_add_filled.svg +3 -0
  461. package/lib/assets/icons/user_add_outlined.svg +3 -0
  462. package/lib/assets/icons/user_circle_filled.svg +3 -0
  463. package/lib/assets/icons/user_circle_outlined.svg +3 -0
  464. package/lib/assets/icons/user_filled.svg +3 -0
  465. package/lib/assets/icons/user_outlined.svg +3 -0
  466. package/lib/assets/icons/user_settings_filled.svg +3 -0
  467. package/lib/assets/icons/user_settings_outlined.svg +3 -0
  468. package/lib/assets/icons/verified_filled.svg +3 -0
  469. package/lib/assets/icons/verified_outlined.svg +3 -0
  470. package/lib/assets/icons/video_camera_filled.svg +3 -0
  471. package/lib/assets/icons/video_camera_off_filled.svg +3 -0
  472. package/lib/assets/icons/video_camera_off_outlined.svg +3 -0
  473. package/lib/assets/icons/video_camera_outlined.svg +3 -0
  474. package/lib/assets/icons/video_gallery_filled.svg +3 -0
  475. package/lib/assets/icons/video_gallery_outlined.svg +3 -0
  476. package/lib/assets/icons/view_agenda_filled.svg +3 -0
  477. package/lib/assets/icons/view_agenda_outlined.svg +3 -0
  478. package/lib/assets/icons/view_column_filled.svg +3 -0
  479. package/lib/assets/icons/view_column_outlined.svg +3 -0
  480. package/lib/assets/icons/view_grid_filled.svg +3 -0
  481. package/lib/assets/icons/view_grid_outlined.svg +3 -0
  482. package/lib/assets/icons/view_kanban_filled.svg +3 -0
  483. package/lib/assets/icons/view_kanban_outlined.svg +3 -0
  484. package/lib/assets/icons/view_module_filled.svg +3 -0
  485. package/lib/assets/icons/view_module_outlined.svg +3 -0
  486. package/lib/assets/icons/view_timeline_filled.svg +3 -0
  487. package/lib/assets/icons/view_timeline_outlined.svg +3 -0
  488. package/lib/assets/icons/visibility_hide_filled.svg +3 -0
  489. package/lib/assets/icons/visibility_hide_outlined.svg +3 -0
  490. package/lib/assets/icons/visibility_show_filled.svg +3 -0
  491. package/lib/assets/icons/visibility_show_outlined.svg +3 -0
  492. package/lib/assets/icons/volume_down_filled.svg +3 -0
  493. package/lib/assets/icons/volume_down_outlined.svg +3 -0
  494. package/lib/assets/icons/volume_mute_filled.svg +3 -0
  495. package/lib/assets/icons/volume_mute_outlined.svg +3 -0
  496. package/lib/assets/icons/volume_off_filled.svg +3 -0
  497. package/lib/assets/icons/volume_off_outlined.svg +3 -0
  498. package/lib/assets/icons/volume_up_filled.svg +3 -0
  499. package/lib/assets/icons/volume_up_outlined.svg +3 -0
  500. package/lib/assets/icons/warning_filled.svg +3 -0
  501. package/lib/assets/icons/warning_outlined.svg +3 -0
  502. package/lib/assets/icons/water.svg +3 -0
  503. package/lib/assets/icons/water_alt.svg +3 -0
  504. package/lib/assets/icons/waterdrop_filled.svg +3 -0
  505. package/lib/assets/icons/waterdrop_outlined.svg +3 -0
  506. package/lib/assets/icons/wifi.svg +3 -0
  507. package/lib/assets/icons/wifi_off.svg +3 -0
  508. package/lib/assets/icons/windmill.svg +3 -0
  509. package/lib/assets/icons/zoom_in.svg +3 -0
  510. package/lib/assets/icons/zoom_out.svg +3 -0
  511. package/lib/components/accordion/accordion.component.d.ts +29 -0
  512. package/lib/components/avatar/assets/status/status.component.d.ts +8 -0
  513. package/lib/components/avatar/avatar.component.d.ts +24 -0
  514. package/lib/components/badge/badge.directive.d.ts +1 -1
  515. package/lib/components/button/button.component.d.ts +6 -1
  516. package/lib/components/card/card.component.d.ts +2 -4
  517. package/lib/components/checkbox/checkbox.component.d.ts +2 -1
  518. package/lib/components/chip/chip.component.d.ts +1 -1
  519. package/lib/components/drawer/drawer-trigger/drawer-trigger.directive.d.ts +9 -0
  520. package/lib/components/drawer/drawer.component.d.ts +54 -0
  521. package/lib/components/drawer/drawer.directive.d.ts +60 -0
  522. package/lib/components/drawer/drawer.module.d.ts +8 -0
  523. package/lib/components/icon/icon-map.d.ts +2 -0
  524. package/lib/components/icon/icon.component.d.ts +1 -1
  525. package/lib/components/icon-button/icon-button.component.d.ts +3 -3
  526. package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +2 -2
  527. package/lib/components/popover/popover.component.d.ts +1 -1
  528. package/lib/components/segmented-control/segmented-control.component.d.ts +1 -1
  529. package/lib/components/split-button/split-button.component.d.ts +2 -2
  530. package/lib/components/tag/tag.component.d.ts +2 -2
  531. package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +2 -2
  532. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  533. package/lib/components/treeview/index.d.ts +3 -0
  534. package/lib/components/treeview/treeview-check.service.d.ts +10 -0
  535. package/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.d.ts +10 -0
  536. package/lib/components/treeview/treeview-item/treeview-item.component.d.ts +71 -0
  537. package/lib/components/treeview/treeview-keyboard.service.d.ts +10 -0
  538. package/lib/components/treeview/treeview-selection.service.d.ts +9 -0
  539. package/lib/components/treeview/treeview.component.d.ts +43 -0
  540. package/package.json +2 -2
  541. package/public-api.d.ts +7 -0
@@ -0,0 +1,302 @@
1
+ import { afterNextRender, contentChild, Directive, effect, ElementRef, HostBinding, HostListener, inject, Injector, input, signal, untracked, ViewContainerRef, } from "@angular/core";
2
+ import { DRAWER_TRANSITION_DURATION, getDrawerConfigurationIssues, waitForNextFrame } from "@design-system-rte/core";
3
+ import { ESCAPE_KEY } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
4
+ import { OverlayService } from "../../services/overlay.service";
5
+ import { DrawerComponent } from "./drawer.component";
6
+ import * as i0 from "@angular/core";
7
+ export class DrawerDirective {
8
+ get isResponsiveLayoutHost() {
9
+ return this.rteDrawerPosition() === "responsive";
10
+ }
11
+ get responsiveHostDisplay() {
12
+ return this.rteDrawerPosition() === "responsive" ? "flex" : undefined;
13
+ }
14
+ get responsiveHostFlexDirection() {
15
+ return this.rteDrawerPosition() === "responsive" ? "column" : undefined;
16
+ }
17
+ get responsiveHostMinHeight() {
18
+ return this.rteDrawerPosition() === "responsive" ? "0" : undefined;
19
+ }
20
+ get responsiveHostBoxSizing() {
21
+ return this.rteDrawerPosition() === "responsive" ? "border-box" : undefined;
22
+ }
23
+ static { this.responsiveShellMountMaxAttempts = 12; }
24
+ constructor() {
25
+ this.drawerCompRef = null;
26
+ this.drawerPanelElement = null;
27
+ this.usedOverlay = false;
28
+ this.isOpenProvided = false;
29
+ this.elementRef = inject(ElementRef);
30
+ this.viewContainerRef = inject(ViewContainerRef);
31
+ this.overlayService = inject(OverlayService);
32
+ this.injector = inject(Injector);
33
+ this.drawerContent = contentChild.required("drawerContent");
34
+ this.drawerHeader = contentChild("drawerHeader");
35
+ this.drawerFooter = contentChild("drawerFooter");
36
+ this.drawerContextContent = contentChild("drawerContextContent");
37
+ this.rteDrawerId = input.required();
38
+ this.rteDrawerIsOpen = input(false);
39
+ this.rteDrawerTitle = input();
40
+ this.rteDrawerIcon = input();
41
+ this.rteDrawerIconAppearance = input("outlined");
42
+ this.rteDrawerPosition = input("modal");
43
+ this.rteDrawerWidth = input();
44
+ this.rteDrawerCloseOnOverlayClick = input(false);
45
+ this.rteDrawerPrimaryButtonLabel = input();
46
+ this.rteDrawerSecondaryButtonLabel = input();
47
+ this.rteDrawerIsCollapsible = input(false);
48
+ this.rteDrawerFixedHeader = input(false);
49
+ this.rteDrawerCloseOnEscape = input(false);
50
+ this.rteDrawerIsClosable = input(true);
51
+ this.effectiveOpen = signal(false);
52
+ this.onMouseDown = (mouseEvent) => this.handleClickAway(mouseEvent);
53
+ this.onKeyDown = (keyboardEvent) => this.handleKeydown(keyboardEvent);
54
+ this.scheduleResponsiveShellMount(DrawerDirective.responsiveShellMountMaxAttempts);
55
+ effect(() => {
56
+ this.rteDrawerIsOpen();
57
+ untracked(() => {
58
+ if (this.isOpenProvided) {
59
+ return;
60
+ }
61
+ this.effectiveOpen.set(this.rteDrawerIsOpen());
62
+ this.isOpenProvided = true;
63
+ });
64
+ });
65
+ effect(() => {
66
+ const open = this.effectiveOpen();
67
+ untracked(() => {
68
+ if (open) {
69
+ this.runOpenTransition();
70
+ }
71
+ else {
72
+ this.runCloseTransition();
73
+ }
74
+ });
75
+ }, { allowSignalWrites: true });
76
+ }
77
+ open() {
78
+ if (!this.validateForOpen()) {
79
+ return;
80
+ }
81
+ this.effectiveOpen.set(true);
82
+ }
83
+ close() {
84
+ this.effectiveOpen.set(false);
85
+ }
86
+ scheduleResponsiveShellMount(attemptsRemaining) {
87
+ afterNextRender(() => {
88
+ if (this.rteDrawerPosition() !== "responsive" || this.drawerCompRef) {
89
+ return;
90
+ }
91
+ if (this.validateForOpen()) {
92
+ this.mountDrawer();
93
+ const mountedRef = this.drawerCompRef;
94
+ if (mountedRef === null) {
95
+ return;
96
+ }
97
+ this.syncInputsToDrawer();
98
+ mountedRef.setInput("isOpen", false);
99
+ return;
100
+ }
101
+ if (attemptsRemaining > 1) {
102
+ this.scheduleResponsiveShellMount(attemptsRemaining - 1);
103
+ }
104
+ else {
105
+ console.warn("Drawer: responsive shell could not mount after multiple attempts (content queries may still be empty).");
106
+ }
107
+ }, { injector: this.injector });
108
+ }
109
+ ngAfterContentInit() {
110
+ document.addEventListener("mousedown", this.onMouseDown);
111
+ document.addEventListener("keydown", this.onKeyDown);
112
+ }
113
+ onHostClick(clickEvent) {
114
+ const target = clickEvent.target;
115
+ if (!(target instanceof Node)) {
116
+ return;
117
+ }
118
+ const triggerElement = target instanceof Element ? target.closest("[data-rte-drawer-trigger]") : null;
119
+ if (!triggerElement || !this.elementRef.nativeElement.contains(triggerElement)) {
120
+ return;
121
+ }
122
+ this.open();
123
+ }
124
+ ngOnDestroy() {
125
+ document.removeEventListener("mousedown", this.onMouseDown);
126
+ document.removeEventListener("keydown", this.onKeyDown);
127
+ this.teardownDrawer();
128
+ }
129
+ runOpenTransition() {
130
+ if (!this.validateForOpen()) {
131
+ this.close();
132
+ return;
133
+ }
134
+ if (!this.drawerCompRef) {
135
+ this.mountDrawer();
136
+ }
137
+ if (!this.drawerCompRef) {
138
+ return;
139
+ }
140
+ this.syncInputsToDrawer();
141
+ this.refreshDrawerPanelElement();
142
+ waitForNextFrame(() => {
143
+ this.drawerCompRef?.setInput("isOpen", true);
144
+ this.refreshDrawerPanelElement();
145
+ });
146
+ if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
147
+ document.body.style.overflow = "hidden";
148
+ }
149
+ }
150
+ runCloseTransition() {
151
+ if (!this.drawerCompRef) {
152
+ return;
153
+ }
154
+ this.drawerCompRef.setInput("isOpen", false);
155
+ const keepMounted = this.rteDrawerIsCollapsible() || this.rteDrawerPosition() === "responsive";
156
+ if (!keepMounted) {
157
+ setTimeout(() => this.teardownDrawer(), DRAWER_TRANSITION_DURATION);
158
+ }
159
+ else if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
160
+ document.body.style.overflow = "";
161
+ }
162
+ }
163
+ handleClosed() {
164
+ this.close();
165
+ }
166
+ handleToggle() {
167
+ this.effectiveOpen.update((current) => !current);
168
+ }
169
+ mountDrawer() {
170
+ const position = this.rteDrawerPosition();
171
+ const collapsible = this.rteDrawerIsCollapsible();
172
+ const useOverlay = position === "modal" && !collapsible;
173
+ if (useOverlay) {
174
+ this.drawerCompRef = this.overlayService.create(DrawerComponent, this.viewContainerRef, true);
175
+ this.usedOverlay = true;
176
+ }
177
+ else {
178
+ this.drawerCompRef = this.viewContainerRef.createComponent(DrawerComponent);
179
+ this.usedOverlay = false;
180
+ this.elementRef.nativeElement.appendChild(this.drawerCompRef.location.nativeElement);
181
+ }
182
+ this.drawerCompRef.instance.closed.subscribe(() => {
183
+ this.handleClosed();
184
+ });
185
+ this.drawerCompRef.instance.clickToggle.subscribe(() => {
186
+ this.handleToggle();
187
+ });
188
+ }
189
+ teardownDrawer() {
190
+ if (this.drawerCompRef) {
191
+ this.drawerCompRef.destroy();
192
+ this.drawerCompRef = null;
193
+ }
194
+ if (this.usedOverlay) {
195
+ this.overlayService.destroy();
196
+ this.usedOverlay = false;
197
+ }
198
+ document.body.style.overflow = "";
199
+ this.drawerPanelElement = null;
200
+ }
201
+ syncInputsToDrawer() {
202
+ const componentRef = this.drawerCompRef;
203
+ if (!componentRef) {
204
+ return;
205
+ }
206
+ componentRef.setInput("id", this.rteDrawerId());
207
+ componentRef.setInput("title", this.rteDrawerTitle());
208
+ componentRef.setInput("icon", this.rteDrawerIcon());
209
+ componentRef.setInput("iconAppearance", this.rteDrawerIconAppearance());
210
+ componentRef.setInput("position", this.rteDrawerPosition());
211
+ componentRef.setInput("width", this.rteDrawerWidth());
212
+ componentRef.setInput("closeOnOverlayClick", this.rteDrawerCloseOnOverlayClick());
213
+ componentRef.setInput("primaryButtonLabel", this.rteDrawerPrimaryButtonLabel());
214
+ componentRef.setInput("secondaryButtonLabel", this.rteDrawerSecondaryButtonLabel());
215
+ componentRef.setInput("isCollapsible", this.rteDrawerIsCollapsible());
216
+ componentRef.setInput("fixedHeader", this.rteDrawerFixedHeader());
217
+ componentRef.setInput("closeOnEscape", this.rteDrawerCloseOnEscape());
218
+ componentRef.setInput("isClosable", this.rteDrawerIsClosable());
219
+ componentRef.setInput("modalHostMode", this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible());
220
+ componentRef.setInput("drawerContent", this.drawerContent());
221
+ componentRef.setInput("drawerHeader", this.drawerHeader() ?? null);
222
+ componentRef.setInput("drawerFooter", this.drawerFooter() ?? null);
223
+ componentRef.setInput("drawerContextContent", this.drawerContextContent() ?? null);
224
+ }
225
+ refreshDrawerPanelElement() {
226
+ const root = this.drawerCompRef?.location.nativeElement;
227
+ this.drawerPanelElement = root?.querySelector("[data-drawer-panel]") ?? null;
228
+ }
229
+ validateForOpen() {
230
+ const issues = getDrawerConfigurationIssues({
231
+ hasCustomHeader: !!this.drawerHeader(),
232
+ hasTitle: !!this.rteDrawerTitle(),
233
+ hasCustomFooter: !!this.drawerFooter(),
234
+ hasPrimaryButtonLabel: !!this.rteDrawerPrimaryButtonLabel(),
235
+ position: this.rteDrawerPosition(),
236
+ hasMainContent: !!this.drawerContextContent(),
237
+ });
238
+ if (issues) {
239
+ console.warn(issues);
240
+ return false;
241
+ }
242
+ return true;
243
+ }
244
+ handleKeydown(keyboardEvent) {
245
+ if (!this.effectiveOpen()) {
246
+ return;
247
+ }
248
+ if (keyboardEvent.key === ESCAPE_KEY && this.rteDrawerCloseOnEscape()) {
249
+ keyboardEvent.preventDefault();
250
+ this.close();
251
+ }
252
+ }
253
+ handleClickAway(mouseEvent) {
254
+ if (!this.effectiveOpen()) {
255
+ return;
256
+ }
257
+ if (this.rteDrawerPosition() !== "modal") {
258
+ return;
259
+ }
260
+ if (!this.rteDrawerCloseOnOverlayClick()) {
261
+ return;
262
+ }
263
+ const hostElement = this.elementRef.nativeElement;
264
+ const target = mouseEvent.target;
265
+ if (hostElement.contains(target)) {
266
+ return;
267
+ }
268
+ if (this.drawerPanelElement?.contains(target)) {
269
+ return;
270
+ }
271
+ this.close();
272
+ }
273
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
274
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.14", type: DrawerDirective, isStandalone: true, selector: "[rteDrawer]", inputs: { rteDrawerId: { classPropertyName: "rteDrawerId", publicName: "rteDrawerId", isSignal: true, isRequired: true, transformFunction: null }, rteDrawerIsOpen: { classPropertyName: "rteDrawerIsOpen", publicName: "rteDrawerIsOpen", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerTitle: { classPropertyName: "rteDrawerTitle", publicName: "rteDrawerTitle", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIcon: { classPropertyName: "rteDrawerIcon", publicName: "rteDrawerIcon", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIconAppearance: { classPropertyName: "rteDrawerIconAppearance", publicName: "rteDrawerIconAppearance", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerPosition: { classPropertyName: "rteDrawerPosition", publicName: "rteDrawerPosition", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerWidth: { classPropertyName: "rteDrawerWidth", publicName: "rteDrawerWidth", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerCloseOnOverlayClick: { classPropertyName: "rteDrawerCloseOnOverlayClick", publicName: "rteDrawerCloseOnOverlayClick", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerPrimaryButtonLabel: { classPropertyName: "rteDrawerPrimaryButtonLabel", publicName: "rteDrawerPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerSecondaryButtonLabel: { classPropertyName: "rteDrawerSecondaryButtonLabel", publicName: "rteDrawerSecondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIsCollapsible: { classPropertyName: "rteDrawerIsCollapsible", publicName: "rteDrawerIsCollapsible", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerFixedHeader: { classPropertyName: "rteDrawerFixedHeader", publicName: "rteDrawerFixedHeader", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerCloseOnEscape: { classPropertyName: "rteDrawerCloseOnEscape", publicName: "rteDrawerCloseOnEscape", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIsClosable: { classPropertyName: "rteDrawerIsClosable", publicName: "rteDrawerIsClosable", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class.rte-drawer-host--responsive-layout": "this.isResponsiveLayoutHost", "style.display": "this.responsiveHostDisplay", "style.flex-direction": "this.responsiveHostFlexDirection", "style.min-height": "this.responsiveHostMinHeight", "style.box-sizing": "this.responsiveHostBoxSizing" } }, queries: [{ propertyName: "drawerContent", first: true, predicate: ["drawerContent"], descendants: true, isSignal: true }, { propertyName: "drawerHeader", first: true, predicate: ["drawerHeader"], descendants: true, isSignal: true }, { propertyName: "drawerFooter", first: true, predicate: ["drawerFooter"], descendants: true, isSignal: true }, { propertyName: "drawerContextContent", first: true, predicate: ["drawerContextContent"], descendants: true, isSignal: true }], exportAs: ["rteDrawer"], ngImport: i0 }); }
275
+ }
276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, decorators: [{
277
+ type: Directive,
278
+ args: [{
279
+ selector: "[rteDrawer]",
280
+ exportAs: "rteDrawer",
281
+ standalone: true,
282
+ }]
283
+ }], ctorParameters: () => [], propDecorators: { isResponsiveLayoutHost: [{
284
+ type: HostBinding,
285
+ args: ["class.rte-drawer-host--responsive-layout"]
286
+ }], responsiveHostDisplay: [{
287
+ type: HostBinding,
288
+ args: ["style.display"]
289
+ }], responsiveHostFlexDirection: [{
290
+ type: HostBinding,
291
+ args: ["style.flex-direction"]
292
+ }], responsiveHostMinHeight: [{
293
+ type: HostBinding,
294
+ args: ["style.min-height"]
295
+ }], responsiveHostBoxSizing: [{
296
+ type: HostBinding,
297
+ args: ["style.box-sizing"]
298
+ }], onHostClick: [{
299
+ type: HostListener,
300
+ args: ["click", ["$event"]]
301
+ }] } });
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBRWYsWUFBWSxFQUNaLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3JELE1BQU0sT0FBTyxlQUFlO0lBb0MxQixJQUNjLHNCQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLFlBQVksQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFDYyxxQkFBcUI7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUNjLDJCQUEyQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQ2MsdUJBQXVCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFDYyx1QkFBdUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlFLENBQUM7YUFFdUIsb0NBQStCLEdBQUcsRUFBRSxBQUFMLENBQU07SUFFN0Q7UUE5RFEsa0JBQWEsR0FBeUMsSUFBSSxDQUFDO1FBQzNELHVCQUFrQixHQUF1QixJQUFJLENBQUM7UUFDOUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFZCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsa0JBQWEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUF1QixlQUFlLENBQUMsQ0FBQztRQUM3RSxpQkFBWSxHQUFHLFlBQVksQ0FBdUIsY0FBYyxDQUFDLENBQUM7UUFDbEUsaUJBQVksR0FBRyxZQUFZLENBQXVCLGNBQWMsQ0FBQyxDQUFDO1FBQ2xFLHlCQUFvQixHQUFHLFlBQVksQ0FBdUIsc0JBQXNCLENBQUMsQ0FBQztRQUVsRixnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN4QyxtQkFBYyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDaEMsNEJBQXVCLEdBQUcsS0FBSyxDQUF3QixVQUFVLENBQUMsQ0FBQztRQUNuRSxzQkFBaUIsR0FBRyxLQUFLLENBQWlCLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBQzdDLGlDQUE0QixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNyRCxnQ0FBMkIsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM5QyxrQ0FBNkIsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoRCwyQkFBc0IsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0MseUJBQW9CLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdDLDJCQUFzQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFbkMsa0JBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsZ0JBQVcsR0FBRyxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsY0FBUyxHQUFHLENBQUMsYUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQThCL0YsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGVBQWUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRW5GLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDYixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDeEIsT0FBTztnQkFDVCxDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUNKLEdBQUcsRUFBRTtZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzNCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLDRCQUE0QixDQUFDLGlCQUF5QjtRQUM1RCxlQUFlLENBQ2IsR0FBRyxFQUFFO1lBQ0gsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNwRSxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQXFELENBQUM7Z0JBQzlFLElBQUksVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN4QixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyQyxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLElBQUksQ0FDVix3R0FBd0csQ0FDekcsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBR0QsV0FBVyxDQUFDLFVBQXNCO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDakMsSUFBSSxDQUFDLENBQUMsTUFBTSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDL0UsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFakMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7WUFDMUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLFlBQVksQ0FBQztRQUMvRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO1lBQ2pGLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFeEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDcEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDNUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLFlBQVksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNoRixZQUFZLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7UUFDcEYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUN0RSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFDdEUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUNoRSxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUM5RyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM3RCxZQUFZLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7UUFDbkUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ25FLFlBQVksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUF3QyxDQUFDO1FBQ25GLElBQUksQ0FBQyxrQkFBa0IsR0FBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixDQUF3QixJQUFJLElBQUksQ0FBQztJQUN2RyxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQztZQUMxQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQzNELFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDbEMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUFDLGFBQTRCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksYUFBYSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztZQUN0RSxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsVUFBc0I7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN6QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxDQUFDO1lBQ3pDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUE0QixDQUFDO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFjLENBQUM7UUFDekMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7K0dBOVRVLGVBQWU7bUdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFzQ2Usc0JBQXNCO3NCQURuQyxXQUFXO3VCQUFDLDBDQUEwQztnQkFNekMscUJBQXFCO3NCQURsQyxXQUFXO3VCQUFDLGVBQWU7Z0JBTWQsMkJBQTJCO3NCQUR4QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFNckIsdUJBQXVCO3NCQURwQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNakIsdUJBQXVCO3NCQURwQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFpRi9CLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBhZnRlck5leHRSZW5kZXIsXG4gIENvbXBvbmVudFJlZixcbiAgY29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdW50cmFja2VkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRFJBV0VSX1RSQU5TSVRJT05fRFVSQVRJT04sIGdldERyYXdlckNvbmZpZ3VyYXRpb25Jc3N1ZXMsIHdhaXRGb3JOZXh0RnJhbWUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgRHJhd2VyUG9zaXRpb24gfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRVNDQVBFX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL292ZXJsYXkuc2VydmljZVwiO1xuXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kcmF3ZXIuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbcnRlRHJhd2VyXVwiLFxuICBleHBvcnRBczogXCJydGVEcmF3ZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBkcmF3ZXJDb21wUmVmOiBDb21wb25lbnRSZWY8RHJhd2VyQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGRyYXdlclBhbmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB1c2VkT3ZlcmxheSA9IGZhbHNlO1xuICBwcml2YXRlIGlzT3BlblByb3ZpZGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICByZWFkb25seSBkcmF3ZXJDb250ZW50ID0gY29udGVudENoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24+PihcImRyYXdlckNvbnRlbnRcIik7XG4gIHJlYWRvbmx5IGRyYXdlckhlYWRlciA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oXCJkcmF3ZXJIZWFkZXJcIik7XG4gIHJlYWRvbmx5IGRyYXdlckZvb3RlciA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oXCJkcmF3ZXJGb290ZXJcIik7XG4gIHJlYWRvbmx5IGRyYXdlckNvbnRleHRDb250ZW50ID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PihcImRyYXdlckNvbnRleHRDb250ZW50XCIpO1xuXG4gIHJlYWRvbmx5IHJ0ZURyYXdlcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJc09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJY29uQXBwZWFyYW5jZSA9IGlucHV0PFwib3V0bGluZWRcIiB8IFwiZmlsbGVkXCI+KFwib3V0bGluZWRcIik7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclBvc2l0aW9uID0gaW5wdXQ8RHJhd2VyUG9zaXRpb24+KFwibW9kYWxcIik7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlcldpZHRoID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJDbG9zZU9uT3ZlcmxheUNsaWNrID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBydGVEcmF3ZXJQcmltYXJ5QnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclNlY29uZGFyeUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJc0NvbGxhcHNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBydGVEcmF3ZXJGaXhlZEhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJhd2VyQ2xvc2VPbkVzY2FwZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJhd2VySXNDbG9zYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0aXZlT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvbk1vdXNlRG93biA9IChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLmhhbmRsZUNsaWNrQXdheShtb3VzZUV2ZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBvbktleURvd24gPSAoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlkb3duKGtleWJvYXJkRXZlbnQpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLnJ0ZS1kcmF3ZXItaG9zdC0tcmVzcG9uc2l2ZS1sYXlvdXRcIilcbiAgcHJvdGVjdGVkIGdldCBpc1Jlc3BvbnNpdmVMYXlvdXRIb3N0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwic3R5bGUuZGlzcGxheVwiKVxuICBwcm90ZWN0ZWQgZ2V0IHJlc3BvbnNpdmVIb3N0RGlzcGxheSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCJmbGV4XCIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS5mbGV4LWRpcmVjdGlvblwiKVxuICBwcm90ZWN0ZWQgZ2V0IHJlc3BvbnNpdmVIb3N0RmxleERpcmVjdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCJjb2x1bW5cIiA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcInN0eWxlLm1pbi1oZWlnaHRcIilcbiAgcHJvdGVjdGVkIGdldCByZXNwb25zaXZlSG9zdE1pbkhlaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCIwXCIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS5ib3gtc2l6aW5nXCIpXG4gIHByb3RlY3RlZCBnZXQgcmVzcG9uc2l2ZUhvc3RCb3hTaXppbmcoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydGVEcmF3ZXJQb3NpdGlvbigpID09PSBcInJlc3BvbnNpdmVcIiA/IFwiYm9yZGVyLWJveFwiIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgcmVzcG9uc2l2ZVNoZWxsTW91bnRNYXhBdHRlbXB0cyA9IDEyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZWR1bGVSZXNwb25zaXZlU2hlbGxNb3VudChEcmF3ZXJEaXJlY3RpdmUucmVzcG9uc2l2ZVNoZWxsTW91bnRNYXhBdHRlbXB0cyk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5ydGVEcmF3ZXJJc09wZW4oKTtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlblByb3ZpZGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWZmZWN0aXZlT3Blbi5zZXQodGhpcy5ydGVEcmF3ZXJJc09wZW4oKSk7XG4gICAgICAgIHRoaXMuaXNPcGVuUHJvdmlkZWQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wZW4gPSB0aGlzLmVmZmVjdGl2ZU9wZW4oKTtcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgdGhpcy5ydW5PcGVuVHJhbnNpdGlvbigpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJ1bkNsb3NlVHJhbnNpdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICBvcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy52YWxpZGF0ZUZvck9wZW4oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVmZmVjdGl2ZU9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5lZmZlY3RpdmVPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlUmVzcG9uc2l2ZVNoZWxsTW91bnQoYXR0ZW1wdHNSZW1haW5pbmc6IG51bWJlcik6IHZvaWQge1xuICAgIGFmdGVyTmV4dFJlbmRlcihcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKSAhPT0gXCJyZXNwb25zaXZlXCIgfHwgdGhpcy5kcmF3ZXJDb21wUmVmKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlRm9yT3BlbigpKSB7XG4gICAgICAgICAgdGhpcy5tb3VudERyYXdlcigpO1xuICAgICAgICAgIGNvbnN0IG1vdW50ZWRSZWYgPSB0aGlzLmRyYXdlckNvbXBSZWYgYXMgQ29tcG9uZW50UmVmPERyYXdlckNvbXBvbmVudD4gfCBudWxsO1xuICAgICAgICAgIGlmIChtb3VudGVkUmVmID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3luY0lucHV0c1RvRHJhd2VyKCk7XG4gICAgICAgICAgbW91bnRlZFJlZi5zZXRJbnB1dChcImlzT3BlblwiLCBmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhdHRlbXB0c1JlbWFpbmluZyA+IDEpIHtcbiAgICAgICAgICB0aGlzLnNjaGVkdWxlUmVzcG9uc2l2ZVNoZWxsTW91bnQoYXR0ZW1wdHNSZW1haW5pbmcgLSAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBcIkRyYXdlcjogcmVzcG9uc2l2ZSBzaGVsbCBjb3VsZCBub3QgbW91bnQgYWZ0ZXIgbXVsdGlwbGUgYXR0ZW1wdHMgKGNvbnRlbnQgcXVlcmllcyBtYXkgc3RpbGwgYmUgZW1wdHkpLlwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMub25Nb3VzZURvd24pO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIG9uSG9zdENsaWNrKGNsaWNrRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBjbGlja0V2ZW50LnRhcmdldDtcbiAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2VvZiBOb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgPyB0YXJnZXQuY2xvc2VzdChcIltkYXRhLXJ0ZS1kcmF3ZXItdHJpZ2dlcl1cIikgOiBudWxsO1xuICAgIGlmICghdHJpZ2dlckVsZW1lbnQgfHwgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRyaWdnZXJFbGVtZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5vbk1vdXNlRG93bik7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd24pO1xuICAgIHRoaXMudGVhcmRvd25EcmF3ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuT3BlblRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRm9yT3BlbigpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbXBSZWYpIHtcbiAgICAgIHRoaXMubW91bnREcmF3ZXIoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZHJhd2VyQ29tcFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3luY0lucHV0c1RvRHJhd2VyKCk7XG4gICAgdGhpcy5yZWZyZXNoRHJhd2VyUGFuZWxFbGVtZW50KCk7XG5cbiAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd2VyQ29tcFJlZj8uc2V0SW5wdXQoXCJpc09wZW5cIiwgdHJ1ZSk7XG4gICAgICB0aGlzLnJlZnJlc2hEcmF3ZXJQYW5lbEVsZW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwibW9kYWxcIiAmJiB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwiaGlkZGVuXCI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBydW5DbG9zZVRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbXBSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRyYXdlckNvbXBSZWYuc2V0SW5wdXQoXCJpc09wZW5cIiwgZmFsc2UpO1xuXG4gICAgY29uc3Qga2VlcE1vdW50ZWQgPSB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSB8fCB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiO1xuICAgIGlmICgha2VlcE1vdW50ZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50ZWFyZG93bkRyYXdlcigpLCBEUkFXRVJfVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwibW9kYWxcIiAmJiB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5lZmZlY3RpdmVPcGVuLnVwZGF0ZSgoY3VycmVudCkgPT4gIWN1cnJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3VudERyYXdlcigpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKTtcbiAgICBjb25zdCBjb2xsYXBzaWJsZSA9IHRoaXMucnRlRHJhd2VySXNDb2xsYXBzaWJsZSgpO1xuICAgIGNvbnN0IHVzZU92ZXJsYXkgPSBwb3NpdGlvbiA9PT0gXCJtb2RhbFwiICYmICFjb2xsYXBzaWJsZTtcblxuICAgIGlmICh1c2VPdmVybGF5KSB7XG4gICAgICB0aGlzLmRyYXdlckNvbXBSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZShEcmF3ZXJDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdHJ1ZSk7XG4gICAgICB0aGlzLnVzZWRPdmVybGF5ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcmF3ZXJDb21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChEcmF3ZXJDb21wb25lbnQpO1xuICAgICAgdGhpcy51c2VkT3ZlcmxheSA9IGZhbHNlO1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5kcmF3ZXJDb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuZHJhd2VyQ29tcFJlZi5pbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2VkKCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmF3ZXJDb21wUmVmLmluc3RhbmNlLmNsaWNrVG9nZ2xlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVRvZ2dsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0ZWFyZG93bkRyYXdlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcmF3ZXJDb21wUmVmKSB7XG4gICAgICB0aGlzLmRyYXdlckNvbXBSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5kcmF3ZXJDb21wUmVmID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMudXNlZE92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy51c2VkT3ZlcmxheSA9IGZhbHNlO1xuICAgIH1cbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gXCJcIjtcbiAgICB0aGlzLmRyYXdlclBhbmVsRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHN5bmNJbnB1dHNUb0RyYXdlcigpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmRyYXdlckNvbXBSZWY7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJpZFwiLCB0aGlzLnJ0ZURyYXdlcklkKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcInRpdGxlXCIsIHRoaXMucnRlRHJhd2VyVGl0bGUoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaWNvblwiLCB0aGlzLnJ0ZURyYXdlckljb24oKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaWNvbkFwcGVhcmFuY2VcIiwgdGhpcy5ydGVEcmF3ZXJJY29uQXBwZWFyYW5jZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJwb3NpdGlvblwiLCB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcIndpZHRoXCIsIHRoaXMucnRlRHJhd2VyV2lkdGgoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiY2xvc2VPbk92ZXJsYXlDbGlja1wiLCB0aGlzLnJ0ZURyYXdlckNsb3NlT25PdmVybGF5Q2xpY2soKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwicHJpbWFyeUJ1dHRvbkxhYmVsXCIsIHRoaXMucnRlRHJhd2VyUHJpbWFyeUJ1dHRvbkxhYmVsKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcInNlY29uZGFyeUJ1dHRvbkxhYmVsXCIsIHRoaXMucnRlRHJhd2VyU2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaXNDb2xsYXBzaWJsZVwiLCB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiZml4ZWRIZWFkZXJcIiwgdGhpcy5ydGVEcmF3ZXJGaXhlZEhlYWRlcigpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJjbG9zZU9uRXNjYXBlXCIsIHRoaXMucnRlRHJhd2VyQ2xvc2VPbkVzY2FwZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJpc0Nsb3NhYmxlXCIsIHRoaXMucnRlRHJhd2VySXNDbG9zYWJsZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJtb2RhbEhvc3RNb2RlXCIsIHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKSA9PT0gXCJtb2RhbFwiICYmIHRoaXMucnRlRHJhd2VySXNDb2xsYXBzaWJsZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJDb250ZW50XCIsIHRoaXMuZHJhd2VyQ29udGVudCgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJIZWFkZXJcIiwgdGhpcy5kcmF3ZXJIZWFkZXIoKSA/PyBudWxsKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJGb290ZXJcIiwgdGhpcy5kcmF3ZXJGb290ZXIoKSA/PyBudWxsKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJDb250ZXh0Q29udGVudFwiLCB0aGlzLmRyYXdlckNvbnRleHRDb250ZW50KCkgPz8gbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hEcmF3ZXJQYW5lbEVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuZHJhd2VyQ29tcFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRyYXdlclBhbmVsRWxlbWVudCA9IChyb290Py5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtZHJhd2VyLXBhbmVsXVwiKSBhcyBIVE1MRWxlbWVudCB8IG51bGwpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRm9yT3BlbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc3N1ZXMgPSBnZXREcmF3ZXJDb25maWd1cmF0aW9uSXNzdWVzKHtcbiAgICAgIGhhc0N1c3RvbUhlYWRlcjogISF0aGlzLmRyYXdlckhlYWRlcigpLFxuICAgICAgaGFzVGl0bGU6ICEhdGhpcy5ydGVEcmF3ZXJUaXRsZSgpLFxuICAgICAgaGFzQ3VzdG9tRm9vdGVyOiAhIXRoaXMuZHJhd2VyRm9vdGVyKCksXG4gICAgICBoYXNQcmltYXJ5QnV0dG9uTGFiZWw6ICEhdGhpcy5ydGVEcmF3ZXJQcmltYXJ5QnV0dG9uTGFiZWwoKSxcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCksXG4gICAgICBoYXNNYWluQ29udGVudDogISF0aGlzLmRyYXdlckNvbnRleHRDb250ZW50KCksXG4gICAgfSk7XG4gICAgaWYgKGlzc3Vlcykge1xuICAgICAgY29uc29sZS53YXJuKGlzc3Vlcyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlkb3duKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWZmZWN0aXZlT3BlbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChrZXlib2FyZEV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSAmJiB0aGlzLnJ0ZURyYXdlckNsb3NlT25Fc2NhcGUoKSkge1xuICAgICAga2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2tBd2F5KG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWZmZWN0aXZlT3BlbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgIT09IFwibW9kYWxcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucnRlRHJhd2VyQ2xvc2VPbk92ZXJsYXlDbGljaygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXQgPSBtb3VzZUV2ZW50LnRhcmdldCBhcyBOb2RlO1xuICAgIGlmIChob3N0RWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmRyYXdlclBhbmVsRWxlbWVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { DrawerTriggerDirective } from "./drawer-trigger/drawer-trigger.directive";
3
+ import { DrawerDirective } from "./drawer.directive";
4
+ import * as i0 from "@angular/core";
5
+ export class DrawerModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, imports: [DrawerDirective, DrawerTriggerDirective], exports: [DrawerDirective, DrawerTriggerDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [DrawerDirective, DrawerTriggerDirective],
14
+ exports: [DrawerDirective, DrawerTriggerDirective],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU1yRCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksWUFIYixlQUFlLEVBQUUsc0JBQXNCLGFBQ3ZDLGVBQWUsRUFBRSxzQkFBc0I7Z0hBRXRDLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBEcmF3ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJhd2VyLXRyaWdnZXIvZHJhd2VyLXRyaWdnZXIuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBEcmF3ZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9kcmF3ZXIuZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEcmF3ZXJEaXJlY3RpdmUsIERyYXdlclRyaWdnZXJEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRHJhd2VyRGlyZWN0aXZlLCBEcmF3ZXJUcmlnZ2VyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyTW9kdWxlIHt9XG4iXX0=
@@ -193,7 +193,7 @@ export class DropdownItemComponent {
193
193
  this.destroySubMenu();
194
194
  }
195
195
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: DropdownItemComponent, isStandalone: true, selector: "rte-dropdown-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", submenuRequest: "submenuRequest" }, ngImport: i0, template: "<ng-container>\n <li\n #itemRef\n class=\"rte-dropdown-item\"\n role=\"menuitem\"\n tabindex=\"0\"\n [attr.data-disabled]=\"item()?.disabled\"\n [attr.data-active]=\"hasChildren() ? subMenuOpen() : item()?.selected\"\n [attr.aria-haspopup]=\"hasChildren() ? 'menu' : null\"\n [attr.aria-expanded]=\"hasChildren() ? subMenuOpen() : null\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n (focus)=\"handleFocus()\"\n >\n <rte-checkbox\n *ngIf=\"item()?.hasCheckbox\"\n [label]=\"item()?.label ?? ''\"\n [id]=\"menuId() + ':' + item()?.id\"\n [checked]=\"item()?.selected ?? false\"\n [disabled]=\"item()?.disabled ?? false\"\n [showLabel]=\"false\"\n [indeterminate]=\"item()?.isIndeterminate ?? false\"\n ></rte-checkbox>\n <span *ngIf=\"item()?.hasIndent && !item()?.leftIcon\" style=\"width: 20px\"></span>\n <rte-icon *ngIf=\"item()?.leftIcon\" [name]=\"item()?.leftIcon ?? ''\" />\n <ng-container [ngSwitch]=\"!!item()?.link\">\n <a *ngSwitchCase=\"true\" style=\"flex: 2; text-decoration: none; color: inherit\" [href]=\"item()?.link\"\n >{{ item()?.label }}\n </a>\n <span *ngSwitchDefault style=\"flex: 2\">{{ item()?.label }}</span>\n </ng-container>\n <rte-icon *ngIf=\"hasChildren()\" name=\"arrow-chevron-right\" />\n <div *ngIf=\"item()?.trailingText\">{{ item()?.trailingText }}</div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [badgeType]=\"item()?.badgeType!\"\n [badgeContent]=\"item()?.badgeContent!\"\n [count]=\"item()?.badgeCount\"\n [simpleBadge]=\"true\"\n [icon]=\"item()?.badgeIcon ?? ''\"\n [badgeSize]=\"item()?.badgeSize!\"\n ></rte-badge>\n </li>\n <div *ngIf=\"item()?.hasSeparator\" class=\"dropdown-divider\">\n <rte-divider />\n </div>\n</ng-container>\n", styles: [".rte-dropdown-item{font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;color:var(--content-secondary);display:flex;height:40px;padding:8px 12px;align-items:center;gap:12px;align-self:stretch;cursor:pointer;box-sizing:border-box}.rte-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-dropdown-item:hover{background-color:var(--background-hover)}.rte-dropdown-item[data-disabled=true]{cursor:not-allowed;color:var(--content-disabled);background:var(--background-disabled)}.rte-dropdown-item[data-active=true]{background-color:var(--background-brand-inverse-pressed)}.rte-dropdown-item:focus-visible{outline:none;background-color:var(--background-hover)}.dropdown-divider{width:100%;padding:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge", "withPlusSign"] }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked"] }] }); }
196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: DropdownItemComponent, isStandalone: true, selector: "rte-dropdown-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", submenuRequest: "submenuRequest" }, ngImport: i0, template: "<ng-container>\n <li\n #itemRef\n class=\"rte-dropdown-item\"\n role=\"menuitem\"\n tabindex=\"0\"\n [attr.data-disabled]=\"item()?.disabled\"\n [attr.data-active]=\"hasChildren() ? subMenuOpen() : item()?.selected\"\n [attr.aria-haspopup]=\"hasChildren() ? 'menu' : null\"\n [attr.aria-expanded]=\"hasChildren() ? subMenuOpen() : null\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n (focus)=\"handleFocus()\"\n >\n <rte-checkbox\n *ngIf=\"item()?.hasCheckbox\"\n [label]=\"item()?.label ?? ''\"\n [id]=\"menuId() + ':' + item()?.id\"\n [checked]=\"item()?.selected ?? false\"\n [disabled]=\"item()?.disabled ?? false\"\n [showLabel]=\"false\"\n [indeterminate]=\"item()?.isIndeterminate ?? false\"\n ></rte-checkbox>\n <span *ngIf=\"item()?.hasIndent && !item()?.leftIcon\" style=\"width: 20px\"></span>\n <rte-icon *ngIf=\"item()?.leftIcon\" [name]=\"item()?.leftIcon ?? ''\" />\n <ng-container [ngSwitch]=\"!!item()?.link\">\n <a *ngSwitchCase=\"true\" style=\"flex: 2; text-decoration: none; color: inherit\" [href]=\"item()?.link\"\n >{{ item()?.label }}\n </a>\n <span *ngSwitchDefault style=\"flex: 2\">{{ item()?.label }}</span>\n </ng-container>\n <rte-icon *ngIf=\"hasChildren()\" name=\"arrow-chevron-right\" />\n <div *ngIf=\"item()?.trailingText\">{{ item()?.trailingText }}</div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [badgeType]=\"item()?.badgeType!\"\n [badgeContent]=\"item()?.badgeContent!\"\n [count]=\"item()?.badgeCount\"\n [simpleBadge]=\"true\"\n [icon]=\"item()?.badgeIcon ?? ''\"\n [badgeSize]=\"item()?.badgeSize!\"\n ></rte-badge>\n </li>\n <div *ngIf=\"item()?.hasSeparator\" class=\"dropdown-divider\">\n <rte-divider />\n </div>\n</ng-container>\n", styles: [".rte-dropdown-item{font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;color:var(--content-secondary);display:flex;height:40px;padding:8px 12px;align-items:center;gap:12px;align-self:stretch;cursor:pointer;box-sizing:border-box}.rte-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-dropdown-item:hover{background-color:var(--background-hover)}.rte-dropdown-item[data-disabled=true]{cursor:not-allowed;color:var(--content-disabled);background:var(--background-disabled)}.rte-dropdown-item[data-active=true]{background-color:var(--background-brand-inverse-pressed)}.rte-dropdown-item:focus-visible{outline:none;background-color:var(--background-hover)}.dropdown-divider{width:100%;padding:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge", "withPlusSign"] }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked", "tabindex"] }] }); }
197
197
  }
198
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, decorators: [{
199
199
  type: Component,
@@ -20,6 +20,7 @@ export const RegularIcons = {
20
20
  "arrow-chevron-left": "arrow_chevron_left",
21
21
  "arrow-chevron-right": "arrow_chevron_right",
22
22
  "arrow-chevron-up": "arrow_chevron_up",
23
+ "arrow-compare": "arrow_compare",
23
24
  "arrow-double-down": "arrow_double_down",
24
25
  "arrow-double-left": "arrow_double_left",
25
26
  "arrow-double-right": "arrow_double_right",
@@ -50,6 +51,7 @@ export const RegularIcons = {
50
51
  "check-small": "check_small",
51
52
  "checkbox-empty": "checkbox_empty",
52
53
  "close": "close",
54
+ "company": "company",
53
55
  "compare": "compare",
54
56
  "copy-all": "copy_all",
55
57
  "crisis-alert": "crisis_alert",
@@ -309,4 +311,4 @@ export const TogglableIcons = {
309
311
  export function isValidIconName(iconName) {
310
312
  return isValidIconNameShared(iconName, RegularIcons, TogglableIcons);
311
313
  }
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUUsZUFBZSxJQUFJLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFOUcsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLFdBQVc7SUFDeEIsTUFBTSxFQUFFLE1BQU07SUFDZCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMscUJBQXFCLEVBQUUscUJBQXFCO0lBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLGNBQWMsRUFBRSxjQUFjO0lBQzlCLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMsdUJBQXVCLEVBQUUsdUJBQXVCO0lBQ2hELHdCQUF3QixFQUFFLHdCQUF3QjtJQUNsRCxxQkFBcUIsRUFBRSxxQkFBcUI7SUFDNUMsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMscUJBQXFCLEVBQUUscUJBQXFCO0lBQzVDLGtCQUFrQixFQUFFLGtCQUFrQjtJQUN0QyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQ3hDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQyxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsWUFBWSxFQUFFLFlBQVk7SUFDMUIsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLGtCQUFrQixFQUFFLGtCQUFrQjtJQUN0QyxpQkFBaUIs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QUUsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztJQUM3RCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQztJQUMxRCxXQUFXLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztJQUN2RCxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNqRCxXQUFXLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztDQUN4RCxDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUFnQjtJQUM5QyxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRG8gbm90IGVkaXQgbWFudWFsbHkuXG5cbmltcG9ydCB7IGlzVmFsaWRJY29uTmFtZSBhcyBpc1ZhbGlkSWNvbk5hbWVTaGFyZWQgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9pY29uL2ljb24tdXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IFJlZ3VsYXJJY29ucyA9IHtcbiAgXCJhZGRcIjogXCJhZGRcIixcbiAgXCJhbHQtcm91dGVcIjogXCJhbHRfcm91dGVcIixcbiAgXCJhcHBzXCI6IFwiYXBwc1wiLFxuICBcImFycm93LWFsdC1kb3duXCI6IFwiYXJyb3dfYWx0X2Rvd25cIixcbiAgXCJhcnJvdy1hbHQtZG93bi1sZWZ0XCI6IFwiYXJyb3dfYWx0X2Rvd25fbGVmdFwiLFxuICBcImFycm93LWFsdC1kb3duLXJpZ2h0XCI6IFwiYXJyb3dfYWx0X2Rvd25fcmlnaHRcIixcbiAgXCJhcnJvdy1hbHQtbGVmdFwiOiBcImFycm93X2FsdF9sZWZ0XCIsXG4gIFwiYXJyb3ctYWx0LXJpZ2h0XCI6IFwiYXJyb3dfYWx0X3JpZ2h0XCIsXG4gIFwiYXJyb3ctYWx0LXVwXCI6IFwiYXJyb3dfYWx0X3VwXCIsXG4gIFwiYXJyb3ctYWx0LXVwLWxlZnRcIjogXCJhcnJvd19hbHRfdXBfbGVmdFwiLFxuICBcImFycm93LWFsdC11cC1yaWdodFwiOiBcImFycm93X2FsdF91cF9yaWdodFwiLFxuICBcImFycm93LWFuZ2xlLWRvd24tbGVmdFwiOiBcImFycm93X2FuZ2xlX2Rvd25fbGVmdFwiLFxuICBcImFycm93LWFuZ2xlLWRvd24tcmlnaHRcIjogXCJhcnJvd19hbmdsZV9kb3duX3JpZ2h0XCIsXG4gIFwiYXJyb3ctYW5nbGUtdXAtbGVmdFwiOiBcImFycm93X2FuZ2xlX3VwX2xlZnRcIixcbiAgXCJhcnJvdy1hbmdsZS11cC1yaWdodFwiOiBcImFycm93X2FuZ2xlX3VwX3JpZ2h0XCIsXG4gIFwiYXJyb3ctY2hldnJvbi1kb3duXCI6IFwiYXJyb3dfY2hldnJvbl9kb3duXCIsXG4gIFwiYXJyb3ctY2hldnJvbi1sZWZ0XCI6IFwiYXJyb3dfY2hldnJvbl9sZWZ0XCIsXG4gIFwiYXJyb3ctY2hldnJvbi1yaWdodFwiOiBcImFycm93X2NoZXZyb25fcmlnaHRcIixcbiAgXCJhcnJvdy1jaGV2cm9uLXVwXCI6IFwiYXJyb3dfY2hldnJvbl91cFwiLFxuICBcImFycm93LWRvdWJsZS1kb3duXCI6IFwiYXJyb3dfZG91YmxlX2Rvd25cIixcbiAgXCJhcnJvdy1kb3VibGUtbGVmdFwiOiBcImFycm93X2RvdWJsZV9sZWZ0XCIsXG4gIFwiYXJyb3ctZG91YmxlLXJpZ2h0XCI6IFwiYXJyb3dfZG91YmxlX3JpZ2h0XCIsXG4gIFwiYXJyb3ctZG91YmxlLXVwXCI6IFwiYXJyb3dfZG91YmxlX3VwXCIsXG4gIFwiYXJyb3ctZG93blwiOiBcImFycm93X2Rvd25cIixcbiAgXCJhcnJvdy1kb3duLWxlZnRcIjogXCJhcnJvd19kb3duX2xlZnRcIixcbiAgXCJhcnJvdy1kb3duLXJpZ2h0XCI6IFwiYXJyb3dfZG93bl9yaWdodFwiLFxuICBcImFycm93LWRyb3AtZG93blwiOiBcImFycm93X2Ryb3BfZG93blwiLFxuICBcImFycm93LWRyb3AtdXBcIjogXCJhcnJvd19kcm9wX3VwXCIsXG4gIFwiYXJyb3ctbGVmdFwiOiBcImFycm93X2xlZnRcIixcbiAgXCJhcnJvdy1yaWdodFwiOiBcImFycm93X3JpZ2h0XCIsXG4gIFwiYXJyb3ctdXBcIjogXCJhcnJvd191cFwiLFxuICBcImFycm93LXVwLWxlZnRcIjogXCJhcnJvd191cF9sZWZ0XCIsXG4gIFwiYXJyb3ctdXAtcmlnaHRcIjogXCJhcnJvd191cF9yaWdodFwiLFxuICBcImFzdGVyaXNrXCI6IFwiYXN0ZXJpc2tcIixcbiAgXCJhdHRhY2gtZmlsZVwiOiBcImF0dGFjaF9maWxlXCIsXG4gIFwiYmF0dGVyeS1hbHQtZW1wdHlcIjogXCJiYXR0ZXJ5X2FsdF9lbXB0eVwiLFxuICBcImJhdHRlcnktYWx0LWZ1bGxcIjogXCJiYXR0ZXJ5X2FsdF9mdWxsXCIsXG4gIFwiYmF0dGVyeS1jaGFyZ2luZ1wiOiBcImJhdHRlcnlfY2hhcmdpbmdcIixcbiAgXCJiYXR0ZXJ5LWVtcHR5XCI6IFwiYmF0dGVyeV9lbXB0eVwiLFxuICBcImJhdHRlcnktZnVsbFwiOiBcImJhdHRlcnlfZnVsbFwiLFxuICBcImJsdWV0b290aFwiOiBcImJsdWV0b290aFwiLFxuICBcImJsdWV0b290aC1vZmZcIjogXCJibHVldG9vdGhfb2ZmXCIsXG4gIFwiY2hhcnQtYmFyXCI6IFwiY2hhcnRfYmFyXCIsXG4gIFwiY2hhcnQtYmFyLXN0YWNrZWRcIjogXCJjaGFydF9iYXJfc3RhY2tlZFwiLFxuICBcImNoZWNrXCI6IFwiY2hlY2tcIixcbiAgXCJjaGVjay1pbmRldGVybWluYXRlXCI6IFwiY2hlY2tfaW5kZXRlcm1pbmF0ZVwiLFxuICBcImNoZWNrLXNtYWxsXCI6IFwiY2hlY2tfc21hbGxcIixcbiAgXCJjaGVja2JveC1lbXB0eVwiOiBcImNoZWNrYm94X2VtcHR5XCIsXG4gIFwiY2xvc2VcIjogXCJjbG9zZVwiLFxuICBcImNvbXBhcmVcIjogXCJjb21wYXJlXCIsXG4gIFwiY29weS1hbGxcIjogXCJjb3B5X2FsbFwiLFxuICBcImNyaXNpcy1hbGVydFwiOiBcImNyaXNpc19hbGVydFwiLFxuICBcImN1dFwiOiBcImN1dFwiLFxuICBcImRvd25sb2FkXCI6IFwiZG93bmxvYWRcIixcbiAgXCJkb3dubG9hZC1kb25lXCI6IFwiZG93bmxvYWRfZG9uZVwiLFxuICBcImRyYWctaGFuZGxlXCI6IFwiZHJhZ19oYW5kbGVcIixcbiAgXCJkcmFnLWluZGljYXRvclwiOiBcImRyYWdfaW5kaWNhdG9yXCIsXG4gIFwiZXhjbGFtYXRpb25cIjogXCJleGNsYW1hdGlvblwiLFxuICBcImV4cGxvcmUtdHJhdmVsXCI6IFwiZXhwbG9yZV90cmF2ZWxcIixcbiAgXCJleHRlcm5hbC1saW5rXCI6IFwiZXh0ZXJuYWxfbGlua1wiLFxuICBcImZpbHRlclwiOiBcImZpbHRlclwiLFxuICBcImZpbHRlci1vZmZcIjogXCJmaWx0ZXJfb2ZmXCIsXG4gIFwiZmlyc3QtcGFnZVwiOiBcImZpcnN0X3BhZ2VcIixcbiAgXCJmb3J3YXJkXCI6IFwiZm9yd2FyZFwiLFxuICBcImZ1bGxzY3JlZW5cIjogXCJmdWxsc2NyZWVuXCIsXG4gIFwiZnVsbHNjcmVlbi1leGl0XCI6IFwiZnVsbHNjcmVlbl9leGl0XCIsXG4gIFwiaGlzdG9yeVwiOiBcImhpc3RvcnlcIixcbiAgXCJob3VyZ2xhc3MtZW1wdHlcIjogXCJob3VyZ2xhc3NfZW1wdHlcIixcbiAgXCJpbmZvLWlcIjogXCJpbmZvX2lcIixcbiAgXCJsYW5ndWFnZVwiOiBcImxhbmd1YWdlXCIsXG4gIFwibGFzdC1wYWdlXCI6IFwibGFzdF9wYWdlXCIsXG4gIFwibGlua1wiOiBcImxpbmtcIixcbiAgXCJsaW5rLW9mZlwiOiBcImxpbmtfb2ZmXCIsXG4gIFwibGlzdFwiOiBcImxpc3RcIixcbiAgXCJsb2NhdGlvbi1kaXNhYmxlZFwiOiBcImxvY2F0aW9uX2Rpc2FibGVkXCIsXG4gIFwibG9naW5cIjogXCJsb2dpblwiLFxuICBcImxvZ291dFwiOiBcImxvZ291dFwiLFxuICBcIm1lbnVcIjogXCJtZW51XCIsXG4gIFwibWVudS1vcGVuXCI6IFwibWVudV9vcGVuXCIsXG4gIFwibW9uaXRvcmluZ1wiOiBcIm1vbml0b3JpbmdcIixcbiAgXCJtb3JlLWRvd25cIjogXCJtb3JlX2Rvd25cIixcbiAgXCJtb3JlLWhvcml6XCI6IFwibW9yZV9ob3JpelwiLFxuICBcIm1vcmUtdXBcIjogXCJtb3JlX3VwXCIsXG4gIFwibW9yZS12ZXJ0XCI6IFwibW9yZV92ZXJ0XCIsXG4gIFwib2htXCI6IFwib2htXCIsXG4gIFwib3Blbi1pbi1mdWxsXCI6IFwib3Blbl9pbl9mdWxsXCIsXG4gIFwicGFzdGVcIjogXCJwYXN0ZVwiLFxuICBcInBsYXktcGF1c2VcIjogXCJwbGF5X3BhdXNlXCIsXG4gIFwicG93ZXItaW5wdXRcIjogXCJwb3dlcl9pbnB1dFwiLFxuICBcInBvd2VyLXBsdWdcIjogXCJwb3dlcl9wbHVnXCIsXG4gIFwicG93ZXItc2V0dGluZ3NcIjogXCJwb3dlcl9zZXR0aW5nc1wiLFxuICBcInByaW9yaXR5LWhpZ2hcIjogXCJwcmlvcml0eV9oaWdoXCIsXG4gIFwicHVibGljXCI6IFwicHVibGljXCIsXG4gIFwicHVibGlzaFwiOiBcInB1Ymxpc2hcIixcbiAgXCJxdWVzdGlvbi1tYXJrXCI6IFwicXVlc3Rpb25fbWFya1wiLFxuICBcInJhZGFyXCI6IFwicmFkYXJcIixcbiAgXCJyYWRpby1idXR0b24tZW1wdHlcIjogXCJyYWRpb19idXR0b25fZW1wdHlcIixcbiAgXCJyZWRvXCI6IFwicmVkb1wiLFxuICBcInJlbG9hZFwiOiBcInJlbG9hZFwiLFxuICBcInJlbW92ZVwiOiBcInJlbW92ZVwiLFxuICBcInJlcGx5XCI6IFwicmVwbHlcIixcbiAgXCJyZXBseS1hbGxcIjogXCJyZXBseV9hbGxcIixcbiAgXCJyb3V0ZVwiOiBcInJvdXRlXCIsXG4gIFwic2VhcmNoXCI6IFwic2VhcmNoXCIsXG4gIFwic2lkZS1uYXZpZ2F0aW9uXCI6IFwic2lkZV9uYXZpZ2F0aW9uXCIsXG4gIFwic29ydFwiOiBcInNvcnRcIixcbiAgXCJzdXBwb3J0LWFnZW50XCI6IFwic3VwcG9ydF9hZ2VudFwiLFxuICBcInN3YXAtaG9yaXpcIjogXCJzd2FwX2hvcml6XCIsXG4gIFwic3dhcC12ZXJ0XCI6IFwic3dhcF92ZXJ0XCIsXG4gIFwidGltZWxpbmVcIjogXCJ0aW1lbGluZVwiLFxuICBcInRyZW5kaW5nLWRvd25cIjogXCJ0cmVuZGluZ19kb3duXCIsXG4gIFwidHJlbmRpbmctZmxhdFwiOiBcInRyZW5kaW5nX2ZsYXRcIixcbiAgXCJ0cmVuZGluZy11cFwiOiBcInRyZW5kaW5nX3VwXCIsXG4gIFwidHVuZVwiOiBcInR1bmVcIixcbiAgXCJ1bmRvXCI6IFwidW5kb1wiLFxuICBcInVwbG9hZFwiOiBcInVwbG9hZFwiLFxuICBcIndhdGVyXCI6IFwid2F0ZXJcIixcbiAgXCJ3YXRlci1hbHRcIjogXCJ3YXRlcl9hbHRcIixcbiAgXCJ3aWZpXCI6IFwid2lmaVwiLFxuICBcIndpZmktb2ZmXCI6IFwid2lmaV9vZmZcIixcbiAgXCJ3aW5kbWlsbFwiOiBcIndpbmRtaWxsXCIsXG4gIFwiem9vbS1pblwiOiBcInpvb21faW5cIixcbiAgXCJ6b29tLW91dFwiOiBcInpvb21fb3V0XCIsXG59O1xuXG5leHBvcnQgY29uc3QgVG9nZ2xhYmxlSWNvbnMgPSB7XG4gIFwiYWRkLWNpcmNsZVwiOiBbXCJhZGRfY2lyY2xlX291dGxpbmVkXCIsIFwiYWRkX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwiYWRtaW4tcGFuZWwtc2V0dGluZ3NcIjogW1wiYWRtaW5fcGFuZWxfc2V0dGluZ3Nfb3V0bGluZWRcIiwgXCJhZG1pbl9wYW5lbF9zZXR0aW5nc19maWxsZWRcIl0sXG4gIFwiYW5hbHl0aWNzXCI6IFtcImFuYWx5dGljc19vdXRsaW5lZFwiLCBcImFuYWx5dGljc19maWxsZWRcIl0sXG4gIFwiYXJjaGl2ZVwiOiBbXCJhcmNoaXZlX291dGxpbmVkXCIsIFwiYXJjaGl2ZV9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWNoZXZyb24tZG93blwiOiBbXCJhcnJvd19jaXJjbGVfY2hldnJvbl9kb3duX291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2NoZXZyb25fZG93bl9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWNoZXZyb24tbGVmdFwiOiBbXCJhcnJvd19jaXJjbGVfY2hldnJvbl9sZWZ0X291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2NoZXZyb25fbGVmdF9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWNoZXZyb24tcmlnaHRcIjogW1wiYXJyb3dfY2lyY2xlX2NoZXZyb25fcmlnaHRfb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfY2hldnJvbl9yaWdodF9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWNoZXZyb24tdXBcIjogW1wiYXJyb3dfY2lyY2xlX2NoZXZyb25fdXBfb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfY2hldnJvbl91cF9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWRvd25cIjogW1wiYXJyb3dfY2lyY2xlX2Rvd25fb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfZG93bl9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLWxlZnRcIjogW1wiYXJyb3dfY2lyY2xlX2xlZnRfb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfbGVmdF9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLXJpZ2h0XCI6IFtcImFycm93X2NpcmNsZV9yaWdodF9vdXRsaW5lZFwiLCBcImFycm93X2NpcmNsZV9yaWdodF9maWxsZWRcIl0sXG4gIFwiYXJyb3ctY2lyY2xlLXVwXCI6IFtcImFycm93X2NpcmNsZV91cF9vdXRsaW5lZFwiLCBcImFycm93X2NpcmNsZV91cF9maWxsZWRcIl0sXG4gIFwiYXJ0aWNsZVwiOiBbXCJhcnRpY2xlX291dGxpbmVkXCIsIFwiYXJ0aWNsZV9maWxsZWRcIl0sXG4gIFwiYXNzaWdubWVudC1jb21wbGV0ZVwiOiBbXCJhc3NpZ25tZW50X2NvbXBsZXRlX291dGxpbmVkXCIsIFwiYXNzaWdubWVudF9jb21wbGV0ZV9maWxsZWRcIl0sXG4gIFwiYXNzaWdubWVudFwiOiBbXCJhc3NpZ25tZW50X291dGxpbmVkXCIsIFwiYXNzaWdubWVudF9maWxsZWRcIl0sXG4gIFwiYmF0dGVyeS1hbGVydFwiOiBbXCJiYXR0ZXJ5X2FsZXJ0X291dGxpbmVkXCIsIFwiYmF0dGVyeV9hbGVydF9maWxsZWRcIl0sXG4gIFwiYmF0dGVyeS1jaGFyZ2luZy1mdWxsXCI6IFtcImJhdHRlcnlfY2hhcmdpbmdfZnVsbF9vdXRsaW5lZFwiLCBcImJhdHRlcnlfY2hhcmdpbmdfZnVsbF9maWxsZWRcIl0sXG4gIFwiYm9sdC1hbHQtY2lyY2xlXCI6IFtcImJvbHRfYWx0X2NpcmNsZV9vdXRsaW5lZFwiLCBcImJvbHRfYWx0X2NpcmNsZV9maWxsZWRcIl0sXG4gIFwiYm9sdC1hbHRcIjogW1wiYm9sdF9hbHRfb3V0bGluZWRcIiwgXCJib2x0X2FsdF9maWxsZWRcIl0sXG4gIFwiYm9sdC1jaXJjbGVcIjogW1wiYm9sdF9jaXJjbGVfb3V0bGluZWRcIiwgXCJib2x0X2NpcmNsZV9maWxsZWRcIl0sXG4gIFwiYm9sdFwiOiBbXCJib2x0X291dGxpbmVkXCIsIFwiYm9sdF9maWxsZWRcIl0sXG4gIFwiYm9va21hcmtcIjogW1wiYm9va21hcmtfb3V0bGluZWRcIiwgXCJib29rbWFya19maWxsZWRcIl0sXG4gIFwiYm9va21hcmtzXCI6IFtcImJvb2ttYXJrc19vdXRsaW5lZFwiLCBcImJvb2ttYXJrc19maWxsZWRcIl0sXG4gIFwiYnVpbGRcIjogW1wiYnVpbGRfb3V0bGluZWRcIiwgXCJidWlsZF9maWxsZWRcIl0sXG4gIFwiY2FsZW5kYXItYXZhaWxhYmxlXCI6IFtcImNhbGVuZGFyX2F2YWlsYWJsZV9vdXRsaW5lZFwiLCBcImNhbGVuZGFyX2F2YWlsYWJsZV9maWxsZWRcIl0sXG4gIFwiY2FsZW5kYXItYnVzeVwiOiBbXCJjYWxlbmRhcl9idXN5X291dGxpbmVkXCIsIFwiY2FsZW5kYXJfYnVzeV9maWxsZWRcIl0sXG4gIFwiY2FsZW5kYXItbW9udGhcIjogW1wiY2FsZW5kYXJfbW9udGhfb3V0bGluZWRcIiwgXCJjYWxlbmRhcl9tb250aF9maWxsZWRcIl0sXG4gIFwiY2FsZW5kYXItdG9kYXlcIjogW1wiY2FsZW5kYXJfdG9kYXlfb3V0bGluZWRcIiwgXCJjYWxlbmRhcl90b2RheV9maWxsZWRcIl0sXG4gIFwiY2FsbFwiOiBbXCJjYWxsX291dGxpbmVkXCIsIFwiY2FsbF9maWxsZWRcIl0sXG4gIFwiY2FuY2VsXCI6IFtcImNhbmNlbF9vdXRsaW5lZFwiLCBcImNhbmNlbF9maWxsZWRcIl0sXG4gIFwiY2F0ZWdvcnlcIjogW1wiY2F0ZWdvcnlfb3V0bGluZWRcIiwgXCJjYXRlZ29yeV9maWxsZWRcIl0sXG4gIFwiY2hhcnQtYWRkXCI6IFtcImNoYXJ0X2FkZF9vdXRsaW5lZFwiLCBcImNoYXJ0X2FkZF9maWxsZWRcIl0sXG4gIFwiY2hhcnQtYXJlYVwiOiBbXCJjaGFydF9hcmVhX291dGxpbmVkXCIsIFwiY2hhcnRfYXJlYV9maWxsZWRcIl0sXG4gIFwiY2hhcnQtcGllXCI6IFtcImNoYXJ0X3BpZV9vdXRsaW5lZFwiLCBcImNoYXJ0X3BpZV9maWxsZWRcIl0sXG4gIFwiY2hhcnQtdGFibGVcIjogW1wiY2hhcnRfdGFibGVfb3V0bGluZWRcIiwgXCJjaGFydF90YWJsZV9maWxsZWRcIl0sXG4gIFwiY2hhdC1hbHRcIjogW1wiY2hhdF9hbHRfb3V0bGluZWRcIiwgXCJjaGF0X2FsdF9maWxsZWRcIl0sXG4gIFwiY2hhdC1hbHQtdW5yZWFkXCI6IFtcImNoYXRfYWx0X3VucmVhZF9vdXRsaW5lZFwiLCBcImNoYXRfYWx0X3VucmVhZF9maWxsZWRcIl0sXG4gIFwiY2hhdFwiOiBbXCJjaGF0X291dGxpbmVkXCIsIFwiY2hhdF9maWxsZWRcIl0sXG4gIFwiY2hhdC11bnJlYWRcIjogW1wiY2hhdF91bnJlYWRfb3V0bGluZWRcIiwgXCJjaGF0X3VucmVhZF9maWxsZWRcIl0sXG4gIFwiY2hlY2stY2lyY2xlXCI6IFtcImNoZWNrX2NpcmNsZV9vdXRsaW5lZFwiLCBcImNoZWNrX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwiY2hlY2tib3hcIjogW1wiY2hlY2tib3hfb3V0bGluZWRcIiwgXCJjaGVja2JveF9maWxsZWRcIl0sXG4gIFwiY2hlY2tib3gtaW5kZXRlcm1pbmF0ZVwiOiBbXCJjaGVja2JveF9pbmRldGVybWluYXRlX291dGxpbmVkXCIsIFwiY2hlY2tib3hfaW5kZXRlcm1pbmF0ZV9maWxsZWRcIl0sXG4gIFwiY2xvY2tcIjogW1wiY2xvY2tfb3V0bGluZWRcIiwgXCJjbG9ja19maWxsZWRcIl0sXG4gIFwiY2xvdWQtZG93bmxvYWRcIjogW1wiY2xvdWRfZG93bmxvYWRfb3V0bGluZWRcIiwgXCJjbG91ZF9kb3dubG9hZF9maWxsZWRcIl0sXG4gIFwiY2xvdWRcIjogW1wiY2xvdWRfb3V0bGluZWRcIiwgXCJjbG91ZF9maWxsZWRcIl0sXG4gIFwiY2xvdWQtb2ZmXCI6IFtcImNsb3VkX29mZl9vdXRsaW5lZFwiLCBcImNsb3VkX29mZl9maWxsZWRcIl0sXG4gIFwiY2xvdWQtdXBsb2FkXCI6IFtcImNsb3VkX3VwbG9hZF9vdXRsaW5lZFwiLCBcImNsb3VkX3VwbG9hZF9maWxsZWRcIl0sXG4gIFwiY29tbWVudC1hZGRcIjogW1wiY29tbWVudF9hZGRfb3V0bGluZWRcIiwgXCJjb21tZW50X2FkZF9maWxsZWRcIl0sXG4gIFwiY29tbWVudFwiOiBbXCJjb21tZW50X291dGxpbmVkXCIsIFwiY29tbWVudF9maWxsZWRcIl0sXG4gIFwiY29udGFjdFwiOiBbXCJjb250YWN0X291dGxpbmVkXCIsIFwiY29udGFjdF9maWxsZWRcIl0sXG4gIFwiY29weVwiOiBbXCJjb3B5X291dGxpbmVkXCIsIFwiY29weV9maWxsZWRcIl0sXG4gIFwiZGFuZ2Vyb3VzXCI6IFtcImRhbmdlcm91c19vdXRsaW5lZFwiLCBcImRhbmdlcm91c19maWxsZWRcIl0sXG4gIFwiZGFzaGJvYXJkXCI6IFtcImRhc2hib2FyZF9vdXRsaW5lZFwiLCBcImRhc2hib2FyZF9maWxsZWRcIl0sXG4gIFwiZGF0YWJhc2VcIjogW1wiZGF0YWJhc2Vfb3V0bGluZWRcIiwgXCJkYXRhYmFzZV9maWxsZWRcIl0sXG4gIFwiZGVsZXRlXCI6IFtcImRlbGV0ZV9vdXRsaW5lZFwiLCBcImRlbGV0ZV9maWxsZWRcIl0sXG4gIFwiZGVza3RvcFwiOiBbXCJkZXNrdG9wX291dGxpbmVkXCIsIFwiZGVza3RvcF9maWxsZWRcIl0sXG4gIFwiZGV2aWNlc1wiOiBbXCJkZXZpY2VzX291dGxpbmVkXCIsIFwiZGV2aWNlc19maWxsZWRcIl0sXG4gIFwiZHJhZnRcIjogW1wiZHJhZnRfb3V0bGluZWRcIiwgXCJkcmFmdF9maWxsZWRcIl0sXG4gIFwiZWNvXCI6IFtcImVjb19vdXRsaW5lZFwiLCBcImVjb19maWxsZWRcIl0sXG4gIFwiZWRpdFwiOiBbXCJlZGl0X291dGxpbmVkXCIsIFwiZWRpdF9maWxsZWRcIl0sXG4gIFwiZWxlY3RyaWMtbWV0ZXJcIjogW1wiZWxlY3RyaWNfbWV0ZXJfb3V0bGluZWRcIiwgXCJlbGVjdHJpY19tZXRlcl9maWxsZWRcIl0sXG4gIFwiZXJyb3JcIjogW1wiZXJyb3Jfb3V0bGluZWRcIiwgXCJlcnJvcl9maWxsZWRcIl0sXG4gIFwiZXhwbG9yZVwiOiBbXCJleHBsb3JlX291dGxpbmVkXCIsIFwiZXhwbG9yZV9maWxsZWRcIl0sXG4gIFwiZXhwbG9yZS1vZmZcIjogW1wiZXhwbG9yZV9vZmZfb3V0bGluZWRcIiwgXCJleHBsb3JlX29mZl9maWxsZWRcIl0sXG4gIFwiZXhwb3J0LXhsc1wiOiBbXCJleHBvcnRfeGxzX291dGxpbmVkXCIsIFwiZXhwb3J0X3hsc19maWxsZWRcIl0sXG4gIFwiZmFzdC1mb3J3YXJkXCI6IFtcImZhc3RfZm9yd2FyZF9vdXRsaW5lZFwiLCBcImZhc3RfZm9yd2FyZF9maWxsZWRcIl0sXG4gIFwiZmFzdC1yZXdpbmRcIjogW1wiZmFzdF9yZXdpbmRfb3V0bGluZWRcIiwgXCJmYXN0X3Jld2luZF9maWxsZWRcIl0sXG4gIFwiZmVlZGJhY2tcIjogW1wiZmVlZGJhY2tfb3V0bGluZWRcIiwgXCJmZWVkYmFja19maWxsZWRcIl0sXG4gIFwiZmlsZS1jb3B5XCI6IFtcImZpbGVfY29weV9vdXRsaW5lZFwiLCBcImZpbGVfY29weV9maWxsZWRcIl0sXG4gIFwiZmlsZS1kb3dubG9hZFwiOiBbXCJmaWxlX2Rvd25sb2FkX291dGxpbmVkXCIsIFwiZmlsZV9kb3dubG9hZF9maWxsZWRcIl0sXG4gIFwiZmlsZS11cGxvYWRcIjogW1wiZmlsZV91cGxvYWRfb3V0bGluZWRcIiwgXCJmaWxlX3VwbG9hZF9maWxsZWRcIl0sXG4gIFwiZmlsdGVyLWFsdFwiOiBbXCJmaWx0ZXJfYWx0X291dGxpbmVkXCIsIFwiZmlsdGVyX2FsdF9maWxsZWRcIl0sXG4gIFwiZmlsdGVyLWFsdC1vZmZcIjogW1wiZmlsdGVyX2FsdF9vZmZfb3V0bGluZWRcIiwgXCJmaWx0ZXJfYWx0X29mZl9maWxsZWRcIl0sXG4gIFwiZmlyZVwiOiBbXCJmaXJlX291dGxpbmVkXCIsIFwiZmlyZV9maWxsZWRcIl0sXG4gIFwiZml0LXNjcmVlblwiOiBbXCJmaXRfc2NyZWVuX291dGxpbmVkXCIsIFwiZml0X3NjcmVlbl9maWxsZWRcIl0sXG4gIFwiZmxhZ1wiOiBbXCJmbGFnX291dGxpbmVkXCIsIFwiZmxhZ19maWxsZWRcIl0sXG4gIFwiZmxhc2hcIjogW1wiZmxhc2hfb3V0bGluZWRcIiwgXCJmbGFzaF9maWxsZWRcIl0sXG4gIFwiZmxhc2gtb2ZmXCI6IFtcImZsYXNoX29mZl9vdXRsaW5lZFwiLCBcImZsYXNoX29mZl9maWxsZWRcIl0sXG4gIFwiZm9sZGVyLWFkZFwiOiBbXCJmb2xkZXJfYWRkX291dGxpbmVkXCIsIFwiZm9sZGVyX2FkZF9maWxsZWRcIl0sXG4gIFwiZm9sZGVyXCI6IFtcImZvbGRlcl9vdXRsaW5lZFwiLCBcImZvbGRlcl9maWxsZWRcIl0sXG4gIFwiZm9sZGVyLW1vdmVcIjogW1wiZm9sZGVyX21vdmVfb3V0bGluZWRcIiwgXCJmb2xkZXJfbW92ZV9maWxsZWRcIl0sXG4gIFwiZm9sZGVyLW9wZW5cIjogW1wiZm9sZGVyX29wZW5fb3V0bGluZWRcIiwgXCJmb2xkZXJfb3Blbl9maWxsZWRcIl0sXG4gIFwiZm9sZGVyLXNoYXJlZFwiOiBbXCJmb2xkZXJfc2hhcmVkX291dGxpbmVkXCIsIFwiZm9sZGVyX3NoYXJlZF9maWxsZWRcIl0sXG4gIFwiZm9ydW1cIjogW1wiZm9ydW1fb3V0bGluZWRcIiwgXCJmb3J1bV9maWxsZWRcIl0sXG4gIFwiZ3JvdXAtYWRkXCI6IFtcImdyb3VwX2FkZF9vdXRsaW5lZFwiLCBcImdyb3VwX2FkZF9maWxsZWRcIl0sXG4gIFwiZ3JvdXBcIjogW1wiZ3JvdXBfb3V0bGluZWRcIiwgXCJncm91cF9maWxsZWRcIl0sXG4gIFwiZ3JvdXBzXCI6IFtcImdyb3Vwc19vdXRsaW5lZFwiLCBcImdyb3Vwc19maWxsZWRcIl0sXG4gIFwiaGFuZHNoYWtlXCI6IFtcImhhbmRzaGFrZV9vdXRsaW5lZFwiLCBcImhhbmRzaGFrZV9maWxsZWRcIl0sXG4gIFwiaGVhZHBob25lc1wiOiBbXCJoZWFkcGhvbmVzX291dGxpbmVkXCIsIFwiaGVhZHBob25lc19maWxsZWRcIl0sXG4gIFwiaGVhcnRcIjogW1wiaGVhcnRfb3V0bGluZWRcIiwgXCJoZWFydF9maWxsZWRcIl0sXG4gIFwiaGVscFwiOiBbXCJoZWxwX291dGxpbmVkXCIsIFwiaGVscF9maWxsZWRcIl0sXG4gIFwiaG9tZVwiOiBbXCJob21lX291dGxpbmVkXCIsIFwiaG9tZV9maWxsZWRcIl0sXG4gIFwiaG91cmdsYXNzXCI6IFtcImhvdXJnbGFzc19vdXRsaW5lZFwiLCBcImhvdXJnbGFzc19maWxsZWRcIl0sXG4gIFwiaW1hZ2UtYnJva2VuXCI6IFtcImltYWdlX2Jyb2tlbl9vdXRsaW5lZFwiLCBcImltYWdlX2Jyb2tlbl9maWxsZWRcIl0sXG4gIFwiaW1hZ2VcIjogW1wiaW1hZ2Vfb3V0bGluZWRcIiwgXCJpbWFnZV9maWxsZWRcIl0sXG4gIFwiaW1hZ2UtZ2FsbGVyeVwiOiBbXCJpbWFnZV9nYWxsZXJ5X291dGxpbmVkXCIsIFwiaW1hZ2VfZ2FsbGVyeV9maWxsZWRcIl0sXG4gIFwiaW5ib3hcIjogW1wiaW5ib3hfb3V0bGluZWRcIiwgXCJpbmJveF9maWxsZWRcIl0sXG4gIFwiaW5mb1wiOiBbXCJpbmZvX291dGxpbmVkXCIsIFwiaW5mb19maWxsZWRcIl0sXG4gIFwia2VlcFwiOiBbXCJrZWVwX291dGxpbmVkXCIsIFwia2VlcF9maWxsZWRcIl0sXG4gIFwia2VlcC1vZmZcIjogW1wia2VlcF9vZmZfb3V0bGluZWRcIiwgXCJrZWVwX29mZl9maWxsZWRcIl0sXG4gIFwibGFiZWxcIjogW1wibGFiZWxfb3V0bGluZWRcIiwgXCJsYWJlbF9maWxsZWRcIl0sXG4gIFwibGFwdG9wXCI6IFtcImxhcHRvcF9vdXRsaW5lZFwiLCBcImxhcHRvcF9maWxsZWRcIl0sXG4gIFwibGVmdC1wYW5lbC1jbG9zZVwiOiBbXCJsZWZ0X3BhbmVsX2Nsb3NlX291dGxpbmVkXCIsIFwibGVmdF9wYW5lbF9jbG9zZV9maWxsZWRcIl0sXG4gIFwibGVmdC1wYW5lbC1vcGVuXCI6IFtcImxlZnRfcGFuZWxfb3Blbl9vdXRsaW5lZFwiLCBcImxlZnRfcGFuZWxfb3Blbl9maWxsZWRcIl0sXG4gIFwibGlnaHQtb2ZmXCI6IFtcImxpZ2h0X29mZl9vdXRsaW5lZFwiLCBcImxpZ2h0X29mZl9maWxsZWRcIl0sXG4gIFwibGlnaHRidWxiLWFsdFwiOiBbXCJsaWdodGJ1bGJfYWx0X291dGxpbmVkXCIsIFwibGlnaHRidWxiX2FsdF9maWxsZWRcIl0sXG4gIFwibGlnaHRidWxiLWNpcmNsZVwiOiBbXCJsaWdodGJ1bGJfY2lyY2xlX291dGxpbmVkXCIsIFwibGlnaHRidWxiX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwibGlnaHRidWxiXCI6IFtcImxpZ2h0YnVsYl9vdXRsaW5lZFwiLCBcImxpZ2h0YnVsYl9maWxsZWRcIl0sXG4gIFwibGlzdC1hbHRcIjogW1wibGlzdF9hbHRfb3V0bGluZWRcIiwgXCJsaXN0X2FsdF9maWxsZWRcIl0sXG4gIFwibG9jYXRpb24tbWVcIjogW1wibG9jYXRpb25fbWVfb3V0bGluZWRcIiwgXCJsb2NhdGlvbl9tZV9maWxsZWRcIl0sXG4gIFwibG9jYXRpb24tb2ZmXCI6IFtcImxvY2F0aW9uX29mZl9vdXRsaW5lZFwiLCBcImxvY2F0aW9uX29mZl9maWxsZWRcIl0sXG4gIFwibG9jYXRpb24tb25cIjogW1wibG9jYXRpb25fb25fb3V0bGluZWRcIiwgXCJsb2NhdGlvbl9vbl9maWxsZWRcIl0sXG4gIFwibG9ja1wiOiBbXCJsb2NrX291dGxpbmVkXCIsIFwibG9ja19maWxsZWRcIl0sXG4gIFwibG9jay1vcGVuXCI6IFtcImxvY2tfb3Blbl9vdXRsaW5lZFwiLCBcImxvY2tfb3Blbl9maWxsZWRcIl0sXG4gIFwibG9jay1vcGVuLXJpZ2h0XCI6IFtcImxvY2tfb3Blbl9yaWdodF9vdXRsaW5lZFwiLCBcImxvY2tfb3Blbl9yaWdodF9maWxsZWRcIl0sXG4gIFwibWFpbFwiOiBbXCJtYWlsX291dGxpbmVkXCIsIFwibWFpbF9maWxsZWRcIl0sXG4gIFwibWFpbC11bnJlYWRcIjogW1wibWFpbF91bnJlYWRfb3V0bGluZWRcIiwgXCJtYWlsX3VucmVhZF9maWxsZWRcIl0sXG4gIFwibWFwXCI6IFtcIm1hcF9vdXRsaW5lZFwiLCBcIm1hcF9maWxsZWRcIl0sXG4gIFwibWljXCI6IFtcIm1pY19vdXRsaW5lZFwiLCBcIm1pY19maWxsZWRcIl0sXG4gIFwibWljLW9mZlwiOiBbXCJtaWNfb2ZmX291dGxpbmVkXCIsIFwibWljX29mZl9maWxsZWRcIl0sXG4gIFwibW9kZS1kYXJrXCI6IFtcIm1vZGVfZGFya19vdXRsaW5lZFwiLCBcIm1vZGVfZGFya19maWxsZWRcIl0sXG4gIFwibW9kZS1saWdodFwiOiBbXCJtb2RlX2xpZ2h0X291dGxpbmVkXCIsIFwibW9kZV9saWdodF9maWxsZWRcIl0sXG4gIFwibm90aWZpY2F0aW9uXCI6IFtcIm5vdGlmaWNhdGlvbl9vdXRsaW5lZFwiLCBcIm5vdGlmaWNhdGlvbl9maWxsZWRcIl0sXG4gIFwibm90aWZpY2F0aW9uLWltcG9ydGFudFwiOiBbXCJub3RpZmljYXRpb25faW1wb3J0YW50X291dGxpbmVkXCIsIFwibm90aWZpY2F0aW9uX2ltcG9ydGFudF9maWxsZWRcIl0sXG4gIFwibm90aWZpY2F0aW9uLW9mZlwiOiBbXCJub3RpZmljYXRpb25fb2ZmX291dGxpbmVkXCIsIFwibm90aWZpY2F0aW9uX29mZl9maWxsZWRcIl0sXG4gIFwibm90aWZpY2F0aW9uLXVucmVhZFwiOiBbXCJub3RpZmljYXRpb25fdW5yZWFkX291dGxpbmVkXCIsIFwibm90aWZpY2F0aW9uX3VucmVhZF9maWxsZWRcIl0sXG4gIFwicGFsZXR0ZVwiOiBbXCJwYWxldHRlX291dGxpbmVkXCIsIFwicGFsZXR0ZV9maWxsZWRcIl0sXG4gIFwicGF1c2UtY2lyY2xlXCI6IFtcInBhdXNlX2NpcmNsZV9vdXRsaW5lZFwiLCBcInBhdXNlX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwicGF1c2VcIjogW1wicGF1c2Vfb3V0bGluZWRcIiwgXCJwYXVzZV9maWxsZWRcIl0sXG4gIFwicGhvdG8tY2FtZXJhXCI6IFtcInBob3RvX2NhbWVyYV9vdXRsaW5lZFwiLCBcInBob3RvX2NhbWVyYV9maWxsZWRcIl0sXG4gIFwicGxheS1jaXJjbGVcIjogW1wicGxheV9jaXJjbGVfb3V0bGluZWRcIiwgXCJwbGF5X2NpcmNsZV9maWxsZWRcIl0sXG4gIFwicGxheVwiOiBbXCJwbGF5X291dGxpbmVkXCIsIFwicGxheV9maWxsZWRcIl0sXG4gIFwicG93ZXJcIjogW1wicG93ZXJfb3V0bGluZWRcIiwgXCJwb3dlcl9maWxsZWRcIl0sXG4gIFwicG93ZXItb2ZmXCI6IFtcInBvd2VyX29mZl9vdXRsaW5lZFwiLCBcInBvd2VyX29mZl9maWxsZWRcIl0sXG4gIFwicG93ZXItcGx1Zy1jb25uZWN0XCI6IFtcInBvd2VyX3BsdWdfY29ubmVjdF9vdXRsaW5lZFwiLCBcInBvd2VyX3BsdWdfY29ubmVjdF9maWxsZWRcIl0sXG4gIFwicG93ZXItc2V0dGluZ3MtY2lyY2xlXCI6IFtcInBvd2VyX3NldHRpbmdzX2NpcmNsZV9vdXRsaW5lZFwiLCBcInBvd2VyX3NldHRpbmdzX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwicG93ZXItc29sYXJcIjogW1wicG93ZXJfc29sYXJfb3V0bGluZWRcIiwgXCJwb3dlcl9zb2xhcl9maWxsZWRcIl0sXG4gIFwicG93ZXItc3dpdGNoXCI6IFtcInBvd2VyX3N3aXRjaF9vdXRsaW5lZFwiLCBcInBvd2VyX3N3aXRjaF9maWxsZWRcIl0sXG4gIFwicG93ZXItd2luZFwiOiBbXCJwb3dlcl93aW5kX291dGxpbmVkXCIsIFwicG93ZXJfd2luZF9maWxsZWRcIl0sXG4gIFwicHJpbnRcIjogW1wicHJpbnRfb3V0bGluZWRcIiwgXCJwcmludF9maWxsZWRcIl0sXG4gIFwicmlnaHQtcGFuZWwtY2xvc2VcIjogW1wicmlnaHRfcGFuZWxfY2xvc2Vfb3V0bGluZWRcIiwgXCJyaWdodF9wYW5lbF9jbG9zZV9maWxsZWRcIl0sXG4gIFwicmlnaHQtcGFuZWwtb3BlblwiOiBbXCJyaWdodF9wYW5lbF9vcGVuX291dGxpbmVkXCIsIFwicmlnaHRfcGFuZWxfb3Blbl9maWxsZWRcIl0sXG4gIFwic2F2ZVwiOiBbXCJzYXZlX291dGxpbmVkXCIsIFwic2F2ZV9maWxsZWRcIl0sXG4gIFwic2VuZFwiOiBbXCJzZW5kX291dGxpbmVkXCIsIFwic2VuZF9maWxsZWRcIl0sXG4gIFwic2V0dGluZ3NcIjogW1wic2V0dGluZ3Nfb3V0bGluZWRcIiwgXCJzZXR0aW5nc19maWxsZWRcIl0sXG4gIFwic2hhcmVcIjogW1wic2hhcmVfb3V0bGluZWRcIiwgXCJzaGFyZV9maWxsZWRcIl0sXG4gIFwic2tpcC1uZXh0XCI6IFtcInNraXBfbmV4dF9vdXRsaW5lZFwiLCBcInNraXBfbmV4dF9maWxsZWRcIl0sXG4gIFwic2tpcC1wcmV2aW91c1wiOiBbXCJza2lwX3ByZXZpb3VzX291dGxpbmVkXCIsIFwic2tpcF9wcmV2aW91c19maWxsZWRcIl0sXG4gIFwic21hcnRwaG9uZVwiOiBbXCJzbWFydHBob25lX291dGxpbmVkXCIsIFwic21hcnRwaG9uZV9maWxsZWRcIl0sXG4gIFwic3RhclwiOiBbXCJzdGFyX291dGxpbmVkXCIsIFwic3Rhcl9maWxsZWRcIl0sXG4gIFwic3RpY2t5LW5vdGVcIjogW1wic3RpY2t5X25vdGVfb3V0bGluZWRcIiwgXCJzdGlja3lfbm90ZV9maWxsZWRcIl0sXG4gIFwic3RvcC1jaXJjbGVcIjogW1wic3RvcF9jaXJjbGVfb3V0bGluZWRcIiwgXCJzdG9wX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwic3RvcFwiOiBbXCJzdG9wX291dGxpbmVkXCIsIFwic3RvcF9maWxsZWRcIl0sXG4gIFwic3VidGl0bGVzXCI6IFtcInN1YnRpdGxlc19vdXRsaW5lZFwiLCBcInN1YnRpdGxlc19maWxsZWRcIl0sXG4gIFwidGV4dC1zbmlwcGV0XCI6IFtcInRleHRfc25pcHBldF9vdXRsaW5lZFwiLCBcInRleHRfc25pcHBldF9maWxsZWRcIl0sXG4gIFwidHJhc2gtcmVzdG9yZVwiOiBbXCJ0cmFzaF9yZXN0b3JlX291dGxpbmVkXCIsIFwidHJhc2hfcmVzdG9yZV9maWxsZWRcIl0sXG4gIFwidW5hcmNoaXZlXCI6IFtcInVuYXJjaGl2ZV9vdXRsaW5lZFwiLCBcInVuYXJjaGl2ZV9maWxsZWRcIl0sXG4gIFwidXNlci1hZGRcIjogW1widXNlcl9hZGRfb3V0bGluZWRcIiwgXCJ1c2VyX2FkZF9maWxsZWRcIl0sXG4gIFwidXNlci1jaXJjbGVcIjogW1widXNlcl9jaXJjbGVfb3V0bGluZWRcIiwgXCJ1c2VyX2NpcmNsZV9maWxsZWRcIl0sXG4gIFwidXNlclwiOiBbXCJ1c2VyX291dGxpbmVkXCIsIFwidXNlcl9maWxsZWRcIl0sXG4gIFwidXNlci1zZXR0aW5nc1wiOiBbXCJ1c2VyX3NldHRpbmdzX291dGxpbmVkXCIsIFwidXNlcl9zZXR0aW5nc19maWxsZWRcIl0sXG4gIFwidmVyaWZpZWRcIjogW1widmVyaWZpZWRfb3V0bGluZWRcIiwgXCJ2ZXJpZmllZF9maWxsZWRcIl0sXG4gIFwidmlkZW8tY2FtZXJhXCI6IFtcInZpZGVvX2NhbWVyYV9vdXRsaW5lZFwiLCBcInZpZGVvX2NhbWVyYV9maWxsZWRcIl0sXG4gIFwidmlkZW8tY2FtZXJhLW9mZlwiOiBbXCJ2aWRlb19jYW1lcmFfb2ZmX291dGxpbmVkXCIsIFwidmlkZW9fY2FtZXJhX29mZl9maWxsZWRcIl0sXG4gIFwidmlkZW8tZ2FsbGVyeVwiOiBbXCJ2aWRlb19nYWxsZXJ5X291dGxpbmVkXCIsIFwidmlkZW9fZ2FsbGVyeV9maWxsZWRcIl0sXG4gIFwidmlldy1hZ2VuZGFcIjogW1widmlld19hZ2VuZGFfb3V0bGluZWRcIiwgXCJ2aWV3X2FnZW5kYV9maWxsZWRcIl0sXG4gIFwidmlldy1jb2x1bW5cIjogW1widmlld19jb2x1bW5fb3V0bGluZWRcIiwgXCJ2aWV3X2NvbHVtbl9maWxsZWRcIl0sXG4gIFwidmlldy1ncmlkXCI6IFtcInZpZXdfZ3JpZF9vdXRsaW5lZFwiLCBcInZpZXdfZ3JpZF9maWxsZWRcIl0sXG4gIFwidmlldy1rYW5iYW5cIjogW1widmlld19rYW5iYW5fb3V0bGluZWRcIiwgXCJ2aWV3X2thbmJhbl9maWxsZWRcIl0sXG4gIFwidmlldy1tb2R1bGVcIjogW1widmlld19tb2R1bGVfb3V0bGluZWRcIiwgXCJ2aWV3X21vZHVsZV9maWxsZWRcIl0sXG4gIFwidmlldy10aW1lbGluZVwiOiBbXCJ2aWV3X3RpbWVsaW5lX291dGxpbmVkXCIsIFwidmlld190aW1lbGluZV9maWxsZWRcIl0sXG4gIFwidmlzaWJpbGl0eS1oaWRlXCI6IFtcInZpc2liaWxpdHlfaGlkZV9vdXRsaW5lZFwiLCBcInZpc2liaWxpdHlfaGlkZV9maWxsZWRcIl0sXG4gIFwidmlzaWJpbGl0eS1zaG93XCI6IFtcInZpc2liaWxpdHlfc2hvd19vdXRsaW5lZFwiLCBcInZpc2liaWxpdHlfc2hvd19maWxsZWRcIl0sXG4gIFwidm9sdW1lLWRvd25cIjogW1widm9sdW1lX2Rvd25fb3V0bGluZWRcIiwgXCJ2b2x1bWVfZG93bl9maWxsZWRcIl0sXG4gIFwidm9sdW1lLW11dGVcIjogW1widm9sdW1lX211dGVfb3V0bGluZWRcIiwgXCJ2b2x1bWVfbXV0ZV9maWxsZWRcIl0sXG4gIFwidm9sdW1lLW9mZlwiOiBbXCJ2b2x1bWVfb2ZmX291dGxpbmVkXCIsIFwidm9sdW1lX29mZl9maWxsZWRcIl0sXG4gIFwidm9sdW1lLXVwXCI6IFtcInZvbHVtZV91cF9vdXRsaW5lZFwiLCBcInZvbHVtZV91cF9maWxsZWRcIl0sXG4gIFwid2FybmluZ1wiOiBbXCJ3YXJuaW5nX291dGxpbmVkXCIsIFwid2FybmluZ19maWxsZWRcIl0sXG4gIFwid2F0ZXJkcm9wXCI6IFtcIndhdGVyZHJvcF9vdXRsaW5lZFwiLCBcIndhdGVyZHJvcF9maWxsZWRcIl0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRJY29uTmFtZVNoYXJlZChpY29uTmFtZSwgUmVndWxhckljb25zLCBUb2dnbGFibGVJY29ucyk7XG59XG4iXX0=
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUUsZUFBZSxJQUFJLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFOUcsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLFdBQVc7SUFDeEIsTUFBTSxFQUFFLE1BQU07SUFDZCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMscUJBQXFCLEVBQUUscUJBQXFCO0lBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLGNBQWMsRUFBRSxjQUFjO0lBQzlCLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMsdUJBQXVCLEVBQUUsdUJBQXVCO0lBQ2hELHdCQUF3QixFQUFFLHdCQUF3QjtJQUNsRCxxQkFBcUIsRUFBRSxxQkFBcUI7SUFDNUMsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMscUJBQXFCLEVBQUUscUJBQXFCO0lBQzVDLGtCQUFrQixFQUFFLGtCQUFrQjtJQUN0QyxlQUFlLEVBQUUsZUFBZTtJQUNoQyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQ3hDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQyxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsWUFBWSxFQUFFLFlBQVk7SUFDMUIsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLGtCQUFrQixFQUFF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Q0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztJQUM3RCxhQUFhLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztJQUM3RCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQztJQUMxRCxXQUFXLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztJQUN2RCxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNqRCxXQUFXLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztDQUN4RCxDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUFnQjtJQUM5QyxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRG8gbm90IGVkaXQgbWFudWFsbHkuXG5cbmltcG9ydCB7IGlzVmFsaWRJY29uTmFtZSBhcyBpc1ZhbGlkSWNvbk5hbWVTaGFyZWQgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9pY29uL2ljb24tdXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IFJlZ3VsYXJJY29ucyA9IHtcbiAgXCJhZGRcIjogXCJhZGRcIixcbiAgXCJhbHQtcm91dGVcIjogXCJhbHRfcm91dGVcIixcbiAgXCJhcHBzXCI6IFwiYXBwc1wiLFxuICBcImFycm93LWFsdC1kb3duXCI6IFwiYXJyb3dfYWx0X2Rvd25cIixcbiAgXCJhcnJvdy1hbHQtZG93bi1sZWZ0XCI6IFwiYXJyb3dfYWx0X2Rvd25fbGVmdFwiLFxuICBcImFycm93LWFsdC1kb3duLXJpZ2h0XCI6IFwiYXJyb3dfYWx0X2Rvd25fcmlnaHRcIixcbiAgXCJhcnJvdy1hbHQtbGVmdFwiOiBcImFycm93X2FsdF9sZWZ0XCIsXG4gIFwiYXJyb3ctYWx0LXJpZ2h0XCI6IFwiYXJyb3dfYWx0X3JpZ2h0XCIsXG4gIFwiYXJyb3ctYWx0LXVwXCI6IFwiYXJyb3dfYWx0X3VwXCIsXG4gIFwiYXJyb3ctYWx0LXVwLWxlZnRcIjogXCJhcnJvd19hbHRfdXBfbGVmdFwiLFxuICBcImFycm93LWFsdC11cC1yaWdodFwiOiBcImFycm93X2FsdF91cF9yaWdodFwiLFxuICBcImFycm93LWFuZ2xlLWRvd24tbGVmdFwiOiBcImFycm93X2FuZ2xlX2Rvd25fbGVmdFwiLFxuICBcImFycm93LWFuZ2xlLWRvd24tcmlnaHRcIjogXCJhcnJvd19hbmdsZV9kb3duX3JpZ2h0XCIsXG4gIFwiYXJyb3ctYW5nbGUtdXAtbGVmdFwiOiBcImFycm93X2FuZ2xlX3VwX2xlZnRcIixcbiAgXCJhcnJvdy1hbmdsZS11cC1yaWdodFwiOiBcImFycm93X2FuZ2xlX3VwX3JpZ2h0XCIsXG4gIFwiYXJyb3ctY2hldnJvbi1kb3duXCI6IFwiYXJyb3dfY2hldnJvbl9kb3duXCIsXG4gIFwiYXJyb3ctY2hldnJvbi1sZWZ0XCI6IFwiYXJyb3dfY2hldnJvbl9sZWZ0XCIsXG4gIFwiYXJyb3ctY2hldnJvbi1yaWdodFwiOiBcImFycm93X2NoZXZyb25fcmlnaHRcIixcbiAgXCJhcnJvdy1jaGV2cm9uLXVwXCI6IFwiYXJyb3dfY2hldnJvbl91cFwiLFxuICBcImFycm93LWNvbXBhcmVcIjogXCJhcnJvd19jb21wYXJlXCIsXG4gIFwiYXJyb3ctZG91YmxlLWRvd25cIjogXCJhcnJvd19kb3VibGVfZG93blwiLFxuICBcImFycm93LWRvdWJsZS1sZWZ0XCI6IFwiYXJyb3dfZG91YmxlX2xlZnRcIixcbiAgXCJhcnJvdy1kb3VibGUtcmlnaHRcIjogXCJhcnJvd19kb3VibGVfcmlnaHRcIixcbiAgXCJhcnJvdy1kb3VibGUtdXBcIjogXCJhcnJvd19kb3VibGVfdXBcIixcbiAgXCJhcnJvdy1kb3duXCI6IFwiYXJyb3dfZG93blwiLFxuICBcImFycm93LWRvd24tbGVmdFwiOiBcImFycm93X2Rvd25fbGVmdFwiLFxuICBcImFycm93LWRvd24tcmlnaHRcIjogXCJhcnJvd19kb3duX3JpZ2h0XCIsXG4gIFwiYXJyb3ctZHJvcC1kb3duXCI6IFwiYXJyb3dfZHJvcF9kb3duXCIsXG4gIFwiYXJyb3ctZHJvcC11cFwiOiBcImFycm93X2Ryb3BfdXBcIixcbiAgXCJhcnJvdy1sZWZ0XCI6IFwiYXJyb3dfbGVmdFwiLFxuICBcImFycm93LXJpZ2h0XCI6IFwiYXJyb3dfcmlnaHRcIixcbiAgXCJhcnJvdy11cFwiOiBcImFycm93X3VwXCIsXG4gIFwiYXJyb3ctdXAtbGVmdFwiOiBcImFycm93X3VwX2xlZnRcIixcbiAgXCJhcnJvdy11cC1yaWdodFwiOiBcImFycm93X3VwX3JpZ2h0XCIsXG4gIFwiYXN0ZXJpc2tcIjogXCJhc3Rlcmlza1wiLFxuICBcImF0dGFjaC1maWxlXCI6IFwiYXR0YWNoX2ZpbGVcIixcbiAgXCJiYXR0ZXJ5LWFsdC1lbXB0eVwiOiBcImJhdHRlcnlfYWx0X2VtcHR5XCIsXG4gIFwiYmF0dGVyeS1hbHQtZnVsbFwiOiBcImJhdHRlcnlfYWx0X2Z1bGxcIixcbiAgXCJiYXR0ZXJ5LWNoYXJnaW5nXCI6IFwiYmF0dGVyeV9jaGFyZ2luZ1wiLFxuICBcImJhdHRlcnktZW1wdHlcIjogXCJiYXR0ZXJ5X2VtcHR5XCIsXG4gIFwiYmF0dGVyeS1mdWxsXCI6IFwiYmF0dGVyeV9mdWxsXCIsXG4gIFwiYmx1ZXRvb3RoXCI6IFwiYmx1ZXRvb3RoXCIsXG4gIFwiYmx1ZXRvb3RoLW9mZlwiOiBcImJsdWV0b290aF9vZmZcIixcbiAgXCJjaGFydC1iYXJcIjogXCJjaGFydF9iYXJcIixcbiAgXCJjaGFydC1iYXItc3RhY2tlZFwiOiBcImNoYXJ0X2Jhcl9zdGFja2VkXCIsXG4gIFwiY2hlY2tcIjogXCJjaGVja1wiLFxuICBcImNoZWNrLWluZGV0ZXJtaW5hdGVcIjogXCJjaGVja19pbmRldGVybWluYXRlXCIsXG4gIFwiY2hlY2stc21hbGxcIjogXCJjaGVja19zbWFsbFwiLFxuICBcImNoZWNrYm94LWVtcHR5XCI6IFwiY2hlY2tib3hfZW1wdHlcIixcbiAgXCJjbG9zZVwiOiBcImNsb3NlXCIsXG4gIFwiY29tcGFueVwiOiBcImNvbXBhbnlcIixcbiAgXCJjb21wYXJlXCI6IFwiY29tcGFyZVwiLFxuICBcImNvcHktYWxsXCI6IFwiY29weV9hbGxcIixcbiAgXCJjcmlzaXMtYWxlcnRcIjogXCJjcmlzaXNfYWxlcnRcIixcbiAgXCJjdXRcIjogXCJjdXRcIixcbiAgXCJkb3dubG9hZFwiOiBcImRvd25sb2FkXCIsXG4gIFwiZG93bmxvYWQtZG9uZVwiOiBcImRvd25sb2FkX2RvbmVcIixcbiAgXCJkcmFnLWhhbmRsZVwiOiBcImRyYWdfaGFuZGxlXCIsXG4gIFwiZHJhZy1pbmRpY2F0b3JcIjogXCJkcmFnX2luZGljYXRvclwiLFxuICBcImV4Y2xhbWF0aW9uXCI6IFwiZXhjbGFtYXRpb25cIixcbiAgXCJleHBsb3JlLXRyYXZlbFwiOiBcImV4cGxvcmVfdHJhdmVsXCIsXG4gIFwiZXh0ZXJuYWwtbGlua1wiOiBcImV4dGVybmFsX2xpbmtcIixcbiAgXCJmaWx0ZXJcIjogXCJmaWx0ZXJcIixcbiAgXCJmaWx0ZXItb2ZmXCI6IFwiZmlsdGVyX29mZlwiLFxuICBcImZpcnN0LXBhZ2VcIjogXCJmaXJzdF9wYWdlXCIsXG4gIFwiZm9yd2FyZFwiOiBcImZvcndhcmRcIixcbiAgXCJmdWxsc2NyZWVuXCI6IFwiZnVsbHNjcmVlblwiLFxuICBcImZ1bGxzY3JlZW4tZXhpdFwiOiBcImZ1bGxzY3JlZW5fZXhpdFwiLFxuICBcImhpc3RvcnlcIjogXCJoaXN0b3J5XCIsXG4gIFwiaG91cmdsYXNzLWVtcHR5XCI6IFwiaG91cmdsYXNzX2VtcHR5XCIsXG4gIFwiaW5mby1pXCI6IFwiaW5mb19pXCIsXG4gIFwibGFuZ3VhZ2VcIjogXCJsYW5ndWFnZVwiLFxuICBcImxhc3QtcGFnZVwiOiBcImxhc3RfcGFnZVwiLFxuICBcImxpbmtcIjogXCJsaW5rXCIsXG4gIFwibGluay1vZmZcIjogXCJsaW5rX29mZlwiLFxuICBcImxpc3RcIjogXCJsaXN0XCIsXG4gIFwibG9jYXRpb24tZGlzYWJsZWRcIjogXCJsb2NhdGlvbl9kaXNhYmxlZFwiLFxuICBcImxvZ2luXCI6IFwibG9naW5cIixcbiAgXCJsb2dvdXRcIjogXCJsb2dvdXRcIixcbiAgXCJtZW51XCI6IFwibWVudVwiLFxuICBcIm1lbnUtb3BlblwiOiBcIm1lbnVfb3BlblwiLFxuICBcIm1vbml0b3JpbmdcIjogXCJtb25pdG9yaW5nXCIsXG4gIFwibW9yZS1kb3duXCI6IFwibW9yZV9kb3duXCIsXG4gIFwibW9yZS1ob3JpelwiOiBcIm1vcmVfaG9yaXpcIixcbiAgXCJtb3JlLXVwXCI6IFwibW9yZV91cFwiLFxuICBcIm1vcmUtdmVydFwiOiBcIm1vcmVfdmVydFwiLFxuICBcIm9obVwiOiBcIm9obVwiLFxuICBcIm9wZW4taW4tZnVsbFwiOiBcIm9wZW5faW5fZnVsbFwiLFxuICBcInBhc3RlXCI6IFwicGFzdGVcIixcbiAgXCJwbGF5LXBhdXNlXCI6IFwicGxheV9wYXVzZVwiLFxuICBcInBvd2VyLWlucHV0XCI6IFwicG93ZXJfaW5wdXRcIixcbiAgXCJwb3dlci1wbHVnXCI6IFwicG93ZXJfcGx1Z1wiLFxuICBcInBvd2VyLXNldHRpbmdzXCI6IFwicG93ZXJfc2V0dGluZ3NcIixcbiAgXCJwcmlvcml0eS1oaWdoXCI6IFwicHJpb3JpdHlfaGlnaFwiLFxuICBcInB1YmxpY1wiOiBcInB1YmxpY1wiLFxuICBcInB1Ymxpc2hcIjogXCJwdWJsaXNoXCIsXG4gIFwicXVlc3Rpb24tbWFya1wiOiBcInF1ZXN0aW9uX21hcmtcIixcbiAgXCJyYWRhclwiOiBcInJhZGFyXCIsXG4gIFwicmFkaW8tYnV0dG9uLWVtcHR5XCI6IFwicmFkaW9fYnV0dG9uX2VtcHR5XCIsXG4gIFwicmVkb1wiOiBcInJlZG9cIixcbiAgXCJyZWxvYWRcIjogXCJyZWxvYWRcIixcbiAgXCJyZW1vdmVcIjogXCJyZW1vdmVcIixcbiAgXCJyZXBseVwiOiBcInJlcGx5XCIsXG4gIFwicmVwbHktYWxsXCI6IFwicmVwbHlfYWxsXCIsXG4gIFwicm91dGVcIjogXCJyb3V0ZVwiLFxuICBcInNlYXJjaFwiOiBcInNlYXJjaFwiLFxuICBcInNpZGUtbmF2aWdhdGlvblwiOiBcInNpZGVfbmF2aWdhdGlvblwiLFxuICBcInNvcnRcIjogXCJzb3J0XCIsXG4gIFwic3VwcG9ydC1hZ2VudFwiOiBcInN1cHBvcnRfYWdlbnRcIixcbiAgXCJzd2FwLWhvcml6XCI6IFwic3dhcF9ob3JpelwiLFxuICBcInN3YXAtdmVydFwiOiBcInN3YXBfdmVydFwiLFxuICBcInRpbWVsaW5lXCI6IFwidGltZWxpbmVcIixcbiAgXCJ0cmVuZGluZy1kb3duXCI6IFwidHJlbmRpbmdfZG93blwiLFxuICBcInRyZW5kaW5nLWZsYXRcIjogXCJ0cmVuZGluZ19mbGF0XCIsXG4gIFwidHJlbmRpbmctdXBcIjogXCJ0cmVuZGluZ191cFwiLFxuICBcInR1bmVcIjogXCJ0dW5lXCIsXG4gIFwidW5kb1wiOiBcInVuZG9cIixcbiAgXCJ1cGxvYWRcIjogXCJ1cGxvYWRcIixcbiAgXCJ3YXRlclwiOiBcIndhdGVyXCIsXG4gIFwid2F0ZXItYWx0XCI6IFwid2F0ZXJfYWx0XCIsXG4gIFwid2lmaVwiOiBcIndpZmlcIixcbiAgXCJ3aWZpLW9mZlwiOiBcIndpZmlfb2ZmXCIsXG4gIFwid2luZG1pbGxcIjogXCJ3aW5kbWlsbFwiLFxuICBcInpvb20taW5cIjogXCJ6b29tX2luXCIsXG4gIFwiem9vbS1vdXRcIjogXCJ6b29tX291dFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IFRvZ2dsYWJsZUljb25zID0ge1xuICBcImFkZC1jaXJjbGVcIjogW1wiYWRkX2NpcmNsZV9vdXRsaW5lZFwiLCBcImFkZF9jaXJjbGVfZmlsbGVkXCJdLFxuICBcImFkbWluLXBhbmVsLXNldHRpbmdzXCI6IFtcImFkbWluX3BhbmVsX3NldHRpbmdzX291dGxpbmVkXCIsIFwiYWRtaW5fcGFuZWxfc2V0dGluZ3NfZmlsbGVkXCJdLFxuICBcImFuYWx5dGljc1wiOiBbXCJhbmFseXRpY3Nfb3V0bGluZWRcIiwgXCJhbmFseXRpY3NfZmlsbGVkXCJdLFxuICBcImFyY2hpdmVcIjogW1wiYXJjaGl2ZV9vdXRsaW5lZFwiLCBcImFyY2hpdmVfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1jaGV2cm9uLWRvd25cIjogW1wiYXJyb3dfY2lyY2xlX2NoZXZyb25fZG93bl9vdXRsaW5lZFwiLCBcImFycm93X2NpcmNsZV9jaGV2cm9uX2Rvd25fZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1jaGV2cm9uLWxlZnRcIjogW1wiYXJyb3dfY2lyY2xlX2NoZXZyb25fbGVmdF9vdXRsaW5lZFwiLCBcImFycm93X2NpcmNsZV9jaGV2cm9uX2xlZnRfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1jaGV2cm9uLXJpZ2h0XCI6IFtcImFycm93X2NpcmNsZV9jaGV2cm9uX3JpZ2h0X291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2NoZXZyb25fcmlnaHRfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1jaGV2cm9uLXVwXCI6IFtcImFycm93X2NpcmNsZV9jaGV2cm9uX3VwX291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2NoZXZyb25fdXBfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1kb3duXCI6IFtcImFycm93X2NpcmNsZV9kb3duX291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2Rvd25fZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1sZWZ0XCI6IFtcImFycm93X2NpcmNsZV9sZWZ0X291dGxpbmVkXCIsIFwiYXJyb3dfY2lyY2xlX2xlZnRfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS1yaWdodFwiOiBbXCJhcnJvd19jaXJjbGVfcmlnaHRfb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfcmlnaHRfZmlsbGVkXCJdLFxuICBcImFycm93LWNpcmNsZS11cFwiOiBbXCJhcnJvd19jaXJjbGVfdXBfb3V0bGluZWRcIiwgXCJhcnJvd19jaXJjbGVfdXBfZmlsbGVkXCJdLFxuICBcImFydGljbGVcIjogW1wiYXJ0aWNsZV9vdXRsaW5lZFwiLCBcImFydGljbGVfZmlsbGVkXCJdLFxuICBcImFzc2lnbm1lbnQtY29tcGxldGVcIjogW1wiYXNzaWdubWVudF9jb21wbGV0ZV9vdXRsaW5lZFwiLCBcImFzc2lnbm1lbnRfY29tcGxldGVfZmlsbGVkXCJdLFxuICBcImFzc2lnbm1lbnRcIjogW1wiYXNzaWdubWVudF9vdXRsaW5lZFwiLCBcImFzc2lnbm1lbnRfZmlsbGVkXCJdLFxuICBcImJhdHRlcnktYWxlcnRcIjogW1wiYmF0dGVyeV9hbGVydF9vdXRsaW5lZFwiLCBcImJhdHRlcnlfYWxlcnRfZmlsbGVkXCJdLFxuICBcImJhdHRlcnktY2hhcmdpbmctZnVsbFwiOiBbXCJiYXR0ZXJ5X2NoYXJnaW5nX2Z1bGxfb3V0bGluZWRcIiwgXCJiYXR0ZXJ5X2NoYXJnaW5nX2Z1bGxfZmlsbGVkXCJdLFxuICBcImJvbHQtYWx0LWNpcmNsZVwiOiBbXCJib2x0X2FsdF9jaXJjbGVfb3V0bGluZWRcIiwgXCJib2x0X2FsdF9jaXJjbGVfZmlsbGVkXCJdLFxuICBcImJvbHQtYWx0XCI6IFtcImJvbHRfYWx0X291dGxpbmVkXCIsIFwiYm9sdF9hbHRfZmlsbGVkXCJdLFxuICBcImJvbHQtY2lyY2xlXCI6IFtcImJvbHRfY2lyY2xlX291dGxpbmVkXCIsIFwiYm9sdF9jaXJjbGVfZmlsbGVkXCJdLFxuICBcImJvbHRcIjogW1wiYm9sdF9vdXRsaW5lZFwiLCBcImJvbHRfZmlsbGVkXCJdLFxuICBcImJvb2ttYXJrXCI6IFtcImJvb2ttYXJrX291dGxpbmVkXCIsIFwiYm9va21hcmtfZmlsbGVkXCJdLFxuICBcImJvb2ttYXJrc1wiOiBbXCJib29rbWFya3Nfb3V0bGluZWRcIiwgXCJib29rbWFya3NfZmlsbGVkXCJdLFxuICBcImJ1aWxkXCI6IFtcImJ1aWxkX291dGxpbmVkXCIsIFwiYnVpbGRfZmlsbGVkXCJdLFxuICBcImNhbGVuZGFyLWF2YWlsYWJsZVwiOiBbXCJjYWxlbmRhcl9hdmFpbGFibGVfb3V0bGluZWRcIiwgXCJjYWxlbmRhcl9hdmFpbGFibGVfZmlsbGVkXCJdLFxuICBcImNhbGVuZGFyLWJ1c3lcIjogW1wiY2FsZW5kYXJfYnVzeV9vdXRsaW5lZFwiLCBcImNhbGVuZGFyX2J1c3lfZmlsbGVkXCJdLFxuICBcImNhbGVuZGFyLW1vbnRoXCI6IFtcImNhbGVuZGFyX21vbnRoX291dGxpbmVkXCIsIFwiY2FsZW5kYXJfbW9udGhfZmlsbGVkXCJdLFxuICBcImNhbGVuZGFyLXRvZGF5XCI6IFtcImNhbGVuZGFyX3RvZGF5X291dGxpbmVkXCIsIFwiY2FsZW5kYXJfdG9kYXlfZmlsbGVkXCJdLFxuICBcImNhbGxcIjogW1wiY2FsbF9vdXRsaW5lZFwiLCBcImNhbGxfZmlsbGVkXCJdLFxuICBcImNhbmNlbFwiOiBbXCJjYW5jZWxfb3V0bGluZWRcIiwgXCJjYW5jZWxfZmlsbGVkXCJdLFxuICBcImNhdGVnb3J5XCI6IFtcImNhdGVnb3J5X291dGxpbmVkXCIsIFwiY2F0ZWdvcnlfZmlsbGVkXCJdLFxuICBcImNoYXJ0LWFkZFwiOiBbXCJjaGFydF9hZGRfb3V0bGluZWRcIiwgXCJjaGFydF9hZGRfZmlsbGVkXCJdLFxuICBcImNoYXJ0LWFyZWFcIjogW1wiY2hhcnRfYXJlYV9vdXRsaW5lZFwiLCBcImNoYXJ0X2FyZWFfZmlsbGVkXCJdLFxuICBcImNoYXJ0LXBpZVwiOiBbXCJjaGFydF9waWVfb3V0bGluZWRcIiwgXCJjaGFydF9waWVfZmlsbGVkXCJdLFxuICBcImNoYXJ0LXRhYmxlXCI6IFtcImNoYXJ0X3RhYmxlX291dGxpbmVkXCIsIFwiY2hhcnRfdGFibGVfZmlsbGVkXCJdLFxuICBcImNoYXQtYWx0XCI6IFtcImNoYXRfYWx0X291dGxpbmVkXCIsIFwiY2hhdF9hbHRfZmlsbGVkXCJdLFxuICBcImNoYXQtYWx0LXVucmVhZFwiOiBbXCJjaGF0X2FsdF91bnJlYWRfb3V0bGluZWRcIiwgXCJjaGF0X2FsdF91bnJlYWRfZmlsbGVkXCJdLFxuICBcImNoYXRcIjogW1wiY2hhdF9vdXRsaW5lZFwiLCBcImNoYXRfZmlsbGVkXCJdLFxuICBcImNoYXQtdW5yZWFkXCI6IFtcImNoYXRfdW5yZWFkX291dGxpbmVkXCIsIFwiY2hhdF91bnJlYWRfZmlsbGVkXCJdLFxuICBcImNoZWNrLWNpcmNsZVwiOiBbXCJjaGVja19jaXJjbGVfb3V0bGluZWRcIiwgXCJjaGVja19jaXJjbGVfZmlsbGVkXCJdLFxuICBcImNoZWNrYm94XCI6IFtcImNoZWNrYm94X291dGxpbmVkXCIsIFwiY2hlY2tib3hfZmlsbGVkXCJdLFxuICBcImNoZWNrYm94LWluZGV0ZXJtaW5hdGVcIjogW1wiY2hlY2tib3hfaW5kZXRlcm1pbmF0ZV9vdXRsaW5lZFwiLCBcImNoZWNrYm94X2luZGV0ZXJtaW5hdGVfZmlsbGVkXCJdLFxuICBcImNsb2NrXCI6IFtcImNsb2NrX291dGxpbmVkXCIsIFwiY2xvY2tfZmlsbGVkXCJdLFxuICBcImNsb3VkLWRvd25sb2FkXCI6IFtcImNsb3VkX2Rvd25sb2FkX291dGxpbmVkXCIsIFwiY2xvdWRfZG93bmxvYWRfZmlsbGVkXCJdLFxuICBcImNsb3VkXCI6IFtcImNsb3VkX291dGxpbmVkXCIsIFwiY2xvdWRfZmlsbGVkXCJdLFxuICBcImNsb3VkLW9mZlwiOiBbXCJjbG91ZF9vZmZfb3V0bGluZWRcIiwgXCJjbG91ZF9vZmZfZmlsbGVkXCJdLFxuICBcImNsb3VkLXVwbG9hZFwiOiBbXCJjbG91ZF91cGxvYWRfb3V0bGluZWRcIiwgXCJjbG91ZF91cGxvYWRfZmlsbGVkXCJdLFxuICBcImNvbW1lbnQtYWRkXCI6IFtcImNvbW1lbnRfYWRkX291dGxpbmVkXCIsIFwiY29tbWVudF9hZGRfZmlsbGVkXCJdLFxuICBcImNvbW1lbnRcIjogW1wiY29tbWVudF9vdXRsaW5lZFwiLCBcImNvbW1lbnRfZmlsbGVkXCJdLFxuICBcImNvbnRhY3RcIjogW1wiY29udGFjdF9vdXRsaW5lZFwiLCBcImNvbnRhY3RfZmlsbGVkXCJdLFxuICBcImNvcHlcIjogW1wiY29weV9vdXRsaW5lZFwiLCBcImNvcHlfZmlsbGVkXCJdLFxuICBcImRhbmdlcm91c1wiOiBbXCJkYW5nZXJvdXNfb3V0bGluZWRcIiwgXCJkYW5nZXJvdXNfZmlsbGVkXCJdLFxuICBcImRhc2hib2FyZFwiOiBbXCJkYXNoYm9hcmRfb3V0bGluZWRcIiwgXCJkYXNoYm9hcmRfZmlsbGVkXCJdLFxuICBcImRhdGFiYXNlXCI6IFtcImRhdGFiYXNlX291dGxpbmVkXCIsIFwiZGF0YWJhc2VfZmlsbGVkXCJdLFxuICBcImRlbGV0ZVwiOiBbXCJkZWxldGVfb3V0bGluZWRcIiwgXCJkZWxldGVfZmlsbGVkXCJdLFxuICBcImRlc2t0b3BcIjogW1wiZGVza3RvcF9vdXRsaW5lZFwiLCBcImRlc2t0b3BfZmlsbGVkXCJdLFxuICBcImRldmljZXNcIjogW1wiZGV2aWNlc19vdXRsaW5lZFwiLCBcImRldmljZXNfZmlsbGVkXCJdLFxuICBcImRyYWZ0XCI6IFtcImRyYWZ0X291dGxpbmVkXCIsIFwiZHJhZnRfZmlsbGVkXCJdLFxuICBcImVjb1wiOiBbXCJlY29fb3V0bGluZWRcIiwgXCJlY29fZmlsbGVkXCJdLFxuICBcImVkaXRcIjogW1wiZWRpdF9vdXRsaW5lZFwiLCBcImVkaXRfZmlsbGVkXCJdLFxuICBcImVsZWN0cmljLW1ldGVyXCI6IFtcImVsZWN0cmljX21ldGVyX291dGxpbmVkXCIsIFwiZWxlY3RyaWNfbWV0ZXJfZmlsbGVkXCJdLFxuICBcImVycm9yXCI6IFtcImVycm9yX291dGxpbmVkXCIsIFwiZXJyb3JfZmlsbGVkXCJdLFxuICBcImV4cGxvcmVcIjogW1wiZXhwbG9yZV9vdXRsaW5lZFwiLCBcImV4cGxvcmVfZmlsbGVkXCJdLFxuICBcImV4cGxvcmUtb2ZmXCI6IFtcImV4cGxvcmVfb2ZmX291dGxpbmVkXCIsIFwiZXhwbG9yZV9vZmZfZmlsbGVkXCJdLFxuICBcImV4cG9ydC14bHNcIjogW1wiZXhwb3J0X3hsc19vdXRsaW5lZFwiLCBcImV4cG9ydF94bHNfZmlsbGVkXCJdLFxuICBcImZhc3QtZm9yd2FyZFwiOiBbXCJmYXN0X2ZvcndhcmRfb3V0bGluZWRcIiwgXCJmYXN0X2ZvcndhcmRfZmlsbGVkXCJdLFxuICBcImZhc3QtcmV3aW5kXCI6IFtcImZhc3RfcmV3aW5kX291dGxpbmVkXCIsIFwiZmFzdF9yZXdpbmRfZmlsbGVkXCJdLFxuICBcImZlZWRiYWNrXCI6IFtcImZlZWRiYWNrX291dGxpbmVkXCIsIFwiZmVlZGJhY2tfZmlsbGVkXCJdLFxuICBcImZpbGUtY29weVwiOiBbXCJmaWxlX2NvcHlfb3V0bGluZWRcIiwgXCJmaWxlX2NvcHlfZmlsbGVkXCJdLFxuICBcImZpbGUtZG93bmxvYWRcIjogW1wiZmlsZV9kb3dubG9hZF9vdXRsaW5lZFwiLCBcImZpbGVfZG93bmxvYWRfZmlsbGVkXCJdLFxuICBcImZpbGUtdXBsb2FkXCI6IFtcImZpbGVfdXBsb2FkX291dGxpbmVkXCIsIFwiZmlsZV91cGxvYWRfZmlsbGVkXCJdLFxuICBcImZpbHRlci1hbHRcIjogW1wiZmlsdGVyX2FsdF9vdXRsaW5lZFwiLCBcImZpbHRlcl9hbHRfZmlsbGVkXCJdLFxuICBcImZpbHRlci1hbHQtb2ZmXCI6IFtcImZpbHRlcl9hbHRfb2ZmX291dGxpbmVkXCIsIFwiZmlsdGVyX2FsdF9vZmZfZmlsbGVkXCJdLFxuICBcImZpcmVcIjogW1wiZmlyZV9vdXRsaW5lZFwiLCBcImZpcmVfZmlsbGVkXCJdLFxuICBcImZpdC1zY3JlZW5cIjogW1wiZml0X3NjcmVlbl9vdXRsaW5lZFwiLCBcImZpdF9zY3JlZW5fZmlsbGVkXCJdLFxuICBcImZsYWdcIjogW1wiZmxhZ19vdXRsaW5lZFwiLCBcImZsYWdfZmlsbGVkXCJdLFxuICBcImZsYXNoXCI6IFtcImZsYXNoX291dGxpbmVkXCIsIFwiZmxhc2hfZmlsbGVkXCJdLFxuICBcImZsYXNoLW9mZlwiOiBbXCJmbGFzaF9vZmZfb3V0bGluZWRcIiwgXCJmbGFzaF9vZmZfZmlsbGVkXCJdLFxuICBcImZvbGRlci1hZGRcIjogW1wiZm9sZGVyX2FkZF9vdXRsaW5lZFwiLCBcImZvbGRlcl9hZGRfZmlsbGVkXCJdLFxuICBcImZvbGRlclwiOiBbXCJmb2xkZXJfb3V0bGluZWRcIiwgXCJmb2xkZXJfZmlsbGVkXCJdLFxuICBcImZvbGRlci1tb3ZlXCI6IFtcImZvbGRlcl9tb3ZlX291dGxpbmVkXCIsIFwiZm9sZGVyX21vdmVfZmlsbGVkXCJdLFxuICBcImZvbGRlci1vcGVuXCI6IFtcImZvbGRlcl9vcGVuX291dGxpbmVkXCIsIFwiZm9sZGVyX29wZW5fZmlsbGVkXCJdLFxuICBcImZvbGRlci1zaGFyZWRcIjogW1wiZm9sZGVyX3NoYXJlZF9vdXRsaW5lZFwiLCBcImZvbGRlcl9zaGFyZWRfZmlsbGVkXCJdLFxuICBcImZvcnVtXCI6IFtcImZvcnVtX291dGxpbmVkXCIsIFwiZm9ydW1fZmlsbGVkXCJdLFxuICBcImdyb3VwLWFkZFwiOiBbXCJncm91cF9hZGRfb3V0bGluZWRcIiwgXCJncm91cF9hZGRfZmlsbGVkXCJdLFxuICBcImdyb3VwXCI6IFtcImdyb3VwX291dGxpbmVkXCIsIFwiZ3JvdXBfZmlsbGVkXCJdLFxuICBcImdyb3Vwc1wiOiBbXCJncm91cHNfb3V0bGluZWRcIiwgXCJncm91cHNfZmlsbGVkXCJdLFxuICBcImhhbmRzaGFrZVwiOiBbXCJoYW5kc2hha2Vfb3V0bGluZWRcIiwgXCJoYW5kc2hha2VfZmlsbGVkXCJdLFxuICBcImhlYWRwaG9uZXNcIjogW1wiaGVhZHBob25lc19vdXRsaW5lZFwiLCBcImhlYWRwaG9uZXNfZmlsbGVkXCJdLFxuICBcImhlYXJ0XCI6IFtcImhlYXJ0X291dGxpbmVkXCIsIFwiaGVhcnRfZmlsbGVkXCJdLFxuICBcImhlbHBcIjogW1wiaGVscF9vdXRsaW5lZFwiLCBcImhlbHBfZmlsbGVkXCJdLFxuICBcImhvbWVcIjogW1wiaG9tZV9vdXRsaW5lZFwiLCBcImhvbWVfZmlsbGVkXCJdLFxuICBcImhvdXJnbGFzc1wiOiBbXCJob3VyZ2xhc3Nfb3V0bGluZWRcIiwgXCJob3VyZ2xhc3NfZmlsbGVkXCJdLFxuICBcImltYWdlLWJyb2tlblwiOiBbXCJpbWFnZV9icm9rZW5fb3V0bGluZWRcIiwgXCJpbWFnZV9icm9rZW5fZmlsbGVkXCJdLFxuICBcImltYWdlXCI6IFtcImltYWdlX291dGxpbmVkXCIsIFwiaW1hZ2VfZmlsbGVkXCJdLFxuICBcImltYWdlLWdhbGxlcnlcIjogW1wiaW1hZ2VfZ2FsbGVyeV9vdXRsaW5lZFwiLCBcImltYWdlX2dhbGxlcnlfZmlsbGVkXCJdLFxuICBcImluYm94XCI6IFtcImluYm94X291dGxpbmVkXCIsIFwiaW5ib3hfZmlsbGVkXCJdLFxuICBcImluZm9cIjogW1wiaW5mb19vdXRsaW5lZFwiLCBcImluZm9fZmlsbGVkXCJdLFxuICBcImtlZXBcIjogW1wia2VlcF9vdXRsaW5lZFwiLCBcImtlZXBfZmlsbGVkXCJdLFxuICBcImtlZXAtb2ZmXCI6IFtcImtlZXBfb2ZmX291dGxpbmVkXCIsIFwia2VlcF9vZmZfZmlsbGVkXCJdLFxuICBcImxhYmVsXCI6IFtcImxhYmVsX291dGxpbmVkXCIsIFwibGFiZWxfZmlsbGVkXCJdLFxuICBcImxhcHRvcFwiOiBbXCJsYXB0b3Bfb3V0bGluZWRcIiwgXCJsYXB0b3BfZmlsbGVkXCJdLFxuICBcImxlZnQtcGFuZWwtY2xvc2VcIjogW1wibGVmdF9wYW5lbF9jbG9zZV9vdXRsaW5lZFwiLCBcImxlZnRfcGFuZWxfY2xvc2VfZmlsbGVkXCJdLFxuICBcImxlZnQtcGFuZWwtb3BlblwiOiBbXCJsZWZ0X3BhbmVsX29wZW5fb3V0bGluZWRcIiwgXCJsZWZ0X3BhbmVsX29wZW5fZmlsbGVkXCJdLFxuICBcImxpZ2h0LW9mZlwiOiBbXCJsaWdodF9vZmZfb3V0bGluZWRcIiwgXCJsaWdodF9vZmZfZmlsbGVkXCJdLFxuICBcImxpZ2h0YnVsYi1hbHRcIjogW1wibGlnaHRidWxiX2FsdF9vdXRsaW5lZFwiLCBcImxpZ2h0YnVsYl9hbHRfZmlsbGVkXCJdLFxuICBcImxpZ2h0YnVsYi1jaXJjbGVcIjogW1wibGlnaHRidWxiX2NpcmNsZV9vdXRsaW5lZFwiLCBcImxpZ2h0YnVsYl9jaXJjbGVfZmlsbGVkXCJdLFxuICBcImxpZ2h0YnVsYlwiOiBbXCJsaWdodGJ1bGJfb3V0bGluZWRcIiwgXCJsaWdodGJ1bGJfZmlsbGVkXCJdLFxuICBcImxpc3QtYWx0XCI6IFtcImxpc3RfYWx0X291dGxpbmVkXCIsIFwibGlzdF9hbHRfZmlsbGVkXCJdLFxuICBcImxvY2F0aW9uLW1lXCI6IFtcImxvY2F0aW9uX21lX291dGxpbmVkXCIsIFwibG9jYXRpb25fbWVfZmlsbGVkXCJdLFxuICBcImxvY2F0aW9uLW9mZlwiOiBbXCJsb2NhdGlvbl9vZmZfb3V0bGluZWRcIiwgXCJsb2NhdGlvbl9vZmZfZmlsbGVkXCJdLFxuICBcImxvY2F0aW9uLW9uXCI6IFtcImxvY2F0aW9uX29uX291dGxpbmVkXCIsIFwibG9jYXRpb25fb25fZmlsbGVkXCJdLFxuICBcImxvY2tcIjogW1wibG9ja19vdXRsaW5lZFwiLCBcImxvY2tfZmlsbGVkXCJdLFxuICBcImxvY2stb3BlblwiOiBbXCJsb2NrX29wZW5fb3V0bGluZWRcIiwgXCJsb2NrX29wZW5fZmlsbGVkXCJdLFxuICBcImxvY2stb3Blbi1yaWdodFwiOiBbXCJsb2NrX29wZW5fcmlnaHRfb3V0bGluZWRcIiwgXCJsb2NrX29wZW5fcmlnaHRfZmlsbGVkXCJdLFxuICBcIm1haWxcIjogW1wibWFpbF9vdXRsaW5lZFwiLCBcIm1haWxfZmlsbGVkXCJdLFxuICBcIm1haWwtdW5yZWFkXCI6IFtcIm1haWxfdW5yZWFkX291dGxpbmVkXCIsIFwibWFpbF91bnJlYWRfZmlsbGVkXCJdLFxuICBcIm1hcFwiOiBbXCJtYXBfb3V0bGluZWRcIiwgXCJtYXBfZmlsbGVkXCJdLFxuICBcIm1pY1wiOiBbXCJtaWNfb3V0bGluZWRcIiwgXCJtaWNfZmlsbGVkXCJdLFxuICBcIm1pYy1vZmZcIjogW1wibWljX29mZl9vdXRsaW5lZFwiLCBcIm1pY19vZmZfZmlsbGVkXCJdLFxuICBcIm1vZGUtZGFya1wiOiBbXCJtb2RlX2Rhcmtfb3V0bGluZWRcIiwgXCJtb2RlX2RhcmtfZmlsbGVkXCJdLFxuICBcIm1vZGUtbGlnaHRcIjogW1wibW9kZV9saWdodF9vdXRsaW5lZFwiLCBcIm1vZGVfbGlnaHRfZmlsbGVkXCJdLFxuICBcIm5vdGlmaWNhdGlvblwiOiBbXCJub3RpZmljYXRpb25fb3V0bGluZWRcIiwgXCJub3RpZmljYXRpb25fZmlsbGVkXCJdLFxuICBcIm5vdGlmaWNhdGlvbi1pbXBvcnRhbnRcIjogW1wibm90aWZpY2F0aW9uX2ltcG9ydGFudF9vdXRsaW5lZFwiLCBcIm5vdGlmaWNhdGlvbl9pbXBvcnRhbnRfZmlsbGVkXCJdLFxuICBcIm5vdGlmaWNhdGlvbi1vZmZcIjogW1wibm90aWZpY2F0aW9uX29mZl9vdXRsaW5lZFwiLCBcIm5vdGlmaWNhdGlvbl9vZmZfZmlsbGVkXCJdLFxuICBcIm5vdGlmaWNhdGlvbi11bnJlYWRcIjogW1wibm90aWZpY2F0aW9uX3VucmVhZF9vdXRsaW5lZFwiLCBcIm5vdGlmaWNhdGlvbl91bnJlYWRfZmlsbGVkXCJdLFxuICBcInBhbGV0dGVcIjogW1wicGFsZXR0ZV9vdXRsaW5lZFwiLCBcInBhbGV0dGVfZmlsbGVkXCJdLFxuICBcInBhdXNlLWNpcmNsZVwiOiBbXCJwYXVzZV9jaXJjbGVfb3V0bGluZWRcIiwgXCJwYXVzZV9jaXJjbGVfZmlsbGVkXCJdLFxuICBcInBhdXNlXCI6IFtcInBhdXNlX291dGxpbmVkXCIsIFwicGF1c2VfZmlsbGVkXCJdLFxuICBcInBob3RvLWNhbWVyYVwiOiBbXCJwaG90b19jYW1lcmFfb3V0bGluZWRcIiwgXCJwaG90b19jYW1lcmFfZmlsbGVkXCJdLFxuICBcInBsYXktY2lyY2xlXCI6IFtcInBsYXlfY2lyY2xlX291dGxpbmVkXCIsIFwicGxheV9jaXJjbGVfZmlsbGVkXCJdLFxuICBcInBsYXlcIjogW1wicGxheV9vdXRsaW5lZFwiLCBcInBsYXlfZmlsbGVkXCJdLFxuICBcInBvd2VyXCI6IFtcInBvd2VyX291dGxpbmVkXCIsIFwicG93ZXJfZmlsbGVkXCJdLFxuICBcInBvd2VyLW9mZlwiOiBbXCJwb3dlcl9vZmZfb3V0bGluZWRcIiwgXCJwb3dlcl9vZmZfZmlsbGVkXCJdLFxuICBcInBvd2VyLXBsdWctY29ubmVjdFwiOiBbXCJwb3dlcl9wbHVnX2Nvbm5lY3Rfb3V0bGluZWRcIiwgXCJwb3dlcl9wbHVnX2Nvbm5lY3RfZmlsbGVkXCJdLFxuICBcInBvd2VyLXNldHRpbmdzLWNpcmNsZVwiOiBbXCJwb3dlcl9zZXR0aW5nc19jaXJjbGVfb3V0bGluZWRcIiwgXCJwb3dlcl9zZXR0aW5nc19jaXJjbGVfZmlsbGVkXCJdLFxuICBcInBvd2VyLXNvbGFyXCI6IFtcInBvd2VyX3NvbGFyX291dGxpbmVkXCIsIFwicG93ZXJfc29sYXJfZmlsbGVkXCJdLFxuICBcInBvd2VyLXN3aXRjaFwiOiBbXCJwb3dlcl9zd2l0Y2hfb3V0bGluZWRcIiwgXCJwb3dlcl9zd2l0Y2hfZmlsbGVkXCJdLFxuICBcInBvd2VyLXdpbmRcIjogW1wicG93ZXJfd2luZF9vdXRsaW5lZFwiLCBcInBvd2VyX3dpbmRfZmlsbGVkXCJdLFxuICBcInByaW50XCI6IFtcInByaW50X291dGxpbmVkXCIsIFwicHJpbnRfZmlsbGVkXCJdLFxuICBcInJpZ2h0LXBhbmVsLWNsb3NlXCI6IFtcInJpZ2h0X3BhbmVsX2Nsb3NlX291dGxpbmVkXCIsIFwicmlnaHRfcGFuZWxfY2xvc2VfZmlsbGVkXCJdLFxuICBcInJpZ2h0LXBhbmVsLW9wZW5cIjogW1wicmlnaHRfcGFuZWxfb3Blbl9vdXRsaW5lZFwiLCBcInJpZ2h0X3BhbmVsX29wZW5fZmlsbGVkXCJdLFxuICBcInNhdmVcIjogW1wic2F2ZV9vdXRsaW5lZFwiLCBcInNhdmVfZmlsbGVkXCJdLFxuICBcInNlbmRcIjogW1wic2VuZF9vdXRsaW5lZFwiLCBcInNlbmRfZmlsbGVkXCJdLFxuICBcInNldHRpbmdzXCI6IFtcInNldHRpbmdzX291dGxpbmVkXCIsIFwic2V0dGluZ3NfZmlsbGVkXCJdLFxuICBcInNoYXJlXCI6IFtcInNoYXJlX291dGxpbmVkXCIsIFwic2hhcmVfZmlsbGVkXCJdLFxuICBcInNraXAtbmV4dFwiOiBbXCJza2lwX25leHRfb3V0bGluZWRcIiwgXCJza2lwX25leHRfZmlsbGVkXCJdLFxuICBcInNraXAtcHJldmlvdXNcIjogW1wic2tpcF9wcmV2aW91c19vdXRsaW5lZFwiLCBcInNraXBfcHJldmlvdXNfZmlsbGVkXCJdLFxuICBcInNtYXJ0cGhvbmVcIjogW1wic21hcnRwaG9uZV9vdXRsaW5lZFwiLCBcInNtYXJ0cGhvbmVfZmlsbGVkXCJdLFxuICBcInN0YXJcIjogW1wic3Rhcl9vdXRsaW5lZFwiLCBcInN0YXJfZmlsbGVkXCJdLFxuICBcInN0aWNreS1ub3RlXCI6IFtcInN0aWNreV9ub3RlX291dGxpbmVkXCIsIFwic3RpY2t5X25vdGVfZmlsbGVkXCJdLFxuICBcInN0b3AtY2lyY2xlXCI6IFtcInN0b3BfY2lyY2xlX291dGxpbmVkXCIsIFwic3RvcF9jaXJjbGVfZmlsbGVkXCJdLFxuICBcInN0b3BcIjogW1wic3RvcF9vdXRsaW5lZFwiLCBcInN0b3BfZmlsbGVkXCJdLFxuICBcInN1YnRpdGxlc1wiOiBbXCJzdWJ0aXRsZXNfb3V0bGluZWRcIiwgXCJzdWJ0aXRsZXNfZmlsbGVkXCJdLFxuICBcInRleHQtc25pcHBldFwiOiBbXCJ0ZXh0X3NuaXBwZXRfb3V0bGluZWRcIiwgXCJ0ZXh0X3NuaXBwZXRfZmlsbGVkXCJdLFxuICBcInRyYXNoLXJlc3RvcmVcIjogW1widHJhc2hfcmVzdG9yZV9vdXRsaW5lZFwiLCBcInRyYXNoX3Jlc3RvcmVfZmlsbGVkXCJdLFxuICBcInVuYXJjaGl2ZVwiOiBbXCJ1bmFyY2hpdmVfb3V0bGluZWRcIiwgXCJ1bmFyY2hpdmVfZmlsbGVkXCJdLFxuICBcInVzZXItYWRkXCI6IFtcInVzZXJfYWRkX291dGxpbmVkXCIsIFwidXNlcl9hZGRfZmlsbGVkXCJdLFxuICBcInVzZXItY2lyY2xlXCI6IFtcInVzZXJfY2lyY2xlX291dGxpbmVkXCIsIFwidXNlcl9jaXJjbGVfZmlsbGVkXCJdLFxuICBcInVzZXJcIjogW1widXNlcl9vdXRsaW5lZFwiLCBcInVzZXJfZmlsbGVkXCJdLFxuICBcInVzZXItc2V0dGluZ3NcIjogW1widXNlcl9zZXR0aW5nc19vdXRsaW5lZFwiLCBcInVzZXJfc2V0dGluZ3NfZmlsbGVkXCJdLFxuICBcInZlcmlmaWVkXCI6IFtcInZlcmlmaWVkX291dGxpbmVkXCIsIFwidmVyaWZpZWRfZmlsbGVkXCJdLFxuICBcInZpZGVvLWNhbWVyYVwiOiBbXCJ2aWRlb19jYW1lcmFfb3V0bGluZWRcIiwgXCJ2aWRlb19jYW1lcmFfZmlsbGVkXCJdLFxuICBcInZpZGVvLWNhbWVyYS1vZmZcIjogW1widmlkZW9fY2FtZXJhX29mZl9vdXRsaW5lZFwiLCBcInZpZGVvX2NhbWVyYV9vZmZfZmlsbGVkXCJdLFxuICBcInZpZGVvLWdhbGxlcnlcIjogW1widmlkZW9fZ2FsbGVyeV9vdXRsaW5lZFwiLCBcInZpZGVvX2dhbGxlcnlfZmlsbGVkXCJdLFxuICBcInZpZXctYWdlbmRhXCI6IFtcInZpZXdfYWdlbmRhX291dGxpbmVkXCIsIFwidmlld19hZ2VuZGFfZmlsbGVkXCJdLFxuICBcInZpZXctY29sdW1uXCI6IFtcInZpZXdfY29sdW1uX291dGxpbmVkXCIsIFwidmlld19jb2x1bW5fZmlsbGVkXCJdLFxuICBcInZpZXctZ3JpZFwiOiBbXCJ2aWV3X2dyaWRfb3V0bGluZWRcIiwgXCJ2aWV3X2dyaWRfZmlsbGVkXCJdLFxuICBcInZpZXcta2FuYmFuXCI6IFtcInZpZXdfa2FuYmFuX291dGxpbmVkXCIsIFwidmlld19rYW5iYW5fZmlsbGVkXCJdLFxuICBcInZpZXctbW9kdWxlXCI6IFtcInZpZXdfbW9kdWxlX291dGxpbmVkXCIsIFwidmlld19tb2R1bGVfZmlsbGVkXCJdLFxuICBcInZpZXctdGltZWxpbmVcIjogW1widmlld190aW1lbGluZV9vdXRsaW5lZFwiLCBcInZpZXdfdGltZWxpbmVfZmlsbGVkXCJdLFxuICBcInZpc2liaWxpdHktaGlkZVwiOiBbXCJ2aXNpYmlsaXR5X2hpZGVfb3V0bGluZWRcIiwgXCJ2aXNpYmlsaXR5X2hpZGVfZmlsbGVkXCJdLFxuICBcInZpc2liaWxpdHktc2hvd1wiOiBbXCJ2aXNpYmlsaXR5X3Nob3dfb3V0bGluZWRcIiwgXCJ2aXNpYmlsaXR5X3Nob3dfZmlsbGVkXCJdLFxuICBcInZvbHVtZS1kb3duXCI6IFtcInZvbHVtZV9kb3duX291dGxpbmVkXCIsIFwidm9sdW1lX2Rvd25fZmlsbGVkXCJdLFxuICBcInZvbHVtZS1tdXRlXCI6IFtcInZvbHVtZV9tdXRlX291dGxpbmVkXCIsIFwidm9sdW1lX211dGVfZmlsbGVkXCJdLFxuICBcInZvbHVtZS1vZmZcIjogW1widm9sdW1lX29mZl9vdXRsaW5lZFwiLCBcInZvbHVtZV9vZmZfZmlsbGVkXCJdLFxuICBcInZvbHVtZS11cFwiOiBbXCJ2b2x1bWVfdXBfb3V0bGluZWRcIiwgXCJ2b2x1bWVfdXBfZmlsbGVkXCJdLFxuICBcIndhcm5pbmdcIjogW1wid2FybmluZ19vdXRsaW5lZFwiLCBcIndhcm5pbmdfZmlsbGVkXCJdLFxuICBcIndhdGVyZHJvcFwiOiBbXCJ3YXRlcmRyb3Bfb3V0bGluZWRcIiwgXCJ3YXRlcmRyb3BfZmlsbGVkXCJdLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSWNvbk5hbWVTaGFyZWQoaWNvbk5hbWUsIFJlZ3VsYXJJY29ucywgVG9nZ2xhYmxlSWNvbnMpO1xufVxuIl19