[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=”” html_attributes=”W10=” margin_top_medium=”” margin_bottom_medium=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” hue=”” saturation=”” lightness=”” alpha=”” link_color=”” 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_random_order=”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” position_top_medium=”” position_right_medium=”” position_bottom_medium=”” position_left_medium=”” position_top_small=”” position_right_small=”” position_bottom_small=”” position_left_small=”” position_top=”” position_right=”” position_bottom=”” position_left=”” 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=”fade” animation_direction=”up” animation_color=”” animation_speed=”0.5″ 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” dimension_gap_medium=”” dimension_gap_small=”” dimension_gap=”” 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=”” html_attributes=”” type_medium=”” type_small=”” max_height_medium=”” max_height_small=”” max_height=”” 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_random_order=”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 render_logics=””]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBDQVJMIEZFQVRVUkVTIFBBR0UKICAgICBDbGVhbmVyIGNvbXBldGl0aXZlIHBvc2l0aW9uaW5nIHZlcnNpb24KICAgICBGdWxsIHN0YW5kYWxvbmUsIGZ1bGwtd2lkdGgsIHNjb3BlZCwgbm8gaGVhZGluZyB0YWdzCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPGRpdiBjbGFzcz0iY2EtZmVhdC1jbGVhbi0yNjA1MjgiPgogIDxzdHlsZT4KICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAqLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4ICo6OmJlZm9yZSwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAqOjphZnRlciB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IHsKICAgICAgLS1jYS1mdC1uYXZ5OiAjMDAyRDRDOwogICAgICAtLWNhLWZ0LW5hdnktZGFyazogIzAwMTkzMDsKICAgICAgLS1jYS1mdC1ibHVlOiAjNTlDOUUxOwogICAgICAtLWNhLWZ0LXRlYWw6ICMwMEU1RDM7CiAgICAgIC0tY2EtZnQtbGltZTogI0E4RTA2MzsKICAgICAgLS1jYS1mdC1jb3JhbDogI0Y4ODM3OTsKICAgICAgLS1jYS1mdC1waW5rOiAjRjY3MUVBOwogICAgICAtLWNhLWZ0LWFtYmVyOiAjRkZCMzI4OwogICAgICAtLWNhLWZ0LW11dGVkOiAjNUE2QzdEOwogICAgICAtLWNhLWZ0LXNvZnQ6ICNGQUZCRkE7CiAgICAgIC0tY2EtZnQtbGluZTogcmdiYSgwLDQ1LDc2LDAuMDgpOwogICAgICAtLWNhLWZ0LXNoYWRvdzogMCA4cHggMzRweCByZ2JhKDAsIDQ1LCA3NiwgMC4wNzUpOwogICAgICAtLWNhLWZ0LXNoYWRvdy1ob3ZlcjogMCAxMnB4IDMycHggcmdiYSgwLCA0NSwgNzYsIDAuMTEpOwogICAgICAtLWNhLWZ0LXNwZWVkOiA2NTBtczsKICAgICAgLS1jYS1mdC1lYXNlOiBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTsKCiAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OwogICAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KSAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgICAgaXNvbGF0aW9uOiBpc29sYXRlICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnkpICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDsKICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCBhIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZmVhdC1jbGVhbi0yNjA1MjggaW1nLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IHN2ZywKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCB2aWRlbyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IGJ1dHRvbiB7CiAgICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9faW5uZXIgewogICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICBtYXgtd2lkdGg6IDEyMDBweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9faW5uZXItd2lkZSB7CiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogMTMyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zZWN0aW9uIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogNzJweCAzMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3NlY3Rpb24tc29mdCB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LXNvZnQpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zZWN0aW9uLWRhcmsgewogICAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODYlIDEyJSwgcmdiYSgwLDIyOSwyMTEsMC4wOSksIHRyYW5zcGFyZW50IDM0JSksCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMCUgODglLCByZ2JhKDI0OCwxMzEsMTIxLDAuMDkpLCB0cmFuc3BhcmVudCAzNCUpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhLWZ0LW5hdnktZGFyayksIHZhcigtLWNhLWZ0LW5hdnkpKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc2VjdGlvbi1oZWFkZXIgewogICAgICBtYXgtd2lkdGg6IDg2MHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHggIWltcG9ydGFudDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19leWVicm93IHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBnYXA6IDhweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAxMnB4IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LWJsdWUpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19leWVicm93LWRvdCB7CiAgICAgIHdpZHRoOiA5cHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiA5cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2EtZnQtYmx1ZSksIHZhcigtLWNhLWZ0LXRlYWwpKSAhaW1wb3J0YW50OwogICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fdGl0bGUteGwgewogICAgICBtYXJnaW46IDAgMCAyMHB4IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiBjbGFtcCg0MHB4LCA1dncsIDU4cHgpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMTIgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW0gIWltcG9ydGFudDsKICAgICAgbWF4LXdpZHRoOiA5MjBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fdGl0bGUtbGcgewogICAgICBtYXJnaW46IDAgMCAxMnB4IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnktZGFyaykgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW0gIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3RpdGxlLWxnLWxpZ2h0IHsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3RpdGxlLW1kIHsKICAgICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW0gIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2NvcHkgewogICAgICBtYXJnaW46IDAgMCAxOHB4IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW11dGVkKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS43NSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY29weS1saWdodCB7CiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzgpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb3B5Omxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19idG4tcm93IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J0biB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAxNHB4IDI2cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjoKICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tY2EtZnQtc3BlZWQpIHZhcigtLWNhLWZ0LWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgYm94LXNoYWRvdyB2YXIoLS1jYS1mdC1zcGVlZCkgdmFyKC0tY2EtZnQtZWFzZSkgIWltcG9ydGFudCwKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGNvbG9yIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1jYS1mdC1zcGVlZCkgdmFyKC0tY2EtZnQtZWFzZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J0bjpob3ZlciB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KSAhaW1wb3J0YW50OwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J0biBzcGFuIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnRuOmhvdmVyIHNwYW4gewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnRuLXByaW1hcnkgewogICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNTljOWUxLCAjMDBlNWQzKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCwgNDUsIDc2LCAwLjEzKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnRuLXByaW1hcnk6aG92ZXIgewogICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDdweCAyMnB4IHJnYmEoMCwgNDUsIDc2LCAwLjE2KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnRuLW91dGxpbmUtbGlnaHQgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eSkgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDQ1LCA3NiwgMC4xMikgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsMCwwLDAuMDgpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgYS5jYS1mdC1jbGVhbl9fYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIsCiAgICAuY2EtZnQtY2xlYW5fX2J0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnkpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwZTVkMyAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDdweCAyMnB4IHJnYmEoMCwgNDUsIDc2LCAwLjE4KSAhaW1wb3J0YW50OwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J0bi13aGl0ZSB7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsNDUsNzYsMC4xMykgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J0bi1kYXJrIHsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCw0NSw3NiwwLjEzKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY2FyZCB7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2EtZnQtbGluZSkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiB2YXIoLS1jYS1mdC1zaGFkb3cpICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zaXRpb246CiAgICAgICAgdHJhbnNmb3JtIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGJveC1zaGFkb3cgdmFyKC0tY2EtZnQtc3BlZWQpIHZhcigtLWNhLWZ0LWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tY2EtZnQtc3BlZWQpIHZhcigtLWNhLWZ0LWVhc2UpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jYXJkOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWNhLWZ0LXNoYWRvdy1ob3ZlcikgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX21hcGxlLWljb24gewogICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4wM2VtKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fbWluaS1saXN0IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMTZweCAwIDAgMCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19taW5pLWxpc3QtaXRlbSB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNnB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX21pbmktZG90IHsKICAgICAgd2lkdGg6IDhweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IDhweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2EtZnQtbGltZSkgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogN3B4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jaGVjayB7CiAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LWxpbWUpICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi10b3A6IDFweCAhaW1wb3J0YW50OwogICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY2hlY2sgc3ZnIHsKICAgICAgd2lkdGg6IDEwcHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGZpbGw6IG5vbmUgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlOiB2YXIoLS1jYS1mdC1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS13aWR0aDogMi41ICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZCAhaW1wb3J0YW50OwogICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogSEVSTyAqLwogICAgLmNhLWZ0LWNsZWFuX19oZXJvIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogODhweCAzMHB4IDc2cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDoKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDE0JSA4JSwgcmdiYSg4OSwyMDEsMjI1LDAuMTgpLCB0cmFuc3BhcmVudCAzNCUpLAogICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODYlIDE4JSwgcmdiYSgyNDgsMTMxLDEyMSwwLjEzKSwgdHJhbnNwYXJlbnQgMzQlKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jYS1mdC1uYXZ5KSwgdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSkgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2hlcm8tY29weSB7CiAgICAgIG1heC13aWR0aDogNzYwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMzJweCAwICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODgpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS43NSAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19oZXJvLXRhZ3MgewogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgICBnYXA6IDEwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMjhweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9faGVyby10YWcgewogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogNnB4ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDdweCAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEzKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbWUpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBCUklER0UgKi8KICAgIC5jYS1mdC1jbGVhbl9fYnJpZGdlLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OwogICAgICBnYXA6IDIwcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2JyaWRnZS1jYXJkIHsKICAgICAgcGFkZGluZzogMjhweCAyNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tY2EtZnQtbGltZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2JyaWRnZS1jYXJkOm50aC1jaGlsZCgyKSB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1ibHVlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnJpZGdlLWNhcmQ6bnRoLWNoaWxkKDMpIHsKICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LXBpbmspICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19icmlkZ2UtbGFiZWwgewogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIHdpZHRoOiAzNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMzRweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMTZweCAwICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LW5hdnktZGFyaykgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgxNjgsMjI0LDk5LDAuMzUpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19wcml2YWN5LW5vdGUgewogICAgICBtYXgtd2lkdGg6IDg0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMjhweCBhdXRvIDAgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMThweCAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jYS1mdC1saW5lKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWNhLWZ0LWJsdWUpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcgIWltcG9ydGFudDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWNhLWZ0LXNoYWRvdykgIWltcG9ydGFudDsKICAgIH0KCgogICAgLyogU0lNUExJRklFRCBDT05URU5UIEJMT0NLUyAqLwoKICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1zdHJpcCB7CiAgICAgIG1heC13aWR0aDogOTYwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMjRweCAwICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsNDUsNzYsMC4xMCkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCw0NSw3NiwwLjEwKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1zdGVwIHsKICAgICAgZmxleDogMSAxIDAgIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM0cHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDAgMThweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1udW1iZXIgewogICAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYS1mdC1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMTY4LDIyNCw5OSwwLjM1KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmxvdy10aXRsZSB7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgNXB4IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2Zsb3ctY29weSB7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1hcnJvdyB7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtdGVhbCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMCA0cHggIWltcG9ydGFudDsKICAgICAgb3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19wbGFpbi1ub3RlIHsKICAgICAgbWF4LXdpZHRoOiA4MjBweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDI0cHggYXV0byAwICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDE0cHggMThweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNhLWZ0LWJsdWUpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcgIWltcG9ydGFudDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoODksMjAxLDIyNSwwLjA2KSAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mZWF0dXJlLXN0cmlwIHsKICAgICAgbWF4LXdpZHRoOiAxMDgwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDsKICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jYS1mdC1saW5lKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2EtZnQtbGluZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZlYXR1cmUtaXRlbSB7CiAgICAgIHBhZGRpbmc6IDI0cHggMjJweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbmUpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mZWF0dXJlLWl0ZW06Zmlyc3QtY2hpbGQgewogICAgICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmVhdHVyZS1raWNrZXIgewogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICMwMEI4QTkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZlYXR1cmUtdGl0bGUgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDhweCAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mZWF0dXJlLWNvcHkgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbXV0ZWQpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1sYXlvdXQgewogICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuNzhmcikgbWlubWF4KDAsIDEuMjJmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiA0NnB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1jaGVja2xpc3QgewogICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OwogICAgICBnYXA6IDAgMjRweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2EtZnQtbGluZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtcm93IHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI0cHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDE2cHggMCAhaW1wb3J0YW50OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2EtZnQtbGluZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90IHsKICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2EtZnQtbGltZSkgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnktZGFyaykgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LXJvdzpudGgtY2hpbGQoMikgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWRvdCB7IGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LWJsdWUpICFpbXBvcnRhbnQ7IH0KICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1yb3c6bnRoLWNoaWxkKDMpIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1kb3QgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYS1mdC1waW5rKSAhaW1wb3J0YW50OyBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9CiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtcm93Om50aC1jaGlsZCg0KSAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90IHsgYmFja2dyb3VuZDogdmFyKC0tY2EtZnQtdGVhbCkgIWltcG9ydGFudDsgfQogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LXJvdzpudGgtY2hpbGQoNSkgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWRvdCB7IGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LWFtYmVyKSAhaW1wb3J0YW50OyB9CiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtcm93Om50aC1jaGlsZCg2KSAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90IHsgYmFja2dyb3VuZDogdmFyKC0tY2EtZnQtY29yYWwpICFpbXBvcnRhbnQ7IGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH0KCiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtdGl0bGUgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWNvcHkgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbXV0ZWQpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGxhbm5pbmctZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMjhweCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3BsYW5uaW5nLWNvbHVtbiB7CiAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGxhbm5pbmctY29sdW1uOm50aC1jaGlsZCgyKSB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1waW5rKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGxhbm5pbmctY29sdW1uOm50aC1jaGlsZCgzKSB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC10ZWFsKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGxhbm5pbmctdGl0bGUgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDEwcHggMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGxhbm5pbmctY29weSB7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMTRweCAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbC1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgICBnYXA6IDhweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tdG9wOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDIyOSwyMTEsMC4xMCkgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnkpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7CiAgICB9CgoKICAgIC8qIEJVSUxERVIgKi8KICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlciB7CiAgICAgIHBhZGRpbmc6IDM0cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWNhLWZ0LXNoYWRvdykgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2EtZnQtbGluZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFicyB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMTJweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAyOHB4IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFiIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbmUpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0U4RThFOCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE4cHggcmdiYSgwLDQ1LDc2LDAuMDQ1KSAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAxNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIG9wYWNpdHk6IDAuNzggIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjoKICAgICAgICBvcGFjaXR5IHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIHRyYW5zZm9ybSB2YXIoLS1jYS1mdC1zcGVlZCkgdmFyKC0tY2EtZnQtZWFzZSkgIWltcG9ydGFudCwKICAgICAgICBib3gtc2hhZG93IHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1jYS1mdC1zcGVlZCkgdmFyKC0tY2EtZnQtZWFzZSkgIWltcG9ydGFudCwKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlci10YWI6aG92ZXIgewogICAgICBvcGFjaXR5OiAwLjk1ICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiB2YXIoLS1jYS1mdC1zaGFkb3ctaG92ZXIpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLXRhYi5pcy1hY3RpdmUgewogICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg4OSwyMDEsMjI1LDAuMjIpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiB2YXIoLS1jYS1mdC1zaGFkb3cpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLXRhYltkYXRhLWNhLWZ0LWJ1aWxkZXI9InVwbG9hZCJdLmlzLWFjdGl2ZSwKICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlci10YWJbZGF0YS1jYS1mdC1idWlsZGVyPSJyZW1peCJdLmlzLWFjdGl2ZSB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1waW5rKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlci10YWJbZGF0YS1jYS1mdC1idWlsZGVyPSJjaGF0Il0uaXMtYWN0aXZlIHsKICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LXRlYWwpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX190YWItaWNvbiB7CiAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDg5LDIwMSwyMjUsMC4xNSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3RhYi1pY29uIHN2ZyB7CiAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50OwogICAgICBmaWxsOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS13aWR0aDogMi4yICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZCAhaW1wb3J0YW50OwogICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX190YWItdGl0bGUgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX190YWItc3ViIHsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW11dGVkKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNDUgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19taW5pLWJhZGdlIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBnYXA6IDRweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDNweCAwIDVweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAzcHggOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhLWZ0LWJsdWUpLCB2YXIoLS1jYS1mdC10ZWFsKSkgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW0gIWltcG9ydGFudDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fbWluaS1iYWRnZS1waW5rIHsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2EtZnQtcGluayksIHZhcigtLWNhLWZ0LWNvcmFsKSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItbGF5b3V0IHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMzBweCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLXBhbmVsLAogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLWdpZiB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItcGFuZWwuaXMtYWN0aXZlLAogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLWdpZi5pcy1hY3RpdmUgewogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3RlcHMgewogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMThweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3RlcCB7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBnYXA6IDlweCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eSkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNDUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3N0ZXAtZG90IHsKICAgICAgd2lkdGg6IDIycHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3RleHQtbGluayB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiA2cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogIzAwQjhBOSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zaXRpb246CiAgICAgICAgY29sb3IgdmFyKC0tY2EtZnQtc3BlZWQpIHZhcigtLWNhLWZ0LWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgZ2FwIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fdGV4dC1saW5rOmhvdmVyIHsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LXRlYWwpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogOXB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19tZWRpYSB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHggIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDAsNDUsNzYsMC4xMykgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLWdpZltkYXRhLWNhLWZ0LWJ1aWxkZXItZ2lmPSJ1cGxvYWQiXSAuY2EtZnQtY2xlYW5fX21lZGlhLAogICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyLWdpZltkYXRhLWNhLWZ0LWJ1aWxkZXItZ2lmPSJyZW1peCJdIC5jYS1mdC1jbGVhbl9fbWVkaWEgewogICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY2EtZnQtcGluaykgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItZ2lmW2RhdGEtY2EtZnQtYnVpbGRlci1naWY9ImNoYXQiXSAuY2EtZnQtY2xlYW5fX21lZGlhIHsKICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LXRlYWwpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19tZWRpYSBpbWcgewogICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19tZWRpYSB2aWRlbywKICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlci12aWRlbyB7CiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBDT01QT05FTlRTICovCiAgICAuY2EtZnQtY2xlYW5fX2RhcmstaGVhZGVyIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCBhdXRvIDUycHggIWltcG9ydGFudDsKICAgICAgbWF4LXdpZHRoOiA3ODBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZGFyay1iYWRnZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMjJweCAwICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDdweCAxNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC10ZWFsKSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjI5LDIxMSwwLjEyKSAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjI5LDIxMSwwLjI1KSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2NvbXBvbmVudC1wYW5lbCB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogNTZweCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDU4cHggMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY29tcG9uZW50LXBhbmVsLXJldmVyc2UgewogICAgICBkaXJlY3Rpb246IHJ0bCAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb21wb25lbnQtcGFuZWwtcmV2ZXJzZSA+ICogewogICAgICBkaXJlY3Rpb246IGx0ciAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZ2lmLXdyYXAgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMThweCAhaW1wb3J0YW50OwogICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IDAgMjRweCA2NHB4IHJnYmEoMCwwLDAsMC40NSkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZ2lmLXdyYXAgaW1nIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19naWYtbGFiZWwgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgICAgYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGxlZnQ6IDE2cHggIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1LDQ4LDAuODgpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19kYXJrLWNvcHktdGFnIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBnYXA6IDhweCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbGltZSkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDE2cHggMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZGFyay1jb3B5LXRhZy1waW5rIHsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LXBpbmspICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19kYXJrLWNvcHktdGFnOjpiZWZvcmUgewogICAgICBjb250ZW50OiAiIiAhaW1wb3J0YW50OwogICAgICB3aWR0aDogMjJweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IDJweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3BpbGwtcm93IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMThweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fcGlsbCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogNnB4IDEzcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA3KSAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzgpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3N0YXRzIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMXB4ICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgNThweCAwICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3RhdC1ib3ggewogICAgICBwYWRkaW5nOiAyOHB4IDI0cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA0KSAhaW1wb3J0YW50OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3N0YXQtbnVtIHsKICAgICAgbWFyZ2luOiAwIDAgOHB4IDAgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2EtZnQtdGVhbCksIHZhcigtLWNhLWZ0LWJsdWUpKSAhaW1wb3J0YW50OwogICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50OwogICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMzhweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zdGF0LWxhYmVsIHsKICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41NikgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2RhcmstY3RhIHsKICAgICAgbWF4LXdpZHRoOiA3NjBweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDU4cHggYXV0byAwICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAzOHB4IDMwcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBDUkVBVEUgR1JJRCAqLwogICAgLmNhLWZ0LWNsZWFuX19jcmVhdGUtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMjBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY3JlYXRlLWNhcmQgewogICAgICBwYWRkaW5nOiAyNnB4IDI0cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jcmVhdGUtY2FyZDpudGgtY2hpbGQoMikgewogICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY2EtZnQtYmx1ZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2NyZWF0ZS1jYXJkOm50aC1jaGlsZCgzKSB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1waW5rKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY3JlYXRlLWNhcmQ6bnRoLWNoaWxkKDQpIHsKICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LXRlYWwpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jcmVhdGUtYmFkZ2UgewogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDE0cHggMCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiA1cHggMTFweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDg5LDIwMSwyMjUsMC4xMikgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnkpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW0gIWltcG9ydGFudDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogSU5DTFVTSU9OICovCiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMjBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1jYXJkIHsKICAgICAgcGFkZGluZzogMjRweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbWUpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWNhcmQ6bnRoLWNoaWxkKDIpIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LWJsdWUpICFpbXBvcnRhbnQ7IH0KICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1jYXJkOm50aC1jaGlsZCgzKSB7IGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1waW5rKSAhaW1wb3J0YW50OyB9CiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtY2FyZDpudGgtY2hpbGQoNCkgeyBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY2EtZnQtdGVhbCkgIWltcG9ydGFudDsgfQogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWNhcmQ6bnRoLWNoaWxkKDUpIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LWFtYmVyKSAhaW1wb3J0YW50OyB9CiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtY2FyZDpudGgtY2hpbGQoNikgeyBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY2EtZnQtY29yYWwpICFpbXBvcnRhbnQ7IH0KCiAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtaWNvbiB7CiAgICAgIHdpZHRoOiA0MnB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogNDJweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAxNHB4IDAgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogcmdiYSg4OSwyMDEsMjI1LDAuMTMpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWljb24gc3ZnIHsKICAgICAgd2lkdGg6IDIycHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGZpbGw6IG5vbmUgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyLjEgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX3RlYWNoZXItb25seSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMnB4IDhweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwxNzksNDAsMC4xOCkgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICM5QTZBMDAgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogQ1VSUklDVUxVTSBMQU5HVUFHRSAqLwogICAgLmNhLWZ0LWNsZWFuX19mbGV4LWxheW91dCwKICAgIC5jYS1mdC1jbGVhbl9fY29tcGFzcy1sYXlvdXQgewogICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuOTVmcikgbWlubWF4KDAsIDEuMDVmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiAzNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZsZXgtY2FyZCB7CiAgICAgIHBhZGRpbmc6IDI4cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc2FtcGxlLWNhcmQgewogICAgICBwYWRkaW5nOiAyOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tY2EtZnQtcGluaykgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDoKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDkyJSA4JSwgcmdiYSgyNDYsMTEzLDIzNCwwLjEwKSwgdHJhbnNwYXJlbnQgMzYlKSwKICAgICAgICAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19zYW1wbGUtbGFiZWwgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtcGluaykgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDEycHggMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fc2FtcGxlLWJsb2NrIHsKICAgICAgcGFkZGluZzogMThweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhLWZ0LXNvZnQpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbmUpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1uYXZ5KSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNyAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fbW9kZS1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX21vZGUtY2FyZCB7CiAgICAgIHBhZGRpbmc6IDE0cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbmUpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY2EtZnQtYmx1ZSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsNDUsNzYsMC4wNDUpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19tb2RlLWNhcmQ6bnRoLWNoaWxkKDIpIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNhLWZ0LXBpbmspICFpbXBvcnRhbnQ7IH0KICAgIC5jYS1mdC1jbGVhbl9fbW9kZS1jYXJkOm50aC1jaGlsZCgzKSB7IGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC10ZWFsKSAhaW1wb3J0YW50OyB9CgogICAgLmNhLWZ0LWNsZWFuX19tb2RlLXRpdGxlIHsKICAgICAgY29sb3I6IHZhcigtLWNhLWZ0LW5hdnktZGFyaykgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX21vZGUtY29weSB7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ltYWdlLWNhcmQgewogICAgICBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogdmFyKC0tY2EtZnQtc2hhZG93KSAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbWUpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ltYWdlLWNhcmQgaW1nIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19pbWFnZS1jYXB0aW9uIHsKICAgICAgcGFkZGluZzogMTRweCAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jYS1mdC1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRjBGMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIENPTVBBU1MgKi8KICAgIC5jYS1mdC1jbGVhbl9fY29tcGFzcy1jYXJkIHsKICAgICAgcGFkZGluZzogMzBweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWNhLWZ0LXRlYWwpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4OCUgMTYlLCByZ2JhKDAsMjI5LDIxMSwwLjEzKSwgdHJhbnNwYXJlbnQgMzglKSwKICAgICAgICAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb21wYXNzLXBpbGwtcm93IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogMThweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY29tcGFzcy1waWxsIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiA2cHggMTJweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjI5LDIxMSwwLjEwKSAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtbmF2eSkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIENIQVRHUFQgKi8KICAgIC5jYS1mdC1jbGVhbl9fY29tcGFyZS1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDsKICAgICAgZ2FwOiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogMTA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb21wYXJlLWNhcmQgewogICAgICBwYWRkaW5nOiAzMHB4IDI4cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjRDhERUU1ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb21wYXJlLWNhcmQtY2FybCB7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jYS1mdC1saW1lKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY29tcGFyZS1raWNrZXIgewogICAgICBjb2xvcjogIzhCOTVBMCAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19jb21wYXJlLWNhcmQtY2FybCAuY2EtZnQtY2xlYW5fX2NvbXBhcmUta2lja2VyIHsKICAgICAgY29sb3I6ICMzRDZCMEEgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBGQVEgKi8KICAgIC5jYS1mdC1jbGVhbl9fZmFxLXNoZWxsIHsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2EtZnQtbmF2eS1kYXJrKSwgdmFyKC0tY2EtZnQtbmF2eSkpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogNDJweCAzOHB4IDM4cHggIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsMjksNDgsMC4zMCkgIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWhlYWRlciB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAyOHB4IDAgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZhcS1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyODBweCwgMC45ZnIpIG1pbm1heCgwLCAxLjRmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLW1hc2NvdCB7CiAgICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDsKICAgICAgdG9wOiAxMDBweCAhaW1wb3J0YW50OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZhcS1tYXNjb3QgaW1nIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgbWF4LXdpZHRoOiA0NTBweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZhcS1saXN0IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWl0ZW0gewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jYS1mdC10ZWFsKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1jYS1mdC1zcGVlZCkgdmFyKC0tY2EtZnQtZWFzZSkgIWltcG9ydGFudCwKICAgICAgICBib3gtc2hhZG93IHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWl0ZW06aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDIyOSwyMTEsMC4yNSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsMCwwLDAuMDgpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24gewogICAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMTNweCAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZhcS1xdWVzdGlvbi1sZWZ0IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMTJweCAhaW1wb3J0YW50OwogICAgICBmbGV4OiAxICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mYXEtaWNvbiB7CiAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50OwogICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgICBmaWxsOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZTogdmFyKC0tY2EtZnQtdGVhbCkgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyLjIgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2ZhcS10ZXh0IHsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWFycm93IHsKICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgICAgIGZpbGw6IG5vbmUgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlOiB2YXIoLS1jYS1mdC10ZWFsKSAhaW1wb3J0YW50OwogICAgICBzdHJva2Utd2lkdGg6IDIuNSAhaW1wb3J0YW50OwogICAgICBzdHJva2UtbGluZWNhcDogcm91bmQgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZCAhaW1wb3J0YW50OwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tY2EtZnQtc3BlZWQpIHZhcigtLWNhLWZ0LWVhc2UpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mYXEtaXRlbS5pcy1vcGVuIC5jYS1mdC1jbGVhbl9fZmFxLWFycm93IHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWFuc3dlciB7CiAgICAgIG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IHZhcigtLWNhLWZ0LXNwZWVkKSB2YXIoLS1jYS1mdC1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fZmFxLWFuc3dlci1pbm5lciB7CiAgICAgIG1hcmdpbjogMCAxNHB4IDE0cHggNDRweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nLXRvcDogMTFweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDIyOSwyMTEsMC4yMikgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44MCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZ0LWNsZWFuX19mYXEtYW5zd2VyLWlubmVyIGEgewogICAgICBjb2xvcjogdmFyKC0tY2EtZnQtdGVhbCkgIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIENUQSAqLwogICAgLmNhLWZ0LWNsZWFuX19maW5hbC1jdGEgewogICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiA4MHB4IDMwcHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY3RhLWNhcmQgewogICAgICBtYXgtd2lkdGg6IDEyMDBweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiA1OHB4IDcwcHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jYS1mdC1ibHVlKSwgdmFyKC0tY2EtZnQtdGVhbCkpICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCw0NSw3NiwwLjE1KSAhaW1wb3J0YW50OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY3RhLWNhcmQ6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiICFpbXBvcnRhbnQ7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogICAgICBpbnNldDogMCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAyMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4yNSksIHRyYW5zcGFyZW50IDYwJSkgIWltcG9ydGFudDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2N0YS1sYXlvdXQgewogICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDI2MHB4LCAwLjlmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiAzNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZnQtY2xlYW5fX2N0YS1pbWFnZSB7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mdC1jbGVhbl9fY3RhLWltYWdlIGltZyB7CiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogNTAwcHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogICAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFicywKICAgICAgLmNhLWZ0LWNsZWFuX19icmlkZ2UtZ3JpZCwKICAgICAgLmNhLWZ0LWNsZWFuX19jcmVhdGUtZ3JpZCwKICAgICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWdyaWQsCiAgICAgIC5jYS1mdC1jbGVhbl9fY29tcGFyZS1ncmlkLAogICAgICAuY2EtZnQtY2xlYW5fX21vZGUtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fYnVpbGRlci1sYXlvdXQsCiAgICAgIC5jYS1mdC1jbGVhbl9fY29tcG9uZW50LXBhbmVsLAogICAgICAuY2EtZnQtY2xlYW5fX2NvbXBvbmVudC1wYW5lbC1yZXZlcnNlLAogICAgICAuY2EtZnQtY2xlYW5fX2ZsZXgtbGF5b3V0LAogICAgICAuY2EtZnQtY2xlYW5fX2NvbXBhc3MtbGF5b3V0LAogICAgICAuY2EtZnQtY2xlYW5fX2ZhcS1ncmlkLAogICAgICAuY2EtZnQtY2xlYW5fX2N0YS1sYXlvdXQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7CiAgICAgICAgZGlyZWN0aW9uOiBsdHIgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX19mYXEtbWFzY290IHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fY3RhLWxheW91dCB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fY3RhLWxheW91dCAuY2EtZnQtY2xlYW5fX2J0bi1yb3cgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fY3RhLWltYWdlIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAzMjBweCAhaW1wb3J0YW50OwogICAgICB9CiAgICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAgIC5jYS1mdC1jbGVhbl9fc3RhdHMgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgLmNhLWZ0LWNsZWFuX19zZWN0aW9uLAogICAgICAuY2EtZnQtY2xlYW5fX2ZpbmFsLWN0YSB7CiAgICAgICAgcGFkZGluZzogNTZweCAyNHB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9faGVybyB7CiAgICAgICAgcGFkZGluZzogNzBweCAyNHB4IDYwcHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX190aXRsZS14bCB7CiAgICAgICAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fdGl0bGUtbGcgewogICAgICAgIGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFicywKICAgICAgLmNhLWZ0LWNsZWFuX19icmlkZ2UtZ3JpZCwKICAgICAgLmNhLWZ0LWNsZWFuX19jcmVhdGUtZ3JpZCwKICAgICAgLmNhLWZ0LWNsZWFuX19zdXBwb3J0LWdyaWQsCiAgICAgIC5jYS1mdC1jbGVhbl9fY29tcGFyZS1ncmlkLAogICAgICAuY2EtZnQtY2xlYW5fX21vZGUtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX19idWlsZGVyIHsKICAgICAgICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmFxLXNoZWxsIHsKICAgICAgICBwYWRkaW5nOiAzNHB4IDIycHggMzBweCAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX19jdGEtY2FyZCB7CiAgICAgICAgcGFkZGluZzogNDBweCAyNnB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fYnRuLXJvdyB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fYnRuIHsKICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICB9CiAgICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIC5jYS1mdC1jbGVhbl9faGVybywKICAgICAgLmNhLWZ0LWNsZWFuX19zZWN0aW9uLAogICAgICAuY2EtZnQtY2xlYW5fX2ZpbmFsLWN0YSB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2EtZnQtY2xlYW5fX3RpdGxlLXhsIHsKICAgICAgICBmb250LXNpemU6IDM2cHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX190aXRsZS1sZyB7CiAgICAgICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmFxLWFuc3dlci1pbm5lciB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHggIWltcG9ydGFudDsKICAgICAgfQogICAgfQoKCiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1zdHJpcCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1zdGVwIHsKICAgICAgICBwYWRkaW5nOiAxNHB4IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX19mbG93LWFycm93IHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2EtZnQtY2xlYW5fX2ZlYXR1cmUtc3RyaXAsCiAgICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1jaGVja2xpc3QgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2EtZnQtY2xlYW5fX3N1cHBvcnQtbGF5b3V0LAogICAgICAuY2EtZnQtY2xlYW5fX3BsYW5uaW5nLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtOm50aC1jaGlsZCgzKSB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNhLWZ0LWNsZWFuX19wbGFubmluZy1ncmlkIHsKICAgICAgICBnYXA6IDM0cHggIWltcG9ydGFudDsKICAgICAgfQogICAgfQoKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAuY2EtZnQtY2xlYW5fX2ZlYXR1cmUtc3RyaXAsCiAgICAgIC5jYS1mdC1jbGVhbl9fc3VwcG9ydC1jaGVja2xpc3QgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtLAogICAgICAuY2EtZnQtY2xlYW5fX2ZlYXR1cmUtaXRlbTpudGgtY2hpbGQoMykgewogICAgICAgIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNhLWZ0LWxpbmUpICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jYS1mdC1jbGVhbl9fZmxvdy1zdGVwIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwcHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsKICAgICAgfQogICAgfQoKICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAqLAogICAgICAuY2EtZmVhdC1jbGVhbi0yNjA1MjggKjpob3ZlciB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICB9CiAgPC9zdHlsZT4KCiAgPCEtLSBIRVJPIC0tPgogIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19oZXJvIj4KICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19pbm5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19leWVicm93Ij4KICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2V5ZWJyb3ctZG90Ij48L3NwYW4+CiAgICAgICAgQ0FSTCBGZWF0dXJlcwogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS14bCI+UGVyc29uYWxpemUgeW91ciBwbGFubmluZzwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2hlcm8tY29weSI+CiAgICAgICAgQ2hvb3NlIHlvdXIgY3VycmljdWx1bSBtb2RlLCBncmFkZSwgc3ViamVjdCwgbGFuZ3VhZ2Ugb3B0aW9ucywgYW5kIHBsYW5uaW5nIHByZWZlcmVuY2VzLiBDQVJMIHVzZXMgdGhhdCB0ZWFjaGVyLXNldCBzZXR1cCB0byBoZWxwIGJ1aWxkIGNvbm5lY3RlZCBsZXNzb25zLCBjb21wb25lbnRzLCBhbmQgc3VwcG9ydHMsIHdpdGhvdXQgbmVlZGluZyBzdHVkZW50IHBlcnNvbmFsIGRhdGEuCiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J0bi1yb3ciPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL2JldGEtc2lnbi11cC8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J0biBjYS1mdC1jbGVhbl9fYnRuLXByaW1hcnkiPgogICAgICAgICAgSm9pbiBCZXRhCiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvY2FybC1pbi01LW1pbnV0ZXMtdGhlLWVzc2VudGlhbC10b3VyLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJjYS1mdC1jbGVhbl9fYnRuIGNhLWZ0LWNsZWFuX19idG4tb3V0bGluZS1saWdodCI+CiAgICAgICAgICBUYWtlIHRoZSA1LU1pbnV0ZSBUb3VyCiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgIDwvYT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9faGVyby10YWdzIiBhcmlhLWxhYmVsPSJDQVJMIGZlYXR1cmUgaGlnaGxpZ2h0cyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19oZXJvLXRhZyI+PHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX21hcGxlLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0MCA2NDAiIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00NDcuOCA0MTUuN2MyLjUtMi41IDEwNS4yLTkyLjQgMTA1LjItOTIuNGwtMTcuNS03LjVjLTEwLTQuOS03LjQtMTEuNS01LTE3LjRjMi40LTcuNiAyMC4xLTY3LjMgMjAuMS02Ny4zcy00Ny43IDEwLTU3LjcgMTIuNWMtNy41IDIuNC0xMC0yLjUtMTIuNS03LjVzLTE1LTMyLjQtMTUtMzIuNHMtNTIuNiA1OS45LTU1LjEgNjIuM2MtMTAgNy41LTIwLjEgMC0xNy42LTEwYzAtMTAgMjcuNi0xMjkuNiAyNy42LTEyOS42cy0zMC4xIDE3LjQtNDAuMSAyMi40Yy03LjUgNS0xMi42IDUtMTcuNi01Yy01LjEtNy41LTQyLjctNzkuOC00Mi43LTc5LjhzLTM3LjUgNzIuMy00Mi41IDc5LjhjLTUgMTAtMTAgMTAtMTcuNiA1Yy0xMC01LTQwLjEtMjIuNC00MC4xLTIyLjRTMjQ3LjMgMjQ2IDI0Ny4zIDI1NmMyLjUgMTAtNy41IDE3LjUtMTcuNiAxMGMtMi41LTIuNS01NS4xLTYyLjMtNTUuMS02Mi4zcy0xMi41IDI3LjMtMTUgMzIuM3MtNSA5LjktMTIuNSA3LjVDMTM3IDI0MSA4OS40IDIzMSA4OS40IDIzMXMxNy42IDU5LjcgMjAuMSA2Ny4zYzIuNCA2IDUgMTIuNS01IDE3LjRMODcgMzIzLjNzMTAyLjYgODkuOSAxMDUuMiA5Mi40YzUuMSA1IDEwIDcuNSA1LjEgMjIuNWMtNS4xIDE1LTEwLjEgMzUuMS0xMC4xIDM1LjFzOTUuMi0yMC4xIDEwNS4zLTIyLjZjOC43LS45IDE4LjMgMi41IDE4LjMgMTIuNVMzMDUgNTc2IDMwNSA1NzZoMzBzLTUuOC0xMDIuNy01LjgtMTEyLjhzOS41LTEzLjQgMTguNC0xMi41YzEwIDIuNSAxMDUuMiAyMi42IDEwNS4yIDIyLjZzLTUtMjAuMS0xMC0zNS4xczAtMTcuNSA1LTIyLjUiLz48L3N2Zz4gQkMgwrcgQUIgwrcgT04gwrcgY3VzdG9tIGRvY3M8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19oZXJvLXRhZyI+UGxhbm5pbmcgcHJlZmVyZW5jZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19oZXJvLXRhZyI+VGVhY2hlci1jb250cm9sbGVkIG91dHB1dHM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19oZXJvLXRhZyI+Tm8gc3R1ZGVudCBkYXRhIG5lZWRlZDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCgogIDwhLS0gQlJJREdFIC0tPgogIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zZWN0aW9uIGNhLWZ0LWNsZWFuX19zZWN0aW9uLXNvZnQiPgogICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubmVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3NlY3Rpb24taGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZXllYnJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2V5ZWJyb3ctZG90Ij48L3NwYW4+CiAgICAgICAgICBDb25uZWN0ZWQgV29ya2Zsb3cKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fdGl0bGUtbGciPkZyb20gcGxhbm5pbmcgcHJlZmVyZW5jZXMgdG8gY2xhc3Nyb29tLXJlYWR5IG1hdGVyaWFsczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5Ij4KICAgICAgICAgIENBUkwgdHVybnMgdGVhY2hlci1zZXQgcGxhbm5pbmcgY2hvaWNlcyBpbnRvIGEgY29ubmVjdGVkIHdvcmtmbG93OiB0aGUgbGVzc29uLCBzdHVkZW50IG1hdGVyaWFscywgdGVhY2hpbmcgc3VwcG9ydHMsIGFuZCBjb3ZlcmFnZSB0b29scyBjYW4gYWxsIGJ1aWxkIGZyb20gdGhlIHNhbWUgc2V0dXAuCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2Zsb3ctc3RyaXAiIGFyaWEtbGFiZWw9IkNBUkwgcGxhbm5pbmcgZmxvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2Zsb3ctc3RlcCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2Zsb3ctbnVtYmVyIj4xPC9zcGFuPgogICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy10aXRsZSI+Q2hvb3NlIHlvdXIgc2V0dXA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1jb3B5Ij5DdXJyaWN1bHVtIG1vZGUsIGxhbmd1YWdlIG9wdGlvbnMsIGdyYWRlLCBzdWJqZWN0LCB0aW1pbmcsIGFuZCBwbGFubmluZyBwcmVmZXJlbmNlcy48L3NwYW4+CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mbG93LWFycm93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mbG93LXN0ZXAiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mbG93LW51bWJlciI+Mjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2Zsb3ctdGl0bGUiPkJ1aWxkIHRoZSBsZXNzb248L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1jb3B5Ij5TdGFydCBmcm9tIHNjcmF0Y2gsIHVwbG9hZCBhIGZpbGUsIHJlbWl4IGEgbGVzc29uLCBvciB0YWxrIHRocm91Z2ggYW4gaWRlYSB3aXRoIENBUkwuPC9zcGFuPgogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPuKGkjwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1zdGVwIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1udW1iZXIiPjM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mbG93LXRpdGxlIj5BZGQgd2hhdCBnb2VzIHdpdGggaXQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmxvdy1jb3B5Ij5HZW5lcmF0ZSBtYXRlcmlhbHMgYW5kIHN1cHBvcnRzIHRoYXQgbWF0Y2ggdGhlIGxlc3NvbiB5b3UganVzdCBidWlsdC48L3NwYW4+CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYWluLW5vdGUiPgogICAgICAgIENBUkwgdXNlcyB0ZWFjaGVyLXNldCBwbGFubmluZyBwcmVmZXJlbmNlcywgbm90IHN0dWRlbnQgcHJvZmlsZXMuIFlvdSBjYW4gcGxhbiB3aXRoIGNsYXNzLWxldmVsIG5lZWRzIGluIG1pbmQgd2l0aG91dCBhZGRpbmcgc3R1ZGVudCBuYW1lcyBvciBwZXJzb25hbCBzdHVkZW50IGRhdGEuCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgoKICA8IS0tIEJVSUxERVIgTUVUSE9EUyAtLT4KICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9faW5uZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc2VjdGlvbi1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19leWVicm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZXllYnJvdy1kb3QiPjwvc3Bhbj4KICAgICAgICAgIExlc3NvbiBCdWlsZGVyCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RpdGxlLWxnIj5TdGFydCB3aGVyZSB5b3UgYXJlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2NvcHkiPgogICAgICAgICAgVXNlIHRoZSBwYXRoIHRoYXQgbWF0Y2hlcyB5b3VyIHBsYW5uaW5nIG1vbWVudDogYSBibGFuayBpZGVhLCBhbiBleGlzdGluZyBkb2N1bWVudCwgYSBsaWJyYXJ5IGxlc3Nvbiwgb3IgYSBjb252ZXJzYXRpb24uCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J1aWxkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLXRhYnMiIHJvbGU9InRhYmxpc3QiIGFyaWEtbGFiZWw9IldheXMgdG8gYnVpbGQgd2l0aCBDQVJMIj4KICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFiIGlzLWFjdGl2ZSIgZGF0YS1jYS1mdC1idWlsZGVyPSJzY3JhdGNoIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9InRydWUiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RhYi1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iIzU5QzlFMSI+PHBvbHlnb24gcG9pbnRzPSIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyIj48L3BvbHlnb24+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX190YWItdGl0bGUiPlN0YXJ0IGZyb20gU2NyYXRjaDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RhYi1zdWIiPlRvcGljLCBnb2FscywgY3VycmljdWx1bSwgYW5kIHBsYW5uaW5nIHByZWZlcmVuY2VzPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLXRhYiIgZGF0YS1jYS1mdC1idWlsZGVyPSJ1cGxvYWQiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RhYi1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iI0Y2NzFFQSI+PHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ij48L3BvbHlsaW5lPjxsaW5lIHgxPSIxMiIgeTE9IjMiIHgyPSIxMiIgeTI9IjE1Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX190YWItdGl0bGUiPlVwbG9hZCAmIEVuaGFuY2U8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX190YWItc3ViIj5Vc2UgYSBQREYsIFdvcmQgZG9jLCBub3Rlcywgb3IgZXhpc3RpbmcgbGVzc29uPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLXRhYiIgZGF0YS1jYS1mdC1idWlsZGVyPSJyZW1peCIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fdGFiLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSIjRjY3MUVBIj48cGF0aCBkPSJNMjEuNSAydjZoLTYiPjwvcGF0aD48cGF0aCBkPSJNMi41IDIydi02aDYiPjwvcGF0aD48cGF0aCBkPSJNMiAxMS41YTEwIDEwIDAgMCAxIDE4LjgtNC4zIj48L3BhdGg+PHBhdGggZD0iTTIyIDEyLjVhMTAgMTAgMCAwIDEtMTguOCA0LjIiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RhYi10aXRsZSI+UmVtaXggYSBMZXNzb248L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19taW5pLWJhZGdlIGNhLWZ0LWNsZWFuX19taW5pLWJhZGdlLXBpbmsiPkNBUkwgRmVhdHVyZTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RhYi1zdWIiPk1ha2UgYSBsaWJyYXJ5IGxlc3NvbiB5b3VyIG93bjwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci10YWIiIGRhdGEtY2EtZnQtYnVpbGRlcj0iY2hhdCIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fdGFiLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSIjMDBCOEE5Ij48cGF0aCBkPSJNMjEgMTVhMiAyIDAgMCAxLTIgMkg3bC00IDRWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ6Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX190YWItdGl0bGUiPkNoYXQgd2l0aCBDQVJMPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fbWluaS1iYWRnZSI+TmV3PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fdGFiLXN1YiI+UGxhbiB0aHJvdWdoIGNvbnZlcnNhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLWxheW91dCI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci1wYW5lbCBpcy1hY3RpdmUiIGRhdGEtY2EtZnQtYnVpbGRlci1wYW5lbD0ic2NyYXRjaCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RpdGxlLW1kIj5TdGFydCBmcm9tIFNjcmF0Y2g8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fY29weSI+VGVsbCBDQVJMIHdoYXQgeW91IGFyZSB0ZWFjaGluZyBhbmQgY2hvb3NlIHlvdXIgc2V0dXAuIENBUkwgYnVpbGRzIGEgc3RydWN0dXJlZCwgY3VycmljdWx1bS1hbGlnbmVkIGRyYWZ0IHlvdSBjYW4gcmV2aWV3IGFuZCByZXZpc2UuPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwIj48c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAtZG90Ij4xPC9zcGFuPkVudGVyIHRvcGljLCBncmFkZSwgYW5kIHBsYW5uaW5nIHByZWZlcmVuY2VzPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcCI+PHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwLWRvdCI+Mjwvc3Bhbj5HZW5lcmF0ZSBhbiBlZGl0YWJsZSBsZXNzb24gZHJhZnQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwIj48c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAtZG90Ij4zPC9zcGFuPkFkZCBjb21wb25lbnRzLCBzdXBwb3J0cywgYW5kIHJlc291cmNlczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL2J1aWxkLXlvdXItcGxhbi1pbi01LXN0ZXBzLyIgY2xhc3M9ImNhLWZ0LWNsZWFuX190ZXh0LWxpbmsiPgogICAgICAgICAgICAgICAgTGVhcm4gdGhlIHBsYW5uaW5nIHdvcmtmbG93CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgMTJoMTQiPjwvcGF0aD48cGF0aCBkPSJNMTIgNWw3IDctNyA3Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLXBhbmVsIiBkYXRhLWNhLWZ0LWJ1aWxkZXItcGFuZWw9InVwbG9hZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RpdGxlLW1kIj5VcGxvYWQgJiBFbmhhbmNlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2NvcHkiPlVwbG9hZCBzb21ldGhpbmcgeW91IGFscmVhZHkgdXNlIGFuZCBsZXQgQ0FSTCBvcmdhbml6ZSwgYWxpZ24sIGFuZCBlbmhhbmNlIGl0IHdoaWxlIGtlZXBpbmcgd2hhdCBhbHJlYWR5IHdvcmtzLjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwcyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcCI+PHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwLWRvdCI+MTwvc3Bhbj5VcGxvYWQgYSBQREYsIFdvcmQgZG9jLCBvciBub3RlczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAiPjxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcC1kb3QiPjI8L3NwYW4+UmV2aWV3IHRoZSBzdHJ1Y3R1cmVkIGxlc3NvbiBkcmFmdDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAiPjxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcC1kb3QiPjM8L3NwYW4+QWRkIG1hdGVyaWFscyBhbmQgc3VwcG9ydHMgYXMgbmVlZGVkPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J1aWxkZXItcGFuZWwiIGRhdGEtY2EtZnQtYnVpbGRlci1wYW5lbD0icmVtaXgiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS1tZCI+UmVtaXggYSBMZXNzb248L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fY29weSI+QnJvd3NlIHRoZSBjb2xsYWJvcmF0aXZlIGxpYnJhcnksIGZpbmQgYSB1c2VmdWwgc3RhcnRpbmcgcG9pbnQsIGFuZCBjcmVhdGUgeW91ciBvd24gZWRpdGFibGUgY29weSB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmlnaW5hbC48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcHMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAiPjxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcC1kb3QiPjE8L3NwYW4+QnJvd3NlIHNoYXJlZCBsZXNzb25zPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcCI+PHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwLWRvdCI+Mjwvc3Bhbj5SZW1peCBmb3IgeW91ciBwbGFubmluZyBuZWVkczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAiPjxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcC1kb3QiPjM8L3NwYW4+S2VlcCBwcml2YXRlLCBwdWJsaXNoLCBvciBjb250cmlidXRlIGJhY2s8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci1wYW5lbCIgZGF0YS1jYS1mdC1idWlsZGVyLXBhbmVsPSJjaGF0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fdGl0bGUtbWQiPkNoYXQgd2l0aCBDQVJMPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2NvcHkiPkRlc2NyaWJlIHlvdXIgaWRlYSBpbiBwbGFpbiBsYW5ndWFnZS4gQ0FSTCBhc2tzIGNsYXJpZnlpbmcgcXVlc3Rpb25zLCB0aGVuIGhlbHBzIG1vdmUgeW91ciBpZGVhIGludG8gdGhlIGxlc3NvbiBnZW5lcmF0b3IuPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwIj48c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N0ZXAtZG90Ij4xPC9zcGFuPlRhbGsgdGhyb3VnaCB5b3VyIGxlc3NvbiBpZGVhPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcCI+PHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwLWRvdCI+Mjwvc3Bhbj5DbGFyaWZ5IHRoZSBwbGFubmluZyBkZXRhaWxzPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RlcCI+PHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGVwLWRvdCI+Mzwvc3Bhbj5HZW5lcmF0ZSB3aGVuIHlvdSBhcmUgcmVhZHk8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci1naWYgaXMtYWN0aXZlIiBkYXRhLWNhLWZ0LWJ1aWxkZXItZ2lmPSJzY3JhdGNoIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fbWVkaWEiPgogICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci12aWRlbyIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZSBwcmVsb2FkPSJtZXRhZGF0YSIgYXJpYS1sYWJlbD0iU3RhcnQgZnJvbSBTY3JhdGNoIGluIENBUkwiPgogICAgICAgICAgICAgICAgICA8c291cmNlIHNyYz0iaHR0cHM6Ly9oaWNhcmwuYWkvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvc3RhcnQtcGxhbm5pbmctZnJvbS1zY3JhdGNoLm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICAgIDwvdmlkZW8+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J1aWxkZXItZ2lmIiBkYXRhLWNhLWZ0LWJ1aWxkZXItZ2lmPSJ1cGxvYWQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19tZWRpYSI+CiAgICAgICAgICAgICAgICA8dmlkZW8gY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLXZpZGVvIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIHByZWxvYWQ9Im1ldGFkYXRhIiBhcmlhLWxhYmVsPSJVcGxvYWQgYW5kIEVuaGFuY2UgaW4gQ0FSTCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL2hpY2FybC5haS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9zdGFydC1wbGFubmluZy11cGxvYWQubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogICAgICAgICAgICAgICAgPC92aWRlbz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci1naWYiIGRhdGEtY2EtZnQtYnVpbGRlci1naWY9InJlbWl4Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fbWVkaWEiPgogICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPSJjYS1mdC1jbGVhbl9fYnVpbGRlci12aWRlbyIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZSBwcmVsb2FkPSJtZXRhZGF0YSIgYXJpYS1sYWJlbD0iUmVtaXggYSBMZXNzb24gaW4gQ0FSTCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL2hpY2FybC5haS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9zdGFydC1wbGFubmluZy1yZW1peC5tcDQiIHR5cGU9InZpZGVvL21wNCI+CiAgICAgICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19idWlsZGVyLWdpZiIgZGF0YS1jYS1mdC1idWlsZGVyLWdpZj0iY2hhdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX21lZGlhIj4KICAgICAgICAgICAgICAgIDx2aWRlbyBjbGFzcz0iY2EtZnQtY2xlYW5fX2J1aWxkZXItdmlkZW8iIGF1dG9wbGF5IG11dGVkIGxvb3AgcGxheXNpbmxpbmUgcHJlbG9hZD0ibWV0YWRhdGEiIGFyaWEtbGFiZWw9IkNoYXQgd2l0aCBDQVJMIj4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzcmM9Imh0dHBzOi8vaGljYXJsLmFpL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1L3N0YXJ0LXBsYW5uaW5nLWNoYXQubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogICAgICAgICAgICAgICAgPC92aWRlbz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPCEtLSBDT01QT05FTlRTICYgRkFDSUxJVEFUT1IgR1VJREVTIC0tPgogIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zZWN0aW9uIGNhLWZ0LWNsZWFuX19zZWN0aW9uLWRhcmsiPgogICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubmVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2RhcmstaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZGFyay1iYWRnZSI+CiAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iNyI+PC9yZWN0PjxyZWN0IHg9IjE0IiB5PSIzIiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48L3JlY3Q+PHJlY3QgeD0iMyIgeT0iMTQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciPjwvcmVjdD48cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciPjwvcmVjdD48L3N2Zz4KICAgICAgICAgIENvbXBvbmVudHMgJiBGYWNpbGl0YXRvciBHdWlkZXMKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fdGl0bGUtbGcgY2EtZnQtY2xlYW5fX3RpdGxlLWxnLWxpZ2h0Ij5UdXJuIG9uZSBsZXNzb24gaW50byB0aGUgbWF0ZXJpYWxzIHRoYXQgZ28gd2l0aCBpdDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5IGNhLWZ0LWNsZWFuX19jb3B5LWxpZ2h0Ij4KICAgICAgICAgIEFkZCB3b3Jrc2hlZXRzLCBhY3Rpdml0aWVzLCBhc3Nlc3NtZW50cywgYW5kIHRlYWNoZXIgZ3VpZGVzIGZyb20gdGhlIGxlc3NvbiB5b3UgYWxyZWFkeSBidWlsdC4gTm8gc2VwYXJhdGUgcHJvbXB0LXdyaXRpbmcgbWFyYXRob24gbmVlZGVkLgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb21wb25lbnQtcGFuZWwiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZ2lmLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9oaWNhcmwuYWkvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvQ29tcG9uZW50cy1kcmF3ZXItYW5kLWZpbHRlci5naWYiIGFsdD0iQnJvd3NpbmcgYW5kIGFkZGluZyBjb21wb25lbnRzIGluIENBUkwiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2dpZi1sYWJlbCI+MjAwKyB0ZW1wbGF0ZXMgwrcgZmlsdGVyZWQgZm9yIHlvdXIgZ3JhZGU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZGFyay1jb3B5LXRhZyI+Q29tcG9uZW50IExpYnJhcnk8L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fdGl0bGUtbGcgY2EtZnQtY2xlYW5fX3RpdGxlLWxnLWxpZ2h0Ij5GaW5kIHRoZSByaWdodCBhY3Rpdml0eSBpbiBzZWNvbmRzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fY29weSBjYS1mdC1jbGVhbl9fY29weS1saWdodCI+CiAgICAgICAgICAgIEZpbHRlciBieSBzdWJqZWN0IGFuZCBncmFkZS4gQ0FSTCBuYXJyb3dzIHRoZSBsaWJyYXJ5IHRvIHdoYXQgZml0cywgdGhlbiBmaWxscyBzdXBwb3J0ZWQgY29tcG9uZW50cyB3aXRoIGNvbnRlbnQgZnJvbSB5b3VyIGxlc3Nvbi4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BpbGwtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5LV0wgQ2hhcnRzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BpbGwiPkV4aXQgU2xpcHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fcGlsbCI+U29jcmF0aWMgU2VtaW5hcjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5GcmF5ZXIgTW9kZWw8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fcGlsbCI+QW5kIG1vcmU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RhdHMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RhdC1udW0iPjIwMCs8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWxhYmVsIj5jb21wb25lbnQgdGVtcGxhdGVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RhdC1udW0iPjQ8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWxhYmVsIj5kaWZmZXJlbnRpYXRpb24gdGllcnMgcGVyIGd1aWRlPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3RhdC1udW0iPjE8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdGF0LWxhYmVsIj5jbGljayB0byBnZW5lcmF0ZSBhIGd1aWRlPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2NvbXBvbmVudC1wYW5lbCBjYS1mdC1jbGVhbl9fY29tcG9uZW50LXBhbmVsLXJldmVyc2UiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZ2lmLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9oaWNhcmwuYWkvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvZmFjaWxpdGF0b3ItZ3VpZGUuZ2lmIiBhbHQ9IkdlbmVyYXRpbmcgYSBGYWNpbGl0YXRvciBHdWlkZSBpbiBDQVJMIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19naWYtbGFiZWwiPkdlbmVyYXRlZCBmb3IgdGhpcyBhY3Rpdml0eSBzcGVjaWZpY2FsbHk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZGFyay1jb3B5LXRhZyBjYS1mdC1jbGVhbl9fZGFyay1jb3B5LXRhZy1waW5rIj5GYWNpbGl0YXRvciBHdWlkZTwvc3Bhbj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS1sZyBjYS1mdC1jbGVhbl9fdGl0bGUtbGctbGlnaHQiPkRpZmZlcmVudGlhdGlvbiBidWlsdCBmb3IgZXZlcnkgYWN0aXZpdHk8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5IGNhLWZ0LWNsZWFuX19jb3B5LWxpZ2h0Ij4KICAgICAgICAgICAgQ0FSTCBnZW5lcmF0ZXMgdGVhY2hlciBndWlkYW5jZSBmb3IgZWFjaCBjb21wb25lbnQgeW91IGFkZCwgd2l0aCBmYWNpbGl0YXRpb24gbm90ZXMsIHJ1YnJpYyBndWlkYW5jZSwgYW5kIGRpZmZlcmVudGlhdGlvbiBzdHJhdGVnaWVzIHNwZWNpZmljIHRvIHRoYXQgc3R1ZGVudCBhY3Rpdml0eS4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BpbGwtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5BcHByb2FjaGluZzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5PbiBUcmFjazwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5BZHZhbmNlZDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19waWxsIj5FTEw8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZGFyay1jdGEiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5IGNhLWZ0LWNsZWFuX19jb3B5LWxpZ2h0IiBzdHlsZT0ibWFyZ2luLWJvdHRvbToyMHB4IWltcG9ydGFudDsiPldhbnQgdG8gc2VlIGhvdyBpdCB3b3JrcyBzdGVwIGJ5IHN0ZXA/PC9kaXY+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvYWRkaW5nLWNvbXBvbmVudHMtZmFjaWxpdGF0b3ItZ3VpZGVzLyIgY2xhc3M9ImNhLWZ0LWNsZWFuX19idG4gY2EtZnQtY2xlYW5fX2J0bi1wcmltYXJ5Ij4KICAgICAgICAgIFNlZSB0aGUgRnVsbCBHdWlkZQogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPuKGkjwvc3Bhbj4KICAgICAgICA8L2E+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgoKICA8IS0tIFdIQVQgWU9VIENBTiBDUkVBVEUgLS0+CiAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3NlY3Rpb24iPgogICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubmVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3NlY3Rpb24taGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZXllYnJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2V5ZWJyb3ctZG90Ij48L3NwYW4+CiAgICAgICAgICBXaGF0IENBUkwgSGVscHMgWW91IENyZWF0ZQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS1sZyI+UGxhbiwgY3JlYXRlLCBzdXBwb3J0LCBhbmQgdHJhY2sgd2l0aG91dCBqdW1waW5nIGJldHdlZW4gZGlzY29ubmVjdGVkIHRvb2xzPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2NvcHkiPgogICAgICAgICAgQ0FSTCBvcmdhbml6ZXMgY3JlYXRpb24gYXJvdW5kIHRoZSBjb3JlIHBpZWNlcyB0ZWFjaGVycyBhY3R1YWxseSBuZWVkLCBpbnN0ZWFkIG9mIHByZXNlbnRpbmcgYSBsb25nIGxpc3Qgb2Ygc2VwYXJhdGUgQUkgdG9vbHMuCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUtc3RyaXAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mZWF0dXJlLWl0ZW0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUta2lja2VyIj5QbGFuPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS10aXRsZSI+TGVzc29ucyAmIFVuaXRzPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUtY29weSI+Q3JlYXRlIGxlc3NvbnMsIG11bHRpLWRheSBzZXF1ZW5jZXMsIG9yIHJlc2hhcGUgZXhpc3RpbmcgZG9jdW1lbnRzIGludG8gYW4gZWRpdGFibGUgQ0FSTCBzdHJ1Y3R1cmUuPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mZWF0dXJlLWtpY2tlciI+Q3JlYXRlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS10aXRsZSI+Q29tcG9uZW50cyAmIEFzc2Vzc21lbnRzPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUtY29weSI+QWRkIHN0dWRlbnQgbWF0ZXJpYWxzLCBhY3Rpdml0aWVzLCBvcmdhbml6ZXJzLCBleGl0IHNsaXBzLCBhbmQgZm9ybWF0aXZlIGNoZWNrcyBjb25uZWN0ZWQgdG8geW91ciBsZXNzb24uPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mZWF0dXJlLWtpY2tlciI+U3VwcG9ydDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUtdGl0bGUiPlRlYWNoaW5nIFN1cHBvcnRzPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZlYXR1cmUtY29weSI+R2VuZXJhdGUgZmFjaWxpdGF0b3IgZ3VpZGVzLCBkaWZmZXJlbnRpYXRpb24gc3VnZ2VzdGlvbnMsIEVMTCBzY2FmZm9sZHMsIGFuZCByZWZsZWN0aW9uIHByb21wdHMuPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mZWF0dXJlLWtpY2tlciI+VHJhY2s8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mZWF0dXJlLXRpdGxlIj5DdXJyaWN1bHVtICYgQ292ZXJhZ2U8L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmVhdHVyZS1jb3B5Ij5VcGxvYWQgQ0FSTCBwbGFucyB0byBDb21wYXNzIGZvciBjdXJyaWN1bHVtIHNjYW5uaW5nLCBjb3ZlcmFnZSB0cmFja2luZywgcmVwb3J0cywgYW5kIG5leHQtc3RlcCBQbGFuIElkZWFzLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCgoKICA8IS0tIElOQ0xVU0lWRSBTVVBQT1JUUyAtLT4KICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc2VjdGlvbiBjYS1mdC1jbGVhbl9fc2VjdGlvbi1zb2Z0Ij4KICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19pbm5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LWxheW91dCI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19leWVicm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19leWVicm93LWRvdCI+PC9zcGFuPgogICAgICAgICAgICBJbmNsdXNpdmUgU3VwcG9ydHMKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RpdGxlLWxnIj5FcXVpdHkgYW5kIGFjY2Vzc2liaWxpdHkgYXJlIHBhcnQgb2YgdGhlIHBsYW5uaW5nIGZsb3c8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5Ij4KICAgICAgICAgICAgQ0FSTCBjYW4gYWRkIGRlZXBlciBzdXBwb3J0cyB3aGVuIHlvdSBuZWVkIHRoZW0sIHdoaWxlIGtlZXBpbmcgdGVhY2hlcnMgaW4gY29udHJvbCBvZiB3aGF0IGJlbG9uZ3MgaW4gdGhlIGZpbmFsIGxlc3Nvbi4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYWluLW5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDowIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudDsiPgogICAgICAgICAgICBUaGUgZ29hbCBpcyBub3QgdG8gYWRkIG1vcmUgYm94ZXMgdG8gY2hlY2suIEl0IGlzIHRvIG1ha2UgaW5jbHVzaXZlIHBsYW5uaW5nIGVhc2llciB0byBub3RpY2UsIGFkanVzdCwgYW5kIHVzZSBpbiByZWFsIGNsYXNzcm9vbXMuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtY2hlY2tsaXN0Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1kb3QiPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LXRpdGxlIj5VREwgJiBESSBwYXRod2F5czwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtY29weSI+T3B0aW9ucyBmb3IgdGV4dCBsb2FkLCBleGVjdXRpdmUgZnVuY3Rpb24sIHNlbnNvcnkgbmVlZHMsIHBhcnRpY2lwYXRpb24sIGFuZCBleHByZXNzaW9uLjwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LWRvdCI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtdGl0bGUiPkVMTCBzdXBwb3J0czwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtY29weSI+Vm9jYWJ1bGFyeSBzdXBwb3J0cywgc2VudGVuY2UgZnJhbWVzLCBsYW5ndWFnZSBzY2FmZm9sZHMsIGFuZCBhZGp1c3RlZCBwYXJ0aWNpcGF0aW9uIG9wdGlvbnMuPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90Ij7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC10aXRsZSI+RXF1aXR5ICYgaW5jbHVzaW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1jb3B5Ij5Qcm9tcHRzIGZvciByZXByZXNlbnRhdGlvbiwgYWNjZXNzLCBiZWxvbmdpbmcsIGFuZCBmYWlyIHBhcnRpY2lwYXRpb24uPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90Ij7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC10aXRsZSI+U3R1ZGVudCB2b2ljZSAmIFNFTDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtY29weSI+Q2hvaWNlLCByZWZsZWN0aW9uIHByb21wdHMsIGNoZWNrLWlucywgc2VsZi1yZWd1bGF0aW9uIGN1ZXMsIGFuZCBwYXJ0aWNpcGF0aW9uIHByb3RvY29scy48L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1kb3QiPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LXRpdGxlIj5UcmF1bWEtaW5mb3JtZWQgc2FmZWd1YXJkczwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtY29weSI+UHJlZGljdGFiaWxpdHksIG9wdC1pbiBzaGFyaW5nLCBwYXNzIHByb3RvY29scywgYW5kIHNhZmVyIHN0cnVjdHVyZXMgZm9yIHNlbnNpdGl2ZSB0b3BpY3MuPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX3N1cHBvcnQtZG90Ij7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fc3VwcG9ydC10aXRsZSI+SW5kaWdlbm91cyBWb2ljZSBJbmNsdXNpb24gPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX190ZWFjaGVyLW9ubHkiPlRlYWNoZXIgb25seTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19zdXBwb3J0LWNvcHkiPlRlYWNoZXItZmFjaW5nIHN1cHBvcnQgdGhhdCBwb2ludHMgdG8gdmV0dGVkIEluZGlnZW5vdXMtYXV0aG9yZWQgcmVzb3VyY2VzIGFuZCBuYW1lcyBib3VuZGFyaWVzIGluc3RlYWQgb2YgZ2VuZXJhdGluZyBJbmRpZ2Vub3VzIHRlYWNoaW5ncy48L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKCgogIDwhLS0gRkxFWElCTEUgUExBTk5JTkcgLS0+CiAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3NlY3Rpb24iPgogICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubmVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3NlY3Rpb24taGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZXllYnJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2V5ZWJyb3ctZG90Ij48L3NwYW4+CiAgICAgICAgICBGbGV4aWJsZSBQbGFubmluZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS1sZyI+Q2FuYWRpYW4gY3VycmljdWx1bSwgY3VzdG9tIGRvY3MsIGxhbmd1YWdlIG9wdGlvbnMsIGFuZCBjb3ZlcmFnZSB0b29sczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jb3B5Ij4KICAgICAgICAgIFVzZSBDQVJMIHdoZW4geW91IG5lZWQgcHJvdmluY2lhbCBhbGlnbm1lbnQsIHlvdXIgb3duIGN1cnJpY3VsdW0gZG9jdW1lbnRzLCBmbGV4aWJsZSBsYW5ndWFnZS1tb2RlIHBsYW5uaW5nLCBvciBhIHdheSB0byB0cmFjayBjb3ZlcmFnZSB0aHJvdWdoIENvbXBhc3MuCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYW5uaW5nLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19wbGFubmluZy1jb2x1bW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYW5uaW5nLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX21hcGxlLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0MCA2NDAiIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O21hcmdpbi1yaWdodDo3cHghaW1wb3J0YW50OyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNDQ3LjggNDE1LjdjMi41LTIuNSAxMDUuMi05Mi40IDEwNS4yLTkyLjRsLTE3LjUtNy41Yy0xMC00LjktNy40LTExLjUtNS0xNy40YzIuNC03LjYgMjAuMS02Ny4zIDIwLjEtNjcuM3MtNDcuNyAxMC01Ny43IDEyLjVjLTcuNSAyLjQtMTAtMi41LTEyLjUtNy41cy0xNS0zMi40LTE1LTMyLjRzLTUyLjYgNTkuOS01NS4xIDYyLjNjLTEwIDcuNS0yMC4xIDAtMTcuNi0xMGMwLTEwIDI3LjYtMTI5LjYgMjcuNi0xMjkuNnMtMzAuMSAxNy40LTQwLjEgMjIuNGMtNy41IDUtMTIuNiA1LTE3LjYtNWMtNS4xLTcuNS00Mi43LTc5LjgtNDIuNy03OS44cy0zNy41IDcyLjMtNDIuNSA3OS44Yy01IDEwLTEwIDEwLTE3LjYgNWMtMTAtNS00MC4xLTIyLjQtNDAuMS0yMi40UzI0Ny4zIDI0NiAyNDcuMyAyNTZjMi41IDEwLTcuNSAxNy41LTE3LjYgMTBjLTIuNS0yLjUtNTUuMS02Mi4zLTU1LjEtNjIuM3MtMTIuNSAyNy4zLTE1IDMyLjNzLTUgOS45LTEyLjUgNy41QzEzNyAyNDEgODkuNCAyMzEgODkuNCAyMzFzMTcuNiA1OS43IDIwLjEgNjcuM2MyLjQgNiA1IDEyLjUtNSAxNy40TDg3IDMyMy4zczEwMi42IDg5LjkgMTA1LjIgOTIuNGM1LjEgNSAxMCA3LjUgNS4xIDIyLjVjLTUuMSAxNS0xMC4xIDM1LjEtMTAuMSAzNS4xczk1LjItMjAuMSAxMDUuMy0yMi42YzguNy0uOSAxOC4zIDIuNSAxOC4zIDEyLjVTMzA1IDU3NiAzMDUgNTc2aDMwcy01LjgtMTAyLjctNS44LTExMi44czkuNS0xMy40IDE4LjQtMTIuNWMxMCAyLjUgMTA1LjIgMjIuNiAxMDUuMiAyMi42cy01LTIwLjEtMTAtMzUuMXMwLTE3LjUgNS0yMi41Ii8+PC9zdmc+Q3VycmljdWx1bSBtb2RlcwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYW5uaW5nLWNvcHkiPkNob29zZSBCQywgQWxiZXJ0YSwgT250YXJpbywgVW5pdmVyc2FsLCBvciB1cGxvYWQgZGlzdHJpY3QsIHNjaG9vbCwgb3IgdGVhY2hlci1jcmVhdGVkIGN1cnJpY3VsdW0gZG9jdW1lbnRzIGZvciBjdXN0b20gYWxpZ25tZW50LjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5CQzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbCI+QWxiZXJ0YTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbCI+T250YXJpbzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbCI+VW5pdmVyc2FsPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5DdXN0b20gZG9jczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fcGxhbm5pbmctY29sdW1uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19wbGFubmluZy10aXRsZSI+TGFuZ3VhZ2Ugb3B0aW9uczwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9ImNhLWZ0LWNsZWFuX19wbGFubmluZy1jb3B5Ij5HZW5lcmF0ZSBpbiBFbmdsaXNoLCBGcmVuY2ggSW1tZXJzaW9uLCBvciBTcGFuaXNoLiBVc2UgZnVsbCBpbW1lcnNpb24sIHN0dWRlbnQtZmFjaW5nIEZyZW5jaCwgb3IgcGFydGlhbCB2b2NhYnVsYXJ5IGFuZCBzZW50ZW5jZS1mcmFtZSBzdXBwb3J0LjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5FbmdsaXNoPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5GcmVuY2ggSW1tZXJzaW9uPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5TcGFuaXNoPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsIj5QYXJ0aWFsIGludGVncmF0aW9uPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19wbGFubmluZy1jb2x1bW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYW5uaW5nLXRpdGxlIj5Db21wYXNzIGNvdmVyYWdlPC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0iY2EtZnQtY2xlYW5fX3BsYW5uaW5nLWNvcHkiPlVwbG9hZCBDQVJMIHBsYW5zIHRvIENvbXBhc3MgZm9yIGN1cnJpY3VsdW0gc2Nhbm5pbmcsIGNvdmVyYWdlIHRyYWNraW5nLCByZXBvcnRzLCBhbmQgbmV4dC1zdGVwIFBsYW4gSWRlYXMuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2lubGluZS1waWxsLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9faW5saW5lLXBpbGwiPlBsYW5uZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9faW5saW5lLXBpbGwiPlRhdWdodDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19pbmxpbmUtcGlsbCI+VG8gRG88L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9faW5saW5lLXBpbGwiPlJlcG9ydHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9faW5saW5lLXBpbGwiPlBsYW4gSWRlYXM8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL2NvbXBhc3MvIiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RleHQtbGluayI+CiAgICAgICAgICAgIEV4cGxvcmUgQ29tcGFzcwogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgMTJoMTQiPjwvcGF0aD48cGF0aCBkPSJNMTIgNWw3IDctNyA3Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgoKCgoKCgoKICA8IS0tIEZBUSAtLT4KICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9faW5uZXItd2lkZSI+CiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtc2hlbGwiIGlkPSJGQVEiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX190aXRsZS1sZyBjYS1mdC1jbGVhbl9fdGl0bGUtbGctbGlnaHQiPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fY29weSBjYS1mdC1jbGVhbl9fY29weS1saWdodCI+Q29tbW9uIHF1ZXN0aW9ucyBmcm9tIENhbmFkaWFuIGVkdWNhdG9ycyBhYm91dCB1c2luZyBDQVJMPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLW1hc2NvdCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2hpY2FybC5haS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi9Mb2dvcy1GaW5hbC0xMDAwLXgtNTAwLXB4LTgwMC14LTUwMC1weC02LnBuZyIgYWx0PSJDQVJMIG1hc2NvdCB3aXRoIHF1ZXN0aW9uIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtbGlzdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaXRlbSI+CiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXF1ZXN0aW9uIiBkYXRhLWNhLWZ0LWZhcT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXF1ZXN0aW9uLWxlZnQiPgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyI+PC9wYXRoPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIuMDEiIHkyPSIxNyI+PC9saW5lPjwvc3ZnPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS10ZXh0Ij5XaHkgbm90IGp1c3QgdXNlIENoYXRHUFQ/PC9zcGFuPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlci1pbm5lciI+Q2hhdEdQVCBjYW4gYmUgdXNlZnVsIGZvciBxdWljayBicmFpbnN0b3JtaW5nLiBDQVJMIGlzIGJ1aWx0IGFzIGEgY2xhc3Nyb29tIHBsYW5uaW5nIHdvcmtmbG93LCB3aXRoIHRlYWNoZXItc2V0IHBsYW5uaW5nIHByZWZlcmVuY2VzLCBDYW5hZGlhbiBhbmQgY3VzdG9tIGN1cnJpY3VsdW0gbW9kZXMsIGNvbm5lY3RlZCBjb21wb25lbnRzLCBGcmVuY2ggSW1tZXJzaW9uIG9wdGlvbnMsIHJlbWl4aW5nLCBJVkkgZ3VhcmRyYWlscywgYW5kIENvbXBhc3MgY292ZXJhZ2UgdHJhY2tpbmcuPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1pdGVtIj4KICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24iIGRhdGEtY2EtZnQtZmFxPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24tbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIj48L3BhdGg+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXRleHQiPldoYXQgaW5mb3JtYXRpb24gZG9lcyBDQVJMIHVzZSBmb3IgcGxhbm5pbmcgcHJlZmVyZW5jZXM/PC9zcGFuPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlci1pbm5lciI+Q0FSTCB1c2VzIHRlYWNoZXItc2V0IHBsYW5uaW5nIGRldGFpbHMgc3VjaCBhcyBjdXJyaWN1bHVtIG1vZGUsIGdyYWRlLCBzdWJqZWN0LCBsYW5ndWFnZSBvcHRpb25zLCB0aW1pbmcsIGFuZCBjbGFzcy1sZXZlbCBwbGFubmluZyBuZWVkcy4gSXQgZG9lcyBub3QgcmVxdWlyZSBzdHVkZW50IG5hbWVzIG9yIHBlcnNvbmFsIHN0dWRlbnQgZGF0YSB0byBjcmVhdGUgbGVzc29uIHBsYW5zLjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaXRlbSI+CiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXF1ZXN0aW9uIiBkYXRhLWNhLWZ0LWZhcT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXF1ZXN0aW9uLWxlZnQiPgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyI+PC9wYXRoPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIuMDEiIHkyPSIxNyI+PC9saW5lPjwvc3ZnPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS10ZXh0Ij5DYW4gSSB1cGxvYWQgbXkgb3duIGN1cnJpY3VsdW0gZG9jdW1lbnRzPzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+PC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXItaW5uZXIiPlllcy4gQ0FSTCBzdXBwb3J0cyBidWlsdC1pbiBjdXJyaWN1bHVtIG1vZGVzIGZvciBCQywgQWxiZXJ0YSwgT250YXJpbywgYW5kIFVuaXZlcnNhbCBwbGFubmluZywgYW5kIGNhbiBhbHNvIHdvcmsgd2l0aCB1cGxvYWRlZCBkaXN0cmljdCwgc2Nob29sLCBvciB0ZWFjaGVyLWNyZWF0ZWQgY3VycmljdWx1bSBkb2N1bWVudHMgZm9yIGN1c3RvbSBhbGlnbm1lbnQuPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1pdGVtIj4KICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24iIGRhdGEtY2EtZnQtZmFxPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24tbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIj48L3BhdGg+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXRleHQiPkRvZXMgQ0FSTCBzdXBwb3J0IEZyZW5jaCBJbW1lcnNpb24/PC9zcGFuPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWFuc3dlci1pbm5lciI+WWVzLiBDQVJMIHN1cHBvcnRzIEVuZ2xpc2gsIEZyZW5jaCBJbW1lcnNpb24sIGFuZCBTcGFuaXNoIGdlbmVyYXRpb24gbW9kZXMsIGluY2x1ZGluZyBmdWxsIGltbWVyc2lvbiwgc3R1ZGVudC1mYWNpbmcgbWF0ZXJpYWxzIG9ubHksIG9yIHBhcnRpYWwgbGFuZ3VhZ2UgaW50ZWdyYXRpb24uPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1pdGVtIj4KICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24iIGRhdGEtY2EtZnQtZmFxPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtcXVlc3Rpb24tbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIj48L3BhdGg+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLXRleHQiPkNhbiBJIGVkaXQgYW5kIGN1c3RvbWl6ZSBteSBsZXNzb25zPzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+PC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXItaW5uZXIiPlllcy4gRXZlcnl0aGluZyBDQVJMIGdlbmVyYXRlcyBpcyBhIHN0YXJ0aW5nIHBvaW50LCBub3QgYSBmaW5hbCBwcm9kdWN0LiBZb3UgY2FuIGVkaXQgdGV4dCwgYWRqdXN0IHRpbWluZywgcmV2aXNlIHNlY3Rpb25zLCBhZGQgb3IgcmVtb3ZlIG1hdGVyaWFscywgYW5kIGtlZXAgZnVsbCBjb250cm9sIG92ZXIgd2hhdCBpcyB1c2VkLiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvbGVzc29uLWVkaXRpbmctbWFkZS1lYXN5LyI+TGVzc29uIEVkaXRpbmcgTWFkZSBFYXN5PC9hPi48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmFxLWl0ZW0iPgogICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1xdWVzdGlvbiIgZGF0YS1jYS1mdC1mYXE+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1xdWVzdGlvbi1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT48cGF0aCBkPSJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMiPjwvcGF0aD48bGluZSB4MT0iMTIiIHkxPSIxNyIgeDI9IjEyLjAxIiB5Mj0iMTciPjwvbGluZT48L3N2Zz4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtdGV4dCI+Q2FuIEkgc2hhcmUgbXkgbGVzc29ucyB3aXRoIG90aGVyIHRlYWNoZXJzPzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNhLWZ0LWNsZWFuX19mYXEtYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+PC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXItaW5uZXIiPlllcy4gUHVibGljIGxlc3NvbnMgY2FuIGJlIGZvdW5kIGFuZCByZW1peGVkIGJ5IG90aGVyIHRlYWNoZXJzIHdpdGhvdXQgY2hhbmdpbmcgeW91ciBvcmlnaW5hbC4gWW91IGNvbnRyb2wgd2hhdCBnZXRzIHB1Ymxpc2hlZCBhbmQgd2hhdCBzdGF5cyBwcml2YXRlLjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjMycHg7Ij4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL2JldGEtc2lnbi11cC8iIGNsYXNzPSJjYS1mdC1jbGVhbl9fYnRuIGNhLWZ0LWNsZWFuX19idG4tcHJpbWFyeSI+CiAgICAgICAgICAgIEpvaW4gQmV0YQogICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIEZJTkFMIENUQSAtLT4KICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fZmluYWwtY3RhIj4KICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jdGEtY2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9ImNhLWZ0LWNsZWFuX19jdGEtbGF5b3V0Ij4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX3RpdGxlLWxnIGNhLWZ0LWNsZWFuX190aXRsZS1sZy1saWdodCI+VHJ5IGEgcGxhbm5pbmcgd29ya2Zsb3cgYnVpbHQgZm9yIENhbmFkaWFuIGNsYXNzcm9vbXMuPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYS1mdC1jbGVhbl9fY29weSBjYS1mdC1jbGVhbl9fY29weS1saWdodCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjRweCFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgSm9pbiBCZXRhIDIgdG8gY3JlYXRlIGxlc3NvbnMsIGFkZCBjb21wb25lbnRzLCB0ZXN0IEZyZW5jaCBJbW1lcnNpb24gb3B0aW9ucywgYW5kIGhlbHAgc2hhcGUgd2hhdCBjb21lcyBuZXh0LgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J0bi1yb3ciPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9iZXRhLXNpZ24tdXAvIiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J0biBjYS1mdC1jbGVhbl9fYnRuLXdoaXRlIj4KICAgICAgICAgICAgICBKb2luIEJldGEKICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgICAgICA8L2E+CgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9jYXJsLWluLTUtbWludXRlcy10aGUtZXNzZW50aWFsLXRvdXIvIiBjbGFzcz0iY2EtZnQtY2xlYW5fX2J0biBjYS1mdC1jbGVhbl9fYnRuLWRhcmsiPgogICAgICAgICAgICAgIFRha2UgdGhlIDUtTWludXRlIFRvdXIKICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2EtZnQtY2xlYW5fX2N0YS1pbWFnZSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9oaWNhcmwuYWkvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDMvZG91YmxlLWNhcmxzLTQtc2NhbGVkLnBuZyIgYWx0PSJDQVJMIG1hc2NvdHMgY29sbGFib3JhdGluZyIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uICgpIHsKICB2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jYS1mZWF0LWNsZWFuLTI2MDUyOCcpOwogIGlmICghcm9vdCkgcmV0dXJuOwoKICB2YXIgYnVpbGRlclRhYnMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNhLWZ0LWJ1aWxkZXJdJykpOwogIHZhciBidWlsZGVyUGFuZWxzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1jYS1mdC1idWlsZGVyLXBhbmVsXScpKTsKICB2YXIgYnVpbGRlckdpZnMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWNhLWZ0LWJ1aWxkZXItZ2lmXScpKTsKCiAgZnVuY3Rpb24gYWN0aXZhdGVCdWlsZGVyKG5hbWUpIHsKICAgIGJ1aWxkZXJUYWJzLmZvckVhY2goZnVuY3Rpb24gKHRhYikgewogICAgICB2YXIgYWN0aXZlID0gdGFiLmdldEF0dHJpYnV0ZSgnZGF0YS1jYS1mdC1idWlsZGVyJykgPT09IG5hbWU7CiAgICAgIHRhYi5jbGFzc0xpc3QudG9nZ2xlKCdpcy1hY3RpdmUnLCBhY3RpdmUpOwogICAgICB0YWIuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgYWN0aXZlID8gJ3RydWUnIDogJ2ZhbHNlJyk7CiAgICB9KTsKCiAgICBidWlsZGVyUGFuZWxzLmZvckVhY2goZnVuY3Rpb24gKHBhbmVsKSB7CiAgICAgIHBhbmVsLmNsYXNzTGlzdC50b2dnbGUoJ2lzLWFjdGl2ZScsIHBhbmVsLmdldEF0dHJpYnV0ZSgnZGF0YS1jYS1mdC1idWlsZGVyLXBhbmVsJykgPT09IG5hbWUpOwogICAgfSk7CgogICAgYnVpbGRlckdpZnMuZm9yRWFjaChmdW5jdGlvbiAoZ2lmKSB7CiAgICAgIHZhciBpc0FjdGl2ZSA9IGdpZi5nZXRBdHRyaWJ1dGUoJ2RhdGEtY2EtZnQtYnVpbGRlci1naWYnKSA9PT0gbmFtZTsKICAgICAgdmFyIGdpZlZpZGVvID0gZ2lmLnF1ZXJ5U2VsZWN0b3IoJy5jYS1mdC1jbGVhbl9fYnVpbGRlci12aWRlbycpOwoKICAgICAgZ2lmLmNsYXNzTGlzdC50b2dnbGUoJ2lzLWFjdGl2ZScsIGlzQWN0aXZlKTsKCiAgICAgIGlmIChnaWZWaWRlbykgewogICAgICAgIGlmIChpc0FjdGl2ZSkgewogICAgICAgICAgZ2lmVmlkZW8uY3VycmVudFRpbWUgPSAwOwogICAgICAgICAgdmFyIHBsYXlQcm9taXNlID0gZ2lmVmlkZW8ucGxheSgpOwogICAgICAgICAgaWYgKHBsYXlQcm9taXNlICYmIHR5cGVvZiBwbGF5UHJvbWlzZS5jYXRjaCA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICBwbGF5UHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGdpZlZpZGVvLnBhdXNlKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9CgogIGJ1aWxkZXJUYWJzLmZvckVhY2goZnVuY3Rpb24gKHRhYikgewogICAgdGFiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICBhY3RpdmF0ZUJ1aWxkZXIodGFiLmdldEF0dHJpYnV0ZSgnZGF0YS1jYS1mdC1idWlsZGVyJykpOwogICAgfSk7CiAgfSk7CgogIGFjdGl2YXRlQnVpbGRlcignc2NyYXRjaCcpOwoKICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWNhLWZ0LWZhcV0nKTsKICAgIGlmICghYnV0dG9uIHx8ICFyb290LmNvbnRhaW5zKGJ1dHRvbikpIHJldHVybjsKCiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKICAgIHZhciBpdGVtID0gYnV0dG9uLmNsb3Nlc3QoJy5jYS1mdC1jbGVhbl9fZmFxLWl0ZW0nKTsKICAgIHZhciBhbnN3ZXIgPSBpdGVtID8gaXRlbS5xdWVyeVNlbGVjdG9yKCcuY2EtZnQtY2xlYW5fX2ZhcS1hbnN3ZXInKSA6IG51bGw7CgogICAgaWYgKCFpdGVtIHx8ICFhbnN3ZXIpIHJldHVybjsKCiAgICB2YXIgaXNPcGVuID0gaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLW9wZW4nKTsKCiAgICBpZiAoaXNPcGVuKSB7CiAgICAgIGFuc3dlci5zdHlsZS5zZXRQcm9wZXJ0eSgnbWF4LWhlaWdodCcsICcwcHgnLCAnaW1wb3J0YW50Jyk7CiAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnaXMtb3BlbicpOwogICAgfSBlbHNlIHsKICAgICAgYW5zd2VyLnN0eWxlLnNldFByb3BlcnR5KCdtYXgtaGVpZ2h0JywgYW5zd2VyLnNjcm9sbEhlaWdodCArICdweCcsICdpbXBvcnRhbnQnKTsKICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdpcy1vcGVuJyk7CiAgICB9CiAgfSk7CgogIHZhciBvbGRTdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYUZlYXRDbGVhbjI2MDUyOFNvZnRIb3ZlckZpeCcpOwogIGlmIChvbGRTdHlsZSkgb2xkU3R5bGUucmVtb3ZlKCk7CgogIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgc3R5bGUuaWQgPSAnY2FGZWF0Q2xlYW4yNjA1MjhTb2Z0SG92ZXJGaXgnOwoKICBzdHlsZS50ZXh0Q29udGVudCA9IGAKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAqLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4ICo6OmJlZm9yZSwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAqOjphZnRlciB7CiAgICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAuY2EtZnQtY2xlYW5fX2J0biwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAuY2EtZnQtY2xlYW5fX2J0biBzcGFuLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IC5jYS1mdC1jbGVhbl9fY2FyZCwKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAuY2EtZnQtY2xlYW5fX2J1aWxkZXItdGFiLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IC5jYS1mdC1jbGVhbl9fZmFxLWl0ZW0sCiAgICAuY2EtZmVhdC1jbGVhbi0yNjA1MjggLmNhLWZ0LWNsZWFuX19mYXEtYW5zd2VyLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IC5jYS1mdC1jbGVhbl9fZmFxLWFycm93IHsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNjUwbXMgIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IC5jYS1mdC1jbGVhbl9fYnRuOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYS1mZWF0LWNsZWFuLTI2MDUyOCAuY2EtZnQtY2xlYW5fX2J0bjpob3ZlciBzcGFuIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2EtZmVhdC1jbGVhbi0yNjA1MjggLmNhLWZ0LWNsZWFuX19jYXJkOmhvdmVyLAogICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4IC5jYS1mdC1jbGVhbl9fYnVpbGRlci10YWI6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgIWltcG9ydGFudDsKICAgIH0KCiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgICAuY2EtZmVhdC1jbGVhbi0yNjA1MjggKiwKICAgICAgLmNhLWZlYXQtY2xlYW4tMjYwNTI4ICo6aG92ZXIgewogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgICAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgfQogIGA7CgogIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwp9KSgpOwo8L3NjcmlwdD4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]