1!function($){"use strict";var Tab=function(element){this.element=$(element)} 2Tab.prototype={constructor:Tab,show:function(){var $this=this.element,$ul=$this.closest('ul:not(.dropdown-menu)'),selector=$this.attr('data-target'),previous,$target,e 3if(!selector){selector=$this.attr('href') 4selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')} 5if($this.parent('li').hasClass('active'))return 6previous=$ul.find('.active:last a')[0] 7e=$.Event('show',{relatedTarget:previous}) 8$this.trigger(e) 9if(e.isDefaultPrevented())return 10$target=$(selector) 11this.activate($this.parent('li'),$ul) 12this.activate($target,$target.parent(),function(){$this.trigger({type:'shown',relatedTarget:previous})})},activate:function(element,container,callback){var $active=container.find('> .active'),transition=callback&&$.support.transition&&$active.hasClass('fade') 13function next(){$active.removeClass('active').find('> .dropdown-menu > .active').removeClass('active') 14element.addClass('active') 15if(transition){element[0].offsetWidth 16element.addClass('in')}else{element.removeClass('fade')} 17if(element.parent('.dropdown-menu')){element.closest('li.dropdown').addClass('active')} 18callback&&callback()} 19transition?$active.one($.support.transition.end,next):next() 20$active.removeClass('in')}} 21var old=$.fn.tab 22$.fn.tab=function(option){return this.each(function(){var $this=$(this),data=$this.data('tab') 23if(!data)$this.data('tab',(data=new Tab(this))) 24if(typeof option=='string')data[option]()})} 25$.fn.tab.Constructor=Tab 26$.fn.tab.noConflict=function(){$.fn.tab=old 27return this} 28$(document).on('click.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault() 29$(this).tab('show')})}(window.jQuery);
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.