define(function(require,exports,module){function installClickToJump(editor){const cm=editor._codeMirror,wrapper=cm&&cm.getWrapperElement();wrapper&&wrapper.addEventListener("mousedown",function(e){const el=e.target;if(0!==e.button||!el||!el.classList)return;let axis;if(el.classList.contains("CodeMirror-vscrollbar"))axis="v";else{if(!el.classList.contains("CodeMirror-hscrollbar"))return;axis="h"}const rect=el.getBoundingClientRect(),view="v"===axis?el.clientHeight:el.clientWidth,full="v"===axis?el.scrollHeight:el.scrollWidth;if(full<=view)return;const cur="v"===axis?el.scrollTop:el.scrollLeft,thumbStart=cur/full*view,thumbSize=view/full*view,clickPos="v"===axis?e.clientY-rect.top:e.clientX-rect.left;if(clickPos>=thumbStart&&clickPos<=thumbStart+thumbSize)return;let target=clickPos/view*full-view/2;target=Math.max(0,Math.min(target,full-view)),e.preventDefault(),"v"===axis?el.scrollTop=target:el.scrollLeft=target},!0)}exports.installClickToJump=installClickToJump});