matrix-react-sdk
Version:
SDK for matrix.org using React
574 lines (571 loc) • 79.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MAC_ONLY_SHORTCUTS = exports.KeyBindingAction = exports.KEY_ICON = exports.KEYBOARD_SHORTCUTS = exports.DIGITS = exports.DESKTOP_SHORTCUTS = exports.CategoryName = exports.CATEGORIES = exports.ALTERNATE_KEY_NAME = void 0;
var _languageHandler = require("../languageHandler");
var _Keyboard = require("../Keyboard");
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
let KeyBindingAction = exports.KeyBindingAction = /*#__PURE__*/function (KeyBindingAction) {
KeyBindingAction["SendMessage"] = "KeyBinding.sendMessageInComposer";
KeyBindingAction["SelectPrevSendHistory"] = "KeyBinding.previousMessageInComposerHistory";
KeyBindingAction["SelectNextSendHistory"] = "KeyBinding.nextMessageInComposerHistory";
KeyBindingAction["EditPrevMessage"] = "KeyBinding.editPreviousMessage";
KeyBindingAction["EditNextMessage"] = "KeyBinding.editNextMessage";
KeyBindingAction["CancelReplyOrEdit"] = "KeyBinding.cancelReplyInComposer";
KeyBindingAction["ShowStickerPicker"] = "KeyBinding.showStickerPicker";
KeyBindingAction["FormatBold"] = "KeyBinding.toggleBoldInComposer";
KeyBindingAction["FormatItalics"] = "KeyBinding.toggleItalicsInComposer";
KeyBindingAction["FormatLink"] = "KeyBinding.FormatLink";
KeyBindingAction["FormatCode"] = "KeyBinding.FormatCode";
KeyBindingAction["FormatQuote"] = "KeyBinding.toggleQuoteInComposer";
KeyBindingAction["EditUndo"] = "KeyBinding.editUndoInComposer";
KeyBindingAction["EditRedo"] = "KeyBinding.editRedoInComposer";
KeyBindingAction["NewLine"] = "KeyBinding.newLineInComposer";
KeyBindingAction["MoveCursorToStart"] = "KeyBinding.jumpToStartInComposer";
KeyBindingAction["MoveCursorToEnd"] = "KeyBinding.jumpToEndInComposer";
KeyBindingAction["CompleteAutocomplete"] = "KeyBinding.completeAutocomplete";
KeyBindingAction["ForceCompleteAutocomplete"] = "KeyBinding.forceCompleteAutocomplete";
KeyBindingAction["PrevSelectionInAutocomplete"] = "KeyBinding.previousOptionInAutoComplete";
KeyBindingAction["NextSelectionInAutocomplete"] = "KeyBinding.nextOptionInAutoComplete";
KeyBindingAction["CancelAutocomplete"] = "KeyBinding.cancelAutoComplete";
KeyBindingAction["ClearRoomFilter"] = "KeyBinding.clearRoomFilter";
KeyBindingAction["PrevRoom"] = "KeyBinding.downerRoom";
KeyBindingAction["NextRoom"] = "KeyBinding.upperRoom";
KeyBindingAction["SelectRoomInRoomList"] = "KeyBinding.selectRoomInRoomList";
KeyBindingAction["CollapseRoomListSection"] = "KeyBinding.collapseSectionInRoomList";
KeyBindingAction["ExpandRoomListSection"] = "KeyBinding.expandSectionInRoomList";
KeyBindingAction["ScrollUp"] = "KeyBinding.scrollUpInTimeline";
KeyBindingAction["ScrollDown"] = "KeyBinding.scrollDownInTimeline";
KeyBindingAction["DismissReadMarker"] = "KeyBinding.dismissReadMarkerAndJumpToBottom";
KeyBindingAction["JumpToOldestUnread"] = "KeyBinding.jumpToOldestUnreadMessage";
KeyBindingAction["UploadFile"] = "KeyBinding.uploadFileToRoom";
KeyBindingAction["SearchInRoom"] = "KeyBinding.searchInRoom";
KeyBindingAction["JumpToFirstMessage"] = "KeyBinding.jumpToFirstMessageInTimeline";
KeyBindingAction["JumpToLatestMessage"] = "KeyBinding.jumpToLastMessageInTimeline";
KeyBindingAction["FilterRooms"] = "KeyBinding.filterRooms";
KeyBindingAction["ToggleSpacePanel"] = "KeyBinding.toggleSpacePanel";
KeyBindingAction["ToggleRoomSidePanel"] = "KeyBinding.toggleRightPanel";
KeyBindingAction["ToggleUserMenu"] = "KeyBinding.toggleTopLeftMenu";
KeyBindingAction["ShowKeyboardSettings"] = "KeyBinding.showKeyBindingsSettings";
KeyBindingAction["GoToHome"] = "KeyBinding.goToHomeView";
KeyBindingAction["SelectPrevRoom"] = "KeyBinding.previousRoom";
KeyBindingAction["SelectNextRoom"] = "KeyBinding.nextRoom";
KeyBindingAction["SelectPrevUnreadRoom"] = "KeyBinding.previousUnreadRoom";
KeyBindingAction["SelectNextUnreadRoom"] = "KeyBinding.nextUnreadRoom";
KeyBindingAction["SwitchToSpaceByNumber"] = "KeyBinding.switchToSpaceByNumber";
KeyBindingAction["OpenUserSettings"] = "KeyBinding.openUserSettings";
KeyBindingAction["PreviousVisitedRoomOrSpace"] = "KeyBinding.PreviousVisitedRoomOrSpace";
KeyBindingAction["NextVisitedRoomOrSpace"] = "KeyBinding.NextVisitedRoomOrSpace";
KeyBindingAction["NextLandmark"] = "KeyBinding.nextLandmark";
KeyBindingAction["PreviousLandmark"] = "KeyBinding.previousLandmark";
KeyBindingAction["ToggleMicInCall"] = "KeyBinding.toggleMicInCall";
KeyBindingAction["ToggleWebcamInCall"] = "KeyBinding.toggleWebcamInCall";
KeyBindingAction["Escape"] = "KeyBinding.escape";
KeyBindingAction["Enter"] = "KeyBinding.enter";
KeyBindingAction["Space"] = "KeyBinding.space";
KeyBindingAction["Backspace"] = "KeyBinding.backspace";
KeyBindingAction["Delete"] = "KeyBinding.delete";
KeyBindingAction["Home"] = "KeyBinding.home";
KeyBindingAction["End"] = "KeyBinding.end";
KeyBindingAction["ArrowLeft"] = "KeyBinding.arrowLeft";
KeyBindingAction["ArrowUp"] = "KeyBinding.arrowUp";
KeyBindingAction["ArrowRight"] = "KeyBinding.arrowRight";
KeyBindingAction["ArrowDown"] = "KeyBinding.arrowDown";
KeyBindingAction["Tab"] = "KeyBinding.tab";
KeyBindingAction["Comma"] = "KeyBinding.comma";
KeyBindingAction["ToggleHiddenEventVisibility"] = "KeyBinding.toggleHiddenEventVisibility";
return KeyBindingAction;
}({}); // TODO: We should figure out what to do with the keyboard shortcuts that are not handled by KeybindingManager
let CategoryName = exports.CategoryName = /*#__PURE__*/function (CategoryName) {
CategoryName["NAVIGATION"] = "Navigation";
CategoryName["ACCESSIBILITY"] = "Accessibility";
CategoryName["CALLS"] = "Calls";
CategoryName["COMPOSER"] = "Composer";
CategoryName["ROOM_LIST"] = "Room List";
CategoryName["ROOM"] = "Room";
CategoryName["AUTOCOMPLETE"] = "Autocomplete";
CategoryName["LABS"] = "Labs";
return CategoryName;
}({}); // Meta-key representing the digits [0-9] often found at the top of standard keyboard layouts
const DIGITS = exports.DIGITS = "digits";
const ALTERNATE_KEY_NAME = exports.ALTERNATE_KEY_NAME = {
[_Keyboard.Key.PAGE_UP]: (0, _languageHandler._td)("keyboard|page_up"),
[_Keyboard.Key.PAGE_DOWN]: (0, _languageHandler._td)("keyboard|page_down"),
[_Keyboard.Key.ESCAPE]: (0, _languageHandler._td)("keyboard|escape"),
[_Keyboard.Key.ENTER]: (0, _languageHandler._td)("keyboard|enter"),
[_Keyboard.Key.SPACE]: (0, _languageHandler._td)("keyboard|space"),
[_Keyboard.Key.HOME]: (0, _languageHandler._td)("keyboard|home"),
[_Keyboard.Key.END]: (0, _languageHandler._td)("keyboard|end"),
[_Keyboard.Key.ALT]: (0, _languageHandler._td)("keyboard|alt"),
[_Keyboard.Key.CONTROL]: (0, _languageHandler._td)("keyboard|control"),
[_Keyboard.Key.SHIFT]: (0, _languageHandler._td)("keyboard|shift"),
[DIGITS]: (0, _languageHandler._td)("keyboard|number")
};
const KEY_ICON = exports.KEY_ICON = {
[_Keyboard.Key.ARROW_UP]: "↑",
[_Keyboard.Key.ARROW_DOWN]: "↓",
[_Keyboard.Key.ARROW_LEFT]: "←",
[_Keyboard.Key.ARROW_RIGHT]: "→"
};
if (_Keyboard.IS_MAC) {
KEY_ICON[_Keyboard.Key.META] = "⌘";
KEY_ICON[_Keyboard.Key.ALT] = "⌥";
KEY_ICON[_Keyboard.Key.SHIFT] = "⇧";
}
const CATEGORIES = exports.CATEGORIES = {
[CategoryName.COMPOSER]: {
categoryLabel: (0, _languageHandler._td)("settings|preferences|composer_heading"),
settingNames: [KeyBindingAction.SendMessage, KeyBindingAction.NewLine, KeyBindingAction.FormatBold, KeyBindingAction.FormatItalics, KeyBindingAction.FormatQuote, KeyBindingAction.FormatLink, KeyBindingAction.FormatCode, KeyBindingAction.EditUndo, KeyBindingAction.EditRedo, KeyBindingAction.MoveCursorToStart, KeyBindingAction.MoveCursorToEnd, KeyBindingAction.CancelReplyOrEdit, KeyBindingAction.EditNextMessage, KeyBindingAction.EditPrevMessage, KeyBindingAction.SelectNextSendHistory, KeyBindingAction.SelectPrevSendHistory, KeyBindingAction.ShowStickerPicker]
},
[CategoryName.CALLS]: {
categoryLabel: (0, _languageHandler._td)("keyboard|category_calls"),
settingNames: [KeyBindingAction.ToggleMicInCall, KeyBindingAction.ToggleWebcamInCall]
},
[CategoryName.ROOM]: {
categoryLabel: (0, _languageHandler._td)("common|room"),
settingNames: [KeyBindingAction.SearchInRoom, KeyBindingAction.UploadFile, KeyBindingAction.DismissReadMarker, KeyBindingAction.JumpToOldestUnread, KeyBindingAction.ScrollUp, KeyBindingAction.ScrollDown, KeyBindingAction.JumpToFirstMessage, KeyBindingAction.JumpToLatestMessage]
},
[CategoryName.ROOM_LIST]: {
categoryLabel: (0, _languageHandler._td)("keyboard|category_room_list"),
settingNames: [KeyBindingAction.SelectRoomInRoomList, KeyBindingAction.ClearRoomFilter, KeyBindingAction.CollapseRoomListSection, KeyBindingAction.ExpandRoomListSection, KeyBindingAction.NextRoom, KeyBindingAction.PrevRoom]
},
[CategoryName.ACCESSIBILITY]: {
categoryLabel: (0, _languageHandler._td)("common|accessibility"),
settingNames: [KeyBindingAction.Escape, KeyBindingAction.Enter, KeyBindingAction.Space, KeyBindingAction.Backspace, KeyBindingAction.Delete, KeyBindingAction.Home, KeyBindingAction.End, KeyBindingAction.ArrowLeft, KeyBindingAction.ArrowUp, KeyBindingAction.ArrowRight, KeyBindingAction.ArrowDown, KeyBindingAction.Comma]
},
[CategoryName.NAVIGATION]: {
categoryLabel: (0, _languageHandler._td)("keyboard|category_navigation"),
settingNames: [KeyBindingAction.ToggleUserMenu, KeyBindingAction.ToggleRoomSidePanel, KeyBindingAction.ToggleSpacePanel, KeyBindingAction.ShowKeyboardSettings, KeyBindingAction.GoToHome, KeyBindingAction.FilterRooms, KeyBindingAction.SelectNextUnreadRoom, KeyBindingAction.SelectPrevUnreadRoom, KeyBindingAction.SelectNextRoom, KeyBindingAction.SelectPrevRoom, KeyBindingAction.OpenUserSettings, KeyBindingAction.SwitchToSpaceByNumber, KeyBindingAction.PreviousVisitedRoomOrSpace, KeyBindingAction.NextVisitedRoomOrSpace, KeyBindingAction.NextLandmark, KeyBindingAction.PreviousLandmark]
},
[CategoryName.AUTOCOMPLETE]: {
categoryLabel: (0, _languageHandler._td)("keyboard|category_autocomplete"),
settingNames: [KeyBindingAction.CancelAutocomplete, KeyBindingAction.NextSelectionInAutocomplete, KeyBindingAction.PrevSelectionInAutocomplete, KeyBindingAction.CompleteAutocomplete, KeyBindingAction.ForceCompleteAutocomplete]
},
[CategoryName.LABS]: {
categoryLabel: (0, _languageHandler._td)("common|labs"),
settingNames: [KeyBindingAction.ToggleHiddenEventVisibility]
}
};
const DESKTOP_SHORTCUTS = exports.DESKTOP_SHORTCUTS = [KeyBindingAction.OpenUserSettings, KeyBindingAction.SwitchToSpaceByNumber, KeyBindingAction.PreviousVisitedRoomOrSpace, KeyBindingAction.NextVisitedRoomOrSpace];
const MAC_ONLY_SHORTCUTS = exports.MAC_ONLY_SHORTCUTS = [KeyBindingAction.OpenUserSettings];
// This is very intentionally modelled after SETTINGS as it will make it easier
// to implement customizable keyboard shortcuts
// TODO: TravisR will fix this nightmare when the new version of the SettingsStore becomes a thing
// XXX: Exported for tests
const KEYBOARD_SHORTCUTS = exports.KEYBOARD_SHORTCUTS = {
[KeyBindingAction.FormatBold]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.B
},
displayName: (0, _languageHandler._td)("keyboard|composer_toggle_bold")
},
[KeyBindingAction.FormatItalics]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.I
},
displayName: (0, _languageHandler._td)("keyboard|composer_toggle_italics")
},
[KeyBindingAction.FormatQuote]: {
default: {
ctrlOrCmdKey: true,
shiftKey: true,
key: _Keyboard.Key.GREATER_THAN
},
displayName: (0, _languageHandler._td)("keyboard|composer_toggle_quote")
},
[KeyBindingAction.FormatCode]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.E
},
displayName: (0, _languageHandler._td)("keyboard|composer_toggle_code_block")
},
[KeyBindingAction.FormatLink]: {
default: {
ctrlOrCmdKey: true,
shiftKey: true,
key: _Keyboard.Key.L
},
displayName: (0, _languageHandler._td)("keyboard|composer_toggle_link")
},
[KeyBindingAction.CancelReplyOrEdit]: {
default: {
key: _Keyboard.Key.ESCAPE
},
displayName: (0, _languageHandler._td)("keyboard|cancel_reply")
},
[KeyBindingAction.EditNextMessage]: {
default: {
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|navigate_next_message_edit")
},
[KeyBindingAction.EditPrevMessage]: {
default: {
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|navigate_prev_message_edit")
},
[KeyBindingAction.MoveCursorToStart]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.HOME
},
displayName: (0, _languageHandler._td)("keyboard|composer_jump_start")
},
[KeyBindingAction.MoveCursorToEnd]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.END
},
displayName: (0, _languageHandler._td)("keyboard|composer_jump_end")
},
[KeyBindingAction.SelectNextSendHistory]: {
default: {
altKey: true,
ctrlKey: true,
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|composer_navigate_next_history")
},
[KeyBindingAction.SelectPrevSendHistory]: {
default: {
altKey: true,
ctrlKey: true,
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|composer_navigate_prev_history")
},
[KeyBindingAction.ShowStickerPicker]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.SEMICOLON
},
displayName: (0, _languageHandler._td)("keyboard|send_sticker")
},
[KeyBindingAction.ToggleMicInCall]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.D
},
displayName: (0, _languageHandler._td)("keyboard|toggle_microphone_mute")
},
[KeyBindingAction.ToggleWebcamInCall]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.E
},
displayName: (0, _languageHandler._td)("keyboard|toggle_webcam_mute")
},
[KeyBindingAction.DismissReadMarker]: {
default: {
key: _Keyboard.Key.ESCAPE
},
displayName: (0, _languageHandler._td)("keyboard|dismiss_read_marker_and_jump_bottom")
},
[KeyBindingAction.JumpToOldestUnread]: {
default: {
shiftKey: true,
key: _Keyboard.Key.PAGE_UP
},
displayName: (0, _languageHandler._td)("keyboard|jump_to_read_marker")
},
[KeyBindingAction.UploadFile]: {
default: {
ctrlOrCmdKey: true,
shiftKey: true,
key: _Keyboard.Key.U
},
displayName: (0, _languageHandler._td)("keyboard|upload_file")
},
[KeyBindingAction.ScrollUp]: {
default: {
key: _Keyboard.Key.PAGE_UP
},
displayName: (0, _languageHandler._td)("keyboard|scroll_up_timeline")
},
[KeyBindingAction.ScrollDown]: {
default: {
key: _Keyboard.Key.PAGE_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|scroll_down_timeline")
},
[KeyBindingAction.FilterRooms]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.K
},
displayName: (0, _languageHandler._td)("keyboard|jump_room_search")
},
[KeyBindingAction.SelectRoomInRoomList]: {
default: {
key: _Keyboard.Key.ENTER
},
displayName: (0, _languageHandler._td)("keyboard|room_list_select_room")
},
[KeyBindingAction.CollapseRoomListSection]: {
default: {
key: _Keyboard.Key.ARROW_LEFT
},
displayName: (0, _languageHandler._td)("keyboard|room_list_collapse_section")
},
[KeyBindingAction.ExpandRoomListSection]: {
default: {
key: _Keyboard.Key.ARROW_RIGHT
},
displayName: (0, _languageHandler._td)("keyboard|room_list_expand_section")
},
[KeyBindingAction.NextRoom]: {
default: {
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|room_list_navigate_down")
},
[KeyBindingAction.PrevRoom]: {
default: {
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|room_list_navigate_up")
},
[KeyBindingAction.ToggleUserMenu]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.BACKTICK
},
displayName: (0, _languageHandler._td)("keyboard|toggle_top_left_menu")
},
[KeyBindingAction.ToggleRoomSidePanel]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.PERIOD
},
displayName: (0, _languageHandler._td)("keyboard|toggle_right_panel")
},
[KeyBindingAction.ShowKeyboardSettings]: {
default: {
ctrlOrCmdKey: true,
key: _Keyboard.Key.SLASH
},
displayName: (0, _languageHandler._td)("keyboard|keyboard_shortcuts_tab")
},
[KeyBindingAction.GoToHome]: {
default: {
ctrlOrCmdKey: true,
altKey: !_Keyboard.IS_MAC,
shiftKey: _Keyboard.IS_MAC,
key: _Keyboard.Key.H
},
displayName: (0, _languageHandler._td)("keyboard|go_home_view")
},
[KeyBindingAction.SelectNextUnreadRoom]: {
default: {
shiftKey: true,
altKey: true,
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|next_unread_room")
},
[KeyBindingAction.SelectPrevUnreadRoom]: {
default: {
shiftKey: true,
altKey: true,
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|prev_unread_room")
},
[KeyBindingAction.SelectNextRoom]: {
default: {
altKey: true,
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|next_room")
},
[KeyBindingAction.SelectPrevRoom]: {
default: {
altKey: true,
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|prev_room")
},
[KeyBindingAction.CancelAutocomplete]: {
default: {
key: _Keyboard.Key.ESCAPE
},
displayName: (0, _languageHandler._td)("keyboard|autocomplete_cancel")
},
[KeyBindingAction.NextSelectionInAutocomplete]: {
default: {
key: _Keyboard.Key.ARROW_DOWN
},
displayName: (0, _languageHandler._td)("keyboard|autocomplete_navigate_next")
},
[KeyBindingAction.PrevSelectionInAutocomplete]: {
default: {
key: _Keyboard.Key.ARROW_UP
},
displayName: (0, _languageHandler._td)("keyboard|autocomplete_navigate_prev")
},
[KeyBindingAction.ToggleSpacePanel]: {
default: {
ctrlOrCmdKey: true,
shiftKey: true,
key: _Keyboard.Key.D
},
displayName: (0, _languageHandler._td)("keyboard|toggle_space_panel")
},
[KeyBindingAction.ToggleHiddenEventVisibility]: {
default: {
ctrlOrCmdKey: true,
shiftKey: true,
key: _Keyboard.Key.H
},
displayName: (0, _languageHandler._td)("keyboard|toggle_hidden_events")
},
[KeyBindingAction.JumpToFirstMessage]: {
default: {
key: _Keyboard.Key.HOME,
ctrlKey: true
},
displayName: (0, _languageHandler._td)("keyboard|jump_first_message")
},
[KeyBindingAction.JumpToLatestMessage]: {
default: {
key: _Keyboard.Key.END,
ctrlKey: true
},
displayName: (0, _languageHandler._td)("keyboard|jump_last_message")
},
[KeyBindingAction.EditUndo]: {
default: {
key: _Keyboard.Key.Z,
ctrlOrCmdKey: true
},
displayName: (0, _languageHandler._td)("keyboard|composer_undo")
},
[KeyBindingAction.EditRedo]: {
default: {
key: _Keyboard.IS_MAC ? _Keyboard.Key.Z : _Keyboard.Key.Y,
ctrlOrCmdKey: true,
shiftKey: _Keyboard.IS_MAC
},
displayName: (0, _languageHandler._td)("keyboard|composer_redo")
},
[KeyBindingAction.PreviousVisitedRoomOrSpace]: {
default: {
metaKey: _Keyboard.IS_MAC,
altKey: !_Keyboard.IS_MAC,
key: _Keyboard.IS_MAC ? _Keyboard.Key.SQUARE_BRACKET_LEFT : _Keyboard.Key.ARROW_LEFT
},
displayName: (0, _languageHandler._td)("keyboard|navigate_prev_history")
},
[KeyBindingAction.NextVisitedRoomOrSpace]: {
default: {
metaKey: _Keyboard.IS_MAC,
altKey: !_Keyboard.IS_MAC,
key: _Keyboard.IS_MAC ? _Keyboard.Key.SQUARE_BRACKET_RIGHT : _Keyboard.Key.ARROW_RIGHT
},
displayName: (0, _languageHandler._td)("keyboard|navigate_next_history")
},
[KeyBindingAction.SwitchToSpaceByNumber]: {
default: {
ctrlOrCmdKey: true,
key: DIGITS
},
displayName: (0, _languageHandler._td)("keyboard|switch_to_space")
},
[KeyBindingAction.OpenUserSettings]: {
default: {
metaKey: true,
key: _Keyboard.Key.COMMA
},
displayName: (0, _languageHandler._td)("keyboard|open_user_settings")
},
[KeyBindingAction.Escape]: {
default: {
key: _Keyboard.Key.ESCAPE
},
displayName: (0, _languageHandler._td)("keyboard|close_dialog_menu")
},
[KeyBindingAction.Enter]: {
default: {
key: _Keyboard.Key.ENTER
},
displayName: (0, _languageHandler._td)("keyboard|activate_button")
},
[KeyBindingAction.Space]: {
default: {
key: _Keyboard.Key.SPACE
}
},
[KeyBindingAction.Backspace]: {
default: {
key: _Keyboard.Key.BACKSPACE
}
},
[KeyBindingAction.Delete]: {
default: {
key: _Keyboard.Key.DELETE
}
},
[KeyBindingAction.Home]: {
default: {
key: _Keyboard.Key.HOME
}
},
[KeyBindingAction.End]: {
default: {
key: _Keyboard.Key.END
}
},
[KeyBindingAction.ArrowLeft]: {
default: {
key: _Keyboard.Key.ARROW_LEFT
}
},
[KeyBindingAction.ArrowUp]: {
default: {
key: _Keyboard.Key.ARROW_UP
}
},
[KeyBindingAction.ArrowRight]: {
default: {
key: _Keyboard.Key.ARROW_RIGHT
}
},
[KeyBindingAction.ArrowDown]: {
default: {
key: _Keyboard.Key.ARROW_DOWN
}
},
[KeyBindingAction.Comma]: {
default: {
key: _Keyboard.Key.COMMA
}
},
[KeyBindingAction.NextLandmark]: {
default: {
ctrlOrCmdKey: !_Keyboard.IS_ELECTRON,
key: _Keyboard.Key.F6
},
displayName: (0, _languageHandler._td)("keyboard|next_landmark")
},
[KeyBindingAction.PreviousLandmark]: {
default: {
ctrlOrCmdKey: !_Keyboard.IS_ELECTRON,
key: _Keyboard.Key.F6,
shiftKey: true
},
displayName: (0, _languageHandler._td)("keyboard|prev_landmark")
}
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGFuZ3VhZ2VIYW5kbGVyIiwicmVxdWlyZSIsIl9LZXlib2FyZCIsIktleUJpbmRpbmdBY3Rpb24iLCJleHBvcnRzIiwiQ2F0ZWdvcnlOYW1lIiwiRElHSVRTIiwiQUxURVJOQVRFX0tFWV9OQU1FIiwiS2V5IiwiUEFHRV9VUCIsIl90ZCIsIlBBR0VfRE9XTiIsIkVTQ0FQRSIsIkVOVEVSIiwiU1BBQ0UiLCJIT01FIiwiRU5EIiwiQUxUIiwiQ09OVFJPTCIsIlNISUZUIiwiS0VZX0lDT04iLCJBUlJPV19VUCIsIkFSUk9XX0RPV04iLCJBUlJPV19MRUZUIiwiQVJST1dfUklHSFQiLCJJU19NQUMiLCJNRVRBIiwiQ0FURUdPUklFUyIsIkNPTVBPU0VSIiwiY2F0ZWdvcnlMYWJlbCIsInNldHRpbmdOYW1lcyIsIlNlbmRNZXNzYWdlIiwiTmV3TGluZSIsIkZvcm1hdEJvbGQiLCJGb3JtYXRJdGFsaWNzIiwiRm9ybWF0UXVvdGUiLCJGb3JtYXRMaW5rIiwiRm9ybWF0Q29kZSIsIkVkaXRVbmRvIiwiRWRpdFJlZG8iLCJNb3ZlQ3Vyc29yVG9TdGFydCIsIk1vdmVDdXJzb3JUb0VuZCIsIkNhbmNlbFJlcGx5T3JFZGl0IiwiRWRpdE5leHRNZXNzYWdlIiwiRWRpdFByZXZNZXNzYWdlIiwiU2VsZWN0TmV4dFNlbmRIaXN0b3J5IiwiU2VsZWN0UHJldlNlbmRIaXN0b3J5IiwiU2hvd1N0aWNrZXJQaWNrZXIiLCJDQUxMUyIsIlRvZ2dsZU1pY0luQ2FsbCIsIlRvZ2dsZVdlYmNhbUluQ2FsbCIsIlJPT00iLCJTZWFyY2hJblJvb20iLCJVcGxvYWRGaWxlIiwiRGlzbWlzc1JlYWRNYXJrZXIiLCJKdW1wVG9PbGRlc3RVbnJlYWQiLCJTY3JvbGxVcCIsIlNjcm9sbERvd24iLCJKdW1wVG9GaXJzdE1lc3NhZ2UiLCJKdW1wVG9MYXRlc3RNZXNzYWdlIiwiUk9PTV9MSVNUIiwiU2VsZWN0Um9vbUluUm9vbUxpc3QiLCJDbGVhclJvb21GaWx0ZXIiLCJDb2xsYXBzZVJvb21MaXN0U2VjdGlvbiIsIkV4cGFuZFJvb21MaXN0U2VjdGlvbiIsIk5leHRSb29tIiwiUHJldlJvb20iLCJBQ0NFU1NJQklMSVRZIiwiRXNjYXBlIiwiRW50ZXIiLCJTcGFjZSIsIkJhY2tzcGFjZSIsIkRlbGV0ZSIsIkhvbWUiLCJFbmQiLCJBcnJvd0xlZnQiLCJBcnJvd1VwIiwiQXJyb3dSaWdodCIsIkFycm93RG93biIsIkNvbW1hIiwiTkFWSUdBVElPTiIsIlRvZ2dsZVVzZXJNZW51IiwiVG9nZ2xlUm9vbVNpZGVQYW5lbCIsIlRvZ2dsZVNwYWNlUGFuZWwiLCJTaG93S2V5Ym9hcmRTZXR0aW5ncyIsIkdvVG9Ib21lIiwiRmlsdGVyUm9vbXMiLCJTZWxlY3ROZXh0VW5yZWFkUm9vbSIsIlNlbGVjdFByZXZVbnJlYWRSb29tIiwiU2VsZWN0TmV4dFJvb20iLCJTZWxlY3RQcmV2Um9vbSIsIk9wZW5Vc2VyU2V0dGluZ3MiLCJTd2l0Y2hUb1NwYWNlQnlOdW1iZXIiLCJQcmV2aW91c1Zpc2l0ZWRSb29tT3JTcGFjZSIsIk5leHRWaXNpdGVkUm9vbU9yU3BhY2UiLCJOZXh0TGFuZG1hcmsiLCJQcmV2aW91c0xhbmRtYXJrIiwiQVVUT0NPTVBMRVRFIiwiQ2FuY2VsQXV0b2NvbXBsZXRlIiwiTmV4dFNlbGVjdGlvbkluQXV0b2NvbXBsZXRlIiwiUHJldlNlbGVjdGlvbkluQXV0b2NvbXBsZXRlIiwiQ29tcGxldGVBdXRvY29tcGxldGUiLCJGb3JjZUNvbXBsZXRlQXV0b2NvbXBsZXRlIiwiTEFCUyIsIlRvZ2dsZUhpZGRlbkV2ZW50VmlzaWJpbGl0eSIsIkRFU0tUT1BfU0hPUlRDVVRTIiwiTUFDX09OTFlfU0hPUlRDVVRTIiwiS0VZQk9BUkRfU0hPUlRDVVRTIiwiZGVmYXVsdCIsImN0cmxPckNtZEtleSIsImtleSIsIkIiLCJkaXNwbGF5TmFtZSIsIkkiLCJzaGlmdEtleSIsIkdSRUFURVJfVEhBTiIsIkUiLCJMIiwiYWx0S2V5IiwiY3RybEtleSIsIlNFTUlDT0xPTiIsIkQiLCJVIiwiSyIsIkJBQ0tUSUNLIiwiUEVSSU9EIiwiU0xBU0giLCJIIiwiWiIsIlkiLCJtZXRhS2V5IiwiU1FVQVJFX0JSQUNLRVRfTEVGVCIsIlNRVUFSRV9CUkFDS0VUX1JJR0hUIiwiQ09NTUEiLCJCQUNLU1BBQ0UiLCJERUxFVEUiLCJJU19FTEVDVFJPTiIsIkY2Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY2Vzc2liaWxpdHkvS2V5Ym9hcmRTaG9ydGN1dHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IF90ZCwgVHJhbnNsYXRpb25LZXkgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBJU19NQUMsIElTX0VMRUNUUk9OLCBLZXkgfSBmcm9tIFwiLi4vS2V5Ym9hcmRcIjtcbmltcG9ydCB7IElCYXNlU2V0dGluZyB9IGZyb20gXCIuLi9zZXR0aW5ncy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgS2V5Q29tYm8gfSBmcm9tIFwiLi4vS2V5QmluZGluZ3NNYW5hZ2VyXCI7XG5cbmV4cG9ydCBlbnVtIEtleUJpbmRpbmdBY3Rpb24ge1xuICAgIC8qKiBTZW5kIGEgbWVzc2FnZSAqL1xuICAgIFNlbmRNZXNzYWdlID0gXCJLZXlCaW5kaW5nLnNlbmRNZXNzYWdlSW5Db21wb3NlclwiLFxuICAgIC8qKiBHbyBiYWNrd2FyZHMgdGhyb3VnaCB0aGUgc2VuZCBoaXN0b3J5IGFuZCB1c2UgdGhlIG1lc3NhZ2UgaW4gY29tcG9zZXIgdmlldyAqL1xuICAgIFNlbGVjdFByZXZTZW5kSGlzdG9yeSA9IFwiS2V5QmluZGluZy5wcmV2aW91c01lc3NhZ2VJbkNvbXBvc2VySGlzdG9yeVwiLFxuICAgIC8qKiBHbyBmb3J3YXJkcyB0aHJvdWdoIHRoZSBzZW5kIGhpc3RvcnkgKi9cbiAgICBTZWxlY3ROZXh0U2VuZEhpc3RvcnkgPSBcIktleUJpbmRpbmcubmV4dE1lc3NhZ2VJbkNvbXBvc2VySGlzdG9yeVwiLFxuICAgIC8qKiBTdGFydCBlZGl0aW5nIHRoZSB1c2VyJ3MgbGFzdCBzZW50IG1lc3NhZ2UgKi9cbiAgICBFZGl0UHJldk1lc3NhZ2UgPSBcIktleUJpbmRpbmcuZWRpdFByZXZpb3VzTWVzc2FnZVwiLFxuICAgIC8qKiBTdGFydCBlZGl0aW5nIHRoZSB1c2VyJ3MgbmV4dCBzZW50IG1lc3NhZ2UgKi9cbiAgICBFZGl0TmV4dE1lc3NhZ2UgPSBcIktleUJpbmRpbmcuZWRpdE5leHRNZXNzYWdlXCIsXG4gICAgLyoqIENhbmNlbCBlZGl0aW5nIGEgbWVzc2FnZSBvciBjYW5jZWwgcmVwbHlpbmcgdG8gYSBtZXNzYWdlICovXG4gICAgQ2FuY2VsUmVwbHlPckVkaXQgPSBcIktleUJpbmRpbmcuY2FuY2VsUmVwbHlJbkNvbXBvc2VyXCIsXG4gICAgLyoqIFNob3cgdGhlIHN0aWNrZXIgcGlja2VyICovXG4gICAgU2hvd1N0aWNrZXJQaWNrZXIgPSBcIktleUJpbmRpbmcuc2hvd1N0aWNrZXJQaWNrZXJcIixcblxuICAgIC8qKiBTZXQgYm9sZCBmb3JtYXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uICovXG4gICAgRm9ybWF0Qm9sZCA9IFwiS2V5QmluZGluZy50b2dnbGVCb2xkSW5Db21wb3NlclwiLFxuICAgIC8qKiBTZXQgaXRhbGljcyBmb3JtYXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uICovXG4gICAgRm9ybWF0SXRhbGljcyA9IFwiS2V5QmluZGluZy50b2dnbGVJdGFsaWNzSW5Db21wb3NlclwiLFxuICAgIC8qKiBJbnNlcnQgbGluayBmb3IgY3VycmVudCBzZWxlY3Rpb24gKi9cbiAgICBGb3JtYXRMaW5rID0gXCJLZXlCaW5kaW5nLkZvcm1hdExpbmtcIixcbiAgICAvKiogU2V0IGNvZGUgZm9ybWF0IGZvciBjdXJyZW50IHNlbGVjdGlvbiAqL1xuICAgIEZvcm1hdENvZGUgPSBcIktleUJpbmRpbmcuRm9ybWF0Q29kZVwiLFxuICAgIC8qKiBGb3JtYXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGFzIHF1b3RlICovXG4gICAgRm9ybWF0UXVvdGUgPSBcIktleUJpbmRpbmcudG9nZ2xlUXVvdGVJbkNvbXBvc2VyXCIsXG4gICAgLyoqIFVuZG8gdGhlIGxhc3QgZWRpdGluZyAqL1xuICAgIEVkaXRVbmRvID0gXCJLZXlCaW5kaW5nLmVkaXRVbmRvSW5Db21wb3NlclwiLFxuICAgIC8qKiBSZWRvIGVkaXRpbmcgKi9cbiAgICBFZGl0UmVkbyA9IFwiS2V5QmluZGluZy5lZGl0UmVkb0luQ29tcG9zZXJcIixcbiAgICAvKiogSW5zZXJ0IG5ldyBsaW5lICovXG4gICAgTmV3TGluZSA9IFwiS2V5QmluZGluZy5uZXdMaW5lSW5Db21wb3NlclwiLFxuICAgIC8qKiBNb3ZlIHRoZSBjdXJzb3IgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtZXNzYWdlICovXG4gICAgTW92ZUN1cnNvclRvU3RhcnQgPSBcIktleUJpbmRpbmcuanVtcFRvU3RhcnRJbkNvbXBvc2VyXCIsXG4gICAgLyoqIE1vdmUgdGhlIGN1cnNvciB0byB0aGUgZW5kIG9mIHRoZSBtZXNzYWdlICovXG4gICAgTW92ZUN1cnNvclRvRW5kID0gXCJLZXlCaW5kaW5nLmp1bXBUb0VuZEluQ29tcG9zZXJcIixcblxuICAgIC8qKiBBY2NlcHRzIGNob3NlbiBhdXRvY29tcGxldGUgc2VsZWN0aW9uICovXG4gICAgQ29tcGxldGVBdXRvY29tcGxldGUgPSBcIktleUJpbmRpbmcuY29tcGxldGVBdXRvY29tcGxldGVcIixcbiAgICAvKiogQWNjZXB0cyBjaG9zZW4gYXV0b2NvbXBsZXRlIHNlbGVjdGlvbiBvcixcbiAgICAgKiBpZiB0aGUgYXV0b2NvbXBsZXRpb24gd2luZG93IGlzIG5vdCBzaG93biwgb3BlbiB0aGUgd2luZG93IGFuZCBzZWxlY3QgdGhlIGZpcnN0IHNlbGVjdGlvbiAqL1xuICAgIEZvcmNlQ29tcGxldGVBdXRvY29tcGxldGUgPSBcIktleUJpbmRpbmcuZm9yY2VDb21wbGV0ZUF1dG9jb21wbGV0ZVwiLFxuICAgIC8qKiBNb3ZlIHRvIHRoZSBwcmV2aW91cyBhdXRvY29tcGxldGUgc2VsZWN0aW9uICovXG4gICAgUHJldlNlbGVjdGlvbkluQXV0b2NvbXBsZXRlID0gXCJLZXlCaW5kaW5nLnByZXZpb3VzT3B0aW9uSW5BdXRvQ29tcGxldGVcIixcbiAgICAvKiogTW92ZSB0byB0aGUgbmV4dCBhdXRvY29tcGxldGUgc2VsZWN0aW9uICovXG4gICAgTmV4dFNlbGVjdGlvbkluQXV0b2NvbXBsZXRlID0gXCJLZXlCaW5kaW5nLm5leHRPcHRpb25JbkF1dG9Db21wbGV0ZVwiLFxuICAgIC8qKiBDbG9zZSB0aGUgYXV0b2NvbXBsZXRpb24gd2luZG93ICovXG4gICAgQ2FuY2VsQXV0b2NvbXBsZXRlID0gXCJLZXlCaW5kaW5nLmNhbmNlbEF1dG9Db21wbGV0ZVwiLFxuXG4gICAgLyoqIENsZWFyIHJvb20gbGlzdCBmaWx0ZXIgZmllbGQgKi9cbiAgICBDbGVhclJvb21GaWx0ZXIgPSBcIktleUJpbmRpbmcuY2xlYXJSb29tRmlsdGVyXCIsXG4gICAgLyoqIE5hdmlnYXRlIHVwL2Rvd24gaW4gdGhlIHJvb20gbGlzdCAqL1xuICAgIFByZXZSb29tID0gXCJLZXlCaW5kaW5nLmRvd25lclJvb21cIixcbiAgICAvKiogTmF2aWdhdGUgZG93biBpbiB0aGUgcm9vbSBsaXN0ICovXG4gICAgTmV4dFJvb20gPSBcIktleUJpbmRpbmcudXBwZXJSb29tXCIsXG4gICAgLyoqIFNlbGVjdCByb29tIGZyb20gdGhlIHJvb20gbGlzdCAqL1xuICAgIFNlbGVjdFJvb21JblJvb21MaXN0ID0gXCJLZXlCaW5kaW5nLnNlbGVjdFJvb21JblJvb21MaXN0XCIsXG4gICAgLyoqIENvbGxhcHNlIHJvb20gbGlzdCBzZWN0aW9uICovXG4gICAgQ29sbGFwc2VSb29tTGlzdFNlY3Rpb24gPSBcIktleUJpbmRpbmcuY29sbGFwc2VTZWN0aW9uSW5Sb29tTGlzdFwiLFxuICAgIC8qKiBFeHBhbmQgcm9vbSBsaXN0IHNlY3Rpb24sIGlmIGFscmVhZHkgZXhwYW5kZWQsIGp1bXAgdG8gZmlyc3Qgcm9vbSBpbiB0aGUgc2VsZWN0aW9uICovXG4gICAgRXhwYW5kUm9vbUxpc3RTZWN0aW9uID0gXCJLZXlCaW5kaW5nLmV4cGFuZFNlY3Rpb25JblJvb21MaXN0XCIsXG5cbiAgICAvKiogU2Nyb2xsIHVwIGluIHRoZSB0aW1lbGluZSAqL1xuICAgIFNjcm9sbFVwID0gXCJLZXlCaW5kaW5nLnNjcm9sbFVwSW5UaW1lbGluZVwiLFxuICAgIC8qKiBTY3JvbGwgZG93biBpbiB0aGUgdGltZWxpbmUgKi9cbiAgICBTY3JvbGxEb3duID0gXCJLZXlCaW5kaW5nLnNjcm9sbERvd25JblRpbWVsaW5lXCIsXG4gICAgLyoqIERpc21pc3MgcmVhZCBtYXJrZXIgYW5kIGp1bXAgdG8gYm90dG9tICovXG4gICAgRGlzbWlzc1JlYWRNYXJrZXIgPSBcIktleUJpbmRpbmcuZGlzbWlzc1JlYWRNYXJrZXJBbmRKdW1wVG9Cb3R0b21cIixcbiAgICAvKiogSnVtcCB0byBvbGRlc3QgdW5yZWFkIG1lc3NhZ2UgKi9cbiAgICBKdW1wVG9PbGRlc3RVbnJlYWQgPSBcIktleUJpbmRpbmcuanVtcFRvT2xkZXN0VW5yZWFkTWVzc2FnZVwiLFxuICAgIC8qKiBVcGxvYWQgYSBmaWxlICovXG4gICAgVXBsb2FkRmlsZSA9IFwiS2V5QmluZGluZy51cGxvYWRGaWxlVG9Sb29tXCIsXG4gICAgLyoqIEZvY3VzIHNlYXJjaCBtZXNzYWdlIGluIGEgcm9vbSAobXVzdCBiZSBlbmFibGVkKSAqL1xuICAgIFNlYXJjaEluUm9vbSA9IFwiS2V5QmluZGluZy5zZWFyY2hJblJvb21cIixcbiAgICAvKiogSnVtcCB0byB0aGUgZmlyc3QgKGRvd25sb2FkZWQpIG1lc3NhZ2UgaW4gdGhlIHJvb20gKi9cbiAgICBKdW1wVG9GaXJzdE1lc3NhZ2UgPSBcIktleUJpbmRpbmcuanVtcFRvRmlyc3RNZXNzYWdlSW5UaW1lbGluZVwiLFxuICAgIC8qKiBKdW1wIHRvIHRoZSBsYXRlc3QgbWVzc2FnZSBpbiB0aGUgcm9vbSAqL1xuICAgIEp1bXBUb0xhdGVzdE1lc3NhZ2UgPSBcIktleUJpbmRpbmcuanVtcFRvTGFzdE1lc3NhZ2VJblRpbWVsaW5lXCIsXG5cbiAgICAvKiogSnVtcCB0byByb29tIHNlYXJjaCAoc2VhcmNoIGZvciBhIHJvb20pICovXG4gICAgRmlsdGVyUm9vbXMgPSBcIktleUJpbmRpbmcuZmlsdGVyUm9vbXNcIixcbiAgICAvKiogVG9nZ2xlIHRoZSBzcGFjZSBwYW5lbCAqL1xuICAgIFRvZ2dsZVNwYWNlUGFuZWwgPSBcIktleUJpbmRpbmcudG9nZ2xlU3BhY2VQYW5lbFwiLFxuICAgIC8qKiBUb2dnbGUgdGhlIHJvb20gc2lkZSBwYW5lbCAqL1xuICAgIFRvZ2dsZVJvb21TaWRlUGFuZWwgPSBcIktleUJpbmRpbmcudG9nZ2xlUmlnaHRQYW5lbFwiLFxuICAgIC8qKiBUb2dnbGUgdGhlIHVzZXIgbWVudSAqL1xuICAgIFRvZ2dsZVVzZXJNZW51ID0gXCJLZXlCaW5kaW5nLnRvZ2dsZVRvcExlZnRNZW51XCIsXG4gICAgLyoqIFRvZ2dsZSB0aGUgc2hvcnQgY3V0IGhlbHAgZGlhbG9nICovXG4gICAgU2hvd0tleWJvYXJkU2V0dGluZ3MgPSBcIktleUJpbmRpbmcuc2hvd0tleUJpbmRpbmdzU2V0dGluZ3NcIixcbiAgICAvKiogR290IHRvIHRoZSBFbGVtZW50IGhvbWUgc2NyZWVuICovXG4gICAgR29Ub0hvbWUgPSBcIktleUJpbmRpbmcuZ29Ub0hvbWVWaWV3XCIsXG4gICAgLyoqIFNlbGVjdCBwcmV2IHJvb20gKi9cbiAgICBTZWxlY3RQcmV2Um9vbSA9IFwiS2V5QmluZGluZy5wcmV2aW91c1Jvb21cIixcbiAgICAvKiogU2VsZWN0IG5leHQgcm9vbSAqL1xuICAgIFNlbGVjdE5leHRSb29tID0gXCJLZXlCaW5kaW5nLm5leHRSb29tXCIsXG4gICAgLyoqIFNlbGVjdCBwcmV2IHJvb20gd2l0aCB1bnJlYWQgbWVzc2FnZXMgKi9cbiAgICBTZWxlY3RQcmV2VW5yZWFkUm9vbSA9IFwiS2V5QmluZGluZy5wcmV2aW91c1VucmVhZFJvb21cIixcbiAgICAvKiogU2VsZWN0IG5leHQgcm9vbSB3aXRoIHVucmVhZCBtZXNzYWdlcyAqL1xuICAgIFNlbGVjdE5leHRVbnJlYWRSb29tID0gXCJLZXlCaW5kaW5nLm5leHRVbnJlYWRSb29tXCIsXG5cbiAgICAvKiogU3dpdGNoZXMgdG8gYSBzcGFjZSBieSBudW1iZXIgKi9cbiAgICBTd2l0Y2hUb1NwYWNlQnlOdW1iZXIgPSBcIktleUJpbmRpbmcuc3dpdGNoVG9TcGFjZUJ5TnVtYmVyXCIsXG4gICAgLyoqIE9wZW5zIHVzZXIgc2V0dGluZ3MgKi9cbiAgICBPcGVuVXNlclNldHRpbmdzID0gXCJLZXlCaW5kaW5nLm9wZW5Vc2VyU2V0dGluZ3NcIixcbiAgICAvKiogTmF2aWdhdGVzIGJhY2t3YXJkICovXG4gICAgUHJldmlvdXNWaXNpdGVkUm9vbU9yU3BhY2UgPSBcIktleUJpbmRpbmcuUHJldmlvdXNWaXNpdGVkUm9vbU9yU3BhY2VcIixcbiAgICAvKiogTmF2aWdhdGVzIGZvcndhcmQgKi9cbiAgICBOZXh0VmlzaXRlZFJvb21PclNwYWNlID0gXCJLZXlCaW5kaW5nLk5leHRWaXNpdGVkUm9vbU9yU3BhY2VcIixcbiAgICAvKiogTmF2aWdhdGVzIHRvIHRoZSBuZXh0IExhbmRtYXJrICovXG4gICAgTmV4dExhbmRtYXJrID0gXCJLZXlCaW5kaW5nLm5leHRMYW5kbWFya1wiLFxuICAgIC8qKiBOYXZpZ2F0ZXMgdG8gdGhlIG5leHQgTGFuZG1hcmsgKi9cbiAgICBQcmV2aW91c0xhbmRtYXJrID0gXCJLZXlCaW5kaW5nLnByZXZpb3VzTGFuZG1hcmtcIixcblxuICAgIC8qKiBUb2dnbGVzIG1pY3JvcGhvbmUgd2hpbGUgb24gYSBjYWxsICovXG4gICAgVG9nZ2xlTWljSW5DYWxsID0gXCJLZXlCaW5kaW5nLnRvZ2dsZU1pY0luQ2FsbFwiLFxuICAgIC8qKiBUb2dnbGVzIHdlYmNhbSB3aGlsZSBvbiBhIGNhbGwgKi9cbiAgICBUb2dnbGVXZWJjYW1JbkNhbGwgPSBcIktleUJpbmRpbmcudG9nZ2xlV2ViY2FtSW5DYWxsXCIsXG5cbiAgICAvKiogQWNjZXNzaWJpbGl0eSBhY3Rpb25zICovXG4gICAgRXNjYXBlID0gXCJLZXlCaW5kaW5nLmVzY2FwZVwiLFxuICAgIEVudGVyID0gXCJLZXlCaW5kaW5nLmVudGVyXCIsXG4gICAgU3BhY2UgPSBcIktleUJpbmRpbmcuc3BhY2VcIixcbiAgICBCYWNrc3BhY2UgPSBcIktleUJpbmRpbmcuYmFja3NwYWNlXCIsXG4gICAgRGVsZXRlID0gXCJLZXlCaW5kaW5nLmRlbGV0ZVwiLFxuICAgIEhvbWUgPSBcIktleUJpbmRpbmcuaG9tZVwiLFxuICAgIEVuZCA9IFwiS2V5QmluZGluZy5lbmRcIixcbiAgICBBcnJvd0xlZnQgPSBcIktleUJpbmRpbmcuYXJyb3dMZWZ0XCIsXG4gICAgQXJyb3dVcCA9IFwiS2V5QmluZGluZy5hcnJvd1VwXCIsXG4gICAgQXJyb3dSaWdodCA9IFwiS2V5QmluZGluZy5hcnJvd1JpZ2h0XCIsXG4gICAgQXJyb3dEb3duID0gXCJLZXlCaW5kaW5nLmFycm93RG93blwiLFxuICAgIFRhYiA9IFwiS2V5QmluZGluZy50YWJcIixcbiAgICBDb21tYSA9IFwiS2V5QmluZGluZy5jb21tYVwiLFxuXG4gICAgLyoqIFRvZ2dsZSB2aXNpYmlsaXR5IG9mIGhpZGRlbiBldmVudHMgKi9cbiAgICBUb2dnbGVIaWRkZW5FdmVudFZpc2liaWxpdHkgPSBcIktleUJpbmRpbmcudG9nZ2xlSGlkZGVuRXZlbnRWaXNpYmlsaXR5XCIsXG59XG5cbmV4cG9ydCB0eXBlIEtleWJvYXJkU2hvcnRjdXRTZXR0aW5nID0gT21pdDxJQmFzZVNldHRpbmc8S2V5Q29tYm8+LCBcInN1cHBvcnRlZExldmVsc1wiIHwgXCJkaXNwbGF5TmFtZVwiPiAmIHtcbiAgICBkaXNwbGF5TmFtZT86IFRyYW5zbGF0aW9uS2V5O1xufTtcblxuLy8gVE9ETzogV2Ugc2hvdWxkIGZpZ3VyZSBvdXQgd2hhdCB0byBkbyB3aXRoIHRoZSBrZXlib2FyZCBzaG9ydGN1dHMgdGhhdCBhcmUgbm90IGhhbmRsZWQgYnkgS2V5YmluZGluZ01hbmFnZXJcbmV4cG9ydCB0eXBlIElLZXlib2FyZFNob3J0Y3V0cyA9IFBhcnRpYWw8UmVjb3JkPEtleUJpbmRpbmdBY3Rpb24sIEtleWJvYXJkU2hvcnRjdXRTZXR0aW5nPj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhdGVnb3J5IHtcbiAgICBjYXRlZ29yeUxhYmVsPzogVHJhbnNsYXRpb25LZXk7XG4gICAgLy8gVE9ETzogV2Ugc2hvdWxkIGZpZ3VyZSBvdXQgd2hhdCB0byBkbyB3aXRoIHRoZSBrZXlib2FyZCBzaG9ydGN1dHMgdGhhdCBhcmUgbm90IGhhbmRsZWQgYnkgS2V5YmluZGluZ01hbmFnZXJcbiAgICBzZXR0aW5nTmFtZXM6IEtleUJpbmRpbmdBY3Rpb25bXTtcbn1cblxuZXhwb3J0IGVudW0gQ2F0ZWdvcnlOYW1lIHtcbiAgICBOQVZJR0FUSU9OID0gXCJOYXZpZ2F0aW9uXCIsXG4gICAgQUNDRVNTSUJJTElUWSA9IFwiQWNjZXNzaWJpbGl0eVwiLFxuICAgIENBTExTID0gXCJDYWxsc1wiLFxuICAgIENPTVBPU0VSID0gXCJDb21wb3NlclwiLFxuICAgIFJPT01fTElTVCA9IFwiUm9vbSBMaXN0XCIsXG4gICAgUk9PTSA9IFwiUm9vbVwiLFxuICAgIEFVVE9DT01QTEVURSA9IFwiQXV0b2NvbXBsZXRlXCIsXG4gICAgTEFCUyA9IFwiTGFic1wiLFxufVxuXG4vLyBNZXRhLWtleSByZXByZXNlbnRpbmcgdGhlIGRpZ2l0cyBbMC05XSBvZnRlbiBmb3VuZCBhdCB0aGUgdG9wIG9mIHN0YW5kYXJkIGtleWJvYXJkIGxheW91dHNcbmV4cG9ydCBjb25zdCBESUdJVFMgPSBcImRpZ2l0c1wiO1xuXG5leHBvcnQgY29uc3QgQUxURVJOQVRFX0tFWV9OQU1FOiBSZWNvcmQ8c3RyaW5nLCBUcmFuc2xhdGlvbktleT4gPSB7XG4gICAgW0tleS5QQUdFX1VQXTogX3RkKFwia2V5Ym9hcmR8cGFnZV91cFwiKSxcbiAgICBbS2V5LlBBR0VfRE9XTl06IF90ZChcImtleWJvYXJkfHBhZ2VfZG93blwiKSxcbiAgICBbS2V5LkVTQ0FQRV06IF90ZChcImtleWJvYXJkfGVzY2FwZVwiKSxcbiAgICBbS2V5LkVOVEVSXTogX3RkKFwia2V5Ym9hcmR8ZW50ZXJcIiksXG4gICAgW0tleS5TUEFDRV06IF90ZChcImtleWJvYXJkfHNwYWNlXCIpLFxuICAgIFtLZXkuSE9NRV06IF90ZChcImtleWJvYXJkfGhvbWVcIiksXG4gICAgW0tleS5FTkRdOiBfdGQoXCJrZXlib2FyZHxlbmRcIiksXG4gICAgW0tleS5BTFRdOiBfdGQoXCJrZXlib2FyZHxhbHRcIiksXG4gICAgW0tleS5DT05UUk9MXTogX3RkKFwia2V5Ym9hcmR8Y29udHJvbFwiKSxcbiAgICBbS2V5LlNISUZUXTogX3RkKFwia2V5Ym9hcmR8c2hpZnRcIiksXG4gICAgW0RJR0lUU106IF90ZChcImtleWJvYXJkfG51bWJlclwiKSxcbn07XG5leHBvcnQgY29uc3QgS0VZX0lDT046IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgW0tleS5BUlJPV19VUF06IFwi4oaRXCIsXG4gICAgW0tleS5BUlJPV19ET1dOXTogXCLihpNcIixcbiAgICBbS2V5LkFSUk9XX0xFRlRdOiBcIuKGkFwiLFxuICAgIFtLZXkuQVJST1dfUklHSFRdOiBcIuKGklwiLFxufTtcbmlmIChJU19NQUMpIHtcbiAgICBLRVlfSUNPTltLZXkuTUVUQV0gPSBcIuKMmFwiO1xuICAgIEtFWV9JQ09OW0tleS5BTFRdID0gXCLijKVcIjtcbiAgICBLRVlfSUNPTltLZXkuU0hJRlRdID0gXCLih6dcIjtcbn1cblxuZXhwb3J0IGNvbnN0IENBVEVHT1JJRVM6IFJlY29yZDxDYXRlZ29yeU5hbWUsIElDYXRlZ29yeT4gPSB7XG4gICAgW0NhdGVnb3J5TmFtZS5DT01QT1NFUl06IHtcbiAgICAgICAgY2F0ZWdvcnlMYWJlbDogX3RkKFwic2V0dGluZ3N8cHJlZmVyZW5jZXN8Y29tcG9zZXJfaGVhZGluZ1wiKSxcbiAgICAgICAgc2V0dGluZ05hbWVzOiBbXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlNlbmRNZXNzYWdlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5OZXdMaW5lLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Gb3JtYXRCb2xkLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Gb3JtYXRJdGFsaWNzLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Gb3JtYXRRdW90ZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRm9ybWF0TGluayxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRm9ybWF0Q29kZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRWRpdFVuZG8sXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkVkaXRSZWRvLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Nb3ZlQ3Vyc29yVG9TdGFydCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uTW92ZUN1cnNvclRvRW5kLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5DYW5jZWxSZXBseU9yRWRpdCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRWRpdE5leHRNZXNzYWdlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5FZGl0UHJldk1lc3NhZ2UsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlNlbGVjdE5leHRTZW5kSGlzdG9yeSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uU2VsZWN0UHJldlNlbmRIaXN0b3J5LFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5TaG93U3RpY2tlclBpY2tlcixcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFtDYXRlZ29yeU5hbWUuQ0FMTFNdOiB7XG4gICAgICAgIGNhdGVnb3J5TGFiZWw6IF90ZChcImtleWJvYXJkfGNhdGVnb3J5X2NhbGxzXCIpLFxuICAgICAgICBzZXR0aW5nTmFtZXM6IFtLZXlCaW5kaW5nQWN0aW9uLlRvZ2dsZU1pY0luQ2FsbCwgS2V5QmluZGluZ0FjdGlvbi5Ub2dnbGVXZWJjYW1JbkNhbGxdLFxuICAgIH0sXG4gICAgW0NhdGVnb3J5TmFtZS5ST09NXToge1xuICAgICAgICBjYXRlZ29yeUxhYmVsOiBfdGQoXCJjb21tb258cm9vbVwiKSxcbiAgICAgICAgc2V0dGluZ05hbWVzOiBbXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlNlYXJjaEluUm9vbSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uVXBsb2FkRmlsZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRGlzbWlzc1JlYWRNYXJrZXIsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkp1bXBUb09sZGVzdFVucmVhZCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uU2Nyb2xsVXAsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlNjcm9sbERvd24sXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkp1bXBUb0ZpcnN0TWVzc2FnZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uSnVtcFRvTGF0ZXN0TWVzc2FnZSxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFtDYXRlZ29yeU5hbWUuUk9PTV9MSVNUXToge1xuICAgICAgICBjYXRlZ29yeUxhYmVsOiBfdGQoXCJrZXlib2FyZHxjYXRlZ29yeV9yb29tX2xpc3RcIiksXG4gICAgICAgIHNldHRpbmdOYW1lczogW1xuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5TZWxlY3RSb29tSW5Sb29tTGlzdCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uQ2xlYXJSb29tRmlsdGVyLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Db2xsYXBzZVJvb21MaXN0U2VjdGlvbixcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRXhwYW5kUm9vbUxpc3RTZWN0aW9uLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5OZXh0Um9vbSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uUHJldlJvb20sXG4gICAgICAgIF0sXG4gICAgfSxcbiAgICBbQ2F0ZWdvcnlOYW1lLkFDQ0VTU0lCSUxJVFldOiB7XG4gICAgICAgIGNhdGVnb3J5TGFiZWw6IF90ZChcImNvbW1vbnxhY2Nlc3NpYmlsaXR5XCIpLFxuICAgICAgICBzZXR0aW5nTmFtZXM6IFtcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRXNjYXBlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5FbnRlcixcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uU3BhY2UsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkJhY2tzcGFjZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uRGVsZXRlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Ib21lLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5FbmQsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkFycm93TGVmdCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uQXJyb3dVcCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uQXJyb3dSaWdodCxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uQXJyb3dEb3duLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Db21tYSxcbiAgICAgICAgXSxcbiAgICB9LFxuICAgIFtDYXRlZ29yeU5hbWUuTkFWSUdBVElPTl06IHtcbiAgICAgICAgY2F0ZWdvcnlMYWJlbDogX3RkKFwia2V5Ym9hcmR8Y2F0ZWdvcnlfbmF2aWdhdGlvblwiKSxcbiAgICAgICAgc2V0dGluZ05hbWVzOiBbXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlRvZ2dsZVVzZXJNZW51LFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Ub2dnbGVSb29tU2lkZVBhbmVsLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Ub2dnbGVTcGFjZVBhbmVsLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5TaG93S2V5Ym9hcmRTZXR0aW5ncyxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uR29Ub0hvbWUsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkZpbHRlclJvb21zLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5TZWxlY3ROZXh0VW5yZWFkUm9vbSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uU2VsZWN0UHJldlVucmVhZFJvb20sXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLlNlbGVjdE5leHRSb29tLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5TZWxlY3RQcmV2Um9vbSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uT3BlblVzZXJTZXR0aW5ncyxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uU3dpdGNoVG9TcGFjZUJ5TnVtYmVyLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5QcmV2aW91c1Zpc2l0ZWRSb29tT3JTcGFjZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uTmV4dFZpc2l0ZWRSb29tT3JTcGFjZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uTmV4dExhbmRtYXJrLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5QcmV2aW91c0xhbmRtYXJrLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgW0NhdGVnb3J5TmFtZS5BVVRPQ09NUExFVEVdOiB7XG4gICAgICAgIGNhdGVnb3J5TGFiZWw6IF90ZChcImtleWJvYXJkfGNhdGVnb3J5X2F1dG9jb21wbGV0ZVwiKSxcbiAgICAgICAgc2V0dGluZ05hbWVzOiBbXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkNhbmNlbEF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIEtleUJpbmRpbmdBY3Rpb24uTmV4dFNlbGVjdGlvbkluQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5QcmV2U2VsZWN0aW9uSW5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBLZXlCaW5kaW5nQWN0aW9uLkNvbXBsZXRlQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgS2V5QmluZGluZ0FjdGlvbi5Gb3JjZUNvbXBsZXRlQXV0b2NvbXBsZXRlLFxuICAgICAgICBdLFxuICAgIH0sXG4gICAgW0NhdGVnb3J5TmFtZS5MQUJTXToge1xuICAgICAgICBjYXRlZ29yeUxhYmVsOiBfdGQoXCJjb21tb258bGFic1wiKSxcbiAgICAgICAgc2V0dGluZ05hbWVzOiBbS2V5QmluZGluZ0FjdGlvbi5Ub2dnbGVIaWRkZW5FdmVudFZpc2liaWxpdHldLFxuICAgIH0sXG59O1xuXG5leHBvcnQgY29uc3QgREVTS1RPUF9TSE9SVENVVFMgPSBbXG4gICAgS2V5QmluZGluZ0FjdGlvbi5PcGVuVXNlclNldHRpbmdzLFxuICAgIEtleUJpbmRpbmdBY3Rpb24uU3dpdGNoVG9TcGFjZUJ5TnVtYmVyLFxuICAgIEtleUJpbmRpbmdBY3Rpb24uUHJldmlvdXNWaXNpdGVkUm9vbU9yU3BhY2UsXG4gICAgS2V5QmluZGluZ0FjdGlvbi5OZXh0VmlzaXRlZFJvb21PclNwYWNlLFxuXTtcblxuZXhwb3J0IGNvbnN0IE1BQ19PTkxZX1NIT1JUQ1VUUyA9IFtLZXlCaW5kaW5nQWN0aW9uLk9wZW5Vc2VyU2V0dGluZ3NdO1xuXG4vLyBUaGlzIGlzIHZlcnkgaW50ZW50aW9uYWxseSBtb2RlbGxlZCBhZnRlciBTRVRUSU5HUyBhcyBpdCB3aWxsIG1ha2UgaXQgZWFzaWVyXG4vLyB0byBpbXBsZW1lbnQgY3VzdG9taXphYmxlIGtleWJvYXJkIHNob3J0Y3V0c1xuLy8gVE9ETzogVHJhdmlzUiB3aWxsIGZpeCB0aGlzIG5pZ2h0bWFyZSB3aGVuIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgU2V0dGluZ3NTdG9yZSBiZWNvbWVzIGEgdGhpbmdcbi8vIFhYWDogRXhwb3J0ZWQgZm9yIHRlc3RzXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfU0hPUlRDVVRTOiBJS2V5Ym9hcmRTaG9ydGN1dHMgPSB7XG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRm9ybWF0Qm9sZF06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuQixcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX3RvZ2dsZV9ib2xkXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRm9ybWF0SXRhbGljc106IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuSSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX3RvZ2dsZV9pdGFsaWNzXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRm9ybWF0UXVvdGVdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGN0cmxPckNtZEtleTogdHJ1ZSxcbiAgICAgICAgICAgIHNoaWZ0S2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuR1JFQVRFUl9USEFOLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8Y29tcG9zZXJfdG9nZ2xlX3F1b3RlXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRm9ybWF0Q29kZV06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuRSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX3RvZ2dsZV9jb2RlX2Jsb2NrXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRm9ybWF0TGlua106IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAgc2hpZnRLZXk6IHRydWUsXG4gICAgICAgICAgICBrZXk6IEtleS5MLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8Y29tcG9zZXJfdG9nZ2xlX2xpbmtcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5DYW5jZWxSZXBseU9yRWRpdF06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAga2V5OiBLZXkuRVNDQVBFLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8Y2FuY2VsX3JlcGx5XCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRWRpdE5leHRNZXNzYWdlXToge1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBrZXk6IEtleS5BUlJPV19ET1dOLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8bmF2aWdhdGVfbmV4dF9tZXNzYWdlX2VkaXRcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5FZGl0UHJldk1lc3NhZ2VdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGtleTogS2V5LkFSUk9XX1VQLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8bmF2aWdhdGVfcHJldl9tZXNzYWdlX2VkaXRcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5Nb3ZlQ3Vyc29yVG9TdGFydF06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuSE9NRSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX2p1bXBfc3RhcnRcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5Nb3ZlQ3Vyc29yVG9FbmRdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGN0cmxPckNtZEtleTogdHJ1ZSxcbiAgICAgICAgICAgIGtleTogS2V5LkVORCxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX2p1bXBfZW5kXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uU2VsZWN0TmV4dFNlbmRIaXN0b3J5XToge1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBhbHRLZXk6IHRydWUsXG4gICAgICAgICAgICBjdHJsS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuQVJST1dfRE9XTixcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGNvbXBvc2VyX25hdmlnYXRlX25leHRfaGlzdG9yeVwiKSxcbiAgICB9LFxuICAgIFtLZXlCaW5kaW5nQWN0aW9uLlNlbGVjdFByZXZTZW5kSGlzdG9yeV06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYWx0S2V5OiB0cnVlLFxuICAgICAgICAgICAgY3RybEtleTogdHJ1ZSxcbiAgICAgICAgICAgIGtleTogS2V5LkFSUk9XX1VQLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8Y29tcG9zZXJfbmF2aWdhdGVfcHJldl9oaXN0b3J5XCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uU2hvd1N0aWNrZXJQaWNrZXJdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGN0cmxPckNtZEtleTogdHJ1ZSxcbiAgICAgICAgICAgIGtleTogS2V5LlNFTUlDT0xPTixcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfHNlbmRfc3RpY2tlclwiKSxcbiAgICB9LFxuICAgIFtLZXlCaW5kaW5nQWN0aW9uLlRvZ2dsZU1pY0luQ2FsbF06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuRCxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfHRvZ2dsZV9taWNyb3Bob25lX211dGVcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5Ub2dnbGVXZWJjYW1JbkNhbGxdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGN0cmxPckNtZEtleTogdHJ1ZSxcbiAgICAgICAgICAgIGtleTogS2V5LkUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3BsYXlOYW1lOiBfdGQoXCJrZXlib2FyZHx0b2dnbGVfd2ViY2FtX211dGVcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5EaXNtaXNzUmVhZE1hcmtlcl06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAga2V5OiBLZXkuRVNDQVBFLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8ZGlzbWlzc19yZWFkX21hcmtlcl9hbmRfanVtcF9ib3R0b21cIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5KdW1wVG9PbGRlc3RVbnJlYWRdOiB7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHNoaWZ0S2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuUEFHRV9VUCxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGp1bXBfdG9fcmVhZF9tYXJrZXJcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5VcGxvYWRGaWxlXToge1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjdHJsT3JDbWRLZXk6IHRydWUsXG4gICAgICAgICAgICBzaGlmdEtleTogdHJ1ZSxcbiAgICAgICAgICAgIGtleTogS2V5LlUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3BsYXlOYW1lOiBfdGQoXCJrZXlib2FyZHx1cGxvYWRfZmlsZVwiKSxcbiAgICB9LFxuICAgIFtLZXlCaW5kaW5nQWN0aW9uLlNjcm9sbFVwXToge1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBrZXk6IEtleS5QQUdFX1VQLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8c2Nyb2xsX3VwX3RpbWVsaW5lXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uU2Nyb2xsRG93bl06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAga2V5OiBLZXkuUEFHRV9ET1dOLFxuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5TmFtZTogX3RkKFwia2V5Ym9hcmR8c2Nyb2xsX2Rvd25fdGltZWxpbmVcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5GaWx0ZXJSb29tc106IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY3RybE9yQ21kS2V5OiB0cnVlLFxuICAgICAgICAgICAga2V5OiBLZXkuSyxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfGp1bXBfcm9vbV9zZWFyY2hcIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5TZWxlY3RSb29tSW5Sb29tTGlzdF06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAga2V5OiBLZXkuRU5URVIsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3BsYXlOYW1lOiBfdGQoXCJrZXlib2FyZHxyb29tX2xpc3Rfc2VsZWN0X3Jvb21cIiksXG4gICAgfSxcbiAgICBbS2V5QmluZGluZ0FjdGlvbi5Db2xsYXBzZVJvb21MaXN0U2VjdGlvbl06IHtcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAga2V5OiBLZXkuQVJST1dfTEVGVCxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheU5hbWU6IF90ZChcImtleWJvYXJkfHJvb21fbGlzdF9jb2xsYXBzZV9zZWN0aW9uXCIpLFxuICAgIH0sXG4gICAgW0tleUJpbmRpbmdBY3Rpb24uRXhwYW5kUm9vbUxpc3RTZWN0aW9uXToge1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBrZXk6IEtleS5BUlJPV19