'use strict'
!(function(require, directRequire) {
  const a = 'darwin' === process.platform,
    b = a ? 'cmd' : 'ctrl',
    c = {}
  c.preservedShortcuts = {
    newProject: { key: 'N', modifiers: ['shift', b] },
    closeProject: { key: 'W', modifiers: ['shift', b] },
    newFile: { key: 'N', modifiers: [b] },
    save: { key: 'S', modifiers: [b] },
    saveAll: { key: 'S', modifiers: ['shift', b] },
    closeFile: { key: 'W', modifiers: [b] },
    undo: { key: 'Z', modifiers: [b] },
    redo: { key: 'Z', modifiers: ['shift', b] },
    copy: { key: 'C', modifiers: [b] },
    cut: { key: 'X', modifiers: [b] },
    paste: { key: 'V', modifiers: [b] },
    selectAll: { key: 'A', modifiers: [b] },
    unindent: { key: '[', modifiers: [b] },
    indent: { key: ']', modifiers: [b] },
    moveLineUp: { key: 'up', modifiers: ['alt'] },
    moveLineDown: { key: 'down', modifiers: ['alt'] },
    copyLineUp: { key: 'up', modifiers: ['shift', 'alt'] },
    copyLineDown: { key: 'down', modifiers: ['shift', 'alt'] },
    gotoPreviousEditor: { key: 'left', modifiers: ['alt', b] },
    gotoNextEditor: { key: 'right', modifiers: ['alt', b] },
    find: { key: 'F', modifiers: [b] },
    findInFiles: { key: 'F', modifiers: ['shift', b] },
    replace: { key: 'R', modifiers: ['shift', b] },
    openAppearanceSettings: { key: ',', modifiers: [b] },
    exit: { key: 'Q', modifiers: [b] }
  }
  const d = [
      a ? { key: 'Q', modifiers: [b] } : { key: 'F4', modifiers: ['alt'] }
    ],
    e = [
      { key: 'left', modifiers: [b] },
      { key: 'right', modifiers: [b] },
      { key: '[', modifiers: [b] },
      { key: ']', modifiers: [b] },
      { key: '/', modifiers: [b] }
    ]
  ;(c.allShortcuts = (function() {
    const a = [...d, ...e],
      b = c.preservedShortcuts
    for (let c in b) b.hasOwnProperty(c) && a.push(b[c])
    return a
  })()),
    (module.exports = c)
})(require('lazyload'), require)
