1!function(root,factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){factory(require('jquery'))}else{factory(root.jQuery)}}(this,function($){'use strict';$.fn.typeWatch=function(o){var _supportedInputTypes=['TEXT','TEXTAREA','PASSWORD','TEL','SEARCH','URL','EMAIL','DATETIME','DATE','MONTH','WEEK','TIME','DATETIME-LOCAL','NUMBER','RANGE','DIV'];var options=$.extend({wait:750,callback:function(){},highlight:!0,captureLength:2,allowSubmit:!1,inputTypes:_supportedInputTypes},o);function checkElement(timer,override){var value=timer.type==='DIV'?jQuery(timer.el).html():jQuery(timer.el).val();if((value.length>=options.captureLength&&value!=timer.text)||(override&&(value.length>=options.captureLength||options.allowSubmit))||(value.length==0&&timer.text)){timer.text=value;timer.cb.call(timer.el,value)}};function watchElement(elem){var elementType=(elem.type||elem.nodeName).toUpperCase();if(jQuery.inArray(elementType,options.inputTypes)>=0){var timer={timer:null,text:(elementType==='DIV')?jQuery(elem).html():jQuery(elem).val(),cb:options.callback,el:elem,type:elementType,wait:options.wait};if(options.highlight&&elementType!=='DIV') 2jQuery(elem).focus(function(){this.select()});var startWatch=function(evt){var timerWait=timer.wait;var overrideBool=!1;var evtElementType=elementType;if(typeof evt.keyCode!='undefined'&&evt.keyCode==13&&evtElementType!=='TEXTAREA'&&elementType!=='DIV'){timerWait=1;overrideBool=!0} 3var timerCallbackFx=function(){checkElement(timer,overrideBool)} 4clearTimeout(timer.timer);timer.timer=setTimeout(timerCallbackFx,timerWait)};jQuery(elem).on('keydown paste cut input',startWatch)}};return this.each(function(){watchElement(this)})}})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.