define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"],function(e,o,t){"use strict";var s=e("../../lib/dom");s.importCssString("#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 100000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}.ace_optionsMenuEntry input, .ace_optionsMenuEntry button {vertical-align: middle;}.ace_optionsMenuEntry button[ace_selected_button=true] {background: #e7e7e7;box-shadow: 1px 0px 2px 0px #adadad inset;border-color: #adadad;}.ace_optionsMenuEntry button {background: white;border: 1px solid lightgray;margin: 0px;}.ace_optionsMenuEntry button:hover{background: #f0f0f0;}"),t.exports.overlayPage=function(e,o,t,n,r,a){function i(e){27===e.keyCode&&d.click()}t=t?"top: "+t+";":"",r=r?"bottom: "+r+";":"",n=n?"right: "+n+";":"",a=a?"left: "+a+";":"";var d=document.createElement("div"),c=document.createElement("div");d.style.cssText="margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; background-color: rgba(0, 0, 0, 0.3);",d.addEventListener("click",function(){document.removeEventListener("keydown",i),d.parentNode.removeChild(d),e.focus(),d=null}),document.addEventListener("keydown",i),c.style.cssText=t+n+r+a,c.addEventListener("click",function(e){e.stopPropagation()});r=s.createElement("div");r.style.position="relative";a=s.createElement("div");a.className="ace_closeButton",a.addEventListener("click",function(){d.click()}),r.appendChild(a),c.appendChild(r),c.appendChild(o),d.appendChild(c),document.body.appendChild(d),e.blur()}}),define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"],function(e,o,t){"use strict";var n=e("../../lib/keys");t.exports.getEditorKeybordShortcuts=function(e){n.KEY_MODS;var a=[],i={};return e.keyBinding.$handlers.forEach(function(e){var o,t=e.commandKeyBinding;for(o in t){var n=o.replace(/(^|-)\w/g,function(e){return e.toUpperCase()}),r=t[o];(r=!Array.isArray(r)?[r]:r).forEach(function(e){"string"!=typeof e&&(e=e.name),i[e]?i[e].key+="|"+n:(i[e]={key:n,command:e},a.push(i[e]))})}}),a}}),define("ace/ext/keybinding_menu",["require","exports","module","ace/editor","ace/ext/menu_tools/overlay_page","ace/ext/menu_tools/get_editor_keyboard_shortcuts"],function(r,e,o){"use strict";var t=r("ace/editor").Editor;o.exports.init=function(e){t.prototype.showKeyboardShortcuts=function(){var e,o,t,n;e=this,document.getElementById("kbshortcutmenu")||(o=r("./menu_tools/overlay_page").overlayPage,n=(0,r("./menu_tools/get_editor_keyboard_shortcuts").getEditorKeybordShortcuts)(e),t=document.createElement("div"),n=n.reduce(function(e,o){return e+'<div class="ace_optionsMenuEntry"><span class="ace_optionsMenuCommand">'+o.command+'</span> : <span class="ace_optionsMenuKey">'+o.key+"</span></div>"},""),t.id="kbshortcutmenu",t.innerHTML="<h1>Keyboard Shortcuts</h1>"+n+"</div>",o(e,t,"0","0","0",null))},e.commands.addCommands([{name:"showKeyboardShortcuts",bindKey:{win:"Ctrl-Alt-h",mac:"Command-Alt-h"},exec:function(e,o){e.showKeyboardShortcuts()}}])}}),window.require(["ace/ext/keybinding_menu"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});