(function(b){b.hotkeys={version:"0.2.0",specialKeys:{8:"backspace",9:"tab",10:"return",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"},textAcceptingInputTypes:["text","password","number","email","url","range","date","month","week","time","datetime","datetime-local","search","color","tel"],textInputTypes:/textarea|input|select/i,options:{filterInputAcceptingElements:true,filterTextInputs:true,filterContentEditable:true}};function a(d){if(typeof d.data==="string"){d.data={keys:d.data}}if(!d.data||!d.data.keys||typeof d.data.keys!=="string"){return}var c=d.handler,e=d.data.keys.toLowerCase().split(" ");d.handler=function(m){if(this!==m.target&&(b.hotkeys.options.filterInputAcceptingElements&&b.hotkeys.textInputTypes.test(m.target.nodeName)||(b.hotkeys.options.filterContentEditable&&b(m.target).attr("contenteditable"))||(b.hotkeys.options.filterTextInputs&&b.inArray(m.target.type,b.hotkeys.textAcceptingInputTypes)>-1))){return}var h=m.type!=="keypress"&&b.hotkeys.specialKeys[m.which],n=String.fromCharCode(m.which).toLowerCase(),k="",g={};b.each(["alt","ctrl","shift"],function(i,l){if(m[l+"Key"]&&h!==l){k+=l+"+"}});if(m.metaKey&&!m.ctrlKey&&h!=="meta"){k+="meta+"}if(m.metaKey&&h!=="meta"&&k.indexOf("alt+ctrl+shift+")>-1){k=k.replace("alt+ctrl+shift+","hyper+")}if(h){g[k+h]=true}else{g[k+n]=true;g[k+b.hotkeys.shiftNums[n]]=true;if(k==="shift+"){g[b.hotkeys.shiftNums[n]]=true}}for(var j=0,f=e.length;j<f;j++){if(g[e[j]]){return c.apply(this,arguments)}}}}b.each(["keydown","keyup","keypress"],function(){b.event.special[this]={add:a}})})(jQuery||this.jQuery||window.jQuery);