[fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap=”wrap” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” border_style=”solid” box_shadow=”no” box_shadow_blur=”0″ box_shadow_spread=”0″ gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode=”none” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” pattern_bg=”none” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_blend_mode=”normal” mask_bg=”none” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” absolute=”off” absolute_devices=”small,medium,large” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_transition_offset=”0″ scroll_offset=”0″ animation_direction=”left” animation_speed=”0.3″ animation_delay=”0″ 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″ type=”1_1″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” content_wrap=”wrap” center_content=”no” column_tag=”div” target=”_self” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” order_medium=”0″ order_small=”0″ hover_type=”none” border_style=”solid” box_shadow=”no” box_shadow_blur=”0″ box_shadow_spread=”0″ background_type=”single” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ lazy_load=”avada” background_position=”left top” background_repeat=”no-repeat” background_blend_mode=”none” background_slider_skip_lazy_loading=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” absolute=”off” 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″ transition_duration=”300″ transition_easing=”ease” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_direction=”left” animation_speed=”0.3″ animation_delay=”0″ last=”no” border_position=”all” min_height=”” link=””][fusion_code]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBHUCBBVVRPCiAgICAgTEFORElORyBTVEFOREFMT05FIC0gTk9MRUdHSU8gQVVUTyBUUkVOVE8KICAgICBIVE1MICsgQ1NTICsgSlMKICAgICBIZWFkZXIgZSBGb290ZXIgaW5kaXBlbmRlbnRpIGRhIEF2YWRhCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPHNjcmlwdD4KZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdncC1zdGFuZGFsb25lLXBhZ2UnKTsKPC9zY3JpcHQ+Cgo8c3R5bGU+Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAwLiBOQVNDT05ESSBTVFJVVFRVUkEgQVZBREEKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LmdwLXN0YW5kYWxvbmUtcGFnZSAuZnVzaW9uLWhlYWRlci13cmFwcGVyLApib2R5LmdwLXN0YW5kYWxvbmUtcGFnZSAuZnVzaW9uLXRiLWhlYWRlciwKYm9keS5ncC1zdGFuZGFsb25lLXBhZ2UgI3NpZGUtaGVhZGVyLApib2R5LmdwLXN0YW5kYWxvbmUtcGFnZSAuZnVzaW9uLXBhZ2UtdGl0bGUtYmFyLApib2R5LmdwLXN0YW5kYWxvbmUtcGFnZSAuZnVzaW9uLWZvb3RlciwKYm9keS5ncC1zdGFuZGFsb25lLXBhZ2UgLmZ1c2lvbi10Yi1mb290ZXIsCmJvZHkuZ3Atc3RhbmRhbG9uZS1wYWdlICNzbGlkaW5nYmFyLWFyZWEgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Cgpib2R5LmdwLXN0YW5kYWxvbmUtcGFnZSAjbWFpbiB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQoKYm9keS5ncC1zdGFuZGFsb25lLXBhZ2UgI2NvbnRlbnQgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KCmJvZHkuZ3Atc3RhbmRhbG9uZS1wYWdlIHsKICAgIG1hcmdpbjogMDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxLiBWQVJJQUJMRVMgLyBSRVNFVAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIHsKICAgIC0tYmxhY2s6ICMwYTBhMGE7CiAgICAtLWJsYWNrLXNvZnQ6ICMxNTEzMGU7CiAgICAtLWdvbGQ6ICNiYjg5MDA7CiAgICAtLWdvbGQtbGlnaHQ6ICNkOGFkMjU7CiAgICAtLWdvbGQtZGFyazogIzhlNjkwMDsKCiAgICAtLXdoaXRlOiAjZmZmZmZmOwogICAgLS1vZmZ3aGl0ZTogI2Y4ZjhmODsKCiAgICAtLXRleHQ6ICMxODE4MTg7CiAgICAtLW11dGVkOiAjNjg2ODY4OwogICAgLS1saW5lOiAjZThlOGU4OwoKICAgIGZvbnQtZmFtaWx5OgogICAgICAgICJNb250c2VycmF0IiwKICAgICAgICAtYXBwbGUtc3lzdGVtLAogICAgICAgIEJsaW5rTWFjU3lzdGVtRm9udCwKICAgICAgICAiU2Vnb2UgVUkiLAogICAgICAgIEFyaWFsLAogICAgICAgIHNhbnMtc2VyaWY7CgogICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgY29sb3I6IHZhcigtLXRleHQpOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKCiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgojZ3Atc2l0ZSAqLAojZ3Atc2l0ZSAqOjpiZWZvcmUsCiNncC1zaXRlICo6OmFmdGVyIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCiNncC1zaXRlIGltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1heC13aWR0aDogMTAwJTsKfQoKI2dwLXNpdGUgYSB7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKI2dwLXNpdGUgYnV0dG9uIHsKICAgIGZvbnQ6IGluaGVyaXQ7Cn0KCiNncC1zaXRlIC5ncC1jb250YWluZXIgewogICAgd2lkdGg6IG1pbigxMTgwcHgsIGNhbGMoMTAwJSAtIDQycHgpKTsKICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87Cn0KCiNncC1zaXRlIC5ncC1zZWN0aW9uIHsKICAgIHBhZGRpbmc6IDkycHggMDsKfQoKI2dwLXNpdGUgLmdwLWxpZ2h0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9mZndoaXRlKTsKfQoKI2dwLXNpdGUgLmdwLWtpY2tlciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW46IDAgMCAxMnB4OwoKICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgojZ3Atc2l0ZSBoMSwKI2dwLXNpdGUgaDIsCiNncC1zaXRlIGgzIHsKICAgIG1hcmdpbi10b3A6IDA7CgogICAgY29sb3I6IHZhcigtLWJsYWNrKTsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsaW5lLWhlaWdodDogMS4xMjsKfQoKI2dwLXNpdGUgaDEgewogICAgbWFyZ2luLWJvdHRvbTogMjJweDsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDBweCwgNXZ3LCA2OHB4KTsKICAgIGxldHRlci1zcGFjaW5nOiAtMi41cHg7Cn0KCiNncC1zaXRlIGgyIHsKICAgIG1hcmdpbi1ib3R0b206IDE5cHg7CiAgICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDMuN3Z3LCA0NnB4KTsKICAgIGxldHRlci1zcGFjaW5nOiAtMS40cHg7Cn0KCiNncC1zaXRlIGgzIHsKICAgIG1hcmdpbi1ib3R0b206IDExcHg7CiAgICBmb250LXNpemU6IDIxcHg7Cn0KCiNncC1zaXRlIHAgewogICAgbWFyZ2luLXRvcDogMDsKCiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDEuODI7Cn0KCiNncC1zaXRlIHN0cm9uZyB7CiAgICBjb2xvcjogIzI0MjQyNDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAyLiBCVVRUT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojZ3Atc2l0ZSAuZ3AtYnV0dG9ucyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgZ2FwOiAxMnB4OwoKICAgIG1hcmdpbi10b3A6IDI4cHg7Cn0KCiNncC1zaXRlIC5ncC1idXR0b24gewogICAgbWluLWhlaWdodDogNTJweDsKCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogOXB4OwoKICAgIHBhZGRpbmc6IDAgMjVweDsKCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKCiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgbGV0dGVyLXNwYWNpbmc6IC4zcHg7CgogICAgdHJhbnNpdGlvbjoKICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UsCiAgICAgICAgYmFja2dyb3VuZCAuMnMgZWFzZSwKICAgICAgICBjb2xvciAuMnMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgLjJzIGVhc2U7Cn0KCiNncC1zaXRlIC5ncC1idXR0b246aG92ZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwp9CgojZ3Atc2l0ZSAuZ3AtYnV0dG9uLWdvbGQgewogICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICBjb2xvcjogd2hpdGU7Cn0KCiNncC1zaXRlIC5ncC1idXR0b24tZ29sZDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkLWRhcmspOwogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3AtYnV0dG9uLWJsYWNrIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTsKICAgIGNvbG9yOiB3aGl0ZTsKfQoKI2dwLXNpdGUgLmdwLWJ1dHRvbi1vdXRsaW5lIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNDIpOwogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3AtYnV0dG9uLW91dGxpbmU6aG92ZXIgewogICAgY29sb3I6IHZhcigtLWdvbGQtbGlnaHQpOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLWxpZ2h0KTsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAzLiBUT1BCQVIKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojZ3Atc2l0ZSAuZ3AtdG9wYmFyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDEwMTsKCiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOwp9CgojZ3Atc2l0ZSAuZ3AtdG9wYmFyLWlubmVyIHsKICAgIG1pbi1oZWlnaHQ6IDQzcHg7CgogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CgogICAgZ2FwOiAyNXB4Owp9CgojZ3Atc2l0ZSAuZ3AtdG9wYmFyLWxlZnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBmbGV4LXdyYXA6IHdyYXA7CgogICAgZ2FwOiAyNXB4Owp9CgojZ3Atc2l0ZSAuZ3AtdG9wLWl0ZW0gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA3cHg7CgogICAgY29sb3I6ICMyMjI7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgojZ3Atc2l0ZSAuZ3AtdG9wLWl0ZW0gc3ZnIHsKICAgIHdpZHRoOiAxNHB4OwogICAgaGVpZ2h0OiAxNHB4OwoKICAgIGZsZXgtc2hyaW5rOiAwOwp9CgojZ3Atc2l0ZSAuZ3AtdG9wLXdhIHsKICAgIGNvbG9yOiB2YXIoLS1nb2xkLWRhcmspOwp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDQuIEhFQURFUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlLWhlYWRlciB7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiAwOwogICAgei1pbmRleDogMTAwOwoKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjk4KTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOwoKICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsMCwwLC4wNik7Cn0KCmJvZHkuYWRtaW4tYmFyICNncC1zaXRlLWhlYWRlciB7CiAgICB0b3A6IDMycHg7Cn0KCiNncC1zaXRlIC5ncC1oZWFkZXItaW5uZXIgewogICAgbWluLWhlaWdodDogMTE4cHg7CgogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CgogICAgZ2FwOiA0NXB4Owp9CgojZ3Atc2l0ZSAuZ3AtbG9nbyB7CiAgICB3aWR0aDogMTc1cHg7CiAgICBmbGV4LXNocmluazogMDsKfQoKI2dwLXNpdGUgLmdwLWxvZ28gaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvOwp9CgojZ3Atc2l0ZSAuZ3AtbmF2IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzM3B4OwoKICAgIG1hcmdpbi1sZWZ0OiAxMHB4Owp9CgojZ3Atc2l0ZSAuZ3AtbmF2IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwoKICAgIGNvbG9yOiAjMTExOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKfQoKI2dwLXNpdGUgLmdwLW5hdiBhOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDEwMCU7CiAgICBib3R0b206IC03cHg7CgogICAgaGVpZ2h0OiAycHg7CgogICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CgogICAgdHJhbnNpdGlvbjogcmlnaHQgLjJzIGVhc2U7Cn0KCiNncC1zaXRlIC5ncC1uYXYgYTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tZ29sZC1kYXJrKTsKfQoKI2dwLXNpdGUgLmdwLW5hdiBhOmhvdmVyOjphZnRlciB7CiAgICByaWdodDogMDsKfQoKI2dwLXNpdGUgLmdwLWhlYWRlci1hY3Rpb25zIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwoKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMXB4Owp9CgojZ3Atc2l0ZSAuZ3AtY2FsbC1idXR0b24gewogICAgbWluLWhlaWdodDogNDNweDsKCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogOHB4OwoKICAgIHBhZGRpbmc6IDAgMjRweDsKCiAgICBib3JkZXItcmFkaXVzOiA1MHB4OwoKICAgIGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOwogICAgY29sb3I6IHdoaXRlOwoKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7Cn0KCiNncC1zaXRlIC5ncC1tZW51LXRvZ2dsZSB7CiAgICBkaXNwbGF5OiBub25lOwoKICAgIHdpZHRoOiA0NHB4OwogICAgaGVpZ2h0OiA0NHB4OwoKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKCiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7CiAgICBjb2xvcjogd2hpdGU7CgogICAgY3Vyc29yOiBwb2ludGVyOwp9CgojZ3Atc2l0ZSAuZ3AtbWVudS10b2dnbGUgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxOXB4OwogICAgaGVpZ2h0OiAycHg7CgogICAgbWFyZ2luOiA0cHggYXV0bzsKCiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICA1LiBNT0JJTEUgTUVOVQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIC5ncC1tb2JpbGUtbmF2IHsKICAgIGRpc3BsYXk6IG5vbmU7CgogICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTsKfQoKI2dwLXNpdGUgLmdwLW1vYmlsZS1uYXYuaXMtb3BlbiB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKI2dwLXNpdGUgLmdwLW1vYmlsZS1uYXYtaW5uZXIgewogICAgcGFkZGluZzogMTBweCAyMXB4IDIzcHg7Cn0KCiNncC1zaXRlIC5ncC1tb2JpbGUtbmF2IGEgewogICAgZGlzcGxheTogYmxvY2s7CgogICAgcGFkZGluZzogMTVweCAwOwoKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOwoKICAgIGNvbG9yOiAjMTExOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICA2LiBIRVJPCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI2dwLXNpdGUgLmdwLWhlcm8gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwoKICAgIG1pbi1oZWlnaHQ6IDYyMHB4OwoKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwoKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KAogICAgICAgICAgICBjaXJjbGUgYXQgNzglIDQzJSwKICAgICAgICAgICAgcmdiYSgxOTEsMTQzLDAsLjIyKSwKICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzQlCiAgICAgICAgKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgIDExNWRlZywKICAgICAgICAgICAgIzA4MDgwOCAwJSwKICAgICAgICAgICAgIzExMTAwZCA1NyUsCiAgICAgICAgICAgICMxYzE1MDcgMTAwJQogICAgICAgICk7Cn0KCiNncC1zaXRlIC5ncC1oZXJvOjpiZWZvcmUgewogICAgY29udGVudDogIiI7CgogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtMjQwcHg7CiAgICByaWdodDogLTE4MHB4OwoKICAgIHdpZHRoOiA2MTBweDsKICAgIGhlaWdodDogNjEwcHg7CgogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTQsMTczLDQ1LC4yNCk7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KCiNncC1zaXRlIC5ncC1oZXJvLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4xMmZyIC44OGZyOwoKICAgIGdhcDogNjBweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCiNncC1zaXRlIC5ncC1oZXJvLWNvcHkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMjsKCiAgICBwYWRkaW5nOiA4MHB4IDA7Cn0KCiNncC1zaXRlIC5ncC1oZXJvIC5ncC1raWNrZXIgewogICAgY29sb3I6IHZhcigtLWdvbGQtbGlnaHQpOwp9CgojZ3Atc2l0ZSAuZ3AtaGVybyBoMSB7CiAgICBjb2xvcjogd2hpdGU7Cn0KCiNncC1zaXRlIC5ncC1oZXJvIHAgewogICAgbWF4LXdpZHRoOiA3MDBweDsKCiAgICBjb2xvcjogI2RkZDsKICAgIGZvbnQtc2l6ZTogMThweDsKfQoKI2dwLXNpdGUgLmdwLWhlcm8gcCBzdHJvbmcgewogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3AtaGVyby1pbWFnZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAyOwp9CgojZ3Atc2l0ZSAuZ3AtaGVyby1pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CgogICAgZmlsdGVyOgogICAgICAgIGRyb3Atc2hhZG93KAogICAgICAgICAgICAwIDI4cHggMjRweCByZ2JhKDAsMCwwLC40MikKICAgICAgICApOwp9CgojZ3Atc2l0ZSAuZ3AtaGVyby1jYXJkIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAtMThweDsKCiAgICBwYWRkaW5nOiAxN3B4IDIxcHg7CgogICAgYmFja2dyb3VuZDogd2hpdGU7CgogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1nb2xkKTsKCiAgICBib3gtc2hhZG93OgogICAgICAgIDAgMTJweCAzNXB4IHJnYmEoMCwwLDAsLjIpOwp9CgojZ3Atc2l0ZSAuZ3AtaGVyby1jYXJkIHN0cm9uZyB7CiAgICBkaXNwbGF5OiBibG9jazsKCiAgICBmb250LXNpemU6IDEzcHg7Cn0KCiNncC1zaXRlIC5ncC1oZXJvLWNhcmQgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKCiAgICBtYXJnaW4tdG9wOiAzcHg7CgogICAgY29sb3I6ICM2NjY7CiAgICBmb250LXNpemU6IDExcHg7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgNy4gU0VPIElOVFJPCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI2dwLXNpdGUgLmdwLWludHJvLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjgzZnIgMS4xN2ZyOwoKICAgIGdhcDogODBweDsKfQoKI2dwLXNpdGUgLmdwLW5vdGljZSB7CiAgICBtYXJnaW4tdG9wOiAyN3B4OwogICAgcGFkZGluZzogMjdweCAyOXB4OwoKICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7CgogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1nb2xkKTsKfQoKI2dwLXNpdGUgLmdwLW5vdGljZSBwIHsKICAgIG1hcmdpbjogMDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICA4LiBTRVJWSUNFUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIC5ncC1zZXJ2aWNlcyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsKCiAgICBnYXA6IDE4cHg7CgogICAgbWFyZ2luLXRvcDogMzhweDsKfQoKI2dwLXNpdGUgLmdwLXNlcnZpY2UgewogICAgbWluLWhlaWdodDogMjU1cHg7CgogICAgcGFkZGluZzogMjhweDsKCiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU4OwoKICAgIHRyYW5zaXRpb246CiAgICAgICAgdHJhbnNmb3JtIC4yNXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgLjI1cyBlYXNlLAogICAgICAgIGJveC1zaGFkb3cgLjI1cyBlYXNlOwp9CgojZ3Atc2l0ZSAuZ3Atc2VydmljZTpob3ZlciB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CgogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4NywxMzcsMCwuMzIpOwoKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCAxNnB4IDM4cHggcmdiYSgwLDAsMCwuMDUpOwp9CgojZ3Atc2l0ZSAuZ3AtbnVtYmVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwoKICAgIG1hcmdpbi1ib3R0b206IDM1cHg7CgogICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKfQoKI2dwLXNpdGUgLmdwLXNlcnZpY2UgcCB7CiAgICBtYXJnaW46IDA7CgogICAgZm9udC1zaXplOiAxNHB4Owp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDkuIFBSRVZFTlRJVk8KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojZ3Atc2l0ZSAuZ3AtY3VzdG9tIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTsKfQoKI2dwLXNpdGUgLmdwLWN1c3RvbS1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CgogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKCiAgICBnYXA6IDgwcHg7Cn0KCiNncC1zaXRlIC5ncC1jdXN0b20gaDIgewogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3AtY3VzdG9tIHAgewogICAgY29sb3I6ICNjZmNmY2Y7Cn0KCiNncC1zaXRlIC5ncC1zdGVwcyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiAxMnB4Owp9CgojZ3Atc2l0ZSAuZ3Atc3RlcCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MnB4IDFmcjsKCiAgICBnYXA6IDE3cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwoKICAgIHBhZGRpbmc6IDE4cHg7CgogICAgYm9yZGVyOiAxcHggc29saWQgIzMwMzAzMDsKfQoKI2dwLXNpdGUgLmdwLXN0ZXAtbnVtYmVyIHsKICAgIHdpZHRoOiA0MnB4OwogICAgaGVpZ2h0OiA0MnB4OwoKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBwbGFjZS1pdGVtczogY2VudGVyOwoKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKCiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsKICAgIGNvbG9yOiB3aGl0ZTsKCiAgICBmb250LXdlaWdodDogODAwOwp9CgojZ3Atc2l0ZSAuZ3Atc3RlcCBzdHJvbmcgewogICAgZGlzcGxheTogYmxvY2s7CgogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3Atc3RlcCBzcGFuIHsKICAgIGNvbG9yOiAjYWFhOwogICAgZm9udC1zaXplOiAxMnB4Owp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDEwLiBGTEVFVAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIC5ncC1mbGVldCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKCiAgICBnYXA6IDI1cHg7CgogICAgbWFyZ2luLXRvcDogNDBweDsKfQoKI2dwLXNpdGUgLmdwLWNhciB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwoKICAgIGJhY2tncm91bmQ6IHdoaXRlOwoKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7Cn0KCiNncC1zaXRlIC5ncC1jYXItaW1hZ2UgewogICAgaGVpZ2h0OiAzMTBweDsKCiAgICBkaXNwbGF5OiBncmlkOwogICAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKCiAgICBwYWRkaW5nOiAyMnB4OwoKICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7Cn0KCiNncC1zaXRlIC5ncC1jYXItaW1hZ2UgaW1nIHsKICAgIG1heC1oZWlnaHQ6IDI2NXB4OwoKICAgIG9iamVjdC1maXQ6IGNvbnRhaW47Cn0KCiNncC1zaXRlIC5ncC1jYXItYm9keSB7CiAgICBwYWRkaW5nOiAyNXB4Owp9CgojZ3Atc2l0ZSAuZ3AtY2FyLXR5cGUgewogICAgbWFyZ2luLWJvdHRvbTogN3B4OwoKICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKCiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogODAwOwoKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsZXR0ZXItc3BhY2luZzogLjhweDsKfQoKI2dwLXNpdGUgLmdwLWNhciBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKfQoKI2dwLXNpdGUgLmdwLXRleHQtbGluayB7CiAgICBjb2xvcjogdmFyKC0tZ29sZC1kYXJrKTsKCiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogODAwOwp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDExLiBUUkFJTEVSUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIC5ncC10cmFpbGVycyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwoKICAgIGdhcDogMjNweDsKCiAgICBtYXJnaW4tdG9wOiAzNXB4Owp9CgojZ3Atc2l0ZSAuZ3AtdHJhaWxlciB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxOTBweCAxZnI7CgogICAgZ2FwOiAyOXB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKCiAgICBwYWRkaW5nOiAyOHB4OwoKICAgIGJhY2tncm91bmQ6IHdoaXRlOwoKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTg7Cn0KCiNncC1zaXRlIC5ncC10cmFpbGVyIGltZyB7CiAgICBtYXgtaGVpZ2h0OiAxMzVweDsKCiAgICBtYXJnaW46IGF1dG87CgogICAgb2JqZWN0LWZpdDogY29udGFpbjsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxMi4gVFJVU1QKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojZ3Atc2l0ZSAuZ3AtYmVuZWZpdHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CgogICAgZ2FwOiAyNnB4OwoKICAgIG1hcmdpbi10b3A6IDM4cHg7Cn0KCiNncC1zaXRlIC5ncC1iZW5lZml0IHsKICAgIHBhZGRpbmctdG9wOiAyMnB4OwoKICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB2YXIoLS1nb2xkKTsKfQoKI2dwLXNpdGUgLmdwLWJlbmVmaXQgcCB7CiAgICBmb250LXNpemU6IDE0cHg7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgMTMuIFJFVklFV1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojZ3Atc2l0ZSAuZ3AtcmV2aWV3cyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKCiAgICBnYXA6IDIwcHg7CgogICAgbWFyZ2luLXRvcDogNDBweDsKfQoKI2dwLXNpdGUgLmdwLXJldmlldyB7CiAgICBwYWRkaW5nOiAyOHB4OwoKICAgIGJhY2tncm91bmQ6IHdoaXRlOwoKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7Cn0KCiNncC1zaXRlIC5ncC1zdGFycyB7CiAgICBtYXJnaW4tYm90dG9tOiAxOHB4OwoKICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKCiAgICBmb250LXNpemU6IDE4cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMnB4Owp9CgojZ3Atc2l0ZSAuZ3AtcmV2aWV3IGJsb2NrcXVvdGUgewogICAgbWFyZ2luOiAwIDAgMTlweDsKCiAgICBjb2xvcjogIzQ0NDsKCiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogMS43Owp9CgojZ3Atc2l0ZSAuZ3AtcmV2aWV3LW5hbWUgewogICAgY29sb3I6ICMxMTE7CgogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxNC4gTE9DQUwgU0VPCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI2dwLXNpdGUgLmdwLWxvY2FsIHsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgbGluZWFyLWdyYWRpZW50KAogICAgICAgICAgICAxMTBkZWcsCiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjk4KSwKICAgICAgICAgICAgcmdiYSgyMywxNyw1LC45NikKICAgICAgICApOwp9CgojZ3Atc2l0ZSAuZ3AtbG9jYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgLjg4ZnI7CgogICAgZ2FwOiA3NXB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKI2dwLXNpdGUgLmdwLWxvY2FsIGgyIHsKICAgIGNvbG9yOiB3aGl0ZTsKfQoKI2dwLXNpdGUgLmdwLWxvY2FsIHAgewogICAgY29sb3I6ICNkM2QzZDM7Cn0KCiNncC1zaXRlIC5ncC1sb2NhbCBwIHN0cm9uZyB7CiAgICBjb2xvcjogd2hpdGU7Cn0KCiNncC1zaXRlIC5ncC1hcmVhcyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwoKICAgIGdhcDogOHB4OwoKICAgIG1hcmdpbi10b3A6IDI1cHg7Cn0KCiNncC1zaXRlIC5ncC1hcmVhIHsKICAgIHBhZGRpbmc6IDhweCAxMnB4OwoKICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYzNjM2M7CgogICAgY29sb3I6ICNkZGQ7CgogICAgZm9udC1zaXplOiAxMXB4Owp9CgojZ3Atc2l0ZSAuZ3AtYWRkcmVzcy1jYXJkIHsKICAgIHBhZGRpbmc6IDMwcHg7CgogICAgYmFja2dyb3VuZDogd2hpdGU7Cn0KCiNncC1zaXRlIC5ncC1hZGRyZXNzLWNhcmQgaDMgewogICAgY29sb3I6ICMxMTE7Cn0KCiNncC1zaXRlIC5ncC1hZGRyZXNzLXJvdyB7CiAgICBwYWRkaW5nOiAxM3B4IDA7CgogICAgY29sb3I6ICM1NTU7CiAgICBmb250LXNpemU6IDE0cHg7CgogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7Cn0KCiNncC1zaXRlIC5ncC1hZGRyZXNzLXJvdzpsYXN0LWNoaWxkIHsKICAgIGJvcmRlci1ib3R0b206IDA7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgMTUuIEZBUQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlIC5ncC1mYXEgewogICAgbWF4LXdpZHRoOiA5MDBweDsKCiAgICBtYXJnaW46IDM4cHggYXV0byAwOwp9CgojZ3Atc2l0ZSAuZ3AtZmFxLWl0ZW0gewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7Cn0KCiNncC1zaXRlIC5ncC1mYXEtcXVlc3Rpb24gewogICAgd2lkdGg6IDEwMCU7CgogICAgcG9zaXRpb246IHJlbGF0aXZlOwoKICAgIHBhZGRpbmc6IDI0cHggNTBweCAyNHB4IDA7CgogICAgYm9yZGVyOiAwOwoKICAgIGJhY2tncm91bmQ6IG5vbmU7CgogICAgdGV4dC1hbGlnbjogbGVmdDsKCiAgICBjb2xvcjogIzExMTsKCiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogODAwOwoKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKI2dwLXNpdGUgLmdwLWZhcS1xdWVzdGlvbjo6YWZ0ZXIgewogICAgY29udGVudDogIisiOwoKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAycHg7CiAgICB0b3A6IDE5cHg7CgogICAgY29sb3I6IHZhcigtLWdvbGQpOwoKICAgIGZvbnQtc2l6ZTogMjVweDsKfQoKI2dwLXNpdGUgLmdwLWZhcS1pdGVtLmlzLW9wZW4gLmdwLWZhcS1xdWVzdGlvbjo6YWZ0ZXIgewogICAgY29udGVudDogIuKIkiI7Cn0KCiNncC1zaXRlIC5ncC1mYXEtYW5zd2VyIHsKICAgIG1heC1oZWlnaHQ6IDA7CgogICAgb3ZlcmZsb3c6IGhpZGRlbjsKCiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4yNXMgZWFzZTsKfQoKI2dwLXNpdGUgLmdwLWZhcS1hbnN3ZXIgcCB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nLWJvdHRvbTogMjNweDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxNi4gQ1RBCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI2dwLXNpdGUgLmdwLWZpbmFsLWN0YSB7CiAgICBwYWRkaW5nOiA3MHB4IDA7CgogICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7Cn0KCiNncC1zaXRlIC5ncC1maW5hbC1ncmlkIHsKICAgIGRpc3BsYXk6IGZsZXg7CgogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCiAgICBnYXA6IDQwcHg7Cn0KCiNncC1zaXRlIC5ncC1maW5hbC1jdGEgaDIgewogICAgbWFyZ2luLWJvdHRvbTogN3B4OwoKICAgIGNvbG9yOiB3aGl0ZTsKfQoKI2dwLXNpdGUgLmdwLWZpbmFsLWN0YSBwIHsKICAgIG1hcmdpbjogMDsKCiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODYpOwp9CgojZ3Atc2l0ZSAuZ3AtZmluYWwtY3RhIC5ncC1idXR0b24gewogICAgZmxleC1zaHJpbms6IDA7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgMTcuIEZPT1RFUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNncC1zaXRlLWZvb3RlciB7CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJhZGlhbC1ncmFkaWVudCgKICAgICAgICAgICAgY2lyY2xlIGF0IDUyJSAwJSwKICAgICAgICAgICAgcmdiYSgxODcsMTM3LDAsLjEyKSwKICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzMlCiAgICAgICAgKSwKICAgICAgICAjMDgwODA4OwoKICAgIGNvbG9yOiB3aGl0ZTsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1tYWluIHsKICAgIHBhZGRpbmc6IDcycHggMCA1MnB4Owp9CgojZ3Atc2l0ZSAuZ3AtZm9vdGVyLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4zZnIgLjdmciAuOGZyOwoKICAgIGdhcDogNjVweDsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1sb2dvIHsKICAgIHdpZHRoOiAxOTVweDsKCiAgICBtYXJnaW4tYm90dG9tOiAyM3B4Owp9CgojZ3Atc2l0ZSAuZ3AtZm9vdGVyLWFib3V0IHsKICAgIG1heC13aWR0aDogNDgwcHg7CgogICAgY29sb3I6ICNiZGJkYmQ7CgogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGluZS1oZWlnaHQ6IDEuODsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci10aXRsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAyMXB4OwoKICAgIGNvbG9yOiB3aGl0ZTsKCiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogODAwOwoKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsZXR0ZXItc3BhY2luZzogLjhweDsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1saW5rcyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiAxMXB4Owp9CgojZ3Atc2l0ZSAuZ3AtZm9vdGVyLWxpbmtzIGEgewogICAgY29sb3I6ICNjOGM4Yzg7CgogICAgZm9udC1zaXplOiAxM3B4OwoKICAgIHRyYW5zaXRpb246IGNvbG9yIC4yczsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1saW5rcyBhOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1nb2xkLWxpZ2h0KTsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1jb250YWN0IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDE2cHg7Cn0KCiNncC1zaXRlIC5ncC1mb290ZXItY29udGFjdC1pdGVtIHsKICAgIGNvbG9yOiAjY2NjOwoKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7Cn0KCiNncC1zaXRlIC5ncC1mb290ZXItY29udGFjdC1pdGVtIHN0cm9uZyB7CiAgICBkaXNwbGF5OiBibG9jazsKCiAgICBtYXJnaW4tYm90dG9tOiAzcHg7CgogICAgY29sb3I6IHdoaXRlOwp9CgojZ3Atc2l0ZSAuZ3AtZm9vdGVyLWJvdHRvbSB7CiAgICBwYWRkaW5nOiAyMnB4IDA7CgogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyMDIwMjA7Cn0KCiNncC1zaXRlIC5ncC1mb290ZXItYm90dG9tLWlubmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CgogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCiAgICBnYXA6IDMwcHg7CgogICAgY29sb3I6ICM4Njg2ODY7CgogICAgZm9udC1zaXplOiAxMXB4Owp9CgojZ3Atc2l0ZSAuZ3AtZm9vdGVyLWJvdHRvbS1saW5rcyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwoKICAgIGdhcDogMThweDsKfQoKI2dwLXNpdGUgLmdwLWZvb3Rlci1ib3R0b20tbGlua3MgYTpob3ZlciB7CiAgICBjb2xvcjogd2hpdGU7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgMTguIEZMT0FUSU5HIFdIQVRTQVBQCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI2dwLXNpdGUgLmdwLXdhLWZsb2F0aW5nIHsKICAgIHdpZHRoOiA1OHB4OwogICAgaGVpZ2h0OiA1OHB4OwoKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHJpZ2h0OiAyNXB4OwogICAgYm90dG9tOiAyNXB4OwogICAgei1pbmRleDogMTUwOwoKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBwbGFjZS1pdGVtczogY2VudGVyOwoKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKCiAgICBiYWNrZ3JvdW5kOiAjMjVkMzY2OwogICAgY29sb3I6IHdoaXRlOwoKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCA4cHggMjVweCByZ2JhKDAsMCwwLC4xOCk7CgogICAgZm9udC1zaXplOiAyM3B4OwogICAgZm9udC13ZWlnaHQ6IDkwMDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxOS4gUkVTUE9OU0lWRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkBtZWRpYSAobWF4LXdpZHRoOiAxMDIwcHgpIHsKCiAgICAjZ3Atc2l0ZSAuZ3AtbmF2IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgICNncC1zaXRlIC5ncC1jYWxsLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3AtbWVudS10b2dnbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKICAgICNncC1zaXRlIC5ncC1oZWFkZXItaW5uZXIgewogICAgICAgIG1pbi1oZWlnaHQ6IDkxcHg7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWxvZ28gewogICAgICAgIHdpZHRoOiAxNDVweDsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3AtaGVyby1ncmlkLAogICAgI2dwLXNpdGUgLmdwLWludHJvLWdyaWQsCiAgICAjZ3Atc2l0ZSAuZ3AtY3VzdG9tLWdyaWQsCiAgICAjZ3Atc2l0ZSAuZ3AtbG9jYWwtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CgogICAgICAgIGdhcDogNDJweDsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3AtaGVyby1pbWFnZSB7CiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKCiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3Atc2VydmljZXMgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWZsZWV0LAogICAgI2dwLXNpdGUgLmdwLWJlbmVmaXRzLAogICAgI2dwLXNpdGUgLmdwLXJldmlld3MgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgICNncC1zaXRlIC5ncC10cmFpbGVycyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWZvb3Rlci1ncmlkIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICB9Cn0KCgpAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHsKCiAgICBib2R5LmFkbWluLWJhciAjZ3Atc2l0ZS1oZWFkZXIgewogICAgICAgIHRvcDogNDZweDsKICAgIH0KCn0KCgpAbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHsKCiAgICAjZ3Atc2l0ZSAuZ3AtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLXNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDY0cHggMDsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3AtdG9wYmFyIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgICNncC1zaXRlIC5ncC1oZWFkZXItaW5uZXIgewogICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWxvZ28gewogICAgICAgIHdpZHRoOiAxMzJweDsKICAgIH0KCiAgICAjZ3Atc2l0ZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiAzOXB4OwoKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEuNXB4OwogICAgfQoKICAgICNncC1zaXRlIGgyIHsKICAgICAgICBmb250LXNpemU6IDMwcHg7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWhlcm8gewogICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWhlcm8tY29weSB7CiAgICAgICAgcGFkZGluZzogNjVweCAwIDI1cHg7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWhlcm8gcCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgICNncC1zaXRlIC5ncC1zZXJ2aWNlcyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLXRyYWlsZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgI2dwLXNpdGUgLmdwLWZpbmFsLWdyaWQgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CgogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQoKICAgICNncC1zaXRlIC5ncC1mb290ZXItZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CgogICAgICAgIGdhcDogNDBweDsKICAgIH0KCiAgICAjZ3Atc2l0ZSAuZ3AtZm9vdGVyLWJvdHRvbS1pbm5lciB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9Cgp9Cjwvc3R5bGU+CgoKPGRpdiBpZD0iZ3Atc2l0ZSI+CgogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBUT1AgQkFSCiAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKICAgIDxkaXYgY2xhc3M9ImdwLXRvcGJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY29udGFpbmVyIGdwLXRvcGJhci1pbm5lciI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC10b3BiYXItbGVmdCI+CgogICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtdG9wLWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9tYXBzLmFwcC5nb28uZ2wvQTU3dXY1eUIzVUNnZkFvTjkiCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgcmVsPSJub29wZW5lciIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDJhNyA3IDAgMCAwLTcgN2MwIDUgNyAxMyA3IDEzczctOCA3LTEzYTcgNyAwIDAgMC03LTd6bTAgOS41QTIuNSAyLjUgMCAxIDEgMTIgNmEyLjUgMi41IDAgMCAxIDAgNS41eiIvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgoKICAgICAgICAgICAgICAgICAgICBWaWEgVHJlbnRvIDcwLCAzODAxNyBNZXp6b2xvbWJhcmRvIFROCiAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtdG9wLWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmluZm9AZ3BhdXRvMjQuaXQiCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgaW5mb0BncGF1dG8yNC5pdAogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC10b3AtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgRG9t4oCTVmVuIDA5OjAw4oCTMTc6MDAgwrcgU2FiIDA4OjAw4oCTMTc6MDAKICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGNsYXNzPSJncC10b3AtaXRlbSBncC10b3Atd2EiCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3dhLm1lLzM5MzQ5NDMwOTI5MyIKICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgcmVsPSJub29wZW5lciIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgQXNzaXN0ZW56YSBjbGllbnRpIDI0LzcKICAgICAgICAgICAgPC9hPgoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIEhFQURFUgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KCiAgICA8aGVhZGVyIGlkPSJncC1zaXRlLWhlYWRlciI+CgogICAgICAgIDxkaXYgY2xhc3M9ImdwLWNvbnRhaW5lciBncC1oZWFkZXItaW5uZXIiPgoKICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGNsYXNzPSJncC1sb2dvIgogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cuZ3BhdXRvMjQuaXQvIgogICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iR1AgQVVUTyBIb21lIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncGF1dG8yNC5pdC93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMC9sb2dvLW5lcm8tZ3BhdXRvLWUxNzU5NTAwNTg3NzM0LnBuZyIKICAgICAgICAgICAgICAgICAgICBhbHQ9IkdQIEFVVE8gbm9sZWdnaW8gYXV0byBlIGZ1cmdvbmkgTWV6em9sb21iYXJkbyBUcmVudG8iCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvYT4KCgogICAgICAgICAgICA8bmF2CiAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtbmF2IgogICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iTmF2aWdhemlvbmUgcHJpbmNpcGFsZSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI2hvbWUiPkhvbWU8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjbm9sZWdnaW8iPk5vbGVnZ2lvPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI2Zsb3R0YSI+VmVpY29saTwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNyaW1vcmNoaSI+Umltb3JjaGk8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjcmVjZW5zaW9uaSI+UmVjZW5zaW9uaTwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNjb250YXR0aSI+Q29udGF0dGk8L2E+CiAgICAgICAgICAgIDwvbmF2PgoKCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWhlYWRlci1hY3Rpb25zIj4KCiAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1jYWxsLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICBocmVmPSJ0ZWw6KzM5MzQ5NDMwOTI5MyIKICAgICAgICAgICAgICAgICAgICBkYXRhLWdwLWN0YT0iaGVhZGVyX2NhbGwiCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAg4piOIENISUFNQUNJIE9SQQogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLW1lbnUtdG9nZ2xlIgogICAgICAgICAgICAgICAgICAgIGlkPSJncC1tZW51LXRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJBcHJpIG1lbnUiCiAgICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KCgogICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9ImdwLW1vYmlsZS1uYXYiCiAgICAgICAgICAgIGlkPSJncC1tb2JpbGUtbmF2IgogICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtbW9iaWxlLW5hdi1pbm5lciI+CgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI2hvbWUiPkhvbWU8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjbm9sZWdnaW8iPk5vbGVnZ2lvPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI2Zsb3R0YSI+VmVpY29saTwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNyaW1vcmNoaSI+Umltb3JjaGk8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjcmVjZW5zaW9uaSI+UmVjZW5zaW9uaTwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNjb250YXR0aSI+Q29udGF0dGk8L2E+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICA8L2hlYWRlcj4KCgogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBNQUlOCiAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKICAgIDxtYWluPgoKICAgICAgICA8IS0tIEhFUk8gLS0+CgogICAgICAgIDxzZWN0aW9uCiAgICAgICAgICAgIGNsYXNzPSJncC1oZXJvIgogICAgICAgICAgICBpZD0iaG9tZSIKICAgICAgICA+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jb250YWluZXIgZ3AtaGVyby1ncmlkIj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1oZXJvLWNvcHkiPgoKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3Ata2lja2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyDCtyBNZXp6b2xvbWJhcmRvIChUTikKICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgIDxoMT4KICAgICAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gQXV0byBhIFRyZW50byBlIE1lenpvbG9tYmFyZG8KICAgICAgICAgICAgICAgICAgICA8L2gxPgoKICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgQ2VyY2hpIHVuIDxzdHJvbmc+YXV0b25vbGVnZ2lvIGEgVHJlbnRvPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgIG8gbmVpIGRpbnRvcm5pPwogICAgICAgICAgICAgICAgICAgICAgICBHUCBBVVRPIGhhIHNlZGUgaW4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5WaWEgVHJlbnRvIDcwIGEgTWV6em9sb21iYXJkbzwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICBlIG9mZnJlIGF1dG8sIGZ1cmdvbmksIHZhbiA5IHBvc3RpIGUgcmltb3JjaGkKICAgICAgICAgICAgICAgICAgICAgICAgYSBub2xlZ2dpbyBwZXIgcHJpdmF0aSwgcHJvZmVzc2lvbmlzdGkgZSBhemllbmRlLgogICAgICAgICAgICAgICAgICAgICAgICBDb211bmljYWNpIGRhdGUgZSBjaGlsb21ldHJpIHByZXZpc3RpOgogICAgICAgICAgICAgICAgICAgICAgICBwcmVwYXJpYW1vIHVuCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+cHJldmVudGl2byBwZXJzb25hbGl6emF0bzwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICBpbiBiYXNlIGFsbGUgdHVlIGVzaWdlbnplLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtYnV0dG9ucyI+CgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLWJ1dHRvbiBncC1idXR0b24tZ29sZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwb2ludHJlbnQubWF4YXBleC5uZXQvb3Jkcy9yL2FkbWluL2FwcG9pbnRyZW50L3ByZW5vdGEtb3JhP3AyMF9ma19hdHRpdml0YT0yNjI4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9Im5vb3BlbmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ncC1jdGE9Imhlcm9fYm9va2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSSUZJQ0EgRElTUE9OSUJJTElUw4AKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1idXR0b24gZ3AtYnV0dG9uLW91dGxpbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJ0ZWw6KzM5MzQ5NDMwOTI5MyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3AtY3RhPSJoZXJvX3Bob25lIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSSUNISUVESSBVTiBQUkVWRU5USVZPCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWhlcm8taW1hZ2UiPgoKICAgICAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3BhdXRvMjQuaXQvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvdm9sa3N3YWdlbi1zcXVhcmUucG5nIgogICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IlZvbGtzd2FnZW4gQ2FyYXZlbGxlIDkgcG9zdGkgYSBub2xlZ2dpbyBHUCBBVVRPIFRyZW50byBNZXp6b2xvbWJhcmRvIgogICAgICAgICAgICAgICAgICAgICAgICBmZXRjaHByaW9yaXR5PSJoaWdoIgogICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGluZz0iYXN5bmMiCiAgICAgICAgICAgICAgICAgICAgPgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1oZXJvLWNhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkFzc2lzdGVuemEgY2xpZW50aSAyNC83PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlhIFRyZW50byA3MCDCtyBNZXp6b2xvbWJhcmRvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8IS0tIElOVFJPIC0tPgoKICAgICAgICA8c2VjdGlvbgogICAgICAgICAgICBjbGFzcz0iZ3Atc2VjdGlvbiIKICAgICAgICAgICAgaWQ9Im5vbGVnZ2lvIgogICAgICAgID4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNvbnRhaW5lciBncC1pbnRyby1ncmlkIj4KCiAgICAgICAgICAgICAgICA8ZGl2PgoKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3Ata2lja2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgQXV0b25vbGVnZ2lvIGluIFRyZW50aW5vCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICA8aDI+CiAgICAgICAgICAgICAgICAgICAgICAgIEF1dG8gYSBub2xlZ2dpbyBwZXIgVHJlbnRvLAogICAgICAgICAgICAgICAgICAgICAgICBNZXp6b2xvbWJhcmRvIGUgbGEgUGlhbmEgUm90YWxpYW5hCiAgICAgICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgPGRpdj4KCiAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgIEdQIEFVVE8gw6ggdW4nCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+YWdlbnppYSBkaSBub2xlZ2dpbyBhdXRvIGEgTWV6em9sb21iYXJkbzwvc3Ryb25nPiwKICAgICAgICAgICAgICAgICAgICAgICAgaW4gcHJvdmluY2lhIGRpIFRyZW50bywgYXR0aXZhIGRhbCAyMDI0LgogICAgICAgICAgICAgICAgICAgICAgICBMYSBzZWRlIHNpIHRyb3ZhIGluIHVuYSBwb3NpemlvbmUgY29tb2RhCiAgICAgICAgICAgICAgICAgICAgICAgIHBlciBjaGkgYXJyaXZhIGRhCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmVudG8sIExhdmlzLCBNZXp6b2Nvcm9uYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbiBNaWNoZWxlIGFsbCdBZGlnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbCBkaSBOb24sIEFuZGFsbyBlIFBhZ2FuZWxsYQogICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz4uCiAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgT2ZmcmlhbW8KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5ub2xlZ2dpbyBhdXRvIHNlbnphIGNvbmR1Y2VudGU8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgcGVyIHVubyBvIHBpw7kgZ2lvcm5pIGUgcGVyIHBlcmlvZGkgcGnDuSBsdW5naGksCiAgICAgICAgICAgICAgICAgICAgICAgIGluc2llbWUgYSBmdXJnb25pIHBlciBsYXZvcm8gZSB0cmFzbG9jaGksCiAgICAgICAgICAgICAgICAgICAgICAgIHZlaWNvbGkgOSBwb3N0aSBwZXIgZmFtaWdsaWUgZSBncnVwcGkKICAgICAgICAgICAgICAgICAgICAgICAgZSByaW1vcmNoaSBwZXIgaWwgdHJhc3BvcnRvIGRpIGF1dG8sCiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmNpIGUgYXR0cmV6emF0dXJlLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atbm90aWNlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbCBwcmV2ZW50aXZvIHZpZW5lIGNvc3RydWl0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bGxlIHR1ZSByZWFsaSBlc2lnZW56ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kaWNhY2kgZGF0ZSwgZHVyYXRhIGUgY2hpbG9tZXRyaSBwcmV2aXN0aToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHV0ZXJlbW8gbWV6em8gZSBzb2x1emlvbmUgcGnDuSBhZGF0dGkuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBTRVJWSUNFUyAtLT4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImdwLXNlY3Rpb24gZ3AtbGlnaHQiPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY29udGFpbmVyIj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3Ata2lja2VyIj4KICAgICAgICAgICAgICAgICAgICBTZXJ2aXppIEdQIEFVVE8KICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICA8aDI+CiAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gYXV0bywgZnVyZ29uaSwKICAgICAgICAgICAgICAgICAgICA5IHBvc3RpIGUgcmltb3JjaGkKICAgICAgICAgICAgICAgIDwvaDI+CgogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgU29sdXppb25pIGRpIG1vYmlsaXTDoCBwZXIgcHJpdmF0aSwKICAgICAgICAgICAgICAgICAgICBhemllbmRlIGUgcHJvZmVzc2lvbmlzdGkgY2hlIGNlcmNhbm8KICAgICAgICAgICAgICAgICAgICB1biA8c3Ryb25nPm5vbGVnZ2lvIHZlaWNvbGkgaW4gcHJvdmluY2lhIGRpIFRyZW50bzwvc3Ryb25nPi4KICAgICAgICAgICAgICAgIDwvcD4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atc2VydmljZXMiPgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3Atc2VydmljZSI+CgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3AtbnVtYmVyIj4wMTwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbGVnZ2lvIGF1dG8gYnJldmUgdGVybWluZQogICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIHBlciB1bm8gbyBwacO5IGdpb3JuaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlZWtlbmQsIHZhY2FuemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpdGUgaW4gVHJlbnRpbm8gZSB0cmFzZmVydGUgZGkgbGF2b3JvLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCgogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJncC1zZXJ2aWNlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1udW1iZXIiPjAyPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gYXV0byBtZWRpbyBlIGx1bmdvIHRlcm1pbmUKICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXppb25pIHBlciBzZXR0aW1hbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gcGVyaW9kaSBwacO5IGx1bmdoaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbnNhdGUgcGVyIHByaXZhdGkgZSBhemllbmRlLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCgogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJncC1zZXJ2aWNlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1udW1iZXIiPjAzPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gZnVyZ29uaSBUcmVudG8gZSBNZXp6b2xvbWJhcmRvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CgogICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1cmdvbmkgcGVyIGxhdm9ybywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlZ25lLCB0cmFzcG9ydG8gbWF0ZXJpYWxpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmV6emF0dXJlIGUgdHJhc2xvY2hpLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCgogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJncC1zZXJ2aWNlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1udW1iZXIiPjA0PC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gdmFuIGUgbWluaWJ1cyA5IHBvc3RpCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CgogICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlaWNvbGkgc2VuemEgY29uZHVjZW50ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyIGZhbWlnbGllLCBncnVwcGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXRlLCB3ZWVrZW5kIGUgdHJhc2ZlcnRlLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8IS0tIFBSRVZFTlRJVk8gLS0+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJncC1zZWN0aW9uIGdwLWN1c3RvbSI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jb250YWluZXIgZ3AtY3VzdG9tLWdyaWQiPgoKICAgICAgICAgICAgICAgIDxkaXY+CgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1raWNrZXIiPgogICAgICAgICAgICAgICAgICAgICAgICBQcmV2ZW50aXZvIHBlcnNvbmFsaXp6YXRvCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICA8aDI+CiAgICAgICAgICAgICAgICAgICAgICAgIERpY2NpIHF1YW5kbyBwYXJ0aQogICAgICAgICAgICAgICAgICAgICAgICBlIHF1YW50aSBjaGlsb21ldHJpIGRldmkgZmFyZQogICAgICAgICAgICAgICAgICAgIDwvaDI+CgogICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICBJbCBwcmV6em8gZGVsIG5vbGVnZ2lvIGRpcGVuZGUKICAgICAgICAgICAgICAgICAgICAgICAgZGEgZHVyYXRhLCBtZXp6bywKICAgICAgICAgICAgICAgICAgICAgICAgY2hpbG9tZXRyYWdnaW8gZSBkaXNwb25pYmlsaXTDoC4KICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyB2YWx1dGEgb2duaSByaWNoaWVzdGEKICAgICAgICAgICAgICAgICAgICAgICAgc2luZ29sYXJtZW50ZSBwZXIgcHJvcG9ycmUKICAgICAgICAgICAgICAgICAgICAgICAgdW5hIHNvbHV6aW9uZSBjb2VyZW50ZQogICAgICAgICAgICAgICAgICAgICAgICBjb24gaWwgdmlhZ2dpbyBkYSBlZmZldHR1YXJlLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtYnV0dG9ucyI+CgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLWJ1dHRvbiBncC1idXR0b24tZ29sZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd2EubWUvMzkzNDk0MzA5MjkzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9Im5vb3BlbmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ncC1jdGE9InF1b3RlX3doYXRzYXBwIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSElFREkgVU4gUFJFVkVOVElWTwogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1zdGVwcyI+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXN0ZXAiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atc3RlcC1udW1iZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGljYSBsZSBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaXRpcm8sIHJpY29uc2VnbmEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlIGR1cmF0YSBwcmV2aXN0YS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atc3RlcCI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1zdGVwLW51bWJlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kaWNhIGkgY2hpbG9tZXRyaQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5hIHN0aW1hIGRlbCB0cmFnaXR0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFpdXRhIGEgY3JlYXJlIGlsIHByZXZlbnRpdm8uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXN0ZXAiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atc3RlcC1udW1iZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjZWdsaWFtbyBpbCBtZXp6bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0bywgZnVyZ29uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5IHBvc3RpIG8gcmltb3JjaGlvLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBGTEVFVCAtLT4KCiAgICAgICAgPHNlY3Rpb24KICAgICAgICAgICAgY2xhc3M9ImdwLXNlY3Rpb24iCiAgICAgICAgICAgIGlkPSJmbG90dGEiCiAgICAgICAgPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY29udGFpbmVyIj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3Ata2lja2VyIj4KICAgICAgICAgICAgICAgICAgICBGbG90dGEgYSBub2xlZ2dpbwogICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICBWZWljb2xpIGRpc3BvbmliaWxpCiAgICAgICAgICAgICAgICAgICAgcHJlc3NvIEdQIEFVVE8gTWV6em9sb21iYXJkbwogICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICBMYSBkaXNwb25pYmlsaXTDoCB2YXJpYSBuZWwgdGVtcG86CiAgICAgICAgICAgICAgICAgICAgdmVyaWZpY2Egb25saW5lIGlsIG1lenpvCiAgICAgICAgICAgICAgICAgICAgZGlzcG9uaWJpbGUgbmVsbGUgZGF0ZSByaWNoaWVzdGUuCiAgICAgICAgICAgICAgICA8L3A+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZsZWV0Ij4KCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9ImdwLWNhciI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jYXItaW1hZ2UiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEwL3ZvbGtzd2FnZW4tc3F1YXJlLnBuZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9Ik5vbGVnZ2lvIFZvbGtzd2FnZW4gQ2FyYXZlbGxlIDkgcG9zdGkgVHJlbnRvIE1lenpvbG9tYmFyZG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNhci1ib2R5Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jYXItdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFuIDkgcG9zdGkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWb2xrc3dhZ2VuIENhcmF2ZWxsZSA5IFBvc3RpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlaWNvbG8gOSBwb3N0aSBwZXIgZmFtaWdsaWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3J1cHBpLCBnaXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNmZXJ0ZSBlIHZpYWdnaS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb3RvcmUgdHVyYm9kaWVzZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FtYmlvIG1hbnVhbGUgZSBnYW5jaW8gdHJhaW5vLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLXRleHQtbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcG9pbnRyZW50Lm1heGFwZXgubmV0L29yZHMvci9hZG1pbi9hcHBvaW50cmVudC9wcmVub3RhLW9yYT9wMjBfZmtfYXR0aXZpdGE9MjYyOCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9Im5vb3BlbmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcmlmaWNhIGRpc3BvbmliaWxpdMOgIOKGkgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCgogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJncC1jYXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY2FyLWltYWdlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncGF1dG8yNC5pdC93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMC9Qcm9nZXR0by1zZW56YS10aXRvbG8tNDEucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iT3BlbCBGcm9udGVyYSA0eDQgbm9sZWdnaW8gTWV6em9sb21iYXJkbyBUcmVudG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNhci1ib2R5Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jYXItdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNMOXNCBjb24gZ2FuY2lvIHRyYWlubwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wZWwgRnJvbnRlcmEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVpY29sbyA0w5c0IGNvbiByaWRvdHRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBnYW5jaW8gdHJhaW5vLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BvbmliaWxlIGluIGJhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxlIGRhdGUgZSBhbGxlIG5lY2Vzc2l0w6AuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtdGV4dC1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InRlbDorMzkzNDk0MzA5MjkzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpY2hpZWRpIGluZm9ybWF6aW9uaSDihpIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3AtY2FyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNhci1pbWFnZSI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3BhdXRvMjQuaXQvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvZnVyZ29uY2luby1zcXVhcmUucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iRm9yZCBUcmFuc2l0IGZ1cmdvbmUgYSBub2xlZ2dpbyBUcmVudG8gTWV6em9sb21iYXJkbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY2FyLWJvZHkiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNhci10eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdXJnb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yZCBUcmFuc2l0IEZ1cmdvbmF0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdXJnb25lIHBlbnNhdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXIgbGF2b3JvLCBjb25zZWduZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFzcG9ydG8gbWF0ZXJpYWxpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJlenphdHVyZSBlIHRyYXNsb2NoaS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC10ZXh0LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBvaW50cmVudC5tYXhhcGV4Lm5ldC9vcmRzL3IvYWRtaW4vYXBwb2ludHJlbnQvcHJlbm90YS1vcmE/cDIwX2ZrX2F0dGl2aXRhPTI2MjgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPSJub29wZW5lciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJpZmljYSBkaXNwb25pYmlsaXTDoCDihpIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBUUkFJTEVSUyAtLT4KCiAgICAgICAgPHNlY3Rpb24KICAgICAgICAgICAgY2xhc3M9ImdwLXNlY3Rpb24gZ3AtbGlnaHQiCiAgICAgICAgICAgIGlkPSJyaW1vcmNoaSIKICAgICAgICA+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jb250YWluZXIiPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1raWNrZXIiPgogICAgICAgICAgICAgICAgICAgIFRyYXNwb3J0byBhdXRvIGUgY29zZQogICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICBOb2xlZ2dpbyByaW1vcmNoaQogICAgICAgICAgICAgICAgICAgIGEgVHJlbnRvIGUgTWV6em9sb21iYXJkbwogICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICBSaW1vcmNoaSBkZWRpY2F0aSBhbCB0cmFzcG9ydG8KICAgICAgICAgICAgICAgICAgICBkaSBhdXRvbW9iaWxpLCBtZXJjaSwKICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbGkgZSBhdHRyZXp6YXR1cmUsCiAgICAgICAgICAgICAgICAgICAgZGlzcG9uaWJpbGkgcHJlc3NvIGxhIHNlZGUgR1AgQVVUTy4KICAgICAgICAgICAgICAgIDwvcD4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtdHJhaWxlcnMiPgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3AtdHJhaWxlciI+CgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEwL3JpbW9yY2hpby5wbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IlJpbW9yY2hpbyBIdW1iYXVyIGEgbm9sZWdnaW8gdHJhc3BvcnRvIGNvc2UgVHJlbnRvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmltb3JjaGlvIEh1bWJhdXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9wcGlvIGFzc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXIgdHJhc3BvcnRvIG1lcmNpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsaSBlIGF0dHJlenphdHVyZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3AtdHJhaWxlciI+CgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEwL3JpbW9yY2hpbzIucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJSaW1vcmNoaW8gQ3Jlc2NpIHRyYXNwb3J0byBhdXRvIG5vbGVnZ2lvIFRyZW50byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbW9yY2hpbyBDcmVzY2kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFzcG9ydG8gQXV0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW1vcmNoaW8gYmFzY3VsYW50ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbiB2ZXJyaWNlbGxvIGRlZGljYXRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWwgdHJhc3BvcnRvIGRpIGF1dG9tb2JpbGkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvc2VjdGlvbj4KCgogICAgICAgIDwhLS0gV0hZIC0tPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZ3Atc2VjdGlvbiI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jb250YWluZXIiPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1raWNrZXIiPgogICAgICAgICAgICAgICAgICAgIFBlcmNow6kgR1AgQVVUTwogICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICBVbiBhdXRvbm9sZWdnaW8gdmljaW5vIGEgVHJlbnRvCiAgICAgICAgICAgICAgICAgICAgY29uIHVuIHJhcHBvcnRvIGRpcmV0dG8KICAgICAgICAgICAgICAgIDwvaDI+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWJlbmVmaXRzIj4KCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9ImdwLWJlbmVmaXQiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJldmVudGl2aSBwZXJzb25hbGl6emF0aQogICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdXJhdGEsIGNoaWxvbWV0cmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgbWV6em8gdmVuZ29ubyB2YWx1dGF0aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VsbGEgYmFzZSBkZWxsYSBzaW5nb2xhIHJpY2hpZXN0YS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3AtYmVuZWZpdCI+CgogICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZWljb2xpIGNvbnRyb2xsYXRpCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CgogICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhIGZsb3R0YSB2aWVuZSB2ZXJpZmljYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlIHByZXBhcmF0YSBwcmltYSBkZWwgbm9sZWdnaW8uCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9ImdwLWJlbmVmaXQiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXNzaXN0ZW56YSBjbGllbnRpIDI0LzcKICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2VyY2hpYW1vIGRpIHN1cHBvcnRhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlsIGNsaWVudGUgYW5jaGUgZnVvcmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhZ2xpIG9yYXJpIG9yZGluYXJpIGRlbGxhIHNlZGUuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvc2VjdGlvbj4KCgogICAgICAgIDwhLS0gUkVWSUVXUyAtLT4KCiAgICAgICAgPHNlY3Rpb24KICAgICAgICAgICAgY2xhc3M9ImdwLXNlY3Rpb24gZ3AtbGlnaHQiCiAgICAgICAgICAgIGlkPSJyZWNlbnNpb25pIgogICAgICAgID4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNvbnRhaW5lciI+CgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWtpY2tlciI+CiAgICAgICAgICAgICAgICAgICAgUmVjZW5zaW9uaQogICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICBDb3NhIGRpY29ubyBpIGNsaWVudGkgZGkgR1AgQVVUTwogICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICBFc3BlcmllbnplIHJlYWxpIGRpIGNsaWVudGkKICAgICAgICAgICAgICAgICAgICBjaGUgaGFubm8gdXRpbGl6emF0bwogICAgICAgICAgICAgICAgICAgIGlsIHNlcnZpemlvIGRpIG5vbGVnZ2lvCiAgICAgICAgICAgICAgICAgICAgbyBhY3F1aXN0YXRvIHVuIHZlaWNvbG8uCiAgICAgICAgICAgICAgICA8L3A+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXJldmlld3MiPgoKICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0iZ3AtcmV2aWV3Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXN0YXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKYheKYheKYheKYheKYhQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCcU2Vydml6aW8gZSBwZXJzb25hbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdGFtZW50ZSBxdWFsaWZpY2F0bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWNpc2kgZSBkaXNwb25pYmlsaS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElsIG1lenpvIG5vbGVnZ2lhdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyYSB0ZW51dG8gaW4gb3R0aW1lIGNvbmRpemlvbmku4oCdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXJldmlldy1uYW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhYnJpbmEgVC4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KCgogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJncC1yZXZpZXciPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3Atc3RhcnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg4piF4piF4piF4piF4piFCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDigJxBYmJpYW1vIG5vbGVnZ2lhdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlsIFZvbGtzd2FnZW4gQ2FyYXZlbGxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5IHBvc3RpIHBlciB1bmEgZ2l0YSBpbiBGcmFuY2lhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlIGFiYmlhbW8gdHJvdmF0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW4gbWV6em8gcGVyZmV0dG8u4oCdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLXJldmlldy1uYW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFydHVybyBLLgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9ImdwLXJldmlldyI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1zdGFycyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDimIXimIXimIXimIXimIUKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAnFByb2Zlc3Npb25hbGl0w6AgZSBkaXNwb25pYmlsaXTDoC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvbm8gc3RhdG8gc2VndWl0byBpbiB0dXR0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYW50ZSBsJ2FjcXVpc3RvIGRlbGwnYXV0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBtaSBzb25vIHRyb3ZhdG8gYmVuaXNzaW1vLuKAnQogICAgICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1yZXZpZXctbmFtZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMdWNhIFAuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBMT0NBVElPTiAtLT4KCiAgICAgICAgPHNlY3Rpb24KICAgICAgICAgICAgY2xhc3M9ImdwLXNlY3Rpb24gZ3AtbG9jYWwiCiAgICAgICAgICAgIGlkPSJjb250YXR0aSIKICAgICAgICA+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1jb250YWluZXIgZ3AtbG9jYWwtZ3JpZCI+CgogICAgICAgICAgICAgICAgPGRpdj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWtpY2tlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIERvdmUgc2lhbW8KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICAgICAgTm9sZWdnaW8gYXV0byBhIE1lenpvbG9tYmFyZG8sCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbW9kbyBhbmNoZSBwZXIgVHJlbnRvCiAgICAgICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgIEdQIEFVVE8gaGEgbGEgcHJvcHJpYQogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VkZSByZWFsZSBpbiBWaWEgVHJlbnRvIDcwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzgwMTcgTWV6em9sb21iYXJkbyAoVE4pCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Ryb25nPi4KICAgICAgICAgICAgICAgICAgICAgICAgRGEgcXVpIHNlcnZpYW1vIGNsaWVudGkgcHJvdmVuaWVudGkKICAgICAgICAgICAgICAgICAgICAgICAgZGFsbGEgUGlhbmEgUm90YWxpYW5hCiAgICAgICAgICAgICAgICAgICAgICAgIGUgZGEgZGl2ZXJzZSB6b25lCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGxhIHByb3ZpbmNpYSBkaSBUcmVudG8uCiAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgTWV6em9sb21iYXJkbyByYXBwcmVzZW50YQogICAgICAgICAgICAgICAgICAgICAgICB1biBwdW50byBjb21vZG8gcGVyIHJhZ2dpdW5nZXJlCiAgICAgICAgICAgICAgICAgICAgICAgIFRyZW50bywgTWV6em9jb3JvbmEsCiAgICAgICAgICAgICAgICAgICAgICAgIExhdmlzLCBTYW4gTWljaGVsZSBhbGwnQWRpZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgIFZhbCBkaSBOb24sIEFuZGFsbwogICAgICAgICAgICAgICAgICAgICAgICBlIGwnYXJlYSBkZWxsYSBQYWdhbmVsbGEuCiAgICAgICAgICAgICAgICAgICAgPC9wPgoKCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtYXJlYXMiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJlbnRvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lenpvbG9tYmFyZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV6em9jb3JvbmEKICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF2aXMKICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdwLWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FuIE1pY2hlbGUgYWxsJ0FkaWdlCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBpYW5hIFJvdGFsaWFuYQogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3AtYXJlYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWwgZGkgTm9uCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZGFsbwogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3AtYXJlYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWdhbmVsbGEKICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtYWRkcmVzcy1jYXJkIj4KCiAgICAgICAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgICAgICAgICBHUCBBVVRPIGRpIFBpc2V0dGEgR2lvdmFubmkKICAgICAgICAgICAgICAgICAgICA8L2gzPgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1hZGRyZXNzLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+U2VkZTwvc3Ryb25nPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgVmlhIFRyZW50byA3MCwKICAgICAgICAgICAgICAgICAgICAgICAgMzgwMTcgTWV6em9sb21iYXJkbyBUTgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1hZGRyZXNzLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+VGVsZWZvbm88L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InRlbDorMzkzNDk0MzA5MjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICszOSAzNDkgNDMwIDkyOTMKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1hZGRyZXNzLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+RW1haWw8L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzppbmZvQGdwYXV0bzI0Lml0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9AZ3BhdXRvMjQuaXQKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1hZGRyZXNzLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+T3Jhcmkgc2VkZTwvc3Ryb25nPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgRG9tZW5pY2HigJNWZW5lcmTDrDoKICAgICAgICAgICAgICAgICAgICAgICAgMDk6MDDigJMxNzowMDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgU2FiYXRvOgogICAgICAgICAgICAgICAgICAgICAgICAwODowMOKAkzE3OjAwCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWFkZHJlc3Mtcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzc2lzdGVuemEgY2xpZW50aQogICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDI0IG9yZSBzdSAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgNyBnaW9ybmkgc3UgNwogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1idXR0b25zIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtYnV0dG9uIGdwLWJ1dHRvbi1nb2xkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9tYXBzLmFwcC5nb28uZ2wvQTU3dXY1eUIzVUNnZkFvTjkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD0ibm9vcGVuZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElORElDQVpJT05JCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBGQVEgLS0+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJncC1zZWN0aW9uIj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNvbnRhaW5lciI+CgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPgoKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3Ata2lja2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgRG9tYW5kZSBmcmVxdWVudGkKICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICAgICAgRkFRIHN1bCBub2xlZ2dpbyBhdXRvCiAgICAgICAgICAgICAgICAgICAgICAgIGEgVHJlbnRvIGUgTWV6em9sb21iYXJkbwogICAgICAgICAgICAgICAgICAgIDwvaDI+CgogICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZhcSI+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZhcS1pdGVtIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1mYXEtcXVlc3Rpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvdmUgcG9zc28gbm9sZWdnaWFyZSB1bidhdXRvIHZpY2lubyBhIFRyZW50bz8KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtYW5zd2VyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUCBBVVRPIGhhIHNlZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBWaWEgVHJlbnRvIDcwIGEgTWV6em9sb21iYXJkbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBwcm92aW5jaWEgZGkgVHJlbnRvLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1b2kgdmVyaWZpY2FyZSBvbmxpbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYSBkaXNwb25pYmlsaXTDoAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgb3JnYW5penphcmUgaWwgcml0aXJvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZXR0YW1lbnRlIGluIHNlZGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtaXRlbSI+CgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtZmFxLXF1ZXN0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21lIHZpZW5lIGNhbGNvbGF0byBpbCBwcmV2ZW50aXZvPwogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZhcS1hbnN3ZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElsIHByZXZlbnRpdm8gdmllbmUgcHJlcGFyYXRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2lkZXJhbmRvIHRpcG9sb2dpYSBkaSBtZXp6bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlLCBkdXJhdGEgZGVsIG5vbGVnZ2lvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxvbWV0cmkgcHJldmlzdGkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlIGRpc3BvbmliaWxpdMOgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtZmFxLWl0ZW0iPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLWZhcS1xdWVzdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgw4ggcG9zc2liaWxlIG5vbGVnZ2lhcmUgdW4gZnVyZ29uZT8KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtYW5zd2VyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTw6wuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyBkaXNwb25lIGRpIGZ1cmdvbmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0dGkgYSBsYXZvcm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc3BvcnRvIGRpIG1hdGVyaWFsaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyZXp6YXR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VnbmUgZSB0cmFzbG9jaGkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtaXRlbSI+CgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3AtZmFxLXF1ZXN0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3NzbyBub2xlZ2dpYXJlIHVuIHZlaWNvbG8gOSBwb3N0aT8KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtYW5zd2VyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYSBmbG90dGEgY29tcHJlbmRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm9sa3N3YWdlbiBDYXJhdmVsbGUgOSBwb3N0aSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5zYXRhIHBlciBncnVwcGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWdsaWUsIGdpdGUgZSB0cmFzZmVydGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGEgZGlzcG9uaWJpbGl0w6AgZGV2ZSBlc3NlcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJpZmljYXRhIHBlciBsZSBkYXRlIHJpY2hpZXN0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZhcS1pdGVtIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1mYXEtcXVlc3Rpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOIIHBvc3NpYmlsZSBub2xlZ2dpYXJlIHVuIHJpbW9yY2hpbz8KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mYXEtYW5zd2VyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTw6wuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyBvZmZyZSByaW1vcmNoaQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlciB0cmFzcG9ydG8gYXV0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgdHJhc3BvcnRvIGNvc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhIGN1aSBDcmVzY2kgZSBIdW1iYXVyLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtZmFxLWl0ZW0iPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdwLWZhcS1xdWVzdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyDDqCBhcGVydG8gMjQgb3JlPwogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZhcS1hbnN3ZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhIHNlZGUgw6ggYXBlcnRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFsbGUgMDk6MDAgYWxsZSAxNzowMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbGxhIGRvbWVuaWNhIGFsIHZlbmVyZMOsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBkYWxsZSAwODowMCBhbGxlIDE3OjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWwgc2FiYXRvLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwnYXNzaXN0ZW56YSBjbGllbnRpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6ggaW52ZWNlIGRpc3BvbmliaWxlIDI0LzcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBDVEEgLS0+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJncC1maW5hbC1jdGEiPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY29udGFpbmVyIGdwLWZpbmFsLWdyaWQiPgoKICAgICAgICAgICAgICAgIDxkaXY+CgogICAgICAgICAgICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgICAgICAgICAgSGFpIGJpc29nbm8gZGkgdW4nYXV0bwogICAgICAgICAgICAgICAgICAgICAgICBvIGRpIHVuIGZ1cmdvbmU/CiAgICAgICAgICAgICAgICAgICAgPC9oMj4KCiAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgIEluZGljYSBkYXRlIGUgY2hpbG9tZXRyaQogICAgICAgICAgICAgICAgICAgICAgICBlIHRyb3ZhIGxhIHNvbHV6aW9uZSBHUCBBVVRPCiAgICAgICAgICAgICAgICAgICAgICAgIHBpw7kgYWRhdHRhIGFsIHR1byB2aWFnZ2lvLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1idXR0b24gZ3AtYnV0dG9uLWJsYWNrIgogICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwb2ludHJlbnQubWF4YXBleC5uZXQvb3Jkcy9yL2FkbWluL2FwcG9pbnRyZW50L3ByZW5vdGEtb3JhP3AyMF9ma19hdHRpdml0YT0yNjI4IgogICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgIHJlbD0ibm9vcGVuZXIiCiAgICAgICAgICAgICAgICAgICAgZGF0YS1ncC1jdGE9ImZpbmFsX2Jvb2tpbmciCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgUFJFTk9UQSBPTkxJTkUKICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L3NlY3Rpb24+CgogICAgPC9tYWluPgoKCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIEZPT1RFUgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KCiAgICA8Zm9vdGVyIGlkPSJncC1zaXRlLWZvb3RlciI+CgogICAgICAgIDxkaXYgY2xhc3M9ImdwLWZvb3Rlci1tYWluIj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWNvbnRhaW5lciBncC1mb290ZXItZ3JpZCI+CgogICAgICAgICAgICAgICAgPGRpdj4KCiAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cuZ3BhdXRvMjQuaXQvIgogICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJHUCBBVVRPIgogICAgICAgICAgICAgICAgICAgID4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncC1mb290ZXItbG9nbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3BhdXRvMjQuaXQvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvbG9nby1ncGF1dG8tZTE3NTk0OTczMTYzMzMucG5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJHUCBBVVRPIE1lenpvbG9tYmFyZG8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KCiAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZ3AtZm9vdGVyLWFib3V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgR1AgQVVUTyBkaSBQaXNldHRhIEdpb3Zhbm5pCiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnJlIG5vbGVnZ2lvIGF1dG8sCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1cmdvbmksIHZhbiA5IHBvc3RpCiAgICAgICAgICAgICAgICAgICAgICAgIGUgcmltb3JjaGkgYSBNZXp6b2xvbWJhcmRvLAogICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZW5kbyBjbGllbnRpIHByb3ZlbmllbnRpCiAgICAgICAgICAgICAgICAgICAgICAgIGRhIFRyZW50byBlIGRhbCB0ZXJyaXRvcmlvIGNpcmNvc3RhbnRlLgogICAgICAgICAgICAgICAgICAgICAgICBQcmV2ZW50aXZpIHBlcnNvbmFsaXp6YXRpCiAgICAgICAgICAgICAgICAgICAgICAgIGluIGJhc2UgYSBkdXJhdGEgZSBjaGlsb21ldHJpLgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgPGRpdj4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtZm9vdGVyLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgTmF2aWdhemlvbmUKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0iZ3AtZm9vdGVyLWxpbmtzIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNob21lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvbWUKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI25vbGVnZ2lvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbGVnZ2lvIGF1dG8KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2Zsb3R0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZWljb2xpCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNyaW1vcmNoaSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW1vcmNoaQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjcmVjZW5zaW9uaSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlbnNpb25pCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNjb250YXR0aSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YXR0aQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgIDwvbmF2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICA8ZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mb290ZXItdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBDb250YXR0aQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mb290ZXItY29udGFjdCI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncC1mb290ZXItY29udGFjdC1pdGVtIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbGVmb25vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ0ZWw6KzM5MzQ5NDMwOTI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzM5IDM0OSA0MzAgOTI5MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtZm9vdGVyLWNvbnRhY3QtaXRlbSI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbWFpbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmluZm9AZ3BhdXRvMjQuaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9AZ3BhdXRvMjQuaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZvb3Rlci1jb250YWN0LWl0ZW0iPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlhIFRyZW50byA3MDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM4MDE3IE1lenpvbG9tYmFyZG8gVE4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZvb3Rlci1jb250YWN0LWl0ZW0iPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JhcmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Ryb25nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbeKAk1ZlbiAwOTowMOKAkzE3OjAwPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FiIDA4OjAw4oCTMTc6MDAKCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KCgogICAgICAgIDxkaXYgY2xhc3M9ImdwLWZvb3Rlci1ib3R0b20iPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3AtY29udGFpbmVyIGdwLWZvb3Rlci1ib3R0b20taW5uZXIiPgoKICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgwqkgMjAyNiBHUCBBVVRPIGRpIFBpc2V0dGEgR2lvdmFubmkuCiAgICAgICAgICAgICAgICAgICAgVHV0dGkgaSBkaXJpdHRpIHJpc2VydmF0aS4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdwLWZvb3Rlci1ib3R0b20tbGlua3MiPgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJpdmFjeS1wb2xpY3kvIj4KICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeQogICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2Nvb2tpZS1wb2xpY3kvIj4KICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llCiAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL21hYmVuLml0LyIKICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD0ibm9vcGVuZXIiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBQb3dlcmVkIGJ5IE1hYmVuIFMuUi5MLgogICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KCiAgICA8L2Zvb3Rlcj4KCgogICAgPCEtLSBGTE9BVElORyBXSEFUU0FQUCAtLT4KCiAgICA8YQogICAgICAgIGNsYXNzPSJncC13YS1mbG9hdGluZyIKICAgICAgICBocmVmPSJodHRwczovL3dhLm1lLzM5MzQ5NDMwOTI5MyIKICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICByZWw9Im5vb3BlbmVyIgogICAgICAgIGFyaWEtbGFiZWw9IlNjcml2aSBhIEdQIEFVVE8gc3UgV2hhdHNBcHAiCiAgICAgICAgZGF0YS1ncC1jdGE9ImZsb2F0aW5nX3doYXRzYXBwIgogICAgPgogICAgICAgIFcKICAgIDwvYT4KCgogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBTQ0hFTUEgSlNPTi1MRAogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KCiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgewogICAgICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAgICAgIkBncmFwaCI6IFsKICAgICAgICB7CiAgICAgICAgICAiQHR5cGUiOiAiQXV0b1JlbnRhbCIsCiAgICAgICAgICAiQGlkIjogImh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0LyNncGF1dG8iLAogICAgICAgICAgIm5hbWUiOiAiR1AgQVVUTyIsCiAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0LyIsCiAgICAgICAgICAidGVsZXBob25lIjogIiszOTM0OTQzMDkyOTMiLAogICAgICAgICAgImVtYWlsIjogImluZm9AZ3BhdXRvMjQuaXQiLAogICAgICAgICAgImZvdW5kaW5nRGF0ZSI6ICIyMDI0IiwKICAgICAgICAgICJsb2dvIjogImh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEwL2xvZ28tbmVyby1ncGF1dG8tZTE3NTk1MDA1ODc3MzQucG5nIiwKICAgICAgICAgICJhZGRyZXNzIjogewogICAgICAgICAgICAiQHR5cGUiOiAiUG9zdGFsQWRkcmVzcyIsCiAgICAgICAgICAgICJzdHJlZXRBZGRyZXNzIjogIlZpYSBUcmVudG8gNzAiLAogICAgICAgICAgICAicG9zdGFsQ29kZSI6ICIzODAxNyIsCiAgICAgICAgICAgICJhZGRyZXNzTG9jYWxpdHkiOiAiTWV6em9sb21iYXJkbyIsCiAgICAgICAgICAgICJhZGRyZXNzUmVnaW9uIjogIlROIiwKICAgICAgICAgICAgImFkZHJlc3NDb3VudHJ5IjogIklUIgogICAgICAgICAgfSwKICAgICAgICAgICJhcmVhU2VydmVkIjogWwogICAgICAgICAgICAiTWV6em9sb21iYXJkbyIsCiAgICAgICAgICAgICJUcmVudG8iLAogICAgICAgICAgICAiTWV6em9jb3JvbmEiLAogICAgICAgICAgICAiTGF2aXMiLAogICAgICAgICAgICAiU2FuIE1pY2hlbGUgYWxsJ0FkaWdlIiwKICAgICAgICAgICAgIlBpYW5hIFJvdGFsaWFuYSIsCiAgICAgICAgICAgICJWYWwgZGkgTm9uIiwKICAgICAgICAgICAgIkFuZGFsbyIsCiAgICAgICAgICAgICJQYWdhbmVsbGEiCiAgICAgICAgICBdLAogICAgICAgICAgInNhbWVBcyI6IFsKICAgICAgICAgICAgImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9wcm9maWxlLnBocD9pZD02MTU3Mjk0NDk0MjQ4MSIKICAgICAgICAgIF0sCiAgICAgICAgICAib3BlbmluZ0hvdXJzU3BlY2lmaWNhdGlvbiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJAdHlwZSI6ICJPcGVuaW5nSG91cnNTcGVjaWZpY2F0aW9uIiwKICAgICAgICAgICAgICAiZGF5T2ZXZWVrIjogWwogICAgICAgICAgICAgICAgIlN1bmRheSIsCiAgICAgICAgICAgICAgICAiTW9uZGF5IiwKICAgICAgICAgICAgICAgICJUdWVzZGF5IiwKICAgICAgICAgICAgICAgICJXZWRuZXNkYXkiLAogICAgICAgICAgICAgICAgIlRodXJzZGF5IiwKICAgICAgICAgICAgICAgICJGcmlkYXkiCiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAib3BlbnMiOiAiMDk6MDAiLAogICAgICAgICAgICAgICJjbG9zZXMiOiAiMTc6MDAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiQHR5cGUiOiAiT3BlbmluZ0hvdXJzU3BlY2lmaWNhdGlvbiIsCiAgICAgICAgICAgICAgImRheU9mV2VlayI6IFsKICAgICAgICAgICAgICAgICJTYXR1cmRheSIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJvcGVucyI6ICIwODowMCIsCiAgICAgICAgICAgICAgImNsb3NlcyI6ICIxNzowMCIKICAgICAgICAgICAgfQogICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjogIldlYlBhZ2UiLAogICAgICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5ncGF1dG8yNC5pdC9ub2xlZ2dpby1hdXRvLXRyZW50by8jd2VicGFnZSIsCiAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0L25vbGVnZ2lvLWF1dG8tdHJlbnRvLyIsCiAgICAgICAgICAibmFtZSI6ICJOb2xlZ2dpbyBBdXRvIFRyZW50byBlIE1lenpvbG9tYmFyZG8gfCBHUCBBVVRPIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOb2xlZ2dpbyBhdXRvIGEgVHJlbnRvIGUgTWV6em9sb21iYXJkbyBjb24gR1AgQVVUTy4gQXV0bywgZnVyZ29uaSwgdmFuIDkgcG9zdGkgZSByaW1vcmNoaS4gUHJldmVudGl2aSBwZXJzb25hbGl6emF0aSBpbiBiYXNlIGEgZ2lvcm5pIGUgY2hpbG9tZXRyaS4iLAogICAgICAgICAgImFib3V0IjogewogICAgICAgICAgICAiQGlkIjogImh0dHBzOi8vd3d3LmdwYXV0bzI0Lml0LyNncGF1dG8iCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBdCiAgICB9CiAgICA8L3NjcmlwdD4KCjwvZGl2PgoKCjxzY3JpcHQ+CihmdW5jdGlvbiAoKSB7CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBNT0JJTEUgTUVOVQogICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogICAgY29uc3QgbWVudUJ1dHRvbiA9CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dwLW1lbnUtdG9nZ2xlJyk7CgogICAgY29uc3QgbW9iaWxlTWVudSA9CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dwLW1vYmlsZS1uYXYnKTsKCiAgICBpZiAobWVudUJ1dHRvbiAmJiBtb2JpbGVNZW51KSB7CgogICAgICAgIG1lbnVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigKICAgICAgICAgICAgJ2NsaWNrJywKICAgICAgICAgICAgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIGNvbnN0IG9wZW4gPQogICAgICAgICAgICAgICAgICAgIG1vYmlsZU1lbnUuY2xhc3NMaXN0LnRvZ2dsZSgnaXMtb3BlbicpOwoKICAgICAgICAgICAgICAgIG1lbnVCdXR0b24uc2V0QXR0cmlidXRlKAogICAgICAgICAgICAgICAgICAgICdhcmlhLWV4cGFuZGVkJywKICAgICAgICAgICAgICAgICAgICBvcGVuID8gJ3RydWUnIDogJ2ZhbHNlJwogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIH0KICAgICAgICApOwoKCiAgICAgICAgbW9iaWxlTWVudQogICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnYScpCiAgICAgICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uIChsaW5rKSB7CgogICAgICAgICAgICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKAogICAgICAgICAgICAgICAgICAgICdjbGljaycsCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgbW9iaWxlTWVudQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNsYXNzTGlzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZSgnaXMtb3BlbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldEF0dHJpYnV0ZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJpYS1leHBhbmRlZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhbHNlJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIH0pOwoKICAgIH0KCgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBGQVEKICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAgIGRvY3VtZW50CiAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAgICAgICAgICcjZ3Atc2l0ZSAuZ3AtZmFxLXF1ZXN0aW9uJwogICAgICAgICkKICAgICAgICAuZm9yRWFjaChmdW5jdGlvbiAoYnV0dG9uKSB7CgogICAgICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigKICAgICAgICAgICAgICAgICdjbGljaycsCiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPQogICAgICAgICAgICAgICAgICAgICAgICBidXR0b24uY2xvc2VzdCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuZ3AtZmFxLWl0ZW0nCiAgICAgICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGNvbnN0IGFuc3dlciA9CiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ucXVlcnlTZWxlY3RvcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuZ3AtZmFxLWFuc3dlcicKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeU9wZW4gPQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNsYXNzTGlzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRhaW5zKCdpcy1vcGVuJyk7CgoKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudAogICAgICAgICAgICAgICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjZ3Atc2l0ZSAuZ3AtZmFxLWl0ZW0nCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goZnVuY3Rpb24gKG90aGVyKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuY2xhc3NMaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZSgnaXMtb3BlbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyQW5zd2VyID0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5xdWVyeVNlbGVjdG9yKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLmdwLWZhcS1hbnN3ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3RoZXJBbnN3ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlckFuc3dlci5zdHlsZS5tYXhIZWlnaHQgPQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgoKICAgICAgICAgICAgICAgICAgICBpZiAoIWFscmVhZHlPcGVuKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNsYXNzTGlzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZCgnaXMtb3BlbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLnN0eWxlLm1heEhlaWdodCA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIuc2Nyb2xsSGVpZ2h0ICsgJ3B4JzsKCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgfSk7CgoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgU01PT1RIIEFOQ0hPUlMKICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAgIGRvY3VtZW50CiAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAgICAgICAgICcjZ3Atc2l0ZSBhW2hyZWZePSIjIl0nCiAgICAgICAgKQogICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uIChsaW5rKSB7CgogICAgICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoCiAgICAgICAgICAgICAgICAnY2xpY2snLAogICAgICAgICAgICAgICAgZnVuY3Rpb24gKGV2ZW50KSB7CgogICAgICAgICAgICAgICAgICAgIGNvbnN0IGlkID0KICAgICAgICAgICAgICAgICAgICAgICAgbGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpZCB8fCBpZCA9PT0gJyMnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoaWQpOwoKICAgICAgICAgICAgICAgICAgICBpZiAoIXRhcmdldCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPQogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdncC1zaXRlLWhlYWRlcicKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0KICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGhlYWRlci5vZmZzZXRIZWlnaHQgKyAxNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNTsKCiAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9CiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9wCiAgICAgICAgICAgICAgICAgICAgICAgICsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIC0KICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OwoKICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oewogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHksCiAgICAgICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgfSk7CgoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgQ1RBIEVWRU5UUwogICAgICAgQ29tcGF0aWJpbGUgY29uIGRhdGFMYXllciAvIEdUTQogICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgogICAgZG9jdW1lbnQKICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgKICAgICAgICAgICAgJyNncC1zaXRlIFtkYXRhLWdwLWN0YV0nCiAgICAgICAgKQogICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uIChsaW5rKSB7CgogICAgICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoCiAgICAgICAgICAgICAgICAnY2xpY2snLAogICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGF0YUxheWVyID0KICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhdGFMYXllciB8fCBbXTsKCiAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhdGFMYXllci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdncF9jdGFfY2xpY2snLAogICAgICAgICAgICAgICAgICAgICAgICBncF9jdGE6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLmdldEF0dHJpYnV0ZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS1ncC1jdGEnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBncF9wYWdlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vbGVnZ2lvX2F1dG9fdHJlbnRvJwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgfSk7Cgp9KSgpOwo8L3NjcmlwdD4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]