Ext.namespace('KS');var FIND_SCROLL_OFFSET_TOP=-50;var FIND_SCROLL_OFFSET_LEFT=-400;var MAX_TEXT_DIVS_TO_RENDER=100000;var RENDER_DELAY=200;var NonWhitespaceRegexp=/\S/;function isAllWhitespace(str){return!NonWhitespaceRegexp.test(str);} var CustomStyle=(function CustomStyleClosure(){var prefixes=['ms','Moz','Webkit','O'];var _cache={};function CustomStyle(){} CustomStyle.getProp=function get(propName,element){if(arguments.length===1&&typeof _cache[propName]==='string'){return _cache[propName];} element=element||document.documentElement;var style=element.style,prefixed,uPropName;if(typeof style[propName]==='string'){return(_cache[propName]=propName);} uPropName=propName.charAt(0).toUpperCase()+propName.slice(1);for(var i=0,l=prefixes.length;iMAX_TEXT_DIVS_TO_RENDER){return;} var lastFontSize;var lastFontFamily;for(var i=0;i0){textLayerFrag.appendChild(textDiv);var transform;if(textDiv.dataset.canvasWidth!==undefined){var textScale=textDiv.dataset.canvasWidth/width;transform='scaleX('+textScale+')';}else{transform='';} var rotation=textDiv.dataset.angle;if(rotation){transform='rotate('+rotation+'deg) '+transform;} if(transform){CustomStyle.setProp('transform',textDiv,transform);CustomStyle.setProp('transformOrigin',textDiv,'0% 0%');}}} this.textLayerDiv.appendChild(textLayerFrag);this.renderingDone=true;if(this.findController){this.findController.setCurPageMatch();}},setupRenderLayoutTimer:function TextLayerBuilder_setupRenderLayoutTimer(){var self=this;var lastScroll=(this.lastScrollSource===null?0:this.lastScrollSource.lastScroll);if(Date.now()-lastScroll>RENDER_DELAY){this.renderLayer();}else{if(this.renderTimer){clearTimeout(this.renderTimer);} this.renderTimer=setTimeout(function(){self.setupRenderLayoutTimer();},RENDER_DELAY);}},appendText:function TextLayerBuilder_appendText(geom,styles){var style=styles[geom.fontName];var textDiv=document.createElement('div');this.textDivs.push(textDiv);if(isAllWhitespace(geom.str)){textDiv.dataset.isWhitespace=true;return;} var tx=PDFJS.Util.transform(this.viewport.transform,geom.transform);var angle=Math.atan2(tx[1],tx[0]);if(style.vertical){angle+=Math.PI/2;} var fontHeight=Math.sqrt((tx[2]*tx[2])+(tx[3]*tx[3]));var fontAscent=fontHeight;if(style.ascent){fontAscent=style.ascent*fontAscent;}else if(style.descent){fontAscent=(1+style.descent)*fontAscent;} var left;var top;if(angle===0){left=tx[4];top=tx[5]-fontAscent;}else{left=tx[4]+(fontAscent*Math.sin(angle));top=tx[5]-(fontAscent*Math.cos(angle));} textDiv.style.left=left+'px';textDiv.style.top=top+'px';textDiv.style.fontSize=fontHeight+'px';textDiv.style.fontFamily=style.fontFamily;textDiv.textContent=geom.str;if(PDFJS.pdfBug){textDiv.dataset.fontName=geom.fontName;} if(angle!==0){textDiv.dataset.angle=angle*(180/Math.PI);} if(textDiv.textContent.length>1){if(style.vertical){textDiv.dataset.canvasWidth=geom.height*this.viewport.scale;}else{textDiv.dataset.canvasWidth=geom.width*this.viewport.scale;}}},setTextContent:function TextLayerBuilder_setTextContent(textContent){this.textContent=textContent;var textItems=textContent.items;for(var i=0,len=textItems.length;i=(iIndex+bidiTexts[i].str.length)){iIndex+=bidiTexts[i].str.length;i++;} if(i===bidiTexts.length){console.error('Could not find a matching mapping');} var match={begin:{divIdx:i,offset:matchIdx-iIndex}};matchIdx+=matches[m][1];while(i!==end&&matchIdx>(iIndex+bidiTexts[i].str.length)){iIndex+=bidiTexts[i].str.length;i++;} match.end={divIdx:i,offset:matchIdx-iIndex};ret.push(match);} return ret;},renderMatches:function TextLayerBuilder_renderMatches(matches){if(matches.length===0){return;} var bidiTexts=this.textContent.items;var textDivs=this.textDivs;var prevEnd=null;var isSelectedPage=(this.findController===null?false:(this.pageIdx===this.findController.selected.pageIdx));var selectedMatchIdx=(this.findController===null?-1:this.findController.selected.matchIdx);var highlightAll=(this.findController===null?false:this.findController.state.highlightAll);var infinity={divIdx:-1,offset:undefined};function beginText(begin,className){var divIdx=begin.divIdx;textDivs[divIdx].textContent='';appendTextToDiv(divIdx,0,begin.offset,className);} function appendTextToDiv(divIdx,fromOffset,toOffset,className){var div=textDivs[divIdx];var content=bidiTexts[divIdx].str.substring(fromOffset,toOffset);var node=document.createTextNode(content);if(className){var span=document.createElement('span');span.className=className;span.appendChild(node);div.appendChild(span);return;} div.appendChild(node);} var i0=selectedMatchIdx,i1=i0+1;if(highlightAll){i0=0;i1=matches.length;}else if(!isSelectedPage){return;} for(var i=i0;i