PageSourceSearch

https://avaneerhealth.com/wp-content/plugins/wordpress-gdpr/public/js/wordpress-gdpr-public.js?ver=1.9.29

js avaneerhealth.com collected 2026-10-02 07:19:24 UTC 28,583 bytes, 674 lines download raw bytes

1(function( $ ) {
2    'use strict';
3
4    // Create the defaults once
5    var pluginName = "gdpr",
6        defaults = {
7            bla: "",
8        };
9
10    // The actual plugin constructor
11    function Plugin ( element, options ) {
12        this.element = element;
13        this.settings = $.extend( {}, defaults, options );
14        this._defaults = defaults;
15
16        this._name = pluginName;
17        this.init();
18    }
19
20    // Avoid Plugin.prototype conflicts
21    $.extend( Plugin.prototype, {
22        init: function() {
23            var that = this;
24            this.window = $(window);
25            this.documentHeight = $( document ).height();
26            this.windowHeight = this.window.height();
27            this.privacySettingsCheckPerformed = false;
28
29            this.elements = {};
30            this.elements.popUp = $('.wordpress-gdpr-popup-container');
31            this.elements.popUpAgreeLink = $('.wordpress-gdpr-popup-agree');
32            this.elements.popUpDeclineLink = $('.wordpress-gdpr-popup-decline');
33            this.elements.popUpCloseLink = $('.wordpress-gdpr-popup-close');
34            this.elements.popUpBackdrop = $('.wordpress-gdpr-popup-overlay-backdrop');
35
36            this.privacySettingsLoaded = {};
37            this.elements.privacySettingsPopupTrigger = $('.wordpress-gdpr-privacy-settings-trigger-container');
38            this.elements.privacySettingsPopup = $('.wordpress-gdpr-privacy-settings-popup');
39            this.elements.privacySettingsPopupPrivacySettings = $('.wordpress-gdpr-privacy-settings-popup-privacy-settings-modal');
40            this.elements.privacySettingsPopupAgreeLink = $('.wordpress-gdpr-privacy-settings-popup-agree');
41            this.elements.privacySettingsPopupDeclineLink = $('.wordpress-gdpr-privacy-settings-popup-decline');
42            this.elements.privacySettingsPopupCloseLink = $('.wordpress-gdpr-privacy-settings-popup-close');
43            this.elements.privacySettingsPopupBackdrop = $('.wordpress-gdpr-privacy-settings-popup-backdrop');
44
45            if(this.settings.geoIP == "1") {
46                this.getUsersCountry(function(country) {
47                    
48                    var euCountries = ['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', '
48SE', 'GB'];
49                    var isEU = that.isInArray(country, euCountries);
50                    if(isEU) {
51                        that.popUp();
52                    } else {
53                        $('.wordpress-gdpr-popup-actions-buttons .wordpress-gdpr-popup-agree').trigger('click');
54                        that.elements.privacySettingsPopupTrigger.remove();
55                    }
56                });
57                
58            } else {
59                this.popUp();
60            }
61
62            this.popUpAgree();
63            this.popUpClose();
64            this.popUpDecline();
65
66            this.popUpPrivacySettings();
67            this.popUpPrivacySettingsOpen();
68            this.popUpPrivacySettingsClose();
69
70            this.privacyPolicyTermsAcceptance();
71            this.commentFormprivacyPolicyTermsAcceptance();
72        },
73        popUp : function() {
74
75            var botPattern = "(craw|googlebot\/|bot|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|lighthouse|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|bot|googlebot|crawler|spider|robot|crawling)";
76            var re = new RegExp(botPattern, 'i');
77            if (re.test(navigator.userAgent)) {
78                return false;
79            }
80
81            var that = this;
82            var cookiesAllowed = false;
83
84
85            if(localStorage && that.getParameterByName('gdpr') !== "debug" && ( that.getCookie('wordpress_gdpr_cookies_allowed') || that.getCookie('wordpress_gdpr_cookies_declined') ) ) {
86
87                var retrievedObject = localStorage.getItem('wordpress_gdpr_services_allowed_temp');
88                if(retrievedObject) {
89                    var services = JSON.parse(retrievedObject);
90                    that.executeServices(services);
91                    return;
92                }
93            }
94
95            $.ajax({
96                type : 'post',
97                url : that.settings.ajaxURL,
98                dataType : 'json',
99                data : {
100                    action : 'check_privacy_setting',
101                    setting : 'wordpress_gdpr_cookies_allowed',
102                    current_page_id : that.get_current_page_id()
103                },
104                success : function( response ) {     
105
106                    var popupExcludePages = that.settings.popupExcludePages;
107                    var exclude = false;
108                    if(!that.isEmpty(popupExcludePages)) {
109                        var currentPage, matches = document.body.className.match(/(^|\s)post-id-(\d+)(\s|$)/);
110                        if (matches) {
111                            currentPage = matches[2];
112                        } else {
113                            matches = document.body.className.match(/(^|\s)page-id-(\d+)(\s|$)/);
114                            if (matches) {
115                                currentPage = matches[2];
116                            } 
117                        }
118                        if(currentPage !== "" && that.isInArray(currentPage, popupExcludePages)) {
119                            exclude = true;
120                        }
121                    }
122
123                    if(!exclude) {
124                        if(response.firstTime) {
125                            if(that.elements.popUpBackdrop.length > 0) {
126                                that.elements.popUpBackdrop.show();
127                            }
128                            $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) {
129                                $(this).prop('checked', true);
130                            });
131                            that.elements.popUp.show();
132                        }
133                        else if((!response.allowed && !response.declined) || that.getParameterByName('gdpr') === "debug") {
134                            if(that.elements.popUpBackdrop.length > 0) {
135                                that.elements.popUpBackdrop.show();
136                            }
137                            that.elements.popUp.show();
138                        } else {
139                            if(that.elements.popUpBackdrop.length > 0) {
140                                that.elements.popUpBackdrop.hide();
141                            }
142                            that.elements.popUp.hide();
143                        }
144                    }
145
146                    if(response.declined == true) {
147                        return;
148                    }
149                    that.checkPrivacySettings();
150                },
151                error: function (xhr, ajaxOptions, thrownError) {
152                    console.log(xhr);
153                    console.log(ajaxOptions);
154                    console.log(thrownError);
155                }
156             });
157        },
158        popUpClose : function() {
159
160            var that = this;
161            
162            $(that.elements.popUpCloseLink).on('click', function(e) {
163                e.preventDefault();
164                if(that.elements.popUpBackdrop.length > 0) {
165                    that.elements.popUpBackdrop.fadeOut();
166                }
167                that.elements.popUp.fadeOut();
168            });
169        },
170        popUpDecline : function() {
171
172            var that = this;
173            
174            that.elements.popUpDeclineLink.on('click', function(e) {
175
176                e.preventDefault();
177
178                var $this = $(this);
179                var text = $this.text();
180                $this.html('<i class="fa fa-spinner fa-spin"></i>');
181
182                $.ajax({
183                    type : 'post',
184                    url : that.settings.ajaxURL,
185                    dataType : 'json',
186                    data : {
187                        action : 'wordpress_gdpr_decline_cookies'
188                    },
189                    success : function( response ) {  
190
191                        if(localStorage) {
192                            localStorage.removeItem('wordpress_gdpr_services_allowed_temp');
193                        }
194
195                        if(that.elements.popUpBackdrop.length > 0) {
196                            that.elements.popUpBackdrop.fadeOut();
197                        }
198                        $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeOut();
199                        that.elements.popUp.fadeOut();
200                        $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) {
201                            $(this).prop('checked', false);
202                        });
203                        $this.text(text);
204
205                    },
206                    error: function (xhr, ajaxOptions, thrownError) {
207                        console.log(xhr);
208                        console.log(ajaxOptions);
209                        console.log(thrownError);
210                    }
211                 });
212            });
213        },
214        popUpAgree : function() {
215
216            var that = this;
217
218            that.elements.popUpAgreeLink.on('click', function(e) {
219                e.preventDefault();
220
221                var $this = $(this);
222                var text = $this.text();
223                $this.html('<i class="fa fa-spinner fa-spin"></i>');
224
225                $.ajax({
226                    type : 'post',
227                    url : that.settings.ajaxURL,
228                    dataType : 'json',
229                    data : {
230                        action : 'wordpress_gdpr_allow_cookies'
231                    },
232                    success : function( response ) {
233
234                        if(localStorage) {
235                            localStorage.removeItem('wordpress_gdpr_services_allowed_temp');
236                        }
237
238                        if(that.elements.popUpBackdrop.length > 0) {
239                            that.elements.popUpBackdrop.fadeOut();
240                        }
241                        $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeOut();
242                        that.elements.popUp.fadeOut();
243                        $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) {
244                            $(this).prop('checked', true);
245                        });
246                        
247                        that.checkPrivacySettings();
248                        $this.text(text);
249                    },
250                    error: function (xhr, ajaxOptions, thrownError) {
251                        console.log(xhr);
252                        console.log(ajaxOptions);
253                        console.log(thrownError);
254                    }
255                 });
256            });
257        },
258        popUpPrivacySettingsOpen : function () {
259
260            var that = this;
261
262            $('.wordpress-gdpr-open-privacy-settings-modal').on('click', function(e) {
263                e.preventDefault();
264
265                if(($('.wordpress-gdpr-privacy-settings-popup-services-container').length < 1)) {
266                    alert('No GDPR Service Categories / Services created yet. Remove the trigger or create services and attach them to service categories first.');
267                    return false;
268                }
269
270                if($('.wordpress-gdpr-popup').length > 0) {
271                    $('.wordpress-gdpr-popup').hide(0, function() {
272                        $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeIn();
273                    });
274                } else {
275                    $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeIn();
276                }
277            });
278        },
279        popUpPrivacySettingsClose : function () {
280            var that = this;
281            
282            $(that.elements.privacySettingsPopupCloseLink).on('click', function(e) {
283                e.preventDefault();
284                if(that.elements.privacySettingsPopupBackdrop.length > 0) {
285                    that.elements.privacySettingsPopupBackdrop.fadeOut();
286                }
287                that.elements.privacySettingsPopup.fadeOut();
288            });
289
290            if(!that.settings.privacySettingsPopupBackdropDisableClick) {
291                $(that.elements.privacySettingsPopupBackdrop).on('click', function(e) {
292                    e.preventDefault();
293                    if(that.elements.privacySettingsPopupBackdrop.length > 0) {
294                        that.elements.privacySettingsPopupBackdrop.fadeOut();
295                    }
296                    that.elements.privacySettingsPopup.fadeOut();
297                });
298            }
299        },
300        popUpPrivacySettings : function() {
301
302            $('.wordpress-gdpr-popup-privacy-settings-open-service-category').on('click', function(e) {
303                e.preventDefault();
304
305                var id = $(this).data('id');
306                $('.wordpress-gdpr-popup-privacy-settings-services-content:not(#wordpress-gdpr-popup-privacy-settings-services-content-' + id + ')').hide(0, function() {
307                    $('#wordpress-gdpr-popup-privacy-settings-services-content-' + id).show();
308                });
309            });
310
311            $('.wordpress-gdpr-popup-privacy-settings-services-content-title').on('click', function(e) {
312                e.preventDefault();
313
314                var $this = $(this);
315                var id= $(this).data('id');
316                var fa = $this.find('.fa');
317
318                var description = $('#wordpress-gdpr-popup-privacy-settings-services-content-description-' + id);
319                if (description.css('display') == 'none') {
320                    description.slideDown();
321                    fa.removeClass('fa-caret-right').addClass('fa-caret-down');
322                } else {
323                    description.slideUp();
324                    fa.removeClass('fa-caret-down').addClass('fa-caret-right');
325                }
326            });
327        },
328        checkPrivacySettings : function() {
329
330            var that = this;
331            var settings = {};
332            var switches = $('.gdpr-service-switch');
333
334            $.each(switches, function() {
335                var serviceID = $(this).data('id');
336                settings[serviceID] = serviceID;
337            });
338
339            $.ajax({
340                type : 'post',
341                url : that.settings.ajaxURL,
342                dataType : 'json',
343                data : {
344                    action : 'check_privacy_settings',
345                    settings : settings,
346                },
347                success : function( response ) {
348
349                    if(localStorage) {
350                        localStorage.setItem('wordpress_gdpr_services_allowed_temp', JSON.stringify(response));
351                    }
352
353                    that.executeServices(response);
354                },
355                error: function (xhr, ajaxOptions, thrownError) {
356                    console.log(xhr);
357                    console.log(ajaxOptions);
358                    console.log(thrownError);
359                }
360             });
361        },
362        executeServices : function(services) {
363
364            if(!services) {
365                return;
366            }
367
368            var that = this;
369            $.each(services, function(i, index) {
370
371                if(index.allowed && !that.privacySettingsLoaded[i]) {
372                    if(index.head !== "") {
373                        $("head").append(index.head);
374                    }
375
376                    if(index.body !== "") {
377                        $(index.body).prependTo($('body'));
378                    }
379                }
380
381                if(index.adsense == "1" && !index.allowed && that.privacySettingsLoaded[i]) {
382                    var adsExists = $(".adsbygoogle");
383
384                    if(adsExists.length > 0 && that.getCookie('wordpress_gdpr_adsense_allowed') !== "true") {
385                        adsExists.remove();
386                    }
387                }
388
389                var checkbox_exists = $('input[name="' + i + '"]') ;
390                if(checkbox_exists.length > 0) {
391                    if(index.allowed) {
392                        checkbox_exists.prop('checked', true);
393                        that.privacySettingsLoaded[i] = true;
394                    } else {
395                        checkbox_exists.prop('checked', false);
396                        that.privacySettingsLoaded[i] = false;
397                    }
398                }
399                
400                if(checkbox_exists.length > 0 && !that.privacySettingsCheckPerformed) {
401
402                    checkbox_exists.on('change', function(e) {
403
404                        var checked = $(this).prop('checked');
405                        var name = $(this).prop('name');
406
407                        $('.wordpress-gdpr-privacy-settings-popup-message').fadeIn();
408
409                        $.ajax({
410                            type : 'post',
411                            url : that.settings.ajaxURL,
412                            dataType : 'json',
413                            data : {
414                                action : 'update_privacy_setting',
415                                setting : name,
416                                checked : checked,
417                            },
418                            success : function( response ) {
419
420                                if(localStorage) {
421                                    localStorage.removeItem('wordpress_gdpr_services_allowed_temp');
422                                }
423
424                                setTimeout(function(){ $('.wordpress-gdpr-privacy-settings-popup-message').fadeOut(); }, 1500);                                        
425
426                                var index = response[name];
427                                if(index.head !== "" && index.allowed && !that.privacySettingsLoaded[name]) {
428                                    $("head").append(index.head);
429                                }
430                                if(index.body !== "" && index.allowed && !that.privacySettingsLoaded[name]) {
431                                    $(index.body).prependTo($('body'));
432                                }
433
434                                if(index.adsense == "1" && !index.allowed && !that.privacySettingsLoaded[name]) {
435                                    var adsExists = $(".adsbygoogle");
436
437                                    if(adsExists.length >
437 0 && that.getCookie('wordpress_gdpr_adsense_allowed') !== "true") {
438                                        adsExists.remove();
439                                    }
440                                }
441
442                                
443                                var checkbox_exists = $('input[name="' + name + '"]') ;
444                                if(checkbox_exists.length > 0) {
445                                    if(index.allowed) {
446                                        checkbox_exists.prop('checked', true);
447                                        that.privacySettingsLoaded[name] = true;
448                                    } else {
449                                        checkbox_exists.prop('checked', false);
450                                    }
451                                }
452                            }
453                        });
454                    });
455                }
456            });
457            that.privacySettingsCheckPerformed = true;
458        },
459        get_current_page_id : function() {
460            var page_body = $('body.page');
461
462            var id = 0;
463
464            if(page_body) {
465                var page_body_class = page_body.attr('class')
466
467                if(page_body_class || page_body_class != null) {
468                    if(page_body_class.length > 1) {
469                        var page_body_class_list = page_body_class.split(/\s+/);
470
471                        $.each(page_body_class_list, function(index, item) {
472                            if (item.indexOf('page-id') >= 0) {
473                                var item_arr = item.split('-');
474                                id =  item_arr[item_arr.length -1];
475                                return false;
476                            }
477                        });
478                    }
479                }
480            }
481            return id;
482        },
483        getUsersCountry : function(callback) {
484            var that = this;
485
486            $.ajax({
487                url: "https://get.geojs.io/v1/ip/geo.json",
488                type: 'get',
489                dataType: 'json',
490                success : function( response ) {
491                    callback(response.country_code);
492                },
493                error: function(jqXHR, textStatus, errorThrown) {
494                    console.log(jqXHR);
495                    console.log(textStatus);
496                    console.log(errorThrown);
497                }
498            });
499        },
500        commentFormprivacyPolicyTermsAcceptance : function() {
501            var that = this;
502
503            var submit = $('#commentform input[type="submit"]');
504            if(submit.length < 1) {
505                return false;
506            }
507
508            var checkbox = $('#commentform #privacy_policy');
509            if(checkbox.length < 1) {
510                return false;
511            }
512
513            submit.on('click', function(e) {
514                var checkboxChecked = checkbox.is(':checked');
515                if(!checkboxChecked) {
516                    e.preventDefault();
517                    alert(that.settings.acceptanceText);
518                    return false;
519                }
520
521                $.ajax({
522                    type : 'post',
523                    url : that.settings.ajaxURL,
524                    dataType : 'json',
525                    data : {
526                        action : 'wordpress_gdpr_update_privacy_policy_terms',
527                        setting : 'wordpress_gdpr_privacy_policy_accepted',
528                        checked : checkboxChecked,
529                    }
530                });
531                return true;                
532            });
533        },
534        privacyPolicyTermsAcceptance : function() {
535            var that = this;
536
537            if($('#accept-privacy-policy-checkbox').length < 1 && $('#accept-terms-conditions-checkbox').length < 1) {
538                return false;
539            }
540
541            $('#accept-privacy-policy-checkbox').on('click', function(e) {
542                var name = $(this).prop('name');
543                var checked = $(this).prop('checked');
544
545                if(!checked) {
546                    alert(that.settings.acceptanceText);
547                    return false;
548                }
549                
550                $.ajax({
551                    type : 'post',
552                    url : that.settings.ajaxURL,
553                    dataType : 'json',
554                    data : {
555                        action : 'wordpress_gdpr_update_privacy_policy_terms',
556                        setting : name,
557                        checked : checked,
558                    },
559                });
560            });
561
562            $('#accept-terms-conditions-checkbox').on('click', function(e) {
563                var name = $(this).prop('name');
564                var checked = $(this).prop('checked');
565
566                // if(!checked) {
567                //     alert(that.settings.termsAcceptanceText);
568                //     return false;
569                // }
570                
571                $.ajax({
572                    type : 'post',
573                    url : that.settings.ajaxURL,
574                    dataType : 'json',
575                    data : {
576                        action : 'wordpress_gdpr_update_privacy_policy_terms',
577                        setting : name,
578                        checked : checked,
579                    },
580                });
581            });
582        },
583        //////////////////////
584        ///Helper Functions///
585        //////////////////////
586        deleteAllCookies : function() {
587            var cookies = document.cookie.split(";");
588            console.log(cookies);
589            for (var i = 0; i < cookies.length; i++) {
590                var cookie = cookies[i];
591                var eqPos = cookie.indexOf("=");
592                var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
593                document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
594            }
595
596        },
597        isEmpty: function(obj) {
598
599            if (obj == null)        return true;
600            if (obj.length > 0)     return false;
601            if (obj.length === 0)   return true;
602
603            for (var key in obj) {
604                if (hasOwnProperty.call(obj, key)) return false;
605            }
606
607            return true;
608        },
609        sprintf: function parse(str) {
610            var args = [].slice.call(arguments, 1),
611                i = 0;
612
613            return str.replace(/%s/g, function() {
614                return args[i++];
615
616            });
617        },
618        getCookie: function(cname) {
619            var name = cname + "=";
620            var ca = document.cookie.split(';');
621            for(var i=0; i<ca.length; i++) {
622                var c = ca[i];
623                while (c.charAt(0)==' ') c = c.substring(1);
624                if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
625            }
626            return "";
627        },
628        createCookie: function(name, value, days) {
629            var expires = "";
630
631            if (days) {
632                var date = new Date();
633                date.setTime(date.getTime() + (days*24*60*60*1000));
634                var expires = "; expires="+date.toGMTString();
635            }
636
637            document.cookie = name + "=" + value+expires + "; path=/";
638        },
639        deleteCookie: function(name) {
640            this.createCookie(name, '', -10);
641        },
642        getParameterByName: function(name, url) {
643            if (!url) url = window.location.href;
644            name = name.replace(/[\[\]]/g, "\\$&");
645            var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"),
646                results = regex.exec(url);
647            if (!results) return null;
648            if (!results[2]) return '';
649            return decodeURIComponent(results[2].replace(/\+/g, " "));
650        },
651        isInArray : function (value, array) {
652            return array.indexOf(value) > -1;
653        }
654    } );
655
656    // Constructor wrapper
657    $.fn[ pluginName ] = function( options ) {
658        return this.each( function() {
659            if ( !$.data( this, "plugin_" + pluginName ) ) {
660                $.data( this, "plugin_" +
661                    pluginName, new Plugin( this, options ) );
662            }
663        } );
664    };
665
666    $(document).ready(function() {
667
668        $( "body" ).gdpr( 
669            gdpr_options
670        );
671
672    } );
673
674})( 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.