1(function(window,$){"use strict";var counter=0,$headCache=$("head"),oldBigText=window.BigText,oldjQueryMethod=$.fn.bigtext,BigText={DEBUG_MODE:false,DEFAULT_MIN_FONT_SIZE_PX:20,DEFAULT_MAX_FONT_SIZE_PX:140,GLOBAL_STYLE_ID:"bigtext-style",STYLE_ID:"bigtext-id",LINE_CLASS_PREFIX:"bigtext-line",EXEMPT_CLASS:"bigtext-exempt",noConflict:function(restore){if(restore){$.fn.bigtext=oldjQueryMethod;window.BigText=oldBigText}return BigText},test:{wholeNumberFontSizeOnly:function(){if(!("getComputedStyle"in window)||document.body==null){return true}var test=$("<div/>").css({position:"absolute","font-size":"14.1px"}).appendTo(document.body).get(0),computedStyle=window.getComputedStyle(test,null);if(computedStyle){return computedStyle.getPropertyValue("font-size")==="14px"}return true}},supports:{wholeNumberFontSizeOnly:undefined},init:function(){if(BigText.supports.wholeNumberFontSizeOnly===undefined){BigText.supports.wholeNumberFontSizeOnly=BigText.test.wholeNumberFontSizeOnly()}if(!$("#"+BigText.GLOBAL_STYLE_ID).length){$headCache.append(BigText.generateStyleTag(BigText.GLOBAL_STYLE_ID,[".bigtext * { white-space: nowrap; } .bigtext > * { display: block; }",".bigtext ."+BigText.EXEMPT_CLASS+", .bigtext ."+BigText.EXEMPT_CLASS+" * { white-space: normal; }"]))}},bindResize:function(eventName,resizeFunction){if($.throttle){$(window).unbind(eventName).bind(eventName,$.throttle(100,resizeFunction))}else{if($.fn.smartresize){eventName="smartresize."+eventName}$(window).unbind(eventName).bind(eventName,resizeFunction)}},getStyleId:function(id){return BigText.STYLE_ID+"-"+id},generateStyleTag:function(id,css){return $("<style>"+css.join("\n")+"</style>").attr("id",id)},clearCss:function(id){var styleId=BigText.getStyleId(id);$("#"+styleId).remove()},generateCss:function(id,linesFontSizes,lineWordSpacings,minFontSizes){var css=[];BigText.clearCss(id);for(var j=0,k=linesFontSizes.length;j<k;j++){css.push("#"+id+" ."+BigText.LINE_CLASS_PREFIX+j+" {"+(minFontSizes[j]?" white-space: normal;":"")+(linesFontSizes[j]?" font-size: "+linesFontSizes[j]+"px;":"")+(lineWordSpacings[j]?" word-spacing: "+lineWordSpacings[j]+"px;":"")+"}")}return BigText.generateStyleTag(BigText.getStyleId(id),css)},jQueryMethod:function(options){BigText.init();options=$.extend({minfontsize:BigText.DEFAULT_MIN_FONT_SIZE_PX,maxfontsize:BigText.DEFAULT_MAX_FONT_SIZE_PX,childSelector:"",resize:true},options||{});this.each(function(){var $t=$(this).addClass("bigtext"),maxWidth=$t.width(),id=$t.attr("id"),$children=options.childSelector?$t.find(options.childSelector):$t.children();if(!id){id="bigtext-id"+counter++;$t.attr("id",id)}if(options.resize){BigText.bindResize("resize.bigtext-event-"+id,function(){BigText.jQueryMethod.call($("#"+id),options)})}BigText.clearCss(id);$children.addClass(function(lineNumber,className){return[className.replace(new RegExp("\\b"+BigText.LINE_CLASS_PREFIX+"\\d+\\b"),""),BigText.LINE_CLASS_PREFIX+lineNumber].join(" ")});var sizes=calculateSizes($t,$children,maxWidth,options.maxfontsize,options.minfontsize);$headCache.append(BigText.generateCss(id,sizes.fontSizes,sizes.wordSpacings,sizes.minFontSizes))});return this.trigger("bigtext:complete")}};function testLineDimensions($line,maxWidth,property,size,interval,units,previousWidth){var width;previousWidth=typeof previousWidth==="number"?previousWidth:0;$line.css(property,size+units);width=$line.width();if(width>=maxWidth){$line.css(property,"");if(width===maxWidth){return{match:"exact",size:parseFloat((parseFloat(size)-.1).toFixed(3))}}var under=maxWidth-previousWidth,over=width-maxWidth;return{match:"estimate",size:parseFloat((parseFloat(size)-(property==="word-spacing"&&previousWidth&&over<under?0:interval)).toFixed(3))}}return width}function calculateSizes($t,$children,maxWidth,maxFontSize,minFontSize){var $c=$t.clone(true).addClass("bigtext-cloned").css({fontFamily:$t.css("font-family"),textTransform:$t.css("text-transform"),wordSpacing:$t.css("word-spacing"),letterSpacing:$t.css("letter-spacing"),position:"absolute",left:BigText.DEBUG_MODE?0:-9999,top:BigText.DEBUG_MODE?0:-9999}).appendTo(document.body);var fontSizes=[],wordSpacings=[],minFontSizes=[],ratios=[];$children.css("float","left").each(function(){var $line=$(this),intervals=BigText.supports.wholeNumberFontSizeOnly?[8,4,1]:[8,4,1,.1],lineMax,newFontSize;if($line.hasClass(BigText.EXEMPT_CLASS)){fontSizes.push(null);ratios.push(null);minFontSizes.push(false);return}var autoGuessSubtraction=32,currentFontSize=parseFloat($line.css("font-size")),ratio=($line.width()/currentFontSize).toFixed(6);newFontSize=parseInt(maxWidth/ratio,10)-autoGuessSubtraction;outer:for(var m=0,n=intervals.length;m<n;m++){inner:for(var j=1,k=10;j<=k;j++){if(newFontSize+j*intervals[m]>maxFontSize){newFontSize=maxFontSize;break outer}lineMax=testLineDimensions($line,maxWidth,"font-size",newFontSize+j*intervals[m],intervals[m],"px",lineMax);if(typeof lineMax!=="number"){newFontSize=lineMax.size;if(lineMax.match==="exact"){break outer}break inner}}}ratios.push(maxWidth/newFontSize);if(newFontSize>maxFontSize){fontSizes.push(maxFontSize);minFontSizes.push(false)}else if(!!minFontSize&&newFontSize<minFontSize){fontSizes.push(minFontSize);minFontSizes.push(true)}else{fontSizes.push(newFontSize);minFontSizes.push(false)}}).each(function(lineNumber){var $line=$(this),wordSpacing=0,interval=1,maxWordSpacing;if($line.hasClass(BigText.EXEMPT_CLASS)){wordSpacings.push(null);return}$line.css("font-size",fontSizes[lineNumber]+"px");for(var m=1,n=3;m<n;m+=interval){maxWordSpacing=testLineDimensions($line,maxWidth,"word-spacing",m,interval,"px",maxWordSpacing);if(typeof maxWordSpacing!=="number"){wordSpacing=maxWordSpacing.size;break}}$line.css("font-size","");wordSpacings.push(wordSpacing)}).removeAttr("style");if(!BigText.DEBUG_MODE){$c.remove()}else{$c.css({"background-color":"rgba(255,255,255,.4)"})}
1return{fontSizes:fontSizes,wordSpacings:wordSpacings,ratios:ratios,minFontSizes:minFontSizes}}$.fn.bigtext=BigText.jQueryMethod;window.BigText=BigText})(this,jQuery);$(".flexText").bigtext();
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.