PageSourceSearch

https://nobts.edu/_skin/assets/base/js/components.js

js nobts.edu collected 2026-09-24 09:44:09 UTC 21,832 bytes, 806 lines download raw bytes

1/**
2 Core layout handlers and component wrappers
3 **/
4
5// BEGIN: Layout Brand
6var LayoutBrand = function () {
7
8	return {
9		//main function to initiate the module
10		init: function () {
11			$('body').on('click', '.c-hor-nav-toggler', function () {
12				var target = $(this).data('target');
13				$(target).toggleClass("c-shown");
14			});
15		}
16
17	};
18}();
19// END
20
21// BEGIN: Layout Brand
22var LayoutHeaderCart = function () {
23
24	return {
25		//main function to initiate the module
26		init: function () {
27			var cart = $('.c-cart-menu');
28
29			if (cart.size() === 0) {
30				return;
31			}
32
33			if (App.getViewPort().width < App.getBreakpoint('md')) { // mpbile mode
34				$('body').on('click', '.c-cart-toggler', function (e) {
35					e.preventDefault();
36					e.stopPropagation();
37					$('body').toggleClass("c-header-cart-shown");
38				});
39
40				$('body').on('click', function (e) {
41					if (!cart.is(e.target) && cart.has(e.target).length === 0) {
42						$('body').removeClass('c-header-cart-shown');
43					}
44				});
45			} else { // desktop
46				$('body').on('hover', '.c-cart-toggler, .c-cart-menu', function (e) {
47					$('body').addClass("c-header-cart-shown");
48				});
49
50				$('body').on('hover', '.c-mega-menu > .navbar-nav > li:not(.c-cart-toggler-wrapper)', function (e) {
51					$('body').removeClass("c-header-cart-shown");
52				});
53
54				$('body').on('mouseleave', '.c-cart-menu', function (e) {
55					$('body').removeClass("c-header-cart-shown");
56				});
57			}
58		}
59	};
60}();
61// END
62
63// BEGIN: Layout Header
64var LayoutHeader = function () {
65	var offset = parseInt($('.c-layout-header').attr('data-minimize-offset') > 0 ? parseInt($('.c-layout-header').attr('data-minimize-offset')) : 0);
66	var _handleHeaderOnScroll = function () {
67		if ($(window).scrollTop() > offset) {
68			$("body").addClass("c-page-on-scroll");
69		} else {
70			$("body").removeClass("c-page-on-scroll");
71		}
72	}
73
74	var _handleTopbarCollapse = function () {
75		$('.c-layout-header .c-topbar-toggler').on('click', function (e) {
76			$('.c-layout-header-topbar-collapse').toggleClass("c-topbar-expanded");
77		});
78	}
79
80	return {
81		//main function to initiate the module
82		init: function () {
83			if ($('body').hasClass('c-layout-header-fixed-non-minimized')) {
84				return;
85			}
86
87			_handleHeaderOnScroll();
88			_handleTopbarCollapse();
89
90			$(window).scroll(function () {
91				_handleHeaderOnScroll();
92			});
93		}
94	};
95}();
96// END
97
98// BEGIN: Layout Mega Menu
99var LayoutMegaMenu = function () {
100
101	return {
102		//main function to initiate the module
103		init: function () {
104			$('.c-mega-menu').on('click', '.c-toggler', function (e) {
105				if (App.getViewPort().width < App.getBreakpoint('md')) {
106					e.preventDefault();
107					if ($(this).closest("li").hasClass('c-open')) {
108						$(this).closest("li").removeClass('c-open');
109					} else {
110						$(this).closest("li").addClass('c-open');
111					}
112				}
113			});
114
115			$('.c-layout-header .c-hor-nav-toggler:not(.c-quick-sidebar-toggler)').on('click', function () {
116				$('.c-layout-header').toggleClass('c-mega-menu-shown');
117
118				if ($('body').hasClass('c-layout-header-mobile-fixed')) {
119					var height = App.getViewPort().height - $('.c-layout-header').outerHeight(true) - 60;
120					$('.c-mega-menu').css('max-height', height);
121				}
122			});
123		}
124	};
125}();
126// END
127
128// BEGIN: Layout Mega Menu
129var LayoutSidebarMenu = function () {
130
131	return {
132		//main function to initiate the module
133		init: function () {
134			$('.c-layout-sidebar-menu > .c-sidebar-menu .c-toggler').on('click', function (e) {
135				e.preventDefault();
136				$(this).closest('.c-dropdown').toggleClass('c-open');
137			});
138		}
139	};
140}();
141// END
142
143// BEGIN: Layout Mega Menu
144var LayoutQuickSearch = function () {
145
146	return {
147		//main function to initiate the module
148		init: function () {
149			// desktop mode
150			$('.c-layout-header').on('click', '.c-mega-menu .c-search-toggler', function (e) {
151				e.preventDefault();
152
153				$('body').addClass('c-layout-quick-search-shown');
154
155				if (App.isIE() === false) {
156					$('.c-quick-search > .form-control').focus();
157				}
158			});
159
160			// mobile mode
161			$('.c-layout-header').on('click', '.c-brand .c-search-toggler', function (e) {
162				e.preventDefault();
163
164				$('body').addClass('c-layout-quick-search-shown');
165
166				if (App.isIE() === false) {
167					$('.c-quick-search > .form-control').focus();
168				}
169			});
170
171			// handle close icon for mobile and desktop
172			$('.c-quick-search').on('click', '> span', function (e) {
173				e.preventDefault();
174				$('body').removeClass('c-layout-quick-search-shown');
175			});
176		}
177	};
178}();
179// END
180
181var LayoutCartMenu = function () {
182
183	return {
184		//main function to initiate the module
185		init: function () {
186			// desktop mode
187			$('.c-layout-header').on('mouseenter', '.c-mega-menu .c-cart-toggler-wrapper', function (e) {
188				e.preventDefault();
189
190				$('.c-cart-menu').addClass('c-layout-cart-menu-shown');
191
192			});
193
194			$('.c-cart-menu, .c-layout-header').on('mouseleave', function (e) {
195				e.preventDefault();
196
197				$('.c-cart-menu').removeClass('c-layout-cart-menu-shown');
198
199			});
200
201			// mobile mode
202			$('.c-layout-header').on('click', '.c-brand .c-cart-toggler', function (e) {
203				e.preventDefault();
204
205				$('.c-cart-menu').toggleClass('c-layout-cart-menu-shown');
206
207			});
208		}
209	};
210}();
211// END
212
213// BEGIN: Layout Mega Menu
214var LayoutQuickSidebar = function () {
215
216	return {
217		//main function to initiate the module
218		init: function () {
219			// desktop mode
220			$('.c-layout-header').on('click', '.c-quick-sidebar-toggler', function (e) {
221				e.preventDefault();
222				e.stopPropagation();
223
224				if ($('body').hasClass("c-layout-quick-sidebar-shown")) {
225					$('body').removeClass("c-layout-quick-sidebar-shown");
226				} else {
227					$('body').addClass("c-layout-quick-sidebar-shown");
228				}
229			});
230
231			$('.c-layout-quick-sidebar').on('click', '.c-close', function (e) {
232				e.preventDefault();
233
234				$('body').removeClass("c-layout-quick-sidebar-shown");
235			});
236
237			$('.c-layout-quick-sidebar').on('click', function (e) {
238				e.stopPropagation();
239			});
240
241			$(document).on('click', '.c-layout-quick-sidebar-shown', function (e) {
242				$(this).removeClass("c-layout-quick-sidebar-shown");
243			});
244		}
245	};
246}();
247// END
248
249// BEGIN: Layout Go To Top
250var LayoutGo2Top = function () {
251
252	var handle = function () {
253		var currentWindowPosition = $(window).scrollTop(); // current vertical position
254		if (currentWindowPosition > 300) {
255			$(".c-layout-go2top").show();
256            $("#fb-root").show();
257		} else {
258			$(".c-layout-go2top").hide();
259            $("#fb-root").hide();
260		}
261	};
262
263	return {
264
265		//main function to initiate the module
266		init: function () {
267
268			handle(); // call headerFix() when the page was loaded
269
270			if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) {
271				$(window).bind("touchend touchcancel touchleave", function (e) {
272					handle();
273				});
274			} else {
275				$(window).scroll(function () {
276					handle();
277				});
278			}
279
280			$(".c-layout-go2top").on('click', function (e) {
281				e.preventDefault();
282				$("html, body").animate({
283					scrollTop: 0
284				}, 600);
285			});
286		}
287
288	};
289}();
290// END: Layout Go To Top
291
292// BEGIN: Onepage Nav
293var LayoutOnepageNav = function () {
294
295	var handle = function () {
296		var offset;
297		var scrollspy;
298		var speed;
299		var nav;
300
301		$('body').addClass('c-page-on-scroll');
302		offset = $('.c-layout-header-onepage').outerHeight(true);
303		$('body').removeClass('c-page-on-scroll');
304
305		if ($('.c-mega-menu-onepage-dots').size() > 0) {
306			if ($('.c-onepage-dots-nav').size() > 0) {
307				$('.c-onepage-dots-nav').css('margin-top', -($('.c-onepage-dots-nav').outerHeight(true) / 2));
308			}
309			scrollspy = $('body').scrollspy({
310				target: '.c-mega-menu-onepage-dots',
311				offset: offset
312			});
313			speed = parseInt($('.c-mega-menu-onepage-dots').attr('data-onepage-animation-speed'));
314		} else {
315			scrollspy = $('body').scrollspy({
316				target: '.c-mega-menu-onepage',
317				offset: offset
318			});
319			speed = parseInt($('.c-mega-menu-onepage').attr('data-onepage-animation-speed'));
320		}
321
322		scrollspy.on('activate.bs.scrollspy', function () {
323			$(this).find('.c-onepage-link.c-active').removeClass('c-active');
324			$(this).find('.c-onepage-link.active').addClass('c-active');
325		});
326
327		$('.c-onepage-link > a').on('click', function (e) {
328			var section = $(this).attr('href');
329			var top = 0;
330
331			if (section !== "#home") {
332				top = $(section).offset().top - offset + 1;
333			}
334
335			$('html, body').stop().animate({
336				scrollTop: top,
337			}, speed, 'easeInExpo');
338
339			e.preventDefault();
340
341			if (App.getViewPort().width < App.getBreakpoint('md')) {
342				$('.c-hor-nav-toggler').click();
343			}
344		});
345	};
346
347	return {
348
349		//main function to initiate the module
350		init: function () {
351			handle(); // call headerFix() when the page was loaded
352		}
353
354	};
355}();
356// END: Onepage Nav
357
358// BEGIN: Handle Theme Settings
359var LayoutThemeSettings = function () {
360
361	var handle = function () {
362
363		$('.c-settings .c-color').on('click', function () {
364			var val = $(this).attr('data-color');
365			$('#style_theme').attr('href', 'assets/base/css/themes/' + val + '.css');
366
367			$('.c-settings .c-color').removeClass('c-active');
368			$(this).addClass('c-active');
369		});
370
371		$('.c-setting_header-type').on('click', function () {
372			var val = $(this).attr('data-value');
373			if (val == 'fluid') {
374				$('.c-layout-header .c-topbar > .container').removeClass('container').addClass('container-fluid');
375				$('.c-layout-header .c-navbar > .container').removeClass('container').addClass('container-fluid');
376			} else {
377				$('.c-layout-header .c-topbar > .container-fluid').removeClass('container-fluid').addClass('container');
378				$('.c-layout-header .c-navbar > .container-fluid').removeClass('container-fluid').addClass('container');
379			}
380			$('.c-setting_header-type').removeClass('active');
381			$(this).addClass('active');
382		});
383
384		$('.c-setting_header-mode').on('click', function () {
385			var val = $(this).attr('data-value');
386			if (val == 'static') {
387				$('body').removeClass('c-layout-header-fixed').addClass('c-layout-header-static');
388			} else {
389				$('body').removeClass('c-layout-header-static').addClass('c-layout-header-fixed');
390			}
391			$('.c-setting_header-mode').removeClass('active');
392			$(this).addClass('active');
393		});
394
395		$('.c-setting_font-style').on('click', function () {
396			var val = $(this).attr('data-value');
397
398			if (val == 'light') {
399				$('.c-font-uppercase').addClass('c-font-uppercase-reset').removeClass('c-font-uppercase');
400				$('.c-font-bold').addClass('c-font-bold-reset').removeClass('c-font-bold');
401
402				$('.c-fonts-uppercase').addClass('c-fonts-uppercase-reset').removeClass('c-fonts-uppercase');
403				$('.c-fonts-bold').addClass('c-fonts-bold-reset').removeClass('c-fonts-bold');
404			} else {
405				$('.c-font-uppercase-reset').addClass('c-font-uppercase').removeClass('c-font-uppercase-reset');
406				$('.c-font-bold-reset').addClass('c-font-bold').removeClass('c-font-bold-reset');
407
408				$('.c-fonts-uppercase-reset').addClass('c-fonts-uppercase').removeClass('c-fonts-uppercase-reset');
409				$('.c-fonts-bold-reset').addClass('c-fonts-bold').removeClass('c-fonts-bold-reset');
410			}
411
412			$('.c-setting_font-style').removeClass('active');
413			$(this).addClass('active');
414		});
415
416		$('.c-setting_megamenu-style').on('click', function () {
417			var val = $(this).attr('data-value');
418			if (val == 'dark') {
419				$('.c-mega-menu').removeClass('c-mega-menu-light').addClass('c-mega-menu-dark');
420			} else {
421				$('.c-mega-menu').removeClass('c-mega-menu-dark').addClass('c-mega-menu-light');
422			}
423			$('.c-setting_megamenu-style').removeClass('active');
424			$(this).addClass('active');
425		});
426
427	};
428
429	return {
430
431		//main function to initiate the module
432		init: function () {
433
434			handle();
435		}
436
437	};
438}();
439// END: Handle Theme Settings
440
441// BEGIN: OwlCarousel
442var ContentOwlcarousel = function () {
443
444	var _initInstances = function () {
445		$("[data-slider='owl'] .owl-carousel").each(function () {
446			var parent = $(this).parent();
447
448			var items;
449			var itemsDesktop;
450			var itemsDesktopSmall;
451			var itemsTablet;
452			var itemsTabletSmall;
453			var itemsMobile;
454
455			if (parent.data("single-item") == "true") {
456				items = 1;
457				itemsDesktop = 1;
458				itemsDesktopSmall = 1;
459				itemsTablet = 1;
460				itemsTabletSmall = 1;
461				itemsMobile = 1;
462			} else {
463				items = parent.data('items');
464				itemsDesktop = [1199, parent.data('desktop-items') ? parent.data('desktop-items') : items];
465				itemsDesktopSmall = [979, parent.data('desktop-small-items') ? parent.data('desktop-small-items') : 3];
466				itemsTablet = [768, parent.data('tablet-items') ? parent.data('tablet-items') : 2];
467				itemsMobile = [479, parent.data('mobile-items') ? parent.data('mobile-items') : 1];
468			}
469
470			$(this).owlCarousel({
471
472				items: items,
473				itemsDesktop: itemsDesktop,
474				itemsDesktopSmall: itemsDesktopSmall,
475				itemsTablet: itemsTablet,
476				itemsTabletSmall: itemsTablet,
477				itemsMobile: itemsMobile,
478
479				navigation: parent.data("navigation") ? true : false,
480				navigationText: false,
481				slideSpeed: parent.data('slide-speed'),
482				paginationSpeed: parent.data('pagination-speed'),
483				singleItem: parent.data("single-item") ? true : false,
484				autoPlay: parent.data("auto-play")
485			});
486		});
487	};
488
489	return {
490
491		//main function to initiate the module
492		init: function () {
493
494			_initInstances();
495		}
496
497	};
498}();
499// END: OwlCarousel
500
501// BEGIN: ContentCubeLatestPortfolio
502var ContentCubeLatestPortfolio = function () {
503
504	var _initInstances = function () {
505
506		// init cubeportfolio
507		$('.c-content-latest-works').cubeportfolio({
508			filters: '#filters-container',
509			loadMore: '#loadMore-container',
510			loadMoreAction: 'click',
511			layoutMode: 'grid',
512			defaultFilter: '*',
513			animationType: 'quicksand',
514			gapHorizontal: 20,
515			gapVertical: 23,
516			gridAdjustment: 'responsive',
517			mediaQueries: [{
518				width: 1100,
519				cols: 4
520			}, {
521				width: 800,
522				cols: 3
523			}, {
524				width: 500,
525				cols: 2
526			}, {
527				width: 320,
528				cols: 1
529			}],
530			caption: 'zoom',
531			displayType: 'lazyLoading',
532			displayTypeSpeed: 100,
533
534			// lightbox
535			lightboxDelegate: '.cbp-lightbox',
536			lightboxGallery: true,
537			lightboxTitleSrc: 'data-title',
538			lightboxCounter: '<div class="cbp-popup-lightbox-counter">{{current}} of {{total}}</div>',
539
540			// singlePage popup
541			singlePageDelegate: '.cbp-singlePage',
542			singlePageDeeplinking: true,
543			singlePageStickyNavigation: true,
544			singlePageCounter: '<div class="cbp-popup-singlePage-counter">{{current}} of {{total}}</div>',
545			singlePageCallback: function (url, element) {
546				// to update singlePage content use the following method: this.updateSinglePage(yourContent)
547				var t = this;
548
549				$.ajax({
550					url: url,
551					type: 'GET',
552					dataType: 'html',
553					timeout: 5000
554				})
555					.done(function (result) {
556						t.updateSinglePage(result);
557					})
558					.fail(function () {
559						t.updateSinglePage("Error! Please refresh the page!");
560					});
561			},
562		});
563
564		$('.c-content-latest-works-fullwidth').cubeportfolio({
565			loadMoreAction: 'auto',
566			layoutMode: 'grid',
567			defaultFilter: '*',
568			animationType: 'fadeOutTop',
569			gapHorizontal: 0,
570			gapVertical: 0,
571			gridAdjustment: 'responsive',
572			mediaQueries: [{
573				width: 1600,
574				cols: 5
575			}, {
576				width: 1200,
577				cols: 4
578			}, {
579				width: 800,
580				cols: 3
581			}, {
582				width: 500,
583				cols: 2
584			}, {
585				width: 320,
586				cols: 1
587			}],
588			caption: 'zoom',
589			displayType: 'lazyLoading',
590			displayTypeSpeed: 100,
591
592			// lightbox
593			lightboxDelegate: '.cbp-lightbox',
594			lightboxGallery: true,
595			lightboxTitleSrc: 'data-title',
596			lightboxCounter: '<div class="cbp-popup-lightbox-counter">{{current}} of {{total}}</div>',
597		});
598
599	};
600
601	return {
602
603		//main function to initiate the module
604		init: function () {
605			_initInstances();
606		}
607
608	};
609}();
610// END: ContentCubeLatestPortfolio
611
612// BEGIN: CounterUp
613var ContentCounterUp = function () {
614
615	var _initInstances = function () {
616
617		// init counter up
618		$("[data-counter='counterup']").counterUp({
619			delay: 10,
620			time: 1000
621		});
622	};
623
624	return {
625
626		//main function to initiate the module
627		init: function () {
628			_initInstances();
629		}
630
631	};
632}();
633// END: CounterUp
634
635// BEGIN: Fancybox
636var ContentFancybox = function () {
637
638	var _initInstances = function () {
639		// init fancybox
640		$("[data-lightbox='fancybox']").fancybox();
641	};
642
643	return {
644
645		//main function to initiate the module
646		init: function () {
647			_initInstances();
648		}
649
650	};
651}();
652// END: Fancybox
653
654// BEGIN: Twitter
655var ContentTwitter = function () {
656
657	var _initInstances = function () {
658		// init twitter
659		if ($(".twitter-timeline")[0]) {
660			!function (d, s, id) {
661				var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
662				if (!d.getElementById(id)) {
663					js = d.createElement(s);
664					js.id = id;
665					js.src = p + "://platform.twitter.com/widgets.js";
666					fjs.parentNode.insertBefore(js, fjs);
667				}
668			}(document, "script", "twitter-wjs");
669		}
670	};
671
672	return {
673
674		//main function to initiate the module
675		init: function () {
676			_initInstances();
677		}
678
679	};
680}();
681// END: Twitter
682
683
684// BEGIN : SCROLL TO VIEW DETECTION
685function isScrolledIntoView(elem)
686{
687    var $elem = $(elem);
688    var $window = $(window);
689
690    var docViewTop = $window.scrollTop();
691    var docViewBottom = docViewTop + $window.height();
692
693    var elemTop = $elem.offset().top;
694    var elemBottom = elemTop + $elem.height();
695
696    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
697}
698// END : SCROLL TO VIEW FUNCTION
699
700// BEGIN : PROGRESS BAR 
701var LayoutProgressBar = function ($) {
702
703    return {
704        init: function () {
705        	var id_count = 0; // init progress bar id number
706        	$('.c-progress-bar-line').each(function(){
707        		id_count++; // progress bar id running number
708        		// build progress bar class selector with running id number
709        		var this_id = $(this).attr('data-id', id_count);
710        		var this_bar = '.c-progress-bar-line[data-id="'+id_count+'"]';
711
712        		// build progress bar object key
713        		var progress_data = $(this).data('progress-bar');
714				progress_data = progress_data.toLowerCase().replace(/\b[a-z]/g, function(letter) {
715				    return letter.toUpperCase();
716				});
717				if(progress_data == 'Semicircle') { progress_data = 'SemiCircle'; }
718
719				// grab options
720				var bar_color = $(this).css('border-top-color'); // color	
721				var this_animation = $(this).data('animation'); // animation type : linear, easeIn, easeOut, easeInOut, bounce
722				var stroke_width = $(this).data('stroke-width'); // stroke width
723				var bar_duration = $(this).data('duration'); // duration
724				var trail_width = $(this).data('trail-width'); // trail width
725				var trail_color = $(this).data('trail-color'); // trail color
726				var bar_progress = $(this).data('progress'); // progress value
727				var font_color = $(this).css('color'); // progress font color
728
729				// set default data if options is null / undefinded
730				if (bar_color == 'rgb(92, 104, 115)'){ bar_color = '#32c5d2'; } // set default color 
731				if (trail_color == ''){ trail_color = '#5c6873'; }
732				if (trail_width == ''){ trail_width = '0'; }
733				if (bar_progress == ""){ bar_progress = '1'; }
734				if (stroke_width == ""){ stroke_width = '3'; }
735				if (this_animation == ""){ this_animation = 'easeInOut'; }
736				if (bar_duration == ""){ bar_duration = '1500'; }
737	         
738
739	         	// set progress bar
740	         	var bar = new ProgressBar[progress_data](this_bar, {
741		            strokeWidth: stroke_width,
742		            easing: this_animation,
743		            duration: bar_duration,
744		            color: bar_color,
745		            trailWidth: trail_width,
746		            trailColor: trail_color,
747		            svgStyle: null,		            
748	            	step: function (state, bar) {
749						bar.setText(Math.round(bar.value() * 100) + '%');
750					},									   
751					text: {
752						style: {
753							color: font_color,
754						}
755					},
756		        });
757
758	         	// init animation when progress bar in view without scroll
759	         	var check_scroll = isScrolledIntoView(this_bar); // check if progress bar is in view - return true / false
760			    if (check_scroll == true){
761		        	bar.animate(bar_progress);  // Number from 0.0 to 1.0
762		        }
763		        
764	         	// start progress bar animation upon scroll view
765		        $(window).scroll(function (event) {
766				    var check_scroll = isScrolledIntoView(this_bar); // check if progress bar is in view - return true / false
767				    if (check_scroll == true){
768			        	bar.animate(bar_progress);  // Number from 0.0 to 1.0
769			        }
770				});
771				
772
773        	});
774
775        	
776         
777           
778        }
779    }
780}(jQuery);
781// END : PROGRESS BAR
782
783
784// Main theme initialization
785$(document).ready(function () {
786	// init layout handlers
787	LayoutBrand.init();
788	LayoutHeader.init();
789	LayoutHeaderCart.init();
790	LayoutMegaMenu.init();
791	LayoutSidebarMenu.init();
792	LayoutQuickSearch.init();
793	LayoutCartMenu.init();
794	LayoutQuickSidebar.init();
795	LayoutGo2Top.init();
796	LayoutOnepageNav.init();
797	LayoutThemeSettings.init();
798	LayoutProgressBar.init();
799
800	// init plugin wrappers
801	ContentOwlcarousel.init();
802	ContentCubeLatestPortfolio.init();
803	ContentCounterUp.init();
804	ContentFancybox.init();
805	ContentTwitter.init();
806});

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.