PageSourceSearch

https://www.ipanipan.com/wp-content/themes/ipanipan-theme/js/display.js?ver=5.4.24

js ipanipan.com collected 2026-10-09 04:19:05 UTC 34,070 bytes, 1,013 lines download raw bytes

1/*!
2 * jQuery.ellipsis
3 * http://github.com/jjenzz/jquery.ellipsis
4 * --------------------------------------------------------------------------
5 * Copyright (c) 2013 J. Smith (@jjenzz)
6 * Dual licensed under the MIT and GPL licenses:
7 * http://www.opensource.org/licenses/mit-license.php
8 * http://www.gnu.org/licenses/gpl.html
9 *
10 * adds a class to the last 'allowed' line of text so you can apply
11 * text-overflow: ellipsis;
12 */
13(function(factory) {
14    'use strict';
15
16    if (typeof define === 'function' && define.amd) {
17        // AMD. register as an anonymous module
18        define(['jquery'], factory);
19    } else {
20        // browser globals
21        factory(jQuery);
22    }
23}(function($) {
24    'use strict';
25
26    var namespace = 'ellipsis',
27        span = '<span style="white-space: nowrap;">',
28        defaults = {
29            lines: 'auto',
30            ellipClass: 'ellip',
31            responsive: false
32        };
33
34    /**
35     * Ellipsis()
36     * --------------------------------------------------------------------------
37     * @param {Node} el
38     * @param {Object} opts
39     */
40    function Ellipsis(el, opts) {
41        var base = this,
42            currLine = 0,
43            lines = [],
44            setStartEllipAt,
45            startEllipAt,
46            resizeTimer,
47            currOffset,
48            lineHeight,
49            contHeight,
50            words,
51            htmlEntities;
52
53        // List of HTML entities for escaping.
54        htmlEntities = {
55            '&': '&amp;',
56            '<': '&lt;',
57            '>': '&gt;',
58            '"': '&quot;',
59            "'": '&#x27;',
60            '`': '&#x60;',
61            '/': '&#x2F;',
62            '\\': '&#x5C;'
63        };
64
65        base.$cont = $(el);
66        base.opts = $.extend({}, defaults, opts);
67
68        /**
69         * create() happens once when
70         * instance is created
71         */
72        function create() {
73            base.text = base.$cont.text();
74            base.opts.ellipLineClass = base.opts.ellipClass + '-line';
75
76            base.$el = $('<span class="' + base.opts.ellipClass + '" />');
77            base.$el.text(base.text);
78
79            base.$cont.empty().append(base.$el);
80
81            init();
82        }
83
84        /**
85         * init()
86         */
87        function init() {
88
89            // if they only want one line just add
90            // the class and do nothing else
91            if (typeof base.opts.lines === 'number' && base.opts.lines < 2) {
92                base.$el.addClass(base.opts.ellipLineClass);
93                return;
94            }
95
96            contHeight = base.$cont.height();
97
98            // if they only want to ellipsis the overflow
99            // then do nothing if there is no overflow
100            if (base.opts.lines === 'auto' && base.$el.prop('scrollHeight') <= contHeight) {
101                return;
102            }
103
104            if (!setStartEllipAt) {
105                return;
106            }
107
108            // create an array of words from our string
109            words = $.trim(escapeText(base.text)).split(/\s+/);
110
111            // wrap each word in a span and temporarily append to the DOM
112            base.$el.html(span + words.join('</span> ' + span) + '</span>');
113
114            // loop through words to determine which word the
115            // ellipsis container should start from (need to
116            // re-query spans from DOM so we can get their offset)
117            base.$el.find('span').each(setStartEllipAt);
118
119            // startEllipAt could be 0 so make sure we're
120            // checking undefined instead of falsey
121            if (startEllipAt != null) {
122                updateText(startEllipAt);
123            }
124        }
125
126        /**
127         * updateText() updates the text in the DOM
128         * with a span around the line that needs
129         * to be truncated
130         *
131         * @param {Number} i
132         */
133        function updateText(nth) {
134            // add a span that wraps from nth
135            // word to the end of the string
136            words[nth] = '<span class="' + base.opts.ellipLineClass + '">' + words[nth];
137            words.push('</span>');
138
139            // update the DOM with
140            // our new string/markup
141            base.$el.html(words.join(' '));
142        }
143
144        function escapeText(text){
145            return String(text).replace(/[&<>"'``\/]/g, function (s) {
146                return htmlEntities[s];
147            });
148        }
149
150        // only define the method if it's required
151        if (base.opts.lines === 'auto') {
152
153            /**
154             * setStartEllipByHeight() sets the start
155             * position to the first word in the last
156             * line of the element that doesn't overflow
157             *
158             * @param {Number} i
159             * @param {Node} word
160             */
161            var setStartEllipByHeight = function(i, word) {
162                var $word = $(word),
163                    top = $word.position().top;
164
165                lineHeight = lineHeight || $word.height();
166
167                if (top === currOffset) {
168                    // if it's top matches currOffset
169                    // then it's on the same line
170                    // as the previous word
171                    lines[currLine].push($word);
172                } else {
173                    // otherwise we're
174                    // on a new line
175                    currOffset = top;
176                    currLine += 1;
177                    lines[currLine] = [$word];
178                }
179
180                // if the bottom of the word is outside
181                // the element (overflowing) then
182                // stop looping and set startEllipAt to
183                // the first word in the previous line
184                if (top + lineHeight > contHeight) {
185                    startEllipAt = i - lines[currLine - 1].length;
186                    return false;
187                }
188            };
189
190            setStartEllipAt = setStartEllipByHeight;
191        }
192
193        // only define the method if it's required
194        if (typeof base.opts.lines === 'number' && base.opts.lines > 1) {
195
196            /**
197             * setStartEllipByLine() sets the start
198             * position to the first word in the line
199             * that was passed to opts. This forces
200             * the ellipsis on a specific line
201             * regardless of overflow
202             *
203             * @param {Number} i
204             * @param {Node} word
205             */
206            var setStartEllipByLine = function(i, word) {
207                var $word = $(word),
208                    top = $word.position().top;
209
210                // if top isn't currOfset
211                // then we're on a new line
212                if (top !== currOffset) {
213                    currOffset = top;
214                    currLine += 1;
215                }
216
217                // if the word's currLine is equal
218                // to the line limit passed via options
219                // then start ellip from this
220                // word and stop looping
221                if (currLine === base.opts.lines) {
222                    startEllipAt = i;
223                    return false;
224                }
225            };
226
227            setStartEllipAt = setStartEllipByLine;
228        }
229
230        // only bind to window resize if required
231        if (base.opts.responsive) {
232
233            /**
234             * resize() resets necessary vars
235             * and content and then re-initialises
236             * the Ellipsis script
237             */
238            var resize = function() {
239                lines = [];
240                currLine = 0;
241                currOffset = null;
242                startEllipAt = null;
243                base.$el.html(escapeText(base.text));
244
245                clearTimeout(resizeTimer);
246                resizeTimer = setTimeout(init, 100);
247            };
248
249            $(window).on('resize.' + namespace, resize);
250        }
251
252        // start 'er up
253        create();
254    }
255
256    $.fn[namespace] = function(opts) {
257        return this.each(function() {
258            try {
259                $(this).data(namespace, (new Ellipsis(this, opts)));
260            } catch (err) {
261                if (window.console) {
262                    console.error(namespace + ': ' + err);
263                }
264            }
265        });
266    };
267
268}));
269
270
271var menu = {
272     lock: false,
273     click: function(button, bottom) {
274         if (menu.lock) {
275             return false;
276         }
277
278         menu.lock = true;
279
280         var body = jQuery("body");
281
282         if (body.hasClass("menuOpen")) {
283             button.removeClass("is-active");
284             body.removeClass("menuOpen");
285
286             //bodyScrollLock.enableBodyScroll(jQuery("body").get(0));
287             lockscroll.unlock();
288         } else {
289             button.addClass("is-active");
290             body.addClass("menuOpen");
291             //bodyScrollLock.disableBodyScroll(jQuery("body").get(0));
292             lockscroll.lock();
293         }
294
295         menu.lock = false;
296
297         return true;
298     }
299 };
300
301 var lockscroll = {
302     isLock: false,
303     lock: function() {
304         lockscroll.isLock = true;
305         jQuery("html").addClass("noScroll");
306     },
307     unlock: function() {
308         lockscroll.isLock = false;
309         jQuery("html").removeClass("noScroll");
310     }
311 };
312
313 function initScroll() {
314
315     var scrolling = false;
316     jQuery("body").on('touchstart', '.menu-scrollview', function(e) {
317
318         // Only execute the below code once at a time
319         if (!scrolling) {
320             scrolling = true;
321             if (e.currentTarget.scrollTop === 0) {
322                 e.currentTarget.scrollTop = 1;
323             } else if (e.currentTarget.scrollHeight === e.currentTarget.scrollTop + e.currentTarget.offsetHeight) {
324                 e.currentTarget.scrollTop -= 1;
325             }
326             scrolling = false;
327         }
328     });
329 }
330
331
332 jQuery(document).ready(function() {
333     initScroll();
334
335     jQuery(".video-js").each(function (videoIndex) {
336         var videoId = jQuery(this).attr("id");
337
338
339         if(videoId){
340
341             videojs(videoId).ready(function(){
342                 this.on("play", function(e) {
343                     //pause other video
344                     jQuery(".video-js").each(function (index) {
345                         if(jQuery(this).attr("loop")){
346                             return;
347                         }
348
349
350                         if (videoIndex !== index) {
351                             this.player.pause();
352                         }
353                     });
354                 });
355             });
356         }
357
358
359     });
360
361     jQuery(document).on('hide.bs.modal','.video-modal', function () {
362         jQuery(this).find("video").get(0).pause();
363         jQuery(this).find("video").get(0).currentTime = 0;
364         jQuery(this).find("video").get(0).load();
365         jQuery(this).find('.playbtn').removeClass('hide');
366     });
367
368     jQuery(document).on('show.bs.modal','.video-modal', function () {
369         videojs('blockvideorollermodal').ready(function(){  var myPlayer = this;  myPlayer.play(); });
370     });
371
372     var delta = 0;
373
374     jQuery(window).on( 'scroll', function(e){
375
376
377         if(jQuery(".followScroll").length > 0){
378             if((jQuery(".followScroll").parent().offset().top - jQuery("header").height()) <= jQuery(document).scrollTop()){
379                 jQuery(".followScroll").addClass("fixOnScreen");
380                 jQuery(document.body).addClass("twoMenu");
381             }
382             else{
383                 jQuery(".followScroll").removeClass("fixOnScreen");
384                 jQuery(document.body).removeClass("twoMenu");
385             }
386
387             if(jQuery(document).scrollTop() - delta > 0){
388                 jQuery(document.body).addClass("scrollToBottom");
389             }
390             else{
391                 jQuery(document.body).removeClass("scrollToBottom");
392             }
393         }
394
395         if(jQuery(".followScrollInDivContainer").length > 0){
396             if(jQuery(document).scrollTop() >= 170 && jQuery(document).scrollTop() <= jQuery(".followScrollInDivContainer").height() - 250 ){
397                 jQuery(".followScrollInDiv").css("transform","translateY("+(jQuery(document).scrollTop() - 170)+"px)");
398             }
399         }
400
401
402         if(jQuery(".videoScrollContainer").length > 0){
403             var p = 0;
404
405             var end  = jQuery(".videoScrollContainer").height() - jQuery(window).height();
406
407             p = (jQuery(document).scrollTop() - jQuery(".videoScrollContainer").offset().top) / end;
408
409             if(p < 0){
410                 p = 0;
411             }
412             else if(p > 0.99){
413                 p = 0.99;
414             }
415
416             if(p <= 0){
417                 jQuery(document.body).addClass("enableFollowVideo");
418                 jQuery(".followScrollVideo").removeClass("videoEnd");
419             }
420             else if(p >= 0.99){
421                 jQuery(document.body).removeClass("enableFollowVideo");
422                 jQuery(".followScrollVideo").addClass("videoEnd");
423
424             }
425             else{
426                 jQuery(document.body).addClass("enableFollowVideo");
427                 jQuery(".followScrollVideo").removeClass("videoEnd");
428             }
429
430             jQuery(".videoScrollContainer video")[0].currentTime = 3 * p;
431             jQuery(".videoScrollContainer video")[0].controls = false;
432             jQuery(".videoScrollContainer video")[0].pause();
433
434
435             if(jQuery(document).scrollTop() >= jQuery(".videoScrollContainer").offset().top && jQuery(document).scrollTop() <= (jQuery(".videoScrollContainer").offset().top + jQuery(".videoScrollContainer").height() - jQuery(window).height())){
436                 jQuery(document.body).addClass("enableFollowVideo");
437             }
438             else if(jQuery(document).scrollTop() < jQuery(".videoScrollContainer").offset().top){
439                 jQuery(document.body).removeClass("enableFollowVideo");
440             }
441             else{
442                 jQuery(document.body).removeClass("enableFollowVideo");
443             }
444         }
445
446
447
448
449
450         if(jQuery(document).scrollTop() >= 100){
451             jQuery(document.body).addClass("forceWhiteHeader");
452         }
453         else{
454             jQuery(document.body).removeClass("forceWhiteHeader");
455         }
456     });
457
458     jQuery('.fade-slick').each(function(){
459         jQuery(this).slick({
460             dots: false,
461             infinite: true,
462             speed: 500,
463             autoplaySpeed: 4000,
464             autoplay: jQuery('.fade-slick').attr("noautoplay") !== "noautoplay",
465             fade: true,
466             cssEase: 'linear'
467         });
468     });
469
470     jQuery('.fade-slick').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
471         jQuery(".fade-slick-button").removeClass("active");
472         jQuery(".fade-slick-button[rel='" + nextSlide + "']").addClass("active");
473
474         jQuery(".fade-slick-button .tiret").removeClass("active");
475         jQuery(".fade-slick-button[rel='" + nextSlide + "'] .tiret").addClass("active");
476     });
477
478     jQuery(".fade-slick-button").click(function() {
479         console.log('Click me !');
480         jQuery('.fade-slick').slick('slickGoTo', jQuery(this).attr("rel"));
481     });
482
483     //Manual slider integration
484     jQuery('.fade-slick.no-slide').each(function(idx){
485        jQuery(this).slick("slickPause").slick("slickSetOption", "autoPlay", false);
486     });
487
488      // zone table slider
489     jQuery('.slick-zone-table').slick({
490         dots: false,
491         arrows: false,
492         autoplay: false,
493         infinite: false,
494         speed: 300,
495         slidesToShow: 1,
496         centerMode: false,
497         variableWidth: false,
498         responsive: [{
499                 breakpoint: 576,
500                 settings: {
501                     slidesToShow: 1,
502                     slidesToScroll: 1
503                 }
504             },
505             {
506                 breakpoint: 10000,
507                 settings: "unslick"
508             }
509         ]
510     });
511
512
513     jQuery('.slick-zone-table').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
514         jQuery(".fade-slick-table-button").removeClass("active");
515         jQuery(".fade-slick-table-button[rel='" + nextSlide + "']").addClass("active");
516     });
517
518     jQuery(".fade-slick-table-button").click(function() {
519         jQuery('.slick-zone-table').slick('slickGoTo', jQuery(this).attr("rel"));
520     });
521
522     jQuery('.slick-zone').slick({
523         dots: false,
524         arrows: false,
525         infinite: false,
526         speed: 300,
527         slidesToShow: 1,
528         centerMode: false,
529         variableWidth: true,
530         responsive: [{
531                 breakpoint: 768,
532                 settings: {
533                     slidesToShow: 1,
534                     slidesToScroll: 1
535                 }
536             },
537             {
538                 breakpoint: 10000,
539                 settings: "unslick"
540             }
541         ]
542     });
543
544     jQuery('.slick-zone-2').slick({
545         dots: false,
546         arrows: false,
547         infinite: true,
548         speed: 500,
549         autoplaySpeed: 5000,
550         autoplay: true,
551         responsive: [{
552                 breakpoint: 802,
553                 settings: {
554                     slidesToShow: 1,
555                     slidesToScroll: 1
556                 }
557             },
558             {
559                 breakpoint: 10000,
560                 settings: "unslick"
561             }
562         ]
563     });
564
565     jQuery('.slick-zone-3').slick({
566         dots: false,
567         arrows: false,
568         infinite: true,
569         speed: 500,
570         autoplaySpeed: 5000,
571         autoplay: true,
572         responsive: [{
573                 breakpoint: 576,
574                 settings: {
575                     slidesToShow: 1,
576                     slidesToScroll: 1
577                 }
578             },
579             {
580                 breakpoint: 992,
581                 settings: {
582                     slidesToShow: 2,
583                     slidesToScroll: 1
584                 }
585             },
586             {
587                 breakpoint: 10000,
588                 settings: {
589                     slidesToShow: 3,
590                     slidesToScroll: 3
591                 }
592             }
593         ]
594     });
595
596     jQuery('.slickblock').slick({
597         dots: false,
598         arrows: false,
599         infinite: true,
600         speed: 500,
601         autoplaySpeed: 5000,
602         autoplay: false,
603         responsive: [{
604                 breakpoint: 768,
605                 settings: {
606                     slidesToShow: 1,
607                     slidesToScroll: 1
608                 }
609             },
610             {
611                 breakpoint: 100000,
612                 settings: {
613                     slidesToShow: 2,
614                     slidesToScroll: 2
615                 }
616             }
617         ]
618     });
619
620     var url = new URL(document.location.href);
621     var c = url.searchParams.get("rel");
622
623
624
625     jQuery(".slickblock-menu .submenu-element").click(function() {
626         jQuery('.slickblock').slick('slickGoTo', (jQuery(this).attr("rel") - 1) * 2);
627     });
628
629     jQuery('.slickblock').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
630         var n = jQuery(slick.$slides.get(nextSlide)).attr('rel');
631
632         var a = [20.83, -37.5, -95.83];
633
634         jQuery(".slickblock-menu .justify-content-start").css("transform", "translateX(" + a[n - 1] + "%)");
635
636         jQuery(".slickblock-menu .submenu-element").removeClass("current");
637         jQuery(".slickblock-menu .submenu-element").parent().removeClass("current");
638         jQuery(".slickblock-menu .submenu-element[rel=" + n + "]").parent().addClass("current");
639         jQuery(".slickblock-menu .submenu-element[rel=" + n + "]").addClass("current");
640     });
641
642
643     if (c != undefined) {
644         jQuery('.slickblock').slick('slickGoTo', parseInt(c) * 2);
645     }
646
647     jQuery('.slicktables').slick({
648         dots: false,
649         arrows: false,
650         infinite: true,
651         speed: 500,
652         autoplaySpeed: 5000,
653         autoplay: false,
654         responsive: [{
655             breakpoint: 100000,
656             settings: {
657                 slidesToShow: 1,
658                 slidesToScroll: 1
659             }
660         }]
661     });
662
663     jQuery(".slicktable-menu .fade-slick-button").click(function() {
664         jQuery('.slicktables').slick('slickGoTo', (jQuery(this).attr("rel") - 1));
665     });
666
667     jQuery('.slicktables').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
668         var n = jQuery(slick.$slides.get(nextSlide)).attr('rel');
669
670         jQuery(".slicktable-menu .fade-slick-button").removeClass("active");
671         jQuery(".slicktable-menu .fade-slick-button[rel=" + n + "]").addClass("active");
672
673         jQuery(".slicktable-menu .fade-slick-button .tiret").removeClass("active");
674         jQuery(".slicktable-menu .fade-slick-button[rel=" + n + "] .tiret").addClass("active");
675     });
676
677     jQuery('[data-aos]').each(function() {
678         var t = jQuery(this);
679
680         if (jQuery(window).width() < 576) {
681             return;
682         }
683
684         if (t.attr("data-aos-sm") && jQuery(window).width() >= 576) {
685             t.attr("data-aos", t.attr("data-aos-sm"));
686         }
687
688         if (t.attr("data-aos-md") && jQuery(window).width() >= 768) {
689             t.attr("data-aos", t.attr("data-aos-md"));
690         }
691
692         if (t.attr("data-aos-lg") && jQuery(window).width() >= 992) {
693             t.attr("data-aos", t.attr("data-aos-lg"));
694         }
695
696         if (t.attr("data-aos-xl") && jQuery(window).width() >= 1200) {
697             t.attr("data-aos", t.attr("data-aos-xl"));
698         }
699     });
700
701
702    if (typeof AOS !== "undefined") {
703        setTimeout(function() {
704            AOS.init({
705                easing: 'ease',
706                duration: 500,
707                anchorPlacement: 'top-center'
708            });
709        }, 200);
710    }
711
712
713
714 });
715
716 jQuery(window).on('resize orientationchange', function() {
717     jQuery('.slick-zone').slick('resize');
718     jQuery('.slick-zone-table').slick('resize');
719     jQuery('.slick-zone-2').slick('resize');
720     jQuery('.slick-zone-3').slick('resize');
721     jQuery('.slickblock').slick('resize');
722     jQuery('.slicktables').slick('resize');
723 });
724
725
726
727 jQuery(document).ready(function() {
728     updateCbtn();
729 });
730
731 function getPositionToBgHover() {
732
733
734
735 }
736
737 function updateCbtn(obj) {
738     if(obj == undefined){
739         obj = jQuery("body");
740     }
741
742     obj.find(".cbtn").each(function() {
743         if (jQuery(this).closest(".bg-cover").length == 1) {
744             var bg = jQuery(this).closest(".bg-cover");
745             var bgRatio = bg.width() / bg.height();
746             var w = null;
747             var h = null;
748
749             if (isFinite(bgRatio) && bgRatio >= 1) {
750                 h = bg.height();
751             } else if (bgRatio < 1) {
752                 w = bg.width();
753             }
754
755             if (bg.hasClass("bg-cover-left-top")) {
756                 jQuery(this).find(".override-bg").css("background-image", 'url('+bg.find('.imgcovercontainer').attr("src")+')');
757
758                 if (w == null) {
759                     jQuery(this).find(".override-bg").css("background-size", "auto " + h + "px");
760                 } else {
761                     jQuery(this).find(".override-bg").css("background-size", w + "px auto");
762                 }
763
764                 jQuery(this).find(".override-bg").css("background-position", "-" + (jQuery(this).offset().left - bg.offset().left - 3) + "px -" + (jQuery(this).offset().top - bg.offset().top - 3) + "px");
765             } else {
766                 jQuery(this).find(".override-bg").css("background-image", 'url('+bg.find('.imgcovercontainer').attr("src")+')');
767
768                 if (w == null) {
769                     jQuery(this).find(".override-bg").css("background-size", "auto " + h + "px");
770                 } else {
771                     jQuery(this).find(".override-bg").css("background-size", w + "px auto");
772                 }
773
774                 jQuery(this).find(".override-bg").css("background-position", "center -" + (jQuery(this).offset().top - bg.offset().top + 3) + "px");
775             }
776         } else {
777             jQuery(this).find(".override-bg").css("background", jQuery(this).attr("bg-color"));
778         }
779     });
780 }
781
782
783 jQuery(window).on('resize orientationchange', function() {
784     updateCbtn();
785 });
786
787 jQuery(document).on('click', 'a[href^="#"]', function(event) {
788     event.preventDefault();
789
790     if(jQuery(jQuery.attr(this, 'href')).offset() != undefined){
791            jQuery('html, body').animate({
792                scrollTop: jQuery(jQuery.attr(this, 'href')).offset().top - (jQuery(window).height() / 4)
793            }, 500);
794     }
795 });
796
797     window.HELP_IMPROVE_VIDEOJS = false;
798    videojs.options.children.loadingSpinner = false;
799
800    jQuery("video").on("pause", function () {
801        if(jQuery(this).attr("onpause") != ""){
802            eval(jQuery(this).attr("onpause"));
803        }
804    });
805
806    jQuery("video").on("play", function () {
807        if(jQuery(this).attr("onplay") != ""){
808            eval(jQuery(this).attr("onplay"));
809        }
810    });
811
812function botCheck() {
813    var botPattern = "(googlebot\/|Googlebot-Mobile|Googlebot-Image|Google favicon|Mediapartners-Google|bingbot|slurp|java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)";
814    var re = new RegExp(botPattern, 'i');
815    var userAgent = navigator.userAgent;
816    if (re.test(userAgent)) {
817        return true;
818    } else {
819        return false;
820    }
821}
822
823var feelitycookie = {
824    current: null,
825    openModal: function() {
826        jQuery('.cookie-modal .page-2').hide();
827        jQuery('.cookie-modal .page-1').show();
828        jQuery('.cookie-modal').modal({ backdrop: "static", keyboard: false });
829        jQuery('.cookie-modal').removeClass("cancelclose");
830    },
831    agreeAndContinue: function() {
832        feelitycookie.saveCookies();
833        jQuery('.cookie-modal').modal('hide');
834        document.location.reload();
835    },
836    cookiesPreferencesChande: function(obj) {
837        if (obj.prop("checked")) {
838            obj.parent().parent().addClass("cookiesok");
839        } else {
840            obj.parent().parent().removeClass("cookiesok");
841        }
842
843        if (obj.attr("id") == "cookies-fonctionels") {
844            feelitycookie.current.allow_cookie_level_1 = obj.prop("checked");
845        } else if (obj.attr("id") == "cookies-pub") {
846            feelitycookie.current.allow_cookie_level_2 = obj.prop("checked");
847        }
848
849    },
850    plusinfos: function() {
851        if (!jQuery('.cookie-modal').hasClass("show")) {
852            jQuery('.cookie-modal').modal({ backdrop: "static", keyboard: false });
853            jQuery('.cookie-modal').addClass("cancelclose");
854        }
855
856        jQuery('.cookie-modal .page-2 #cookies-fonctionels').prop("checked", feelitycookie.current.allow_cookie_level_1);
857        jQuery('.cookie-modal .page-2 #cookies-pub').prop("checked", feelitycookie.current.allow_cookie_level_2);
858
859        jQuery('.cookie-modal .page-1').hide();
860        jQuery('.cookie-modal .page-2').show();
861    },
862    cancel: function() {
863        if (jQuery('.cookie-modal').hasClass("cancelclose")) {
864            jQuery('.cookie-modal').modal('hide');
865            return;
866        }
867
868        jQuery('.cookie-modal .page-2').hide();
869        jQuery('.cookie-modal .page-1').show();
870    },
871    savePreference: function() {
872        feelitycookie.saveCookies();
873
874        jQuery('.cookie-modal').modal('hide');
875
876        document.location.reload();
877    },
878    saveCookies: function() {
879        Cookies.set('cookiescheck-20180517', JSON.stringify(feelitycookie.current), { expires: 365100 });
880    },
881    init: function() {
882
883        var cookie = Cookies.get('cookiescheck-20180517');
884
885        if (cookie == undefined) {
886            feelitycookie.current = {
887                allow_cookie_level_0: true,
888                allow_cookie_level_1: true,
889                allow_cookie_level_2: true,
890            };
891
892            if (botCheck() == false) {
893                jQuery.get(config.baseuri + "/cookies/consent", function(data) {
894                    jQuery(".cookie-modal .modal-dialog").html(data);
895                    updateCbtn(jQuery(".cookie-modal .modal-dialog"));
896                    feelitycookie.openModal();
897                });
898            }
899        } else {
900            feelitycookie.current = JSON.parse(cookie);
901        }
902
903        if (cookie == undefined || feelitycookie.current.allow_cookie_level_1 == false) {
904            jQuery(".cookiescompatibility").html('<div class="bg-gray-light w-100 h-100"> <div class="align-vertical-table"> <div class="align-vertical-cell text-center" style=""> <div class="" style=" max-width: 350px; display: inline-block; "> <p class="success-message-text" style=" /* margin-bottom: 25px; */ "><i class="fa fa-info fa-3x" style="margin-bottom:25px;"></i><br>Pour profiter de toutes les fonctionnalités du site, merci d\'activer les cookies via la <a href="#" class="cookiesinfo" onclick="feelitycookie.plusinfos(); return false;">gestion des cookies</a></p> </div> </div> </div> </div>');
905        }
906
907        jQuery(".cookiesinfo").click(function() {
908            jQuery.get(config.baseuri + "/cookies/consent", function(data) {
909                jQuery(".cookie-modal .modal-dialog").html(data);
910                updateCbtn(jQuery(".cookie-modal .modal-dialog"));
911                feelitycookie.plusinfos();
912            });
913        });
914
915        jQuery(".cookie-modal").on('hidden.bs.modal', function (event) {
916            jQuery(".cookie-modal .modal-dialog").html("");
917        });
918    }
919};
920
921jQuery(document).ready(function() {
922    feelitycookie.init();
923
924    jQuery("li:has(.submenu .current) .fa-angle-down").addClass("fa-current");
925
926    jQuery(window).resize(function(){
927       jQuery(".height-check").each(function(){
928           var t = jQuery(this);
929
930           var s = (parseInt(t.css("max-height").replace("px","")) - t.find(".height-tocheck").outerHeight(true));
931           var ss = Math.trunc( s / 30 );
932           var sss = s - ss * 30;
933
934           t.find(".box--responsive").css("height",(ss * 30)+"px");
935           t.find(".box--responsive").css("margin-bottom",sss+"px");
936       }) ;
937
938    });
939
940    jQuery(".height-check").each(function(){
941        var t = jQuery(this);
942
943        var s = (parseInt(t.css("max-height").replace("px","")) - t.find(".height-tocheck").outerHeight(true));
944        var ss = Math.trunc( s / 30 );
945        var sss = s - (ss) * 30;
946
947        if(ss * 30 <= 90){
948            t.find(".box--responsive").css("height","90px");
949            t.find(".box--responsive").css("margin-bottom",sss+"px");
950        }
951        else{
952            t.find(".box--responsive").css("height",(ss * 30)+"px");
953            t.find(".box--responsive").css("margin-bottom",sss+"px");
954        }
955    });
956
957    setTimeout(function(){
958        jQuery('.box--responsive').ellipsis({ responsive: true });
959        jQuery(window).resize();
960    },200);
961
962    jQuery('.article-link').click(function(event) {
963        document.location.href = jQuery(this).find('.readmore a').attr("href");
964    });
965});
966
967function submissionFormContact(data) {
968    var text = jQuery(data.html).html();
969
970    if (typeof gtag !== "undefined") {
971        gtag('event', 'formSubmit');
972    }
973
974    jQuery(".contact-modal p").html(text);
975    jQuery(".contact-modal").modal("show");
976    setTimeout(() => { location.reload(); } , 2000);
977    
978}
979
980jQuery(document).ready(function() {
981    jQuery('html, body').scrollTop(0);
982    if (window.location.hash) {
983        jQuery('html, body').animate({
984            scrollTop: jQuery(window.location.hash).offset().top - (jQuery(window).height() / 4)
985        }, 500);
986    }
987
988    jQuery(".gtag-event").click(function(event) {
989        if (typeof gtag !== "undefined") {
990            gtag('event', jQuery(this).attr("gtag-event-name"));
991        }
992    });
993});
994
995jQuery(function() {
996     var timeout = 0;
997     jQuery('.anim-lottie').each(function() {
998         var id = jQuery(this).attr('id');
999         var dom = document.getElementById(id);
1000         var animPath = config.themeuri + '/anim/' + id + ".json";
1001         var anim = lottie.loadAnimation({
1002             container: dom,
1003             renderer: 'svg',
1004             loop: true,
1005             autoplay: false,
1006             path: animPath
1007         });
1008         setTimeout(function() {
1009             anim.play();
1010         }, timeout * 1000);
1011         timeout++;
1012     });
1013 });

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.