[fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” type_medium=”” type_small=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”true”][fusion_code]PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiIC8+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogIDx0aXRsZT5XaWxzb24gUHJvIEFWTCDigKIgVXRpbGl0eSBDYWxjdWxhdG9ycyAmIFdpcmUgR3VpZGVzPC90aXRsZT4KICA8c3R5bGU+CiAgICBib2R5e2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO21hcmdpbjoycmVtO2NvbG9yOiMzMzM7fQogICAgaDF7Zm9udC1zaXplOjJyZW07bWFyZ2luLWJvdHRvbToxLjVyZW07fQogICAgaDJ7Zm9udC1zaXplOjEuNHJlbTttYXJnaW46MS41cmVtIDAgMXJlbTt9CiAgICAuc2VjdGlvbntib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzoxLjVyZW07bWFyZ2luLWJvdHRvbToyLjVyZW07fQogICAgLnJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowLjc1cmVtIDA7fQogICAgLnJvdyBsYWJlbHtmbGV4OjAgMCAyMDBweDtmb250LXdlaWdodDpib2xkO30KICAgIC5yb3cgaW5wdXQsLnJvdyBzZWxlY3R7ZmxleDoxO3BhZGRpbmc6MC41cmVtO2ZvbnQtc2l6ZToxcmVtO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweDt9CiAgICBidXR0b257bWFyZ2luLXRvcDoxLjJyZW07cGFkZGluZzowLjc1cmVtIDEuNXJlbTtmb250LXNpemU6MXJlbTtiYWNrZ3JvdW5kOiMwMDdCRkY7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjRweDtjdXJzb3I6cG9pbnRlcjt9CiAgICBidXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDA1NmIzO30KICAgIC5yZXN1bHR7bWFyZ2luLXRvcDoxcmVtO2ZvbnQtc2l6ZToxLjE1cmVtO2NvbG9yOiMwMDA7fQogICAgdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luLXRvcDowLjVyZW07fQogICAgdGgsdGR7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO3BhZGRpbmc6MC41cmVtO3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MC45cmVtO30KICAgIHRoe2JhY2tncm91bmQ6I2U5ZTllOTt9CiAgICAubW9kYWx7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO30KICAgIC5tb2RhbC1jb250ZW50e2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjZweDttYXgtd2lkdGg6NTAwcHg7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47fQogICAgLm1vZGFsLWhlYWRlcntiYWNrZ3JvdW5kOiMwMDA7cGFkZGluZzoxcmVtO3RleHQtYWxpZ246Y2VudGVyO30KICAgIC5tb2RhbC1ib2R5e3BhZGRpbmc6MS41cmVtO30KICAgIC5tb2RhbCBpbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87fQogICAgLmhpZGRlbntkaXNwbGF5Om5vbmU7fQogICAgLm5vdGV7Zm9udC1zaXplOjAuOXJlbTtjb2xvcjojNTU1O21hcmdpbi10b3A6MXJlbTt9CiAgICBAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsKICAgICAgYm9keXttYXJnaW46MXJlbTt9CiAgICAgIC5yb3d7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7fQogICAgICAucm93IGxhYmVse2ZsZXg6bm9uZTttYXJnaW4tYm90dG9tOjAuNHJlbTt9CiAgICAgIGJ1dHRvbnt3aWR0aDoxMDAlO30KICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPGgxPldpbHNvbiBQcm8gQVZMIOKAkyBVdGlsaXR5IENhbGN1bGF0b3JzICYgV2lyZSBHdWlkZXM8L2gxPgoKPCEtLSBMaWdodGluZyBXYXR0cyDihpIgQW1wcyAtLT4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgPGgyPkxpZ2h0aW5nIFdhdHRzIOKGkiBBbXBzIENhbGN1bGF0b3I8L2gyPgogIDxkaXYgY2xhc3M9InJvdyI+PGxhYmVsIGZvcj0id2F0dHMiPlBvd2VyIChXYXR0cyk6PC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0id2F0dHMiIHBsYWNlaG9sZGVyPSJlLmcuIDE1MDAiPjwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+PGxhYmVsIGZvcj0idm9sdHMiPlZvbHRhZ2UgKFZvbHRzKTo8L2xhYmVsPjxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJ2b2x0cyIgdmFsdWU9IjEyMCI+PC9kaXY+CiAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxjV2F0dHNBbXBzKCkiPkNhbGN1bGF0ZSBBbXBzPC9idXR0b24+CiAgPGRpdiBpZD0icmVzdWx0V2F0dHMiIGNsYXNzPSJyZXN1bHQiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2Pgo8L2Rpdj4KCjwhLS0gQXVkaW8gRGVsYXkgLS0+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgogIDxoMj5BdWRpbyBEZWxheSDihpQgRGlzdGFuY2U8L2gyPgogIDxkaXYgY2xhc3M9InJvdyI+PGxhYmVsIGZvcj0ibW9kZSI+TW9kZTo8L2xhYmVsPgogICAgPHNlbGVjdCBpZD0ibW9kZSI+CiAgICAgIDxvcHRpb24gdmFsdWU9ImZ0Mm1zIj5GZWV0IOKGkiBNaWxsaXNlY29uZHM8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0ibXMyZnQiPk1pbGxpc2Vjb25kcyDihpIgRmVldDwvb3B0aW9uPgogICAgPC9zZWxlY3Q+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icm93Ij48bGFiZWwgaWQ9ImxhYmVsSW5wdXQiIGZvcj0iZGVsYXlJbnB1dCI+RGlzdGFuY2UgKGZ0KTo8L2xhYmVsPgogICAgPGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImRlbGF5SW5wdXQiIHN0ZXA9IjAuMDEiPgogIDwvZGl2PgogIDxidXR0b24gb25jbGljaz0iY2FsY0RlbGF5KCkiPkNhbGN1bGF0ZTwvYnV0dG9uPgogIDxkaXYgaWQ9InJlc3VsdERlbGF5IiBjbGFzcz0icmVzdWx0IiBzdHlsZT0iZGlzcGxheTpub25lIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIENyb3duIEFtcGxpZmllciBDYWxjdWxhdG9yIC0tPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICA8aDI+Q3Jvd24gQW1wbGlmaWVyIENhbGN1bGF0b3I8L2gyPgogIDxmb3JtIGlkPSJhbXBGb3JtIj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxsYWJlbCBmb3I9InByb2R1Y3RGYW1pbHkiPlNlbGVjdCBQcm9kdWN0IEZhbWlseTo8L2xhYmVsPgogICAgICA8c2VsZWN0IGlkPSJwcm9kdWN0RmFtaWx5IiByZXF1aXJlZD4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIiIGRpc2FibGVkIHNlbGVjdGVkPlNlbGVjdCBhIHByb2R1Y3QgZmFtaWx5PC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29udHJvbCBDb250cmFjdG9yIDEwIFNlcmllcyI+Q29udHJvbCBDb250cmFjdG9yIDEwIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbnRyb2wgQ29udHJhY3RvciAyMCBTZXJpZXMiPkNvbnRyb2wgQ29udHJhY3RvciAyMCBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb250cm9sIENvbnRyYWN0b3IgNDAgU2VyaWVzIj5Db250cm9sIENvbnRyYWN0b3IgNDAgU2VyaWVzPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29udHJvbCBDb250cmFjdG9yIDYwIFNlcmllcyI+Q29udHJvbCBDb250cmFjdG9yIDYwIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbnRyb2wgQ29udHJhY3RvciA4MCBTZXJpZXMiPkNvbnRyb2wgQ29udHJhY3RvciA4MCBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb250cm9sIENvbnRyYWN0b3IgMTAwIFNlcmllcyI+Q29udHJvbCBDb250cmFjdG9yIDEwMCBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJDU1MgQ29tbWVyY2lhbCBTZXJpZXMiPkNTUyBDb21tZXJjaWFsIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IlNMUCBTZXJpZXMiPlNMUCBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQlQgU2VyaWVzIj5DQlQgU2VyaWVzPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSW50ZWxsaXZveCBTZXJpZXMiPkludGVsbGl2b3ggU2VyaWVzPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR1NGIFNlcmllcyI+R1NGIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IkdTQiBTZXJpZXMiPkdTQiBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJBRSBTZXJpZXMiPkFFIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IkFFIFNlcmllcyBDb21wYWN0Ij5BRSBTZXJpZXMgQ29tcGFjdDwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IkFXQyBDb21wYWN0IFNlcmllcyI+QVdDIENvbXBhY3QgU2VyaWVzPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQVcgU2VyaWVzIj5BVyBTZXJpZXM8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJBRSBTZXJpZXMgU3Vid29vZmVyIj5BRSBTZXJpZXMgU3Vid29vZmVyPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUFJYNDAwIFNlcmllcyI+UFJYNDAwIFNlcmllczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IlNSWDgwMCBQYXNzaXZlIFNlcmllcyI+U1JYODAwIFBhc3NpdmUgU2VyaWVzPC9vcHRpb24+CiAgICAgIDwvc2VsZWN0PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8bGFiZWwgZm9yPSJzcGVha2VyTW9kZWwiPlNlbGVjdCBTcGVha2VyIE1vZGVsOjwvbGFiZWw+CiAgICAgIDxzZWxlY3QgaWQ9InNwZWFrZXJNb2RlbCIgZGlzYWJsZWQgcmVxdWlyZWQ+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIiBkaXNhYmxlZCBzZWxlY3RlZD5TZWxlY3QgYSBwcm9kdWN0IGZhbWlseSBmaXJzdDwvb3B0aW9uPgogICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGxhYmVsIGZvcj0ib2htcyI+U3BlYWtlciBJbXBlZGFuY2UgKE9obXMpOjwvbGFiZWw+CiAgICAgIDxzZWxlY3QgaWQ9Im9obXMiIHJlcXVpcmVkPgogICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPjIgT2htczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IjQiPjQgT2htczwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9IjgiPjggT2htczwvb3B0aW9uPgogICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPGxhYmVsIGZvcj0ibnVtU3BlYWtlcnMiPk51bWJlciBvZiBTcGVha2VycyAoMeKAkzQpOjwvbGFiZWw+CiAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJudW1TcGVha2VycyIgbWluPSIxIiBtYXg9IjQiIHJlcXVpcmVkPgogICAgPC9kaXY+CiAgICA8YnV0dG9uIGlkPSJzaG93LXNwZWFrZXItaW1hZ2UiIGNsYXNzPSJoaWRkZW4iIG9uY2xpY2s9InNob3dTcGVha2VySW1hZ2UoKSI+U2hvdyBTcGVha2VyIEltYWdlPC9idXR0b24+CiAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCI+Q2FsY3VsYXRlPC9idXR0b24+CiAgPC9mb3JtPgogIDxkaXYgaWQ9InJlc3VsdEFtcCIgY2xhc3M9InJlc3VsdCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+CjwvZGl2PgoKPCEtLSBEVlMgTEVEIFZpZGVvIFdhbGwgQ2FsY3VsYXRvciAtLT4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgPGgyPkRWUyBMRUQgVmlkZW8gV2FsbCBDYWxjdWxhdG9yPC9oMj4KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGxhYmVsIGZvcj0idW5pdCI+VW5pdCBvZiBNZWFzdXJlbWVudDo8L2xhYmVsPgogICAgPHNlbGVjdCBpZD0idW5pdCI+CiAgICAgIDxvcHRpb24gdmFsdWU9ImZlZXQiPkZlZXQ8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0ibWV0ZXJzIj5NZXRlcnM8L29wdGlvbj4KICAgIDwvc2VsZWN0PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8bGFiZWwgZm9yPSJ3aWR0aCI+V2FsbCBXaWR0aCAoPHNwYW4gaWQ9IndpZHRoLXVuaXQiPmZlZXQ8L3NwYW4+KTo8L2xhYmVsPgogICAgPGlucHV0IHR5cGU9Im51bWJlciIgaWQ9IndpZHRoIiBzdGVwPSIwLjEiIG1pbj0iMC4xIiBwbGFjZWhvbGRlcj0iZS5nLiAxMCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxsYWJlbCBmb3I9ImhlaWdodCI+V2FsbCBIZWlnaHQgKDxzcGFuIGlkPSJoZWlnaHQtdW5pdCI+ZmVldDwvc3Bhbj4pOjwvbGFiZWw+CiAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iaGVpZ2h0IiBzdGVwPSIwLjEiIG1pbj0iMC4xIiBwbGFjZWhvbGRlcj0iZS5nLiA1Ij4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGxhYmVsIGZvcj0ic2VyaWVzIj5Qcm9kdWN0IFNlcmllczo8L2xhYmVsPgogICAgPHNlbGVjdCBpZD0ic2VyaWVzIj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgU2VyaWVzPC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IlZpenJhIj5WaXpyYSBTZXJpZXM8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iVml1U2l0ZSI+Vml1U2l0ZSBTZXJpZXM8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iRGlvUGxleCI+RGlvUGxleCBTZXJpZXM8L29wdGlvbj4KICAgIDwvc2VsZWN0PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8bGFiZWwgZm9yPSJtb2RlbCI+TW9kZWw6PC9sYWJlbD4KICAgIDxzZWxlY3QgaWQ9Im1vZGVsIiBkaXNhYmxlZD4KICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgYSBzZXJpZXMgZmlyc3Q8L29wdGlvbj4KICAgIDwvc2VsZWN0PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8bGFiZWwgZm9yPSJudW0td2FsbHMiPk51bWJlciBvZiBXYWxsczo8L2xhYmVsPgogICAgPHNlbGVjdCBpZD0ibnVtLXdhbGxzIj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iMSI+MTwvb3B0aW9uPgogICAgICA8b3B0aW9uIHZhbHVlPSIyIj4yPC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IjMiPjM8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iNCI+NDwvb3B0aW9uPgogICAgICA8b3B0aW9uIHZhbHVlPSI1Ij41PC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IjYiPjY8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iNyI+Nzwvb3B0aW9uPgogICAgICA8b3B0aW9uIHZhbHVlPSI4Ij44PC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IjkiPjk8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iMTAiPjEwPC9vcHRpb24+CiAgICA8L3NlbGVjdD4KICA8L2Rpdj4KICA8YnV0dG9uIGlkPSJzaG93LW1vZGVsIiBjbGFzcz0iaGlkZGVuIiBvbmNsaWNrPSJzaG93TW9kZWxJbWFnZSgpIj5TaG93IE1vZGVsPC9idXR0b24+CiAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxjVmlkZW9XYWxsKCkiPkNhbGN1bGF0ZTwvYnV0dG9uPgogIDxkaXYgaWQ9InJlc3VsdHMiIGNsYXNzPSJyZXN1bHQgaGlkZGVuIj4KICAgIDxoMz5SZXN1bHRzPC9oMz4KICAgIDxwPjxzdHJvbmc+U2VyaWVzOjwvc3Ryb25nPiA8c3BhbiBpZD0icmVzdWx0LXNlcmllcyI+PC9zcGFuPjwvcD4KICAgIDxwPjxzdHJvbmc+TW9kZWw6PC9zdHJvbmc+IDxzcGFuIGlkPSJyZXN1bHQtbW9kZWwiPjwvc3Bhbj48L3A+CiAgICA8cD48c3Ryb25nPlBpeGVsIFBpdGNoOjwvc3Ryb25nPiA8c3BhbiBpZD0icmVzdWx0LXBpeGVsLXBpdGNoIj48L3NwYW4+IG1tPC9wPgogICAgPHA+PHN0cm9uZz5QYW5lbCBTaXplOjwvc3Ryb25nPiA8c3BhbiBpZD0icmVzdWx0LXBhbmVsLXNpemUiPjwvc3Bhbj4gKFcgeCBIKTwvcD4KICAgIDxwPjxzdHJvbmc+UGFuZWxzIE5lZWRlZCBwZXIgV2FsbDo8L3N0cm9uZz4gPHNwYW4gaWQ9InJlc3VsdC1wYW5lbHMiPjwvc3Bhbj4gKDxzcGFuIGlkPSJyZXN1bHQtcGFuZWxzLXgiPjwvc3Bhbj4geCA8c3BhbiBpZD0icmVzdWx0LXBhbmVscy15Ij48L3NwYW4+KTwvcD4KICAgIDxwPjxzdHJvbmc+VG90YWwgUGFuZWxzIChBbGwgV2FsbHMpOjwvc3Ryb25nPiA8c3BhbiBpZD0icmVzdWx0LXRvdGFsLXBhbmVscyI+PC9zcGFuPjwvcD4KICAgIDxwPjxzdHJvbmc+TnVtYmVyIG9mIFdhbGxzOjwvc3Ryb25nPiA8c3BhbiBpZD0icmVzdWx0LW51bS13YWxscyI+PC9zcGFuPjwvcD4KICAgIDxwPjxzdHJvbmc+QWN0dWFsIFdhbGwgU2l6ZSAoRWFjaCk6PC9zdHJvbmc+IDxzcGFuIGlkPSJyZXN1bHQtYWN0dWFsLXNpemUiPjwvc3Bhbj4gKFcgeCBIKTwvcD4KICAgIDxwPjxzdHJvbmc+VG90YWwgUmVzb2x1dGlvbiAoRWFjaCBXYWxsKTo8L3N0cm9uZz4gPHNwYW4gaWQ9InJlc3VsdC1yZXNvbHV0aW9uIj48L3NwYW4+IHBpeGVscyAoVyB4IEgpPC9wPgogICAgPHA+PHN0cm9uZz5Ub3RhbCBQb3dlciBDb25zdW1wdGlvbiAoQWxsIFdhbGxzKTo8L3N0cm9uZz4gPHNwYW4gaWQ9InJlc3VsdC1wb3dlciI+PC9zcGFuPiBXPC9wPgogICAgPHA+PHN0cm9uZz5NYXRlcmlhbCBDb3N0IChBbGwgV2FsbHMpOjwvc3Ryb25nPiAkPHNwYW4gaWQ9InJlc3VsdC1tYXRlcmlhbC1jb3N0Ij48L3NwYW4+PC9wPgogICAgPHAgaWQ9ImxhYm9yLWNvc3QtY29udGFpbmVyIiBjbGFzcz0iaGlkZGVuIj48c3Ryb25nPkxhYm9yIENvc3Q6PC9zdHJvbmc+ICQ8c3BhbiBpZD0icmVzdWx0LWxhYm9yLWNvc3QiPjwvc3Bhbj48L3A+CiAgICA8cD48c3Ryb25nPlByb2plY3QgU3VidG90YWwgKEFsbCBXYWxscyk6PC9zdHJvbmc+ICQ8c3BhbiBpZD0icmVzdWx0LXN1YnRvdGFsIj48L3NwYW4+PC9wPgogICAgPGJ1dHRvbiBpZD0idG9nZ2xlLWxhYm9yIiBvbmNsaWNrPSJ0b2dnbGVMYWJvckNvc3QoKSI+U2hvdyBMYWJvciBDb3N0PC9idXR0b24+CiAgICA8cCBjbGFzcz0ibm90ZSI+Tm90ZTogTGFib3IgY29zdCBpcyBlc3RpbWF0ZWQgYXQgJDI4MSBwZXIgcGFuZWwuIENvc3RzIGFyZSBlc3RpbWF0ZXM7IGNvbnRhY3QgV2lsc29uIFBybyBBVkwgZm9yIGFjY3VyYXRlIHByaWNpbmcgYW5kIGNvbmZpZ3VyYXRpb25zLjwvcD4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIE1vZGFsIGZvciBkaXNwbGF5aW5nIG1vZGVsIG9yIHNwZWFrZXIgaW1hZ2UgLS0+CjxkaXYgaWQ9Im1vZGVsLW1vZGFsIiBjbGFzcz0ibW9kYWwgaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3dpbHNvbnByb2F2bC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMTIvTG9nby1XaGl0ZS1TbWFsbC00MDB4MTM2LnBuZyIgYWx0PSJXaWxzb25Qcm8gQVZMIExvZ28iIGNsYXNzPSJteC1hdXRvIGgtMTYiPgogICAgICA8aDIgaWQ9Im1vZGVsLXRpdGxlIiBjbGFzcz0idGV4dC1sZyBmb250LXNlbWlib2xkIG10LTIiIHN0eWxlPSJjb2xvcjogI2ZmZmZmZjsiPjwvaDI+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICA8aW1nIGlkPSJtb2RlbC1pbWFnZSIgc3JjPSIiIGFsdD0iTW9kZWwgSW1hZ2UiIGNsYXNzPSJtYi00Ij4KICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJjbG9zZU1vZGVsTW9kYWwoKSI+Q2xvc2U8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gRE1YL1hMUiBHdWlkZSAtLT4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgPGgyPkRNWCAmIFhMUiBQaW5vdXQgUmVmZXJlbmNlPC9oMj4KICA8aDM+RE1YICg1LXBpbik8L2gzPgogIDx0YWJsZT4KICAgIDx0cj48dGg+UGluPC90aD48dGg+RnVuY3Rpb248L3RoPjx0aD5Db2xvcjwvdGg+PC90cj4KICAgIDx0cj48dGQ+MTwvdGQ+PHRkPlNoaWVsZDwvdGQ+PHRkPlNoaWVsZDwvdGQ+PC90cj4KICAgIDx0cj48dGQ+MjwvdGQ+PHRkPkRhdGEg4oCTPC90ZD48dGQ+QmxhY2s8L3RkPjwvdHI+CiAgICA8dHI+PHRkPjM8L3RkPjx0ZD5EYXRhICs8L3RkPjx0ZD5SZWQ8L3RkPjwvdHI+CiAgICA8dHI+PHRkPjQ8L3RkPjx0ZD5EYXRhIDIg4oCTPC90ZD48dGQ+R3JheTwvdGQ+PC90cj4KICAgIDx0cj48dGQ+NTwvdGQ+PHRkPkRhdGEgMiArPC90ZD48dGQ+WWVsbG93PC90ZD48L3RyPgogIDwvdGFibGU+CiAgPGgzPlhMUiAoMy1waW4pPC9oMz4KICA8dGFibGU+CiAgICA8dHI+PHRoPlBpbjwvdGg+PHRoPkZ1bmN0aW9uPC90aD48dGg+VXNhZ2U8L3RoPjwvdHI+CiAgICA8dHI+PHRkPjE8L3RkPjx0ZD5Hcm91bmQ8L3RkPjx0ZD5TaGllbGQ8L3RkPjwvdHI+CiAgICA8dHI+PHRkPjI8L3RkPjx0ZD5Ib3QgLyArPC90ZD48dGQ+QmFsYW5jZWQgKzwvdGQ+PC90cj4KICAgIDx0cj48dGQ+MzwvdGQ+PHRkPkNvbGQgLyDigJM8L3RkPjx0ZD5CYWxhbmNlZCDigJM8L3RkPjwvdHI+CiAgPC90YWJsZT4KPC9kaXY+Cgo8c2NyaXB0PgovKiAtLS0tLS0tLS0tIExpZ2h0aW5nIFdhdHRzIOKGkiBBbXBzIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gY2FsY1dhdHRzQW1wcygpIHsKICB0cnkgewogICAgY29uc3Qgd2F0dHNJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3YXR0cycpOwogICAgY29uc3Qgdm9sdHNJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2b2x0cycpOwogICAgY29uc3QgcmVzdWx0V2F0dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0V2F0dHMnKTsKICAgIGlmICghd2F0dHNJbnB1dCB8fCAhdm9sdHNJbnB1dCB8fCAhcmVzdWx0V2F0dHMpIHsKICAgICAgY29uc29sZS5lcnJvcignRE9NIGVsZW1lbnRzIGZvciB3YXR0cyBjYWxjdWxhdG9yIG5vdCBmb3VuZCcpOwogICAgICBhbGVydCgnSW50ZXJuYWwgZXJyb3IuIFBsZWFzZSB0cnkgYWdhaW4uJyk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IHcgPSBwYXJzZUZsb2F0KHdhdHRzSW5wdXQudmFsdWUpOwogICAgY29uc3QgdiA9IHBhcnNlRmxvYXQodm9sdHNJbnB1dC52YWx1ZSk7CiAgICBpZiAoIXcgfHwgIXYpIHsKICAgICAgYWxlcnQoJ0VudGVyIGJvdGggdmFsdWVzLicpOwogICAgICByZXR1cm47CiAgICB9CiAgICByZXN1bHRXYXR0cy50ZXh0Q29udGVudCA9IGBDdXJyZW50OiAkeyh3IC8gdikudG9GaXhlZCgyKX0gQWA7CiAgICByZXN1bHRXYXR0cy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICB9IGNhdGNoIChlKSB7CiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBjYWxjV2F0dHNBbXBzOicsIGUpOwogICAgYWxlcnQoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGNhbGN1bGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLicpOwogIH0KfQoKLyogLS0tLS0tLS0tLSBBdWRpbyBEZWxheSAtLS0tLS0tLS0tICovCmNvbnN0IEZUX1BFUl9NUyA9IDEuMTM7CnRyeSB7CiAgY29uc3QgbW9kZVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlJyk7CiAgY29uc3QgbGFiZWxJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYWJlbElucHV0Jyk7CiAgaWYgKG1vZGVTZWxlY3QgJiYgbGFiZWxJbnB1dCkgewogICAgbW9kZVNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiB7CiAgICAgIGxhYmVsSW5wdXQudGV4dENvbnRlbnQgPSBtb2RlU2VsZWN0LnZhbHVlID09PSAnbXMyZnQnID8gJ0RlbGF5IChtcyk6JyA6ICdEaXN0YW5jZSAoZnQpOic7CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcignTW9kZSBvciBsYWJlbCBpbnB1dCBub3QgZm91bmQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIHVwIGF1ZGlvIGRlbGF5IG1vZGUgbGlzdGVuZXI6JywgZSk7Cn0KCmZ1bmN0aW9uIGNhbGNEZWxheSgpIHsKICB0cnkgewogICAgY29uc3QgZGVsYXlJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZWxheUlucHV0Jyk7CiAgICBjb25zdCBtb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGUnKTsKICAgIGNvbnN0IHJlc3VsdERlbGF5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdERlbGF5Jyk7CiAgICBpZiAoIWRlbGF5SW5wdXQgfHwgIW1vZGUgfHwgIXJlc3VsdERlbGF5KSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0RPTSBlbGVtZW50cyBmb3IgZGVsYXkgY2FsY3VsYXRvciBub3QgZm91bmQnKTsKICAgICAgYWxlcnQoJ0ludGVybmFsIGVycm9yLiBQbGVhc2UgdHJ5IGFnYWluLicpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KGRlbGF5SW5wdXQudmFsdWUpOwogICAgaWYgKGlzTmFOKHZhbCkpIHsKICAgICAgYWxlcnQoJ0VudGVyIGEgdmFsdWUuJyk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IHJlcyA9IG1vZGUudmFsdWUgPT09ICdmdDJtcycKICAgICAgPyAodmFsIC8gRlRfUEVSX01TKS50b0ZpeGVkKDIpICsgJyBtcycKICAgICAgOiAodmFsICogRlRfUEVSX01TKS50b0ZpeGVkKDIpICsgJyBmdCc7CiAgICByZXN1bHREZWxheS50ZXh0Q29udGVudCA9IGBFcXVpdmFsZW50OiAke3Jlc31gOwogICAgcmVzdWx0RGVsYXkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgfSBjYXRjaCAoZSkgewogICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gY2FsY0RlbGF5OicsIGUpOwogICAgYWxlcnQoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGNhbGN1bGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLicpOwogIH0KfQoKLyogLS0tLS0tLS0tLSBDcm93biBBbXBsaWZpZXIgQ2FsY3VsYXRvciAtLS0tLS0tLS0tICovCmNvbnN0IGFtcGxpZmllcnMgPSBbCiAgeyBtb2RlbDogIkNEaSAyfDMwMCIsIHNlcmllczogIkNEaSBEcml2ZUNvcmUiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiQ0RpIDJ8NjAwIiwgc2VyaWVzOiAiQ0RpIERyaXZlQ29yZSIsIHBvd2VyNE9obTogNjAwLCBwb3dlckJyaWRnZThPaG06IDEyMDAgfSwKICB7IG1vZGVsOiAiQ0RpIDJ8MTIwMCIsIHNlcmllczogIkNEaSBEcml2ZUNvcmUiLCBwb3dlcjRPaG06IDEyMDAsIHBvd2VyQnJpZGdlOE9obTogMjQwMCB9LAogIHsgbW9kZWw6ICJDRGkgMnwyNDAwIiwgc2VyaWVzOiAiQ0RpIERyaXZlQ29yZSIsIHBvd2VyNE9obTogMjQwMCwgcG93ZXJCcmlkZ2U4T2htOiA0ODAwIH0sCiAgeyBtb2RlbDogIkNEaSA0fDMwMCIsIHNlcmllczogIkNEaSBEcml2ZUNvcmUiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiQ0RpIDR8NjAwIiwgc2VyaWVzOiAiQ0RpIERyaXZlQ29yZSIsIHBvd2VyNE9obTogNjAwLCBwb3dlckJyaWRnZThPaG06IDEyMDAgfSwKICB7IG1vZGVsOiAiQ0RpIDR8MTIwMCIsIHNlcmllczogIkNEaSBEcml2ZUNvcmUiLCBwb3dlcjRPaG06IDEyMDAsIHBvd2VyQnJpZGdlOE9obTogMjQwMCB9LAogIHsgbW9kZWw6ICJDRGkgNHwyNDAwIiwgc2VyaWVzOiAiQ0RpIERyaXZlQ29yZSIsIHBvd2VyNE9obTogMjQwMCwgcG93ZXJCcmlkZ2U4T2htOiA0ODAwIH0sCiAgeyBtb2RlbDogIkNEaSAxMDAwIiwgc2VyaWVzOiAiQ0RpIiwgcG93ZXI0T2htOiA1MDAsIHBvd2VyQnJpZGdlOE9obTogMTAwMCB9LAogIHsgbW9kZWw6ICJDRGkgMjAwMCIsIHNlcmllczogIkNEaSIsIHBvd2VyNE9obTogODAwLCBwb3dlckJyaWRnZThPaG06IDE2MDAgfSwKICB7IG1vZGVsOiAiQ0RpIDQwMDAiLCBzZXJpZXM6ICJDRGkiLCBwb3dlcjRPaG06IDEyMDAsIHBvd2VyQnJpZGdlOE9obTogMjQwMCB9LAogIHsgbW9kZWw6ICJDRGkgNjAwMCIsIHNlcmllczogIkNEaSIsIHBvd2VyNE9obTogMjEwMCwgcG93ZXJCcmlkZ2U4T2htOiA0MjAwIH0sCiAgeyBtb2RlbDogIkNUNDc1Iiwgc2VyaWVzOiAiQ29tVGVjaCIsIHBvd2VyNE9obTogNzUsIHBvd2VyQnJpZGdlOE9obTogMTUwIH0sCiAgeyBtb2RlbDogIkNUNDE1MCIsIHNlcmllczogIkNvbVRlY2giLCBwb3dlcjRPaG06IDE1MCwgcG93ZXJCcmlkZ2U4T2htOiAzMDAgfSwKICB7IG1vZGVsOiAiQ1Q4NzUiLCBzZXJpZXM6ICJDb21UZWNoIiwgcG93ZXI0T2htOiA3NSwgcG93ZXJCcmlkZ2U4T2htOiAxNTAgfSwKICB7IG1vZGVsOiAiQ1Q4MTUwIiwgc2VyaWVzOiAiQ29tVGVjaCIsIHBvd2VyNE9obTogMTUwLCBwb3dlckJyaWRnZThPaG06IDMwMCB9LAogIHsgbW9kZWw6ICJEQ2kgMnwzMDBOIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogMzAwLCBwb3dlckJyaWRnZThPaG06IDYwMCB9LAogIHsgbW9kZWw6ICJEQ2kgMnw2MDBOIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogNjAwLCBwb3dlckJyaWRnZThPaG06IDEyMDAgfSwKICB7IG1vZGVsOiAiRENpIDJ8MTI1ME4iLCBzZXJpZXM6ICJEcml2ZUNvcmUgSW5zdGFsbCBOZXR3b3JrIiwgcG93ZXI0T2htOiAxMjUwLCBwb3dlckJyaWRnZThPaG06IDI1MDAgfSwKICB7IG1vZGVsOiAiRENpIDJ8MjQwME4iLCBzZXJpZXM6ICJEcml2ZUNvcmUgSW5zdGFsbCBOZXR3b3JrIiwgcG93ZXI0T2htOiAyNDAwLCBwb3dlckJyaWRnZThPaG06IDQ4MDAgfSwKICB7IG1vZGVsOiAiRENpIDR8MzAwIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogMzAwLCBwb3dlckJyaWRnZThPaG06IDYwMCB9LAogIHsgbW9kZWw6ICJEQ2kgNHw2MDAiLCBzZXJpZXM6ICJEcml2ZUNvcmUgSW5zdGFsbCBOZXR3b3JrIiwgcG93ZXI0T2htOiA2MDAsIHBvd2VyQnJpZGdlOE9obTogMTIwMCB9LAogIHsgbW9kZWw6ICJEQ2kgNHwxMjUwIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogMTI1MCwgcG93ZXJCcmlkZ2U4T2htOiAyNTAwIH0sCiAgeyBtb2RlbDogIkRDaSA0fDI0MDAiLCBzZXJpZXM6ICJEcml2ZUNvcmUgSW5zdGFsbCBOZXR3b3JrIiwgcG93ZXI0T2htOiAyNDAwLCBwb3dlckJyaWRnZThPaG06IDQ4MDAgfSwKICB7IG1vZGVsOiAiRENpIDR8MzAwTiIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiRENpIDR8NjAwTiIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsiLCBwb3dlcjRPaG06IDYwMCwgcG93ZXJCcmlkZ2U4T2htOiAxMjAwIH0sCiAgeyBtb2RlbDogIkRDaSA0fDEyNTBOIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogMTI1MCwgcG93ZXJCcmlkZ2U4T2htOiAyNTAwIH0sCiAgeyBtb2RlbDogIkRDaSA0fDI0MDBOIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogMjQwMCwgcG93ZXJCcmlkZ2U4T2htOiA0ODAwIH0sCiAgeyBtb2RlbDogIkRDaSA4fDMwMCIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiRENpIDh8NjAwIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayIsIHBvd2VyNE9obTogNjAwLCBwb3dlckJyaWRnZThPaG06IDEyMDAgfSwKICB7IG1vZGVsOiAiRENpIDh8MzAwTiIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiRENpIDh8NjAwTiIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsiLCBwb3dlcjRPaG06IDYwMCwgcG93ZXJCcmlkZ2U4T2htOiAxMjAwIH0sCiAgeyBtb2RlbDogIkRDaSA0fDMwMERBIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayAoRGFudGUpIiwgcG93ZXI0T2htOiAzMDAsIHBvd2VyQnJpZGdlOE9obTogNjAwIH0sCiAgeyBtb2RlbDogIkRDaSA0fDYwMERBIiwgc2VyaWVzOiAiRHJpdmVDb3JlIEluc3RhbGwgTmV0d29yayAoRGFudGUpIiwgcG93ZXI0T2htOiA2MDAsIHBvd2VyQnJpZGdlOE9obTogMTIwMCB9LAogIHsgbW9kZWw6ICJEQ2kgNHwxMjUwREEiLCBzZXJpZXM6ICJEcml2ZUNvcmUgSW5zdGFsbCBOZXR3b3JrIChEYW50ZSkiLCBwb3dlcjRPaG06IDEyNTAsIHBvd2VyQnJpZGdlOE9obTogMjUwMCB9LAogIHsgbW9kZWw6ICJEQ2kgOHwzMDBEQSIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsgKERhbnRlKSIsIHBvd2VyNE9obTogMzAwLCBwb3dlckJyaWRnZThPaG06IDYwMCB9LAogIHsgbW9kZWw6ICJEQ2kgOHw2MDBEQSIsIHNlcmllczogIkRyaXZlQ29yZSBJbnN0YWxsIE5ldHdvcmsgKERhbnRlKSIsIHBvd2VyNE9obTogNjAwLCBwb3dlckJyaWRnZThPaG06IDEyMDAgfSwKICB7IG1vZGVsOiAiSS1UZWNoIDUwMDBIRCIsIHNlcmllczogImktVGVjaCBIRCIsIHBvd2VyNE9obTogMjUwMCwgcG93ZXJCcmlkZ2U4T2htOiA1MDAwIH0sCiAgeyBtb2RlbDogIkktVGVjaCA5MDAwSEQiLCBzZXJpZXM6ICJpLVRlY2ggSEQiLCBwb3dlcjRPaG06IDM1MDAsIHBvd2VyQnJpZGdlOE9obTogNzAwMCB9LAogIHsgbW9kZWw6ICJJLVRlY2ggMTIwMDBIRCIsIHNlcmllczogImktVGVjaCBIRCIsIHBvd2VyNE9obTogNDUwMCwgcG93ZXJCcmlkZ2U4T2htOiA5MDAwIH0sCiAgeyBtb2RlbDogIkktVGVjaCA0eDM1MDBIRCIsIHNlcmllczogImktVGVjaCBIRCIsIHBvd2VyNE9obTogMzUwMCwgcG93ZXJCcmlkZ2U4T2htOiA3MDAwIH0sCiAgeyBtb2RlbDogIlhMUyAxMDAyIiwgc2VyaWVzOiAiWExTIERyaXZlQ29yZSAyIiwgcG93ZXI0T2htOiAzNTAsIHBvd2VyQnJpZGdlOE9obTogNzAwIH0sCiAgeyBtb2RlbDogIlhMUyAxNTAyIiwgc2VyaWVzOiAiWExTIERyaXZlQ29yZSAyIiwgcG93ZXI0T2htOiA1MjUsIHBvd2VyQnJpZGdlOE9obTogMTA1MCB9LAogIHsgbW9kZWw6ICJYTFMgMjAwMiIsIHNlcmllczogIlhMUyBEcml2ZUNvcmUgMiIsIHBvd2VyNE9obTogNjUwLCBwb3dlckJyaWRnZThPaG06IDEzMDAgfSwKICB7IG1vZGVsOiAiWExTIDI1MDIiLCBzZXJpZXM6ICJYTFMgRHJpdmVDb3JlIDIiLCBwb3dlcjRPaG06IDc3NSwgcG93ZXJCcmlkZ2U4T2htOiAxNTUwIH0sCiAgeyBtb2RlbDogIlhMaSA4MDAiLCBzZXJpZXM6ICJYTGkiLCBwb3dlcjRPaG06IDMwMCwgcG93ZXJCcmlkZ2U4T2htOiA2MDAgfSwKICB7IG1vZGVsOiAiWExpIDE1MDAiLCBzZXJpZXM6ICJYTGkiLCBwb3dlcjRPaG06IDQ1MCwgcG93ZXJCcmlkZ2U4T2htOiA5MDAgfSwKICB7IG1vZGVsOiAiWExpIDI1MDAiLCBzZXJpZXM6ICJYTGkiLCBwb3dlcjRPaG06IDc1MCwgcG93ZXJCcmlkZ2U4T2htOiAxNTAwIH0sCiAgeyBtb2RlbDogIlhMaSAzNTAwIiwgc2VyaWVzOiAiWExpIiwgcG93ZXI0T2htOiAxMzUwLCBwb3dlckJyaWRnZThPaG06IDI3MDAgfSwKICB7IG1vZGVsOiAiWFRpIDEwMDIiLCBzZXJpZXM6ICJYVGkgMiIsIHBvd2VyNE9obTogNTAwLCBwb3dlckJyaWRnZThPaG06IDEwMDAgfSwKICB7IG1vZGVsOiAiWFRpIDIwMDIiLCBzZXJpZXM6ICJYVGkgMiIsIHBvd2VyNE9obTogODAwLCBwb3dlckJyaWRnZThPaG06IDE2MDAgfSwKICB7IG1vZGVsOiAiWFRpIDQwMDIiLCBzZXJpZXM6ICJYVGkgMiIsIHBvd2VyNE9obTogMTIwMCwgcG93ZXJCcmlkZ2U4T2htOiAyNDAwIH0sCiAgeyBtb2RlbDogIlhUaSA2MDAyIiwgc2VyaWVzOiAiWFRpIDIiLCBwb3dlcjRPaG06IDIxMDAsIHBvd2VyQnJpZGdlOE9obTogNDIwMCB9LAogIHsgbW9kZWw6ICJNQSA1MDAwaSIsIHNlcmllczogIk1hY3JvLVRlY2ggaSIsIHBvd2VyNE9obTogMjUwMCwgcG93ZXJCcmlkZ2U4T2htOiA1MDAwIH0sCiAgeyBtb2RlbDogIk1BIDkwMDBpIiwgc2VyaWVzOiAiTWFjcm8tVGVjaCBpIiwgcG93ZXI0T2htOiAzNTAwLCBwb3dlckJyaWRnZThPaG06IDcwMDAgfSwKICB7IG1vZGVsOiAiTUEgMTIwMDBpIiwgc2VyaWVzOiAiTWFjcm8tVGVjaCBpIiwgcG93ZXI0T2htOiA0NTAwLCBwb3dlckJyaWRnZThPaG06IDkwMDAgfQpdOwoKY29uc3Qgc3BlYWtlcnMgPSBbCiAgeyBtb2RlbDogIkNvbnRyb2wgMTJDL1QiLCBzZXJpZXM6ICJDb250cm9sIENvbnRyYWN0b3IgMTAgU2VyaWVzIiwgcG93ZXI6IDE1LCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ29udHJvbCAxNEMvVCIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciAxMCBTZXJpZXMiLCBwb3dlcjogMjUsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDb250cm9sIDE2Qy9UIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDEwIFNlcmllcyIsIHBvd2VyOiAzMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgMjRDVCBNaWNybyIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciAyMCBTZXJpZXMiLCBwb3dlcjogMTUsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDb250cm9sIDI2Q1QiLCBzZXJpZXM6ICJDb250cm9sIENvbnRyYWN0b3IgMjAgU2VyaWVzIiwgcG93ZXI6IDYwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ29udHJvbCAyMy0xIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDIwIFNlcmllcyIsIHBvd2VyOiA1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgMjUtMSIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciAyMCBTZXJpZXMiLCBwb3dlcjogMTAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ29udHJvbCAyOC0xIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDIwIFNlcmllcyIsIHBvd2VyOiAxMjAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDb250cm9sIDI1QVYiLCBzZXJpZXM6ICJDb250cm9sIENvbnRyYWN0b3IgMjAgU2VyaWVzIiwgcG93ZXI6IDEwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgU0ItMiIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciAyMCBTZXJpZXMiLCBwb3dlcjogMTc1LCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ29udHJvbCA0MENTL1QiLCBzZXJpZXM6ICJDb250cm9sIENvbnRyYWN0b3IgNDAgU2VyaWVzIiwgcG93ZXI6IDgwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ29udHJvbCA2NVAvVCIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciA2MCBTZXJpZXMiLCBwb3dlcjogNjAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDb250cm9sIDY3UC9UIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDYwIFNlcmllcyIsIHBvd2VyOiA3NSwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgNjdIQy9UIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDYwIFNlcmllcyIsIHBvd2VyOiA3NSwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgODVNIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDgwIFNlcmllcyIsIHBvd2VyOiA4MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgODhNIiwgc2VyaWVzOiAiQ29udHJvbCBDb250cmFjdG9yIDgwIFNlcmllcyIsIHBvd2VyOiAxMjAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDb250cm9sIDEyNlcvV1QiLCBzZXJpZXM6ICJDb250cm9sIENvbnRyYWN0b3IgMTAwIFNlcmllcyIsIHBvd2VyOiA1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNvbnRyb2wgMTI4Vy9XVCIsIHNlcmllczogIkNvbnRyb2wgQ29udHJhY3RvciAxMDAgU2VyaWVzIiwgcG93ZXI6IDYwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ1NTLTgwMDQiLCBzZXJpZXM6ICJDU1MgQ29tbWVyY2lhbCBTZXJpZXMiLCBwb3dlcjogMjAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDU1MtODAwOCIsIHNlcmllczogIkNTUyBDb21tZXJjaWFsIFNlcmllcyIsIHBvd2VyOiAyMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkNTUy04MDE4Iiwgc2VyaWVzOiAiQ1NTIENvbW1lcmNpYWwgU2VyaWVzIiwgcG93ZXI6IDQwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ1NTLTFTL1QiLCBzZXJpZXM6ICJDU1MgQ29tbWVyY2lhbCBTZXJpZXMiLCBwb3dlcjogNjAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJTTFAxMi9UIiwgc2VyaWVzOiAiU0xQIFNlcmllcyIsIHBvd2VyOiA1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIlNMUDE0L1QiLCBzZXJpZXM6ICJTTFAgU2VyaWVzIiwgcG93ZXI6IDYwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ0JUIDUwTEEtMSIsIHNlcmllczogIkNCVCBTZXJpZXMiLCBwb3dlcjogMTUwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ0JUIDcwSi0xIiwgc2VyaWVzOiAiQ0JUIFNlcmllcyIsIHBvd2VyOiAyNTAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJDQlQgMTAwTEEtMSIsIHNlcmllczogIkNCVCBTZXJpZXMiLCBwb3dlcjogMjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQ0JUIDIwMExBLTEiLCBzZXJpZXM6ICJDQlQgU2VyaWVzIiwgcG93ZXI6IDMwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkludGVsbGl2b3ggRFNYMjgwIEhEIiwgc2VyaWVzOiAiSW50ZWxsaXZveCBTZXJpZXMiLCBwb3dlcjogMjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiSW50ZWxsaXZveCBEU1g0MzAgSEQiLCBzZXJpZXM6ICJJbnRlbGxpdm94IFNlcmllcyIsIHBvd2VyOiAzMDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJHU0YzIiwgc2VyaWVzOiAiR1NGIFNlcmllcyIsIHBvd2VyOiA1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkdTRjYiLCBzZXJpZXM6ICJHU0YgU2VyaWVzIiwgcG93ZXI6IDgwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiR1NGOCIsIHNlcmllczogIkdTRiBTZXJpZXMiLCBwb3dlcjogMTAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiR1NCOCIsIHNlcmllczogIkdTQiBTZXJpZXMiLCBwb3dlcjogMjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiR1NCMTIiLCBzZXJpZXM6ICJHU0IgU2VyaWVzIiwgcG93ZXI6IDMwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFNNTIxMi82NCIsIHNlcmllczogIkFFIFNlcmllcyIsIHBvd2VyOiA0MDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBTTUyMTIvOTUiLCBzZXJpZXM6ICJBRSBTZXJpZXMiLCBwb3dlcjogNDAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQU01MjEyLzI2Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIiwgcG93ZXI6IDQwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFNNTIxNS82NCIsIHNlcmllczogIkFFIFNlcmllcyIsIHBvd2VyOiA1MDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBTTUyMTUvOTUiLCBzZXJpZXM6ICJBRSBTZXJpZXMiLCBwb3dlcjogNTAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQU03MjEyLzY0Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIiwgcG93ZXI6IDYwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFNNzIxMi85NSIsIHNlcmllczogIkFFIFNlcmllcyIsIHBvd2VyOiA2MDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBTTcyMTIvMDAiLCBzZXJpZXM6ICJBRSBTZXJpZXMiLCBwb3dlcjogNjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQU03MjEyLzI2Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIiwgcG93ZXI6IDYwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFNNzIxNS82NCIsIHNlcmllczogIkFFIFNlcmllcyIsIHBvd2VyOiA2NTAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBTTcyMTUvOTUiLCBzZXJpZXM6ICJBRSBTZXJpZXMiLCBwb3dlcjogNjUwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQU03MzE1Lzk1Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIiwgcG93ZXI6IDgwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFDMTYiLCBzZXJpZXM6ICJBRSBTZXJpZXMgQ29tcGFjdCIsIHBvd2VyOiAyMDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBQzE4Lzk1Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIENvbXBhY3QiLCBwb3dlcjogMjUwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQUMxOC8yNiIsIHNlcmllczogIkFFIFNlcmllcyBDb21wYWN0IiwgcG93ZXI6IDI1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFDMjYiLCBzZXJpZXM6ICJBRSBTZXJpZXMgQ29tcGFjdCIsIHBvd2VyOiAzMDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBQzI4Lzk1Iiwgc2VyaWVzOiAiQUUgU2VyaWVzIENvbXBhY3QiLCBwb3dlcjogMzUwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQUMyOC8yNiIsIHNlcmllczogIkFFIFNlcmllcyBDb21wYWN0IiwgcG93ZXI6IDM1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFXQzgyIiwgc2VyaWVzOiAiQVdDIENvbXBhY3QgU2VyaWVzIiwgcG93ZXI6IDI1MCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIkFXQzEyOSIsIHNlcmllczogIkFXQyBDb21wYWN0IFNlcmllcyIsIHBvd2VyOiA0MDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJBV0MxNTkiLCBzZXJpZXM6ICJBV0MgQ29tcGFjdCBTZXJpZXMiLCBwb3dlcjogNTAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQVcyOTUiLCBzZXJpZXM6ICJBVyBTZXJpZXMiLCBwb3dlcjogNTAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQVc1OTUiLCBzZXJpZXM6ICJBVyBTZXJpZXMiLCBwb3dlcjogNjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQVNCNjExOCIsIHNlcmllczogIkFFIFNlcmllcyBTdWJ3b29mZXIiLCBwb3dlcjogODAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiQVNCNjEyOCIsIHNlcmllczogIkFFIFNlcmllcyBTdWJ3b29mZXIiLCBwb3dlcjogMTIwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIlBSWDQxMk0iLCBzZXJpZXM6ICJQUlg0MDAgU2VyaWVzIiwgcG93ZXI6IDMwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIlBSWDQxNU0iLCBzZXJpZXM6ICJQUlg0MDAgU2VyaWVzIiwgcG93ZXI6IDMwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIlBSWDQyNSIsIHNlcmllczogIlBSWDQwMCBTZXJpZXMiLCBwb3dlcjogNjAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiUFJYNDE4UyIsIHNlcmllczogIlBSWDQwMCBTZXJpZXMiLCBwb3dlcjogNjAwLCBpbXBlZGFuY2U6IDQgfSwKICB7IG1vZGVsOiAiU1JYODEyIiwgc2VyaWVzOiAiU1JYODAwIFBhc3NpdmUgU2VyaWVzIiwgcG93ZXI6IDYwMCwgaW1wZWRhbmNlOiA4IH0sCiAgeyBtb2RlbDogIlNSWDgxNSIsIHNlcmllczogIlNSWDgwMCBQYXNzaXZlIFNlcmllcyIsIHBvd2VyOiA4MDAsIGltcGVkYW5jZTogOCB9LAogIHsgbW9kZWw6ICJTUlg4MzUiLCBzZXJpZXM6ICJTUlg4MDAgUGFzc2l2ZSBTZXJpZXMiLCBwb3dlcjogODAwLCBpbXBlZGFuY2U6IDggfSwKICB7IG1vZGVsOiAiU1JYODE4UyIsIHNlcmllczogIlNSWDgwMCBQYXNzaXZlIFNlcmllcyIsIHBvd2VyOiAxMjAwLCBpbXBlZGFuY2U6IDQgfQpdOwoKY29uc3Qgc3BlYWtlckltYWdlcyA9IHsKICAiQ29udHJvbCAxMkMvVCI6ICJodHRwczovL3dpbHNvbnByb2F2bC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvSkJMLWxvZ28tMi5wbmciLAogICJDb250cm9sIDE0Qy9UIjogImh0dHBzOi8vd2lsc29ucHJvYXZsLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9KQkwtbG9nby0yLnBuZyIsCiAgIkNvbnRyb2wgMTZDL1QiOiAiaHR0cHM6Ly93aWxzb25wcm9hdmwuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzAxL0pCTC1sb2dvLTIucG5nIiwKICAiQ29udHJvbCAyNENUIE1pY3JvIjogImh0dHBzOi8vd2lsc29ucHJvYXZsLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9KQkwtbG9nby0yLnBuZyIsCiAgIkNvbnRyb2wgMjZDVCI6ICJodHRwczovL3dpbHNvbnByb2F2bC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvSkJMLWxvZ28tMi5wbmciLAogICJDb250cm9sIDIzLTEiOiAiaHR0cHM6Ly93aWxzb25wcm9hdmwuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzAxL0pCTC1sb2dvLTIucG5nIiwKICAiQ29udHJvbCAyNS0xIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNvbnRyb2wgMjgtMSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDb250cm9sIDI1QVYiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQ29udHJvbCBTQi0yIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNvbnRyb2wgNDBDUy9UIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNvbnRyb2wgNjVQL1QiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQ29udHJvbCA2N1AvVCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDb250cm9sIDY3SEMvVCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDb250cm9sIDg1TSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDb250cm9sIDg4TSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDb250cm9sIDEyNlcvV1QiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQ29udHJvbCAxMjhXL1dUIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNTUy04MDA0IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNTUy04MDA4IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNTUy04MDE4IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNTUy0xUy9UIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIlNMUDEyL1QiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiU0xQMTQvVCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDQlQgNTBMQS0xIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkNCVCA3MEotMSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDQlQgMTAwTEEtMSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJDQlQgMjAwTEEtMSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJJbnRlbGxpdm94IERTWDI4MCBIRCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJJbnRlbGxpdm94IERTWDQzMCBIRCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJHU0YzIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkdTRjYiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiR1NGOCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJHU0I4IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkdTQjEyIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFNNTIxMi82NCI6ICJodHRwczovL2Fkbi5oYXJtYW5wcm8uY29tL3Byb2R1Y3RfYXR0YWNobWVudHMvcHJvZHVjdF9hdHRhY2htZW50cy85NDkzXzE3Mjg5MjY2OTMvYW01MjEyXzcyMTJfZnJvbnQwMl96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIkFNNTIxMi85NSI6ICJodHRwczovL2Fkbi5oYXJtYW5wcm8uY29tL3Byb2R1Y3RfYXR0YWNobWVudHMvcHJvZHVjdF9hdHRhY2htZW50cy85NDkzXzE3Mjg5MjY2OTMvYW01MjEyXzcyMTJfZnJvbnQwMl96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIkFNNTIxMi8yNiI6ICJodHRwczovL2Fkbi5oYXJtYW5wcm8uY29tL3Byb2R1Y3RfYXR0YWNobWVudHMvcHJvZHVjdF9hdHRhY2htZW50cy85NDkzXzE3Mjg5MjY2OTMvYW01MjEyXzcyMTJfZnJvbnQwMl96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIkFNNTIxNS82NCI6ICJodHRwczovL2Fkbi5oYXJtYW5wcm8uY29tL3Byb2R1Y3RfYXR0YWNobWVudHMvcHJvZHVjdF9hdHRhY2htZW50cy85NDkzXzE3Mjg5MjY2OTMvYW01MjEyXzcyMTJfZnJvbnQwMl96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIkFNNTIxNS85NSI6ICJodHRwczovL2Fkbi5oYXJtYW5wcm8uY29tL3Byb2R1Y3RfYXR0YWNobWVudHMvcHJvZHVjdF9hdHRhY2htZW50cy85NDkzXzE3Mjg5MjY2OTMvYW01MjEyXzcyMTJfZnJvbnQwMl96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIkFNNzIxMi82NCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBTTcyMTIvOTUiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQU03MjEyLzAwIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFNNzIxMi8yNiI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBTTcyMTUvNjQiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQU03MjE1Lzk1IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFNNzMxNS85NSI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBQzE2IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFDMTgvOTUiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQUMxOC8yNiI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBQzI2IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFDMjgvOTUiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQUMyOC8yNiI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBV0M4MiI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJBV0MxMjkiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQVdDMTU5IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFXMjk1IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFXNTk1IjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL2pibC1wcm9mZXNzaW9uYWwtbG9nbyIsCiAgIkFTQjYxMTgiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvamJsLXByb2Zlc3Npb25hbC1sb2dvIiwKICAiQVNCNjEyOCI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9qYmwtcHJvZmVzc2lvbmFsLWxvZ28iLAogICJQUlg0MTJNIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL3ByeDQwMC1zZXJpZXMtaW1hZ2UiLAogICJQUlg0MTVNIjogImh0dHBzOi8vamJscHJvLmNvbS9lbi1VUy9zaXRlX2VsZW1lbnRzL3ByeDQwMC1zZXJpZXMtaW1hZ2UiLAogICJQUlg0MjUiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvcHJ4NDAwLXNlcmllcy1pbWFnZSIsCiAgIlBSWDQxOFMiOiAiaHR0cHM6Ly9qYmxwcm8uY29tL2VuLVVTL3NpdGVfZWxlbWVudHMvcHJ4NDAwLXNlcmllcy1pbWFnZSIsCiAgIlNSWDgxMiI6ICJodHRwczovL2pibHByby5jb20vZW4tVVMvc2l0ZV9lbGVtZW50cy9zcng4MDAtc2VyaWVzLWltYWdlIiwKICAiU1JYODE1IjogImh0dHBzOi8vYWRuLmhhcm1hbnByby5jb20vcHJvZHVjdF9hdHRhY2htZW50cy9wcm9kdWN0X2F0dGFjaG1lbnRzLzc3NTVfMTcyODkzMjIwMi9zcng4MTVwX2FuZ2xlX3pfdmVydF9tZWRpdW0uanBnIiwKICAiU1JYODM1IjogImh0dHBzOi8vYWRuLmhhcm1hbnByby5jb20vcHJvZHVjdF9hdHRhY2htZW50cy9wcm9kdWN0X2F0dGFjaG1lbnRzLzc3MzdfMTcyODkzMjI1MC9zcng4MzVfcGFzc2l2ZV9mcm9udF96X3ZlcnRfbWVkaXVtLmpwZyIsCiAgIlNSWDgxOFMiOiAiaHR0cHM6Ly9hZG4uaGFybWFucHJvLmNvbS9wcm9kdWN0X2F0dGFjaG1lbnRzL3Byb2R1Y3RfYXR0YWNobWVudHMvNzc0Ml8xNzI4OTMyMjM4L3NyeDgxOHNwX2Zyb250X3pfdmVydF9tZWRpdW0uanBnIgp9OwoKLy8gRHJvcGRvd24gYW5kIE9obXMgTG9naWMKdHJ5IHsKICBjb25zdCBwcm9kdWN0RmFtaWx5U2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2R1Y3RGYW1pbHknKTsKICBjb25zdCBzcGVha2VyTW9kZWxTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3BlYWtlck1vZGVsJyk7CiAgY29uc3Qgb2htc1NlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvaG1zJyk7CiAgY29uc3QgbnVtU3BlYWtlcnNJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudW1TcGVha2VycycpOwogIGNvbnN0IHNob3dTcGVha2VySW1hZ2VCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdy1zcGVha2VyLWltYWdlJyk7CgogIGZ1bmN0aW9uIHVwZGF0ZVNwZWFrZXJEcm9wZG93bihmYW1pbHkpIHsKICAgIGlmICghc3BlYWtlck1vZGVsU2VsZWN0IHx8ICFvaG1zU2VsZWN0IHx8ICFzaG93U3BlYWtlckltYWdlQnV0dG9uKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NwZWFrZXIgbW9kZWwsIG9obXMgc2VsZWN0LCBvciBzaG93IHNwZWFrZXIgaW1hZ2UgYnV0dG9uIG5vdCBmb3VuZCcpOwogICAgICByZXR1cm47CiAgICB9CiAgICBzcGVha2VyTW9kZWxTZWxlY3QuaW5uZXJIVE1MID0gJzxvcHRpb24gdmFsdWU9IiIgZGlzYWJsZWQgc2VsZWN0ZWQ+U2VsZWN0IGEgc3BlYWtlciBtb2RlbDwvb3B0aW9uPic7CiAgICBzcGVha2VyTW9kZWxTZWxlY3QuZGlzYWJsZWQgPSAhZmFtaWx5OwogICAgc2hvd1NwZWFrZXJJbWFnZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgIGlmIChmYW1pbHkpIHsKICAgICAgY29uc3QgZmlsdGVyZWRTcGVha2VycyA9IHNwZWFrZXJzLmZpbHRlcihzcGVha2VyID0+IHNwZWFrZXIuc2VyaWVzID09PSBmYW1pbHkpOwogICAgICBmaWx0ZXJlZFNwZWFrZXJzLmZvckVhY2goc3BlYWtlciA9PiB7CiAgICAgICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7CiAgICAgICAgb3B0aW9uLnZhbHVlID0gYCR7c3BlYWtlci5tb2RlbH18JHtzcGVha2VyLnNlcmllc318JHtzcGVha2VyLnBvd2VyfXwke3NwZWFrZXIuaW1wZWRhbmNlfWA7CiAgICAgICAgb3B0aW9uLnRleHQgPSBgJHtzcGVha2VyLm1vZGVsfSAoJHtzcGVha2VyLnNlcmllc30sICR7c3BlYWtlci5wb3dlcn1XLCAke3NwZWFrZXIuaW1wZWRhbmNlfc6pKWA7CiAgICAgICAgc3BlYWtlck1vZGVsU2VsZWN0LmFwcGVuZENoaWxkKG9wdGlvbik7CiAgICAgIH0pOwogICAgfQogICAgb2htc1NlbGVjdC52YWx1ZSA9ICcnOwogIH0KCiAgZnVuY3Rpb24gdXBkYXRlT2htcyhzcGVha2VySW1wZWRhbmNlLCBudW1TcGVha2VycykgewogICAgaWYgKCFzcGVha2VySW1wZWRhbmNlIHx8ICFudW1TcGVha2VycyB8fCAhb2htc1NlbGVjdCkgewogICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGltcGVkYW5jZSBvciBudW1TcGVha2Vycywgb3Igb2htcyBzZWxlY3Qgbm90IGZvdW5kJyk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IGVmZmVjdGl2ZUltcGVkYW5jZSA9IHNwZWFrZXJJbXBlZGFuY2UgLyBudW1TcGVha2VyczsKICAgIGlmIChlZmZlY3RpdmVJbXBlZGFuY2UgPj0gNikgewogICAgICBvaG1zU2VsZWN0LnZhbHVlID0gODsKICAgIH0gZWxzZSBpZiAoZWZmZWN0aXZlSW1wZWRhbmNlID49IDMpIHsKICAgICAgb2htc1NlbGVjdC52YWx1ZSA9IDQ7CiAgICB9IGVsc2UgewogICAgICBvaG1zU2VsZWN0LnZhbHVlID0gMjsKICAgIH0KICB9CgogIGlmIChwcm9kdWN0RmFtaWx5U2VsZWN0KSB7CiAgICBwcm9kdWN0RmFtaWx5U2VsZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHVwZGF0ZVNwZWFrZXJEcm9wZG93bihlLnRhcmdldC52YWx1ZSk7CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcigncHJvZHVjdEZhbWlseSBzZWxlY3Qgbm90IGZvdW5kJyk7CiAgfQoKICBpZiAoc3BlYWtlck1vZGVsU2VsZWN0KSB7CiAgICBzcGVha2VyTW9kZWxTZWxlY3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHsKICAgICAgY29uc3Qgc3BlYWtlckRhdGEgPSBlLnRhcmdldC52YWx1ZS5zcGxpdCgnfCcpOwogICAgICBjb25zdCBzcGVha2VyTW9kZWwgPSBzcGVha2VyRGF0YVswXTsKICAgICAgY29uc3Qgc3BlYWtlckltcGVkYW5jZSA9IHBhcnNlRmxvYXQoc3BlYWtlckRhdGFbM10pOwogICAgICBpZiAoc3BlYWtlckltcGVkYW5jZSAmJiBvaG1zU2VsZWN0KSB7CiAgICAgICAgb2htc1NlbGVjdC52YWx1ZSA9IHNwZWFrZXJJbXBlZGFuY2U7CiAgICAgICAgY29uc3QgbnVtU3BlYWtlcnMgPSBwYXJzZUludChudW1TcGVha2Vyc0lucHV0ID8gbnVtU3BlYWtlcnNJbnB1dC52YWx1ZSA6IDApOwogICAgICAgIGlmIChudW1TcGVha2VycykgewogICAgICAgICAgdXBkYXRlT2htcyhzcGVha2VySW1wZWRhbmNlLCBudW1TcGVha2Vycyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChzaG93U3BlYWtlckltYWdlQnV0dG9uKSB7CiAgICAgICAgc2hvd1NwZWFrZXJJbWFnZUJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKCdoaWRkZW4nLCAhc3BlYWtlck1vZGVsIHx8IHNwZWFrZXJNb2RlbCA9PT0gJycpOwogICAgICB9CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcignc3BlYWtlck1vZGVsIHNlbGVjdCBub3QgZm91bmQnKTsKICB9CgogIGlmIChudW1TcGVha2Vyc0lucHV0KSB7CiAgICBudW1TcGVha2Vyc0lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gewogICAgICBjb25zdCBudW1TcGVha2VycyA9IHBhcnNlSW50KG51bVNwZWFrZXJzSW5wdXQudmFsdWUpOwogICAgICBpZiAoc3BlYWtlck1vZGVsU2VsZWN0ICYmIHNwZWFrZXJNb2RlbFNlbGVjdC52YWx1ZSkgewogICAgICAgIGNvbnN0IHNwZWFrZXJEYXRhID0gc3BlYWtlck1vZGVsU2VsZWN0LnZhbHVlLnNwbGl0KCd8Jyk7CiAgICAgICAgY29uc3Qgc3BlYWtlckltcGVkYW5jZSA9IHBhcnNlRmxvYXQoc3BlYWtlckRhdGFbM10pOwogICAgICAgIGlmIChzcGVha2VySW1wZWRhbmNlICYmIG51bVNwZWFrZXJzKSB7CiAgICAgICAgICB1cGRhdGVPaG1zKHNwZWFrZXJJbXBlZGFuY2UsIG51bVNwZWFrZXJzKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0gZWxzZSB7CiAgICBjb25zb2xlLmVycm9yKCdudW1TcGVha2VycyBpbnB1dCBub3QgZm91bmQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBkcm9wZG93bi9vaG1zIGxvZ2ljOicsIGUpOwp9CgovLyBTcGVha2VyIEltYWdlIERpc3BsYXkKZnVuY3Rpb24gc2hvd1NwZWFrZXJJbWFnZSgpIHsKICB0cnkgewogICAgY29uc3Qgc3BlYWtlck1vZGVsU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NwZWFrZXJNb2RlbCcpOwogICAgY29uc3QgbW9kZWxJbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlbC1pbWFnZScpOwogICAgY29uc3QgbW9kZWxUaXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlbC10aXRsZScpOwogICAgY29uc3QgbW9kZWxNb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlbC1tb2RhbCcpOwogICAgaWYgKCFzcGVha2VyTW9kZWxTZWxlY3QgfHwgIW1vZGVsSW1hZ2UgfHwgIW1vZGVsVGl0bGUgfHwgIW1vZGVsTW9kYWwpIHsKICAgICAgY29uc29sZS5lcnJvcignRE9NIGVsZW1lbnRzIGZvciBzcGVha2VyIGltYWdlIG1vZGFsIG5vdCBmb3VuZCcpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBzcGVha2VyRGF0YSA9IHNwZWFrZXJNb2RlbFNlbGVjdC52YWx1ZS5zcGxpdCgnfCcpOwogICAgY29uc3QgbW9kZWwgPSBzcGVha2VyRGF0YVswXTsKICAgIGlmIChtb2RlbCAmJiBzcGVha2VySW1hZ2VzW21vZGVsXSkgewogICAgICBtb2RlbEltYWdlLnNyYyA9IHNwZWFrZXJJbWFnZXNbbW9kZWxdOwogICAgICBtb2RlbEltYWdlLmFsdCA9IGAke21vZGVsfSBTcGVha2VyIEltYWdlYDsKICAgICAgbW9kZWxUaXRsZS50ZXh0Q29udGVudCA9IG1vZGVsOwogICAgICBtb2RlbE1vZGFsLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOwogICAgfSBlbHNlIHsKICAgICAgY29uc29sZS5lcnJvcignTm8gaW1hZ2UgZm91bmQgZm9yIHNwZWFrZXIgbW9kZWw6JywgbW9kZWwpOwogICAgICBhbGVydCgnTm8gaW1hZ2UgYXZhaWxhYmxlIGZvciB0aGlzIHNwZWFrZXIgbW9kZWwuJyk7CiAgICB9CiAgfSBjYXRjaCAoZSkgewogICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gc2hvd1NwZWFrZXJJbWFnZTonLCBlKTsKICAgIGFsZXJ0KCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBkaXNwbGF5aW5nIHRoZSBzcGVha2VyIGltYWdlLicpOwogIH0KfQoKLy8gQ2FsY3VsYXRvciBMb2dpYwpmdW5jdGlvbiBjYWxjdWxhdGVQb3dlckF0T2htcyhiYXNlUG93ZXIsIGJhc2VPaG1zLCB0YXJnZXRPaG1zKSB7CiAgdHJ5IHsKICAgIGlmICghYmFzZVBvd2VyIHx8ICFiYXNlT2htcyB8fCAhdGFyZ2V0T2htcykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGFyYW1ldGVycyBmb3IgY2FsY3VsYXRlUG93ZXJBdE9obXMnKTsKICAgIH0KICAgIHJldHVybiBiYXNlUG93ZXIgKiAoYmFzZU9obXMgLyB0YXJnZXRPaG1zKTsKICB9IGNhdGNoIChlKSB7CiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBjYWxjdWxhdGVQb3dlckF0T2htczonLCBlKTsKICAgIHJldHVybiAwOwogIH0KfQoKZnVuY3Rpb24gZmluZEFtcGxpZmllcihzcGVha2VyV2F0dHMsIG9obXMsIG51bVNwZWFrZXJzKSB7CiAgdHJ5IHsKICAgIGNvbnN0IHRvdGFsUG93ZXJOZWVkZWQgPSBzcGVha2VyV2F0dHMgKiBudW1TcGVha2VycyAqIDEuMjU7CiAgICBsZXQgYmVzdEFtcCA9IG51bGw7CiAgICBsZXQgYmVzdE1vZGUgPSAnJzsKICAgIGxldCBtaW5Qb3dlckRpZmYgPSBJbmZpbml0eTsKCiAgICBhbXBsaWZpZXJzLmZvckVhY2goYW1wID0+IHsKICAgICAgLy8gU3RlcmVvIG1vZGU6IENhbGN1bGF0ZSBwb3dlciBwZXIgY2hhbm5lbCBhdCB0aGUgZWZmZWN0aXZlIGltcGVkYW5jZQogICAgICBsZXQgYW1wUG93ZXIgPSBhbXAucG93ZXI0T2htOwogICAgICBpZiAob2htcyAhPT0gNCkgewogICAgICAgIGFtcFBvd2VyID0gY2FsY3VsYXRlUG93ZXJBdE9obXMoYW1wLnBvd2VyNE9obSwgNCwgb2htcyk7CiAgICAgIH0KICAgICAgY29uc3Qgc3BlYWtlcnNQZXJDaGFubmVsID0gTWF0aC5jZWlsKG51bVNwZWFrZXJzIC8gMik7CiAgICAgIGNvbnN0IHBvd2VyUGVyQ2hhbm5lbE5lZWRlZCA9IHRvdGFsUG93ZXJOZWVkZWQgLyAobnVtU3BlYWtlcnMgPiAxID8gMiA6IDEpOwoKICAgICAgLy8gQ2hlY2sgc3RlcmVvIG1vZGUKICAgICAgaWYgKG51bVNwZWFrZXJzID4gMSAmJiBhbXBQb3dlciA+PSBwb3dlclBlckNoYW5uZWxOZWVkZWQpIHsKICAgICAgICBjb25zdCBwb3dlckRpZmYgPSBhbXBQb3dlciAtIHBvd2VyUGVyQ2hhbm5lbE5lZWRlZDsKICAgICAgICBpZiAocG93ZXJEaWZmIDwgbWluUG93ZXJEaWZmKSB7CiAgICAgICAgICBiZXN0QW1wID0gYW1wOwogICAgICAgICAgYmVzdE1vZGUgPSAnU3RlcmVvJzsKICAgICAgICAgIG1pblBvd2VyRGlmZiA9IHBvd2VyRGlmZjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEJyaWRnZSBtb2RlOiBPbmx5IGZvciAxIHNwZWFrZXIsIGNoZWNrIGlmIGJyaWRnZSBwb3dlciBtZWV0cyBuZWVkcwogICAgICBpZiAobnVtU3BlYWtlcnMgPT09IDEpIHsKICAgICAgICBsZXQgYnJpZGdlUG93ZXIgPSBhbXAucG93ZXJCcmlkZ2U4T2htOwogICAgICAgIGlmIChvaG1zICE9PSA4KSB7CiAgICAgICAgICBicmlkZ2VQb3dlciA9IGNhbGN1bGF0ZVBvd2VyQXRPaG1zKGFtcC5wb3dlckJyaWRnZThPaG0sIDgsIG9obXMpOwogICAgICAgIH0KICAgICAgICBpZiAoYnJpZGdlUG93ZXIgPj0gdG90YWxQb3dlck5lZWRlZCkgewogICAgICAgICAgY29uc3QgcG93ZXJEaWZmID0gYnJpZGdlUG93ZXIgLSB0b3RhbFBvd2VyTmVlZGVkOwogICAgICAgICAgaWYgKHBvd2VyRGlmZiA8IG1pblBvd2VyRGlmZikgewogICAgICAgICAgICBiZXN0QW1wID0gYW1wOwogICAgICAgICAgICBiZXN0TW9kZSA9ICdCcmlkZ2UnOwogICAgICAgICAgICBtaW5Qb3dlckRpZmYgPSBwb3dlckRpZmY7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4geyBhbXA6IGJlc3RBbXAsIG1vZGU6IGJlc3RNb2RlIH07CiAgfSBjYXRjaCAoZSkgewogICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gZmluZEFtcGxpZmllcjonLCBlKTsKICAgIHJldHVybiBudWxsOwogIH0KfQoKdHJ5IHsKICBjb25zdCBhbXBGb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FtcEZvcm0nKTsKICBpZiAoYW1wRm9ybSkgewogICAgYW1wRm9ybS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLCBmdW5jdGlvbihlKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBzcGVha2VyTW9kZWxTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3BlYWtlck1vZGVsJyk7CiAgICAgICAgY29uc3Qgb2htc1NlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvaG1zJyk7CiAgICAgICAgY29uc3QgbnVtU3BlYWtlcnNJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudW1TcGVha2VycycpOwogICAgICAgIGNvbnN0IHJlc3VsdERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRBbXAnKTsKCiAgICAgICAgaWYgKCFzcGVha2VyTW9kZWxTZWxlY3QgfHwgIW9obXNTZWxlY3QgfHwgIW51bVNwZWFrZXJzSW5wdXQgfHwgIXJlc3VsdERpdikgewogICAgICAgICAgY29uc29sZS5lcnJvcignRE9NIGVsZW1lbnRzIGZvciBhbXAgZm9ybSBub3QgZm91bmQnKTsKICAgICAgICAgIGFsZXJ0KCdJbnRlcm5hbCBlcnJvci4gUGxlYXNlIHRyeSBhZ2Fpbi4nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gc3BlYWtlck1vZGVsU2VsZWN0Lm9wdGlvbnNbc3BlYWtlck1vZGVsU2VsZWN0LnNlbGVjdGVkSW5kZXhdOwogICAgICAgIGNvbnN0IHNwZWFrZXJEYXRhID0gc2VsZWN0ZWRPcHRpb24udmFsdWUgPyBzZWxlY3RlZE9wdGlvbi52YWx1ZS5zcGxpdCgnfCcpIDogbnVsbDsKICAgICAgICBjb25zdCBzcGVha2VyV2F0dHMgPSBzcGVha2VyRGF0YSA/IHBhcnNlRmxvYXQoc3BlYWtlckRhdGFbMl0pIDogTmFOOwogICAgICAgIGNvbnN0IG9obXMgPSBwYXJzZUZsb2F0KG9obXNTZWxlY3QudmFsdWUpOwogICAgICAgIGNvbnN0IG51bVNwZWFrZXJzID0gcGFyc2VJbnQobnVtU3BlYWtlcnNJbnB1dC52YWx1ZSk7CgogICAgICAgIGlmICghc3BlYWtlckRhdGEgfHwgaXNOYU4oc3BlYWtlcldhdHRzKSB8fCBpc05hTihvaG1zKSB8fCBpc05hTihudW1TcGVha2VycykpIHsKICAgICAgICAgIHJlc3VsdERpdi50ZXh0Q29udGVudCA9ICdQbGVhc2Ugc2VsZWN0IGEgcHJvZHVjdCBmYW1pbHksIHNwZWFrZXIgbW9kZWwsIGltcGVkYW5jZSwgYW5kIG51bWJlciBvZiBzcGVha2Vycy4nOwogICAgICAgICAgcmVzdWx0RGl2LnN0eWxlLmNvbG9yID0gJyNkYzM1NDUnOwogICAgICAgICAgcmVzdWx0RGl2LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bVNwZWFrZXJzID4gNCB8fCBudW1TcGVha2VycyA8IDEpIHsKICAgICAgICAgIHJlc3VsdERpdi50ZXh0Q29udGVudCA9ICdOdW1iZXIgb2Ygc3BlYWtlcnMgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDQuJzsKICAgICAgICAgIHJlc3VsdERpdi5zdHlsZS5jb2xvciA9ICcjZGMzNTQ1JzsKICAgICAgICAgIHJlc3VsdERpdi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGNvbnN0IHJlc3VsdCA9IGZpbmRBbXBsaWZpZXIoc3BlYWtlcldhdHRzLCBvaG1zLCBudW1TcGVha2Vycyk7CgogICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmFtcCkgewogICAgICAgICAgY29uc3QgcG93ZXJBdE9obXMgPSByZXN1bHQubW9kZSA9PT0gJ0JyaWRnZScKICAgICAgICAgICAgPyBjYWxjdWxhdGVQb3dlckF0T2htcyhyZXN1bHQuYW1wLnBvd2VyQnJpZGdlOE9obSwgOCwgb2htcykudG9GaXhlZCgwKQogICAgICAgICAgICA6IGNhbGN1bGF0ZVBvd2VyQXRPaG1zKHJlc3VsdC5hbXAucG93ZXI0T2htLCA0LCBvaG1zKS50b0ZpeGVkKDApOwogICAgICAgICAgY29uc3QgYnJpZGdlTm90ZSA9IHJlc3VsdC5tb2RlID09PSAnQnJpZGdlJwogICAgICAgICAgICA/IGA8YnI+Tm90ZTogSW4gYnJpZGdlIG1vZGUsIHRoZSBhbXBsaWZpZXIgc2VlcyBhICR7b2htcyAvIDJ9zqkgbG9hZCBmb3IgYSAke29obXN9zqkgc3BlYWtlci5gCiAgICAgICAgICAgIDogJyc7CiAgICAgICAgICByZXN1bHREaXYuaW5uZXJIVE1MID0gYAogICAgICAgICAgICBSZWNvbW1lbmRlZCBBbXBsaWZpZXIgZm9yICR7c3BlYWtlckRhdGFbMF19Ojxicj4KICAgICAgICAgICAgJHtyZXN1bHQuYW1wLm1vZGVsfSAoJHtyZXN1bHQuYW1wLnNlcmllc30pPGJyPgogICAgICAgICAgICBNb2RlOiAke3Jlc3VsdC5tb2RlfTxicj4KICAgICAgICAgICAgUG93ZXIgYXQgJHtvaG1zfc6pOiAke3Bvd2VyQXRPaG1zfVcke3Jlc3VsdC5tb2RlID09PSAnU3RlcmVvJyA/ICcgcGVyIGNoYW5uZWwnIDogJyd9PGJyPgogICAgICAgICAgICBUb3RhbCBwb3dlciBuZWVkZWQ6ICR7KHNwZWFrZXJXYXR0cyAqIG51bVNwZWFrZXJzICogMS4yNSkudG9GaXhlZCgwKX1XJHticmlkZ2VOb3RlfQogICAgICAgICAgYDsKICAgICAgICAgIHJlc3VsdERpdi5zdHlsZS5jb2xvciA9ICcjMjhhNzQ1JzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmVzdWx0RGl2LnRleHRDb250ZW50ID0gJ05vIHN1aXRhYmxlIGFtcGxpZmllciBmb3VuZC4gVHJ5IHJlZHVjaW5nIHRoZSBudW1iZXIgb2Ygc3BlYWtlcnMgb3IgYWRqdXN0aW5nIGltcGVkYW5jZS4nOwogICAgICAgICAgcmVzdWx0RGl2LnN0eWxlLmNvbG9yID0gJyNkYzM1NDUnOwogICAgICAgIH0KICAgICAgICByZXN1bHREaXYuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBhbXBGb3JtIHN1Ym1pdDonLCBlKTsKICAgICAgICBjb25zdCByZXN1bHREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0QW1wJyk7CiAgICAgICAgaWYgKHJlc3VsdERpdikgewogICAgICAgICAgcmVzdWx0RGl2LnRleHRDb250ZW50ID0gJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGNhbGN1bGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLic7CiAgICAgICAgICByZXN1bHREaXYuc3R5bGUuY29sb3IgPSAnI2RjMzU0NSc7CiAgICAgICAgICByZXN1bHREaXYuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcignYW1wRm9ybSBub3QgZm91bmQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIHVwIGFtcEZvcm0gbGlzdGVuZXI6JywgZSk7Cn0KCi8qIC0tLS0tLS0tLS0gRFZTIExFRCBWaWRlbyBXYWxsIENhbGN1bGF0b3IgLS0tLS0tLS0tLSAqLwpjb25zdCBwYW5lbHMgPSB7CiAgVml6cmE6IFsKICAgIHsgbW9kZWw6ICdWaXpyYS0yJywgcGl4ZWxQaXRjaDogMi45LCB3aWR0aDogMC41LCBoZWlnaHQ6IDAuNSwgcmVzb2x1dGlvblg6IDE3MiwgcmVzb2x1dGlvblk6IDE3MiwgY29zdDogMTUwMCwgcG93ZXI6IDIwMCB9LAogICAgeyBtb2RlbDogJ1ZpenJhLTRJUCcsIHBpeGVsUGl0Y2g6IDQuOCwgd2lkdGg6IDAuNSwgaGVpZ2h0OiAwLjUsIHJlc29sdXRpb25YOiAxMDQsIHJlc29sdXRpb25ZOiAxMDQsIGNvc3Q6IDEyMDAsIHBvd2VyOiAxODAgfSwKICAgIHsgbW9kZWw6ICdWaXpyYS0yICgxMDAwbW0pJywgcGl4ZWxQaXRjaDogMi45LCB3aWR0aDogMC41LCBoZWlnaHQ6IDEuMCwgcmVzb2x1dGlvblg6IDE3MiwgcmVzb2x1dGlvblk6IDM0NCwgY29zdDogMjUwMCwgcG93ZXI6IDM1MCB9LAogICAgeyBtb2RlbDogJ1ZpenJhLTRJUCAoMTAwMG1tKScsIHBpeGVsUGl0Y2g6IDQuOCwgd2lkdGg6IDAuNSwgaGVpZ2h0OiAxLjAsIHJlc29sdXRpb25YOiAxMDQsIHJlc29sdXRpb25ZOiAyMDgsIGNvc3Q6IDIwMDAsIHBvd2VyOiAzMDAgfQogIF0sCiAgVml1U2l0ZTogWwogICAgeyBtb2RlbDogJ1ZpdVNpdGUtMVgnLCBwaXhlbFBpdGNoOiAxLjksIHdpZHRoOiAwLjQ4MjYsIGhlaWdodDogMC45OTA2LCByZXNvbHV0aW9uWDogMjU2LCByZXNvbHV0aW9uWTogNTEyLCBjb3N0OiAxMTk5LCBwb3dlcjogNDAwIH0sCiAgICB7IG1vZGVsOiAnVml1U2l0ZS0yWCcsIHBpeGVsUGl0Y2g6IDIuNiwgd2lkdGg6IDAuNDgyNiwgaGVpZ2h0OiAwLjk5MDYsIHJlc29sdXRpb25YOiAxOTIsIHJlc29sdXRpb25ZOiAzODQsIGNvc3Q6IDg2MywgcG93ZXI6IDM1MCB9LAogICAgeyBtb2RlbDogJ1ZpdVNpdGUtM1gnLCBwaXhlbFBpdGNoOiAzLjksIHdpZHRoOiAwLjQ4MjYsIGhlaWdodDogMC45OTA2LCByZXNvbHV0aW9uWDogMTI4LCByZXNvbHV0aW9uWTogMjU2LCBjb3N0OiA3NDMsIHBvd2VyOiAzMDAgfQogIF0sCiAgRGlvUGxleDogWwogICAgeyBtb2RlbDogJ0Rpb1BsZXgtNicsIHBpeGVsUGl0Y2g6IDYuNiwgd2lkdGg6IDAuOTYsIGhlaWdodDogMC45NiwgcmVzb2x1dGlvblg6IDE0NCwgcmVzb2x1dGlvblk6IDE0NCwgY29zdDogMzUwMCwgcG93ZXI6IDQ1MCB9LAogICAgeyBtb2RlbDogJ0Rpb1BsZXgtOCcsIHBpeGVsUGl0Y2g6IDguMCwgd2lkdGg6IDAuOTYsIGhlaWdodDogMC45NiwgcmVzb2x1dGlvblg6IDEyMCwgcmVzb2x1dGlvblk6IDEyMCwgY29zdDogMzAwMCwgcG93ZXI6IDQwMCB9CiAgXQp9OwoKY29uc3QgbW9kZWxJbWFnZXMgPSB7CiAgJ1ZpenJhLTInOiAnaHR0cHM6Ly9kdnNsZWRzeXN0ZW1zLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8wOC9WaXpyYS0yLU1haW4uanBnJywKICAnVml6cmEtNElQJzogJ2h0dHBzOi8vZHZzbGVkc3lzdGVtcy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDgvVml6cmEtMi1NYWluLmpwZycsCiAgJ1ZpenJhLTIgKDEwMDBtbSknOiAnaHR0cHM6Ly9kdnNsZWRzeXN0ZW1zLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8wOC9WaXpyYS0yWC1NYWluLmpwZycsCiAgJ1ZpenJhLTRJUCAoMTAwMG1tKSc6ICdodHRwczovL2R2c2xlZHN5c3RlbXMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA4L1ZpenJhLTJYLU1haW4uanBnJywKICAnVml1U2l0ZS0xWCc6ICdodHRwczovL2R2c2xlZHN5c3RlbXMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzEyL1ZpdVNpdGUtNVgtTWFpbi5wbmcnLAogICdWaXVTaXRlLTJYJzogJ2h0dHBzOi8vZHZzbGVkc3lzdGVtcy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTIvVml1U2l0ZS01WC1NYWluLnBuZycsCiAgJ1ZpdVNpdGUtM1gnOiAnaHR0cHM6Ly9kdnNsZWRzeXN0ZW1zLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9WaXVTaXRlLTVYLU1haW4ucG5nJywKICAnRGlvUGxleC02JzogJ2h0dHBzOi8vZHZzbGVkc3lzdGVtcy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvZGlvcGxleC02LW1haW4tdjQucG5nJywKICAnRGlvUGxleC04JzogJ2h0dHBzOi8vZHZzbGVkc3lzdGVtcy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvZGlvcGxleC02LW1haW4tdjQucG5nJwp9OwoKY29uc3QgTEFCT1JfQ09TVF9QRVJfUEFORUwgPSAyODE7Cgp0cnkgewogIGNvbnN0IHVuaXRTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndW5pdCcpOwogIGNvbnN0IHdpZHRoVW5pdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3aWR0aC11bml0Jyk7CiAgY29uc3QgaGVpZ2h0VW5pdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZWlnaHQtdW5pdCcpOwogIGNvbnN0IHNlcmllc1NlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZXJpZXMnKTsKICBjb25zdCBtb2RlbFNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlbCcpOwogIGNvbnN0IG51bVdhbGxzU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ251bS13YWxscycpOwogIGNvbnN0IHNob3dNb2RlbEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93LW1vZGVsJyk7CiAgY29uc3QgcmVzdWx0c0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7CiAgY29uc3QgdG9nZ2xlTGFib3JCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9nZ2xlLWxhYm9yJyk7CiAgY29uc3QgbGFib3JDb3N0Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xhYm9yLWNvc3QtY29udGFpbmVyJyk7CiAgY29uc3QgbW9kZWxNb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RlbC1tb2RhbCcpOwogIGNvbnN0IG1vZGVsSW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kZWwtaW1hZ2UnKTsKICBjb25zdCBtb2RlbFRpdGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGVsLXRpdGxlJyk7CgogIGlmICh1bml0U2VsZWN0ICYmIHdpZHRoVW5pdCAmJiBoZWlnaHRVbml0KSB7CiAgICB1bml0U2VsZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsKICAgICAgd2lkdGhVbml0LnRleHRDb250ZW50ID0gdW5pdFNlbGVjdC52YWx1ZTsKICAgICAgaGVpZ2h0VW5pdC50ZXh0Q29udGVudCA9IHVuaXRTZWxlY3QudmFsdWU7CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcignVW5pdCBzZWxlY3Qgb3IgdW5pdCBsYWJlbHMgbm90IGZvdW5kJyk7CiAgfQoKICBpZiAoc2VyaWVzU2VsZWN0ICYmIG1vZGVsU2VsZWN0ICYmIHNob3dNb2RlbEJ1dHRvbikgewogICAgc2VyaWVzU2VsZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsKICAgICAgY29uc3Qgc2VyaWVzID0gc2VyaWVzU2VsZWN0LnZhbHVlOwogICAgICBtb2RlbFNlbGVjdC5pbm5lckhUTUwgPSAnPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgYSBtb2RlbDwvb3B0aW9uPic7CiAgICAgIG1vZGVsU2VsZWN0LmRpc2FibGVkID0gIXNlcmllczsKICAgICAgc2hvd01vZGVsQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpOwogICAgICBpZiAoc2VyaWVzKSB7CiAgICAgICAgcGFuZWxzW3Nlcmllc10uZm9yRWFjaChwYW5lbCA9PiB7CiAgICAgICAgICBjb25zdCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKICAgICAgICAgIG9wdGlvbi52YWx1ZSA9IHBhbmVsLm1vZGVsOwogICAgICAgICAgb3B0aW9uLnRleHRDb250ZW50ID0gcGFuZWwubW9kZWw7CiAgICAgICAgICBtb2RlbFNlbGVjdC5hcHBlbmRDaGlsZChvcHRpb24pOwogICAgICAgIH0pOwogICAgICB9CiAgICB9KTsKICB9IGVsc2UgewogICAgY29uc29sZS5lcnJvcignU2VyaWVzIHNlbGVjdCwgbW9kZWwgc2VsZWN0LCBvciBzaG93IG1vZGVsIGJ1dHRvbiBub3QgZm91bmQnKTsKICB9CgogIGlmIChtb2RlbFNlbGVjdCAmJiBzaG93TW9kZWxCdXR0b24pIHsKICAgIG1vZGVsU2VsZWN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsKICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbFNlbGVjdC52YWx1ZTsKICAgICAgc2hvd01vZGVsQnV0dG9uLmNsYXNzTGlzdC50b2dnbGUoJ2hpZGRlbicsICFtb2RlbCB8fCBtb2RlbCA9PT0gJ1NlbGVjdCBhIG1vZGVsJyk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIHNob3dNb2RlbEltYWdlKCkgewogICAgdHJ5IHsKICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbFNlbGVjdCA/IG1vZGVsU2VsZWN0LnZhbHVlIDogJyc7CiAgICAgIGlmIChtb2RlbCAmJiBtb2RlbEltYWdlc1ttb2RlbF0gJiYgbW9kZWxJbWFnZSAmJiBtb2RlbFRpdGxlICYmIG1vZGVsTW9kYWwpIHsKICAgICAgICBtb2RlbEltYWdlLnNyYyA9IG1vZGVsSW1hZ2VzW21vZGVsXTsKICAgICAgICBtb2RlbEltYWdlLmFsdCA9IGAke21vZGVsfSBJbWFnZWA7CiAgICAgICAgbW9kZWxUaXRsZS50ZXh0Q29udGVudCA9IG1vZGVsOwogICAgICAgIG1vZGVsTW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc29sZS5lcnJvcignTm8gaW1hZ2UgZm91bmQgZm9yIG1vZGVsOicsIG1vZGVsKTsKICAgICAgICBhbGVydCgnTm8gaW1hZ2UgYXZhaWxhYmxlIGZvciB0aGlzIG1vZGVsLicpOwogICAgICB9CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHNob3dNb2RlbEltYWdlOicsIGUpOwogICAgICBhbGVydCgnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGlzcGxheWluZyB0aGUgbW9kZWwgaW1hZ2UuJyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjbG9zZU1vZGVsTW9kYWwoKSB7CiAgICB0cnkgewogICAgICBpZiAobW9kZWxNb2RhbCkgewogICAgICAgIG1vZGVsTW9kYWwuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgICAgIH0KICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gY2xvc2VNb2RlbE1vZGFsOicsIGUpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gdG9nZ2xlTGFib3JDb3N0KCkgewogICAgdHJ5IHsKICAgICAgaWYgKGxhYm9yQ29zdENvbnRhaW5lciAmJiB0b2dnbGVMYWJvckJ1dHRvbikgewogICAgICAgIGNvbnN0IGlzSGlkZGVuID0gbGFib3JDb3N0Q29udGFpbmVyLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJyk7CiAgICAgICAgbGFib3JDb3N0Q29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2hpZGRlbicsICFpc0hpZGRlbik7CiAgICAgICAgdG9nZ2xlTGFib3JCdXR0b24udGV4dENvbnRlbnQgPSBpc0hpZGRlbiA/ICdIaWRlIExhYm9yIENvc3QnIDogJ1Nob3cgTGFib3IgQ29zdCc7CiAgICAgIH0KICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gdG9nZ2xlTGFib3JDb3N0OicsIGUpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gY2FsY1ZpZGVvV2FsbCgpIHsKICAgIHRyeSB7CiAgICAgIGlmICghdW5pdFNlbGVjdCB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dpZHRoJykgfHwgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZWlnaHQnKSB8fAogICAgICAgICAgIXNlcmllc1NlbGVjdCB8fCAhbW9kZWxTZWxlY3QgfHwgIW51bVdhbGxzU2VsZWN0IHx8ICFyZXN1bHRzRGl2IHx8CiAgICAgICAgICAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1zZXJpZXMnKSB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1tb2RlbCcpIHx8CiAgICAgICAgICAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1waXhlbC1waXRjaCcpIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LXBhbmVsLXNpemUnKSB8fAogICAgICAgICAgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcGFuZWxzJykgfHwgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcGFuZWxzLXgnKSB8fAogICAgICAgICAgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcGFuZWxzLXknKSB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC10b3RhbC1wYW5lbHMnKSB8fAogICAgICAgICAgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtbnVtLXdhbGxzJykgfHwgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtYWN0dWFsLXNpemUnKSB8fAogICAgICAgICAgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcmVzb2x1dGlvbicpIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LW1hdGVyaWFsLWNvc3QnKSB8fAogICAgICAgICAgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtbGFib3ItY29zdCcpIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LXN1YnRvdGFsJykgfHwKICAgICAgICAgICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LXBvd2VyJykpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCdET00gZWxlbWVudHMgZm9yIHZpZGVvIHdhbGwgY2FsY3VsYXRvciBub3QgZm91bmQnKTsKICAgICAgICBhbGVydCgnSW50ZXJuYWwgZXJyb3IuIFBsZWFzZSB0cnkgYWdhaW4uJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCB1bml0ID0gdW5pdFNlbGVjdC52YWx1ZTsKICAgICAgbGV0IHdpZHRoID0gcGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2lkdGgnKS52YWx1ZSk7CiAgICAgIGxldCBoZWlnaHQgPSBwYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZWlnaHQnKS52YWx1ZSk7CiAgICAgIGNvbnN0IHNlcmllcyA9IHNlcmllc1NlbGVjdC52YWx1ZTsKICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbFNlbGVjdC52YWx1ZTsKICAgICAgY29uc3QgbnVtV2FsbHMgPSBwYXJzZUludChudW1XYWxsc1NlbGVjdC52YWx1ZSk7CgogICAgICBpZiAoIXdpZHRoIHx8ICFoZWlnaHQgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPD0gMCkgewogICAgICAgIGFsZXJ0KCdQbGVhc2UgZW50ZXIgdmFsaWQgd2lkdGggYW5kIGhlaWdodCAoZ3JlYXRlciB0aGFuIDApLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIXNlcmllcykgewogICAgICAgIGFsZXJ0KCdQbGVhc2Ugc2VsZWN0IGEgcHJvZHVjdCBzZXJpZXMuJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmICghbW9kZWwgfHwgbW9kZWwgPT09ICdTZWxlY3QgYSBtb2RlbCcpIHsKICAgICAgICBhbGVydCgnUGxlYXNlIHNlbGVjdCBhIG1vZGVsLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHVuaXQgPT09ICdmZWV0JykgewogICAgICAgIHdpZHRoICo9IDAuMzA0ODsKICAgICAgICBoZWlnaHQgKj0gMC4zMDQ4OwogICAgICB9CgogICAgICBjb25zdCBwYW5lbCA9IHBhbmVsc1tzZXJpZXNdLmZpbmQocCA9PiBwLm1vZGVsID09PSBtb2RlbCk7CiAgICAgIGlmICghcGFuZWwpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCdQYW5lbCBub3QgZm91bmQgZm9yIHNlcmllczonLCBzZXJpZXMsICdtb2RlbDonLCBtb2RlbCk7CiAgICAgICAgYWxlcnQoJ0ludmFsaWQgcGFuZWwgc2VsZWN0aW9uLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgcGFuZWxzWCA9IE1hdGguY2VpbCh3aWR0aCAvIHBhbmVsLndpZHRoKTsKICAgICAgY29uc3QgcGFuZWxzWSA9IE1hdGguY2VpbChoZWlnaHQgLyBwYW5lbC5oZWlnaHQpOwogICAgICBjb25zdCB0b3RhbFBhbmVsc1BlcldhbGwgPSBwYW5lbHNYICogcGFuZWxzWTsKICAgICAgY29uc3QgdG90YWxQYW5lbHMgPSB0b3RhbFBhbmVsc1BlcldhbGwgKiBudW1XYWxsczsKICAgICAgY29uc3QgdG90YWxSZXNvbHV0aW9uWCA9IHBhbmVsc1ggKiBwYW5lbC5yZXNvbHV0aW9uWDsKICAgICAgY29uc3QgdG90YWxSZXNvbHV0aW9uWSA9IHBhbmVsc1kgKiBwYW5lbC5yZXNvbHV0aW9uWTsKICAgICAgY29uc3QgbWF0ZXJpYWxDb3N0ID0gdG90YWxQYW5lbHMgKiBwYW5lbC5jb3N0OwogICAgICBjb25zdCBsYWJvckNvc3QgPSB0b3RhbFBhbmVscyAqIExBQk9SX0NPU1RfUEVSX1BBTkVMOwogICAgICBjb25zdCBzdWJ0b3RhbCA9IG1hdGVyaWFsQ29zdCArIGxhYm9yQ29zdDsKICAgICAgY29uc3QgYWN0dWFsV2lkdGggPSBwYW5lbHNYICogcGFuZWwud2lkdGg7CiAgICAgIGNvbnN0IGFjdHVhbEhlaWdodCA9IHBhbmVsc1kgKiBwYW5lbC5oZWlnaHQ7CiAgICAgIGNvbnN0IHRvdGFsUG93ZXIgPSB0b3RhbFBhbmVscyAqIHBhbmVsLnBvd2VyOwoKICAgICAgY29uc3QgZGlzcGxheVdpZHRoID0gdW5pdCA9PT0gJ2ZlZXQnID8gKGFjdHVhbFdpZHRoICogMy4yODA4NCkudG9GaXhlZCgyKSA6IGFjdHVhbFdpZHRoLnRvRml4ZWQoMik7CiAgICAgIGNvbnN0IGRpc3BsYXlIZWlnaHQgPSB1bml0ID09PSAnZmVldCcgPyAoYWN0dWFsSGVpZ2h0ICogMy4yODA4NCkudG9GaXhlZCgyKSA6IGFjdHVhbEhlaWdodC50b0ZpeGVkKDIpOwogICAgICBjb25zdCBkaXNwbGF5UGFuZWxXaWR0aCA9IHVuaXQgPT09ICdmZWV0JyA/IChwYW5lbC53aWR0aCAqIDMuMjgwODQpLnRvRml4ZWQoMikgOiBwYW5lbC53aWR0aC50b0ZpeGVkKDIpOwogICAgICBjb25zdCBkaXNwbGF5UGFuZWxIZWlnaHQgPSB1bml0ID09PSAnZmVldCcgPyAocGFuZWwuaGVpZ2h0ICogMy4yODA4NCkudG9GaXhlZCgyKSA6IHBhbmVsLmhlaWdodC50b0ZpeGVkKDIpOwogICAgICBjb25zdCB1bml0TGFiZWwgPSB1bml0ID09PSAnZmVldCcgPyAnZnQnIDogJ20nOwoKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1zZXJpZXMnKS50ZXh0Q29udGVudCA9IHNlcmllczsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1tb2RlbCcpLnRleHRDb250ZW50ID0gbW9kZWw7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcGl4ZWwtcGl0Y2gnKS50ZXh0Q29udGVudCA9IHBhbmVsLnBpeGVsUGl0Y2g7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtcGFuZWwtc2l6ZScpLnRleHRDb250ZW50ID0gYCR7ZGlzcGxheVBhbmVsV2lkdGh9JHt1bml0TGFiZWx9IHggJHtkaXNwbGF5UGFuZWxIZWlnaHR9JHt1bml0TGFiZWx9YDsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1wYW5lbHMnKS50ZXh0Q29udGVudCA9IHRvdGFsUGFuZWxzUGVyV2FsbDsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1wYW5lbHMteCcpLnRleHRDb250ZW50ID0gcGFuZWxzWDsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1wYW5lbHMteScpLnRleHRDb250ZW50ID0gcGFuZWxzWTsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC10b3RhbC1wYW5lbHMnKS50ZXh0Q29udGVudCA9IHRvdGFsUGFuZWxzOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LW51bS13YWxscycpLnRleHRDb250ZW50ID0gbnVtV2FsbHM7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQtYWN0dWFsLXNpemUnKS50ZXh0Q29udGVudCA9IGAke2Rpc3BsYXlXaWR0aH0ke3VuaXRMYWJlbH0geCAke2Rpc3BsYXlIZWlnaHR9JHt1bml0TGFiZWx9YDsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC1yZXNvbHV0aW9uJykudGV4dENvbnRlbnQgPSBgJHt0b3RhbFJlc29sdXRpb25YfSB4ICR7dG90YWxSZXNvbHV0aW9uWX1gOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LW1hdGVyaWFsLWNvc3QnKS50ZXh0Q29udGVudCA9IG1hdGVyaWFsQ29zdC50b0xvY2FsZVN0cmluZygpOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LWxhYm9yLWNvc3QnKS50ZXh0Q29udGVudCA9IGxhYm9yQ29zdC50b0xvY2FsZVN0cmluZygpOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LXN1YnRvdGFsJykudGV4dENvbnRlbnQgPSBzdWJ0b3RhbC50b0xvY2FsZVN0cmluZygpOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LXBvd2VyJykudGV4dENvbnRlbnQgPSB0b3RhbFBvd2VyLnRvTG9jYWxlU3RyaW5nKCk7CgogICAgICByZXN1bHRzRGl2LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOwogICAgICBsYWJvckNvc3RDb250YWluZXIuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgICAgIHRvZ2dsZUxhYm9yQnV0dG9uLnRleHRDb250ZW50ID0gJ1Nob3cgTGFib3IgQ29zdCc7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNhbGNWaWRlb1dhbGw6JywgZSk7CiAgICAgIGFsZXJ0KCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBjYWxjdWxhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nKTsKICAgIH0KICB9Cn0gY2F0Y2ggKGUpIHsKICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiB2aWRlbyB3YWxsIGNhbGN1bGF0b3Igc2V0dXA6JywgZSk7Cn0KPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” type_medium=”” type_small=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”true”][fusion_code]PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICA8dGl0bGU+U3BlYWtlciBSaWdnaW5nIFdlaWdodCBDaGFydDwvdGl0bGU+CiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsKICAgICAgcGFkZGluZzogMjBweDsKICAgIH0KICAgIGgxIHsKICAgICAgY29sb3I6ICMzMzM7CiAgICB9CiAgICAuY29udGFpbmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLDAsMCwwLjEpOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICB9CiAgICBpbnB1dFt0eXBlPSJudW1iZXIiXSB7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgbWFyZ2luOiAxMHB4OwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KICAgIGJ1dHRvbiB7CiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNENBRjUwOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9CiAgICBidXR0b246aG92ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDVhMDQ5OwogICAgfQogICAgI3Jlc3VsdCB7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgY29sb3I6ICMzMzM7CiAgICB9CiAgICAud2FybmluZyB7CiAgICAgIGNvbG9yOiByZWQ7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgIH0KICAgIGEgewogICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgfQogICAgYTpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgPGgxPlNwZWFrZXIgUmlnZ2luZyBXZWlnaHQgQ2hhcnQ8L2gxPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8bGFiZWwgZm9yPSJ3ZWlnaHQiPkVudGVyIFNwZWFrZXIgV2VpZ2h0IChsYnMpOjwvbGFiZWw+PGJyPgogICAgPGlucHV0IHR5cGU9Im51bWJlciIgaWQ9IndlaWdodCIgbWluPSIwIiBzdGVwPSIxIiBwbGFjZWhvbGRlcj0iZS5nLiwgNTAiPgogICAgPGJyPgogICAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxjdWxhdGVSaWdnaW5nKCkiPkNhbGN1bGF0ZSBSaWdnaW5nIFJlY29tbWVuZGF0aW9uczwvYnV0dG9uPgogICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPgogICAgICBOb3RlOiBSZWNvbW1lbmRhdGlvbnMgYXJlIGJhc2VkIG9uIDd4MTkgb3IgN3g3IGdhbHZhbml6ZWQgYWlyY3JhZnQgY2FibGVzIChVU0EtbWFkZSkgd2l0aCBhIGRlc2lnbiBmYWN0b3Igb2YgNSBhbmQgQ3Jvc2J5IEctMjA5IFNjcmV3IFBpbiBBbmNob3IgU2hhY2tsZXMgd2l0aCBhIGRlc2lnbiBmYWN0b3Igb2YgNi4gQWx3YXlzIGNvbnN1bHQgYSBwcm9mZXNzaW9uYWwgcmlnZ2VyIGFuZCB2ZXJpZnkgd2l0aCBsb2NhbCBzYWZldHkgc3RhbmRhcmRzLiBOb3QgZm9yIHVzZSBpbiBhaXJjcmFmdCBjb250cm9scyBvciBvdmVyaGVhZCBsaWZ0aW5nIG9mIHBlcnNvbm5lbC4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8c2NyaXB0PgogICAgY29uc3QgcmlnZ2luZ0RhdGEgPSBbCiAgICAgIHsgCiAgICAgICAgY2FibGVTaXplOiAiMS8xNlwiIiwgCiAgICAgICAgY2FibGVCcmVha2luZ1N0cmVuZ3RoOiA0ODAsIAogICAgICAgIGNhYmxlV2xsOiA5NiwgCiAgICAgICAgc2hhY2tsZVNpemU6ICIzLzE2XCIiLCAKICAgICAgICBzaGFja2xlV2xsOiA2NjAsIAogICAgICAgIHNoYWNrbGVNb2RlbDogIkctMjA5IgogICAgICB9LAogICAgICB7IAogICAgICAgIGNhYmxlU2l6ZTogIjEvOFwiIiwgCiAgICAgICAgY2FibGVCcmVha2luZ1N0cmVuZ3RoOiAyMDAwLCAKICAgICAgICBjYWJsZVdsbDogNDAwLCAKICAgICAgICBzaGFja2xlU2l6ZTogIjUvMTZcIiIsIAogICAgICAgIHNoYWNrbGVXbGw6IDE1MDAsIAogICAgICAgIHNoYWNrbGVNb2RlbDogIkctMjA5IgogICAgICB9LAogICAgICB7IAogICAgICAgIGNhYmxlU2l6ZTogIjMvMTZcIiIsIAogICAgICAgIGNhYmxlQnJlYWtpbmdTdHJlbmd0aDogNDIwMCwgCiAgICAgICAgY2FibGVXbGw6IDg0MCwgCiAgICAgICAgc2hhY2tsZVNpemU6ICI3LzE2XCIiLCAKICAgICAgICBzaGFja2xlV2xsOiAzMDAwLCAKICAgICAgICBzaGFja2xlTW9kZWw6ICJHLTIwOSIKICAgICAgfSwKICAgICAgeyAKICAgICAgICBjYWJsZVNpemU6ICIxLzRcIiIsIAogICAgICAgIGNhYmxlQnJlYWtpbmdTdHJlbmd0aDogNzAwMCwgCiAgICAgICAgY2FibGVXbGw6IDE0MDAsIAogICAgICAgIHNoYWNrbGVTaXplOiAiNS84XCIiLCAKICAgICAgICBzaGFja2xlV2xsOiA2NTAwLCAKICAgICAgICBzaGFja2xlTW9kZWw6ICJHLTIwOSIKICAgICAgfSwKICAgICAgeyAKICAgICAgICBjYWJsZVNpemU6ICIzLzhcIiIsIAogICAgICAgIGNhYmxlQnJlYWtpbmdTdHJlbmd0aDogMTQ0MDAsIAogICAgICAgIGNhYmxlV2xsOiAyODgwLCAKICAgICAgICBzaGFja2xlU2l6ZTogIjcvOFwiIiwgCiAgICAgICAgc2hhY2tsZVdsbDogMTMwMDAsIAogICAgICAgIHNoYWNrbGVNb2RlbDogIkctMjA5IgogICAgICB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIGNhbGN1bGF0ZVJpZ2dpbmcoKSB7CiAgICAgIGNvbnN0IHdlaWdodElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dlaWdodCcpLnZhbHVlOwogICAgICBjb25zdCByZXN1bHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOwogICAgICBjb25zdCB3ZWlnaHQgPSBwYXJzZUZsb2F0KHdlaWdodElucHV0KTsKCiAgICAgIGlmIChpc05hTih3ZWlnaHQpIHx8IHdlaWdodCA8IDApIHsKICAgICAgICByZXN1bHRFbGVtZW50LmlubmVySFRNTCA9ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCB3ZWlnaHQgKHBvc2l0aXZlIG51bWJlcikuJzsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGxldCByZWNvbW1lbmRhdGlvbiA9IG51bGw7CiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByaWdnaW5nRGF0YSkgewogICAgICAgIGlmICh3ZWlnaHQgPD0gaXRlbS5jYWJsZVdsbCAmJiB3ZWlnaHQgPD0gaXRlbS5zaGFja2xlV2xsKSB7CiAgICAgICAgICByZWNvbW1lbmRhdGlvbiA9IGl0ZW07CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChyZWNvbW1lbmRhdGlvbikgewogICAgICAgIHJlc3VsdEVsZW1lbnQuaW5uZXJIVE1MID0gYAogICAgICAgICAgRm9yIGEgc3BlYWtlciB3ZWlnaHQgb2YgJHt3ZWlnaHR9IGxiczo8YnI+CiAgICAgICAgICA8c3Ryb25nPkFpcmNyYWZ0IENhYmxlIChVU0EtbWFkZSk6PC9zdHJvbmc+ICR7cmVjb21tZW5kYXRpb24uY2FibGVTaXplfSAoV0xMOiAke3JlY29tbWVuZGF0aW9uLmNhYmxlV2xsfSBsYnMsIEJyZWFraW5nIFN0cmVuZ3RoOiAke3JlY29tbWVuZGF0aW9uLmNhYmxlQnJlYWtpbmdTdHJlbmd0aH0gbGJzKTxicj4KICAgICAgICAgIDxzdHJvbmc+Q3Jvc2J5IFNoYWNrbGU6PC9zdHJvbmc+ICR7cmVjb21tZW5kYXRpb24uc2hhY2tsZVNpemV9ICR7cmVjb21tZW5kYXRpb24uc2hhY2tsZU1vZGVsfSBTY3JldyBQaW4gQW5jaG9yIFNoYWNrbGUgKFdMTDogJHtyZWNvbW1lbmRhdGlvbi5zaGFja2xlV2xsfSBsYnMpPGJyPgogICAgICAgICAgPHNtYWxsPlNvdXJjZSBjYWJsZXMgZnJvbSA8YSBocmVmPSJodHRwczovL2UtcmlnZ2luZy5jb20iIHRhcmdldD0iX2JsYW5rIj5FLVJpZ2dpbmc8L2E+Ljwvc21hbGw+CiAgICAgICAgYDsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXN1bHRFbGVtZW50LmlubmVySFRNTCA9IGBUaGUgd2VpZ2h0IG9mICR7d2VpZ2h0fSBsYnMgZXhjZWVkcyB0aGUgc2FmZSB3b3JraW5nIGxvYWQgb2YgYXZhaWxhYmxlIGNhYmxlcyBhbmQgc2hhY2tsZXMuIENvbnN1bHQgYSBwcm9mZXNzaW9uYWwgcmlnZ2VyIGZvciBsYXJnZXIgc2l6ZXMgb3IgYWx0ZXJuYXRpdmUgc29sdXRpb25zLmA7CiAgICAgIH0KICAgIH0KICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+[/fusion_code][/fusion_builder_column][fusion_builder_column type=”1_2″ layout=”1_2″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” type_medium=”” type_small=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”false” border_position=”all” first=”true” spacing_right=””][fusion_button link=”https://wilsonproavl.com/jbl-specs/” enable_hover_text_icon=”no” hover_text=”” title=”” target=”_blank” link_attributes=”” aria_role_button=”0″ alignment_medium=”” alignment_small=”” alignment=”center” modal=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” color=”default” button_gradient_top_color_hover=”” hue=”” saturation=”” lightness=”” alpha=”” button_gradient_top_color=”” button_gradient_bottom_color_hover=”” button_gradient_bottom_color=”” gradient_start_position=”” gradient_end_position=”” gradient_type=”” radial_direction=”” linear_angle=”” accent_hover_color=”” accent_color=”” type=”” bevel_color=”” bevel_color_hover=”” border_top=”” border_right=”” border_bottom=”” border_left=”” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” border_hover_color=”” border_color=”” size=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” fusion_font_family_button_font=”” fusion_font_variant_button_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” stretch=”default” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” icon=”” hover_icon=”” icon_position=”left” icon_divider=”no” hover_transition=”none” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=””]Get ALL JBL Specs here[/fusion_button][/fusion_builder_column][fusion_builder_column type=”1_2″ layout=”1_2″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” type_medium=”” type_small=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”false”][fusion_button link=”https://wilsonproavl.com/wp-content/uploads/2025/07/crown.html” enable_hover_text_icon=”no” hover_text=”” title=”” target=”_blank” link_attributes=”” aria_role_button=”0″ alignment_medium=”” alignment_small=”” alignment=”center” modal=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” color=”default” button_gradient_top_color_hover=”” hue=”” saturation=”” lightness=”” alpha=”” button_gradient_top_color=”” button_gradient_bottom_color_hover=”” button_gradient_bottom_color=”” gradient_start_position=”” gradient_end_position=”” gradient_type=”” radial_direction=”” linear_angle=”” accent_hover_color=”” accent_color=”” type=”” bevel_color=”” bevel_color_hover=”” border_top=”” border_right=”” border_bottom=”” border_left=”” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” border_hover_color=”” border_color=”” size=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” fusion_font_family_button_font=”” fusion_font_variant_button_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” stretch=”default” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” icon=”” hover_icon=”” icon_position=”left” icon_divider=”no” hover_transition=”none” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=””]Get ALL Crown Specs here[/fusion_button][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][/fusion_builder_row][/fusion_builder_container][fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][/fusion_builder_row][/fusion_builder_container]