1(()=>{var c=Object.defineProperty;var d=(i,n,p)=>n in i?c(i,n,{enumerable:!0,configurable:!0,writable:!0,value:p}):i[n]=p;var h=(i,n,p)=>d(i,typeof n!="symbol"?n+"":n,p);document.addEventListener("DOMContentLoaded",function(){let i=["keydown","keyup","keypress","submit","input","change","focus","blur","cut","copy","paste","click","mousedown","mouseup","mousemove","mouseenter","mouseleave"],n=(o,t,u)=>{o.split(",").map(e=>e.trim()).filter(e=>i.includes(e)).forEach(e=>{document.addEventListener(e,s=>{let l=s.target;l.closest(t)&&u.call(l,s)})})};class p{constructor(t){h(this,"handleKeyDown",t=>{let u=t.key;switch(this.inputIndex=this.getInputIndex(t.target),u){case"Backspace":t.preventDefault(),this.maybeClearPrevious();let e=this.inputs()[this.inputIndex].value;if(this.inputs()[this.inputIndex].value="",this.inputIndex===this.inputs().length-1&&e)break;this.moveFocusLeft();break;case"Delete":t.preventDefault(),this.inputs()[this.inputIndex].value="";break;case"ArrowLeft":this.moveFocusLeft();break;case"ArrowRight":this.moveFocusRight();break;case"Enter":break;default:break}});h(this,"handleInput",t=>{this.inputIndex=this.getInputIndex(t.target);let e=t.target.value.replace(/[^0-9٠١٢٣٤٥٦٧٨٩]/g,""),s=e.charAt(e.length-1);/^[0-9٠١٢٣٤٥٦٧٨٩]$/.test(s)?(this.inputs()[this.inputIndex].value=s,this.inputIndex<this.inputs().length-1&&this.moveFocusRight()):this.inputs()[this.inputIndex].value=""});h(this,"handlePaste",t=>{t.preventDefault(),this.inputIndex=this.getInputIndex(t.target);let e=t.clipboardData.getData("text/plain").slice(0,this.inputs().length-this.inputIndex).split("");if(e){let s=e.filter(a=>/^[0-9٠١٢٣٤٥٦٧٨٩]$/.test(a));if(s.length===0)return;for(let a=0;a<s.length;a++)this.inputIndex+a<this.inputs().length&&(this.inputs()[this.inputIndex+a].value=s[a]);let l=this.inputIndex+s.length-1;l<this.inputs().length&&this.inputs()[l].focus()}});h(this,"moveFocusLeft",()=>{this.inputIndex>0&&this.inputs()[this.inputIndex-1].focus()});h(this,"moveFocusRight",()=>{this.inputIndex<this.inputs().length-1&&this.inputs()[this.inputIndex+1].focus()});h(this,"maybeClearPrevious",()=>{this.inputIndex>0&&!this.inputs()[this.inputIndex].value&&(this.inputs()[this.inputIndex-1].value="")});this.selector=t,this.inputIndex=0,this._inputs=this.inputs(),this.attachEventHandlers()}attachEventHandlers(){n("keydown",this.selector,this.handleKeyDown),n("input",this.selector,this.handleInput),n("paste",this.selector,this.handlePaste)}allFilled(){return Array.from(this.inputs()).every(t=>t.value!=="")}getInputIndex(t){return Array.from(this.inputs()).indexOf(t)}getOTP(){return Array.from(this.inputs()).map(u=>u.value).join("")}inputs(){return(!this._inputs||this._inputs.length===0||!document.body.contains(this._inputs[0]))&&(this._inputs=document.querySelectorAll(this.selector)),this._inputs}}let r=new p(".otp-input");n("keydown, input, paste",".otp-input",function(){let o=document.getElementById("otp");o.value=r.getOTP(),o.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))})});})();
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.