PageSourceSearch

https://www.sedif.com/libraries/tarteaucitronjs/tarteaucitron.services.js?tj6v4j

js sedif.com collected 2026-10-02 17:10:17 UTC 274,953 bytes, 7,290 lines download raw bytes

vendor: 1,671 bytes, lines 1-34
1/*global tarteaucitron, ga, Shareaholic, stLight, clicky, top, google, Typekit, FB, IN, stButtons, twttr, PCWidget*/
2/*jslint regexp: true, nomen: true*/
3/* min ready */
4
5// generic iframe
6tarteaucitron.services.iframe = {
7    "key": "iframe",
8    "type": "other",
9    "name": "Web content",
10    "uri": "",
11    "needConsent": true,
12    "cookies": [],
13    "js": function () {
14        "use strict";
15        tarteaucitron.fallback(['tac_iframe'], function (x) {
16            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : '',
17                width = tarteaucitron.getElemAttr(x,"width"),
18                height = tarteaucitron.getElemAttr(x,"height"),
19                allowfullscreen = tarteaucitron.getElemAttr(x,"allowfullscreen"),
20                url = tarteaucitron.getElemAttr(x,"url");
21
22            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
23
24            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
25        });
26    },
27    "fallback": function () {
28        "use strict";
29        var id = 'iframe';
30        tarteaucitron.fallback(['tac_iframe'], function (elem) {
31            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
32            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
33            return tarteaucitron.engage(id);
34        }
vendor: 268,397 bytes, lines 34-7152
34);
35    }
36};
37
38// brevochat
39tarteaucitron.services.brevochat = {
40    "key": "brevochat",
41    "type": "support",
42    "name": "Brevo Conversations",
43    "uri": "https://help.brevo.com/hc/fr/sections/18503544961042",
44    "needConsent": true,
45    "cookies": [],
46    "js": function () {
47        "use strict";
48
49        if (tarteaucitron.user.brevoConversationsId === undefined) {
50            return;
51        }
52
53        window.BrevoConversationsID = tarteaucitron.user.brevoConversationsId;
54        window['BrevoConversations'] = window['BrevoConversations'] || function() {
55            (window['BrevoConversations'].q = window['BrevoConversations'].q || []).push(arguments);
56        };
57
58        tarteaucitron.addScript('https://conversations-widget.brevo.com/brevo-conversations.js');
59    }
60};
61
62// matomoheatmap
63tarteaucitron.services.matomoheatmap = {
64    "key": "matomoheatmap",
65    "type": "analytic",
66    "name": "Matomo Cloud (heatmap)",
67    "uri": "https://matomo.org/guide/manage-matomo/privacy/",
68    "needConsent": true,
69    "cookies": [],
70    "js": function () {
71        "use strict";
72
73        window._paq = window._paq || [];
74        _paq.push(['HeatmapSessionRecording::enable']);
75    },
76    "fallback": function () {
77        "use strict";
78
79        window._paq = window._paq || [];
80        _paq.push(['HeatmapSessionRecording::disable']);
81    }
82};
83
84// teambrain
85tarteaucitron.services.teambrain = {
86    "key": "teambrain",
87    "type": "analytic",
88    "name": "TeamBrain",
89    "uri": "https://teambrain.app/",
90    "needConsent": true,
91    "cookies": [],
92    "js": function () {
93        "use strict";
94
95        if (tarteaucitron.user.teambrainUrl === undefined || tarteaucitron.user.teambrainProxyUrl === undefined) {
96            return;
97        }
98
99        tarteaucitron.addScript(tarteaucitron.user.teambrainUrl, 'tb-ext-app', '', '', 'data-proxy-url', tarteaucitron.user.teambrainProxyUrl);
100    }
101};
102
103// usercom
104tarteaucitron.services.usercom = {
105    "key": "usercom",
106    "type": "analytic",
107    "name": "User.com",
108    "uri": "https://user.com/security/privacy-policy",
109    "needConsent": true,
110    "cookies": ['_ca_chat'],
111    "js": function () {
112        "use strict";
113
114        if (tarteaucitron.user.userId === undefined || tarteaucitron.user.userApiKey === undefined) {
115            return;
116        }
117
118        window.civchat = {
119            apiKey: tarteaucitron.user.userApiKey,
120        };
121
122        tarteaucitron.addScript('https://' + tarteaucitron.user.userId + '.user.com/widget.js');
123    }
124};
125
126// cjcom
127tarteaucitron.services.cjcom = {
128    "key": "cjcom",
129    "type": "ads",
130    "name": "CJ.com",
131    "uri": "https://www.cj.com/legal/privacy-policy-services",
132    "needConsent": true,
133    "cookies": [],
134    "js": function () {
135        "use strict";
136
137        if (tarteaucitron.user.cjUserId === undefined) {
138            return;
139        }
140
141        tarteaucitron.addScript('https://www.mczbf.com/tags/'+tarteaucitron.user.cjUserId+'/tag.js', 'cjapitag');
142    }
143};
144
145// clickdimensions
146tarteaucitron.services.clickdimensions = {
147    "key": "clickdimensions",
148    "type": "ads",
149    "name": "Click Dimensions",
150    "uri": "https://clickdimensions.com/legal/privacy-policy/",
151    "needConsent": true,
152    "cookies": [],
153    "js": function () {
154        "use strict";
155
156        if (tarteaucitron.user.clickdimensionsAccountKey === undefined || tarteaucitron.user.clickdimensionsDomain === undefined) {
157            return;
158        }
159
160        tarteaucitron.addScript('https://analytics-eu.clickdimensions.com/ts.js', '', function() {
161            window.cdAnalytics = new clickdimensions.Analytics('analytics-eu.clickdimensions.com');
162            window.cdAnalytics.setAccountKey(tarteaucitron.user.clickdimensionsAccountKey);
163            window.cdAnalytics.setDomain(tarteaucitron.user.clickdimensionsDomain);
164            window.cdAnalytics.setScore(typeof(cdScore) == "undefined" ? 0 : (cdScore == 0 ? null : cdScore));
165            window.cdAnalytics.trackPage();
166        });
167    }
168};
169
170// madmetrics
171tarteaucitron.services.madmetrics = {
172    "key": "madmetrics",
173    "type": "ads",
174    "name": "MadMetrics",
175    "uri": "https://www.keyade.com/fr/politique-de-confidentialite/",
176    "needConsent": true,
177    "cookies": [],
178    "js": function () {
179        "use strict";
180
181        if (tarteaucitron.user.madmetricsHostname === undefined) {
182            return;
183        }
184
185        tarteaucitron.addScript('https://static.madmetrics.com/ktck_seo_acd_pv-min.js', '', function() {
186            var clientId = tarteaucitron.user.madmetricsClientId,
187                siteId = tarteaucitron.user.madmetricsSiteId,
188                directId = tarteaucitron.user.madmetricsDirectId,
189                referalId = tarteaucitron.user.madmetricsReferalId,
190                llmId = tarteaucitron.user.madmetricsLlmId;
191            var _kTck = new KaTracker( clientId, siteId, directId, referalId, llmId );
192            _kTck.setBridge('https://' + tarteaucitron.user.madmetricsHostname + '/k_redirect_md.php');
193            _kTck.track();
194        });
195    }
196};
197
198// fillout
199tarteaucitron.services.fillout = {
200    "key": "fillout",
201    "type": "other",
202    "name": "Fillout",
203    "uri": "https://www.fillout.com/privacy",
204    "needConsent": true,
205    "cookies": [],
206    "js": function () {
207        "use strict";
208        tarteaucitron.fallback(['tac_fillout'], '');
209        tarteaucitron.addScript('https://server.fillout.com/embed/v1/');
210    },
211    "fallback": function () {
212        "use strict";
213        var id = 'fillout';
214        tarteaucitron.fallback(['tac_fillout'], function (elem) {
215            return tarteaucitron.engage(id);
216        });
217    }
218};
219
220// kompass
221tarteaucitron.services.kompass = {
222    "key": "kompass",
223    "type": "analytic",
224    "name": "Kompass",
225    "uri": "https://fr.kompass.com/l/cookie-use-policy",
226    "needConsent": true,
227    "cookies": ["kompass","gq_lead","_first_pageview","eqy_sessionid","eqy_siteid","cluid","eqy_company","gq_utm","_jsuid"],
228    "js": function () {
229        "use strict";
230
231        if (tarteaucitron.user.kompassId === undefined) {
232            return;
233        }
234
235        tarteaucitron.addScript('https://fr.kompass.com/leads/script.js?id=' + tarteaucitron.user.kompassId);
236    }
237};
238
239// goldenbees
240tarteaucitron.services.goldenbees = {
241    "key": "goldenbees",
242    "type": "ads",
243    "name": "Golden Bees",
244    "uri": "https://www.goldenbees.fr/politique-confidentialite",
245    "needConsent": true,
246    "cookies": [],
247    "js": function () {
248        "use strict";
249
250        if (tarteaucitron.user.goldenbeesId === undefined) {
251            return;
252        }
253
254        tarteaucitron.addScript('https://cdn.goldenbees.fr/proxy?url=http%3A%2F%2Fstatic.goldenbees.fr%2Fcdn%2Fjs%2Fgtag%2Fgoldentag-min.js&attachment=0', '', function() {
255            window.gbTag = GbTagBuilder.build(tarteaucitron.user.goldenbeesId);
256            window.gbTag.fire();
257        });
258    }
259};
260
261// weply
262tarteaucitron.services.weply = {
263    "key": "weply",
264    "type": "support",
265    "name": "Weply",
266    "uri": "https://weply.chat/",
267    "needConsent": true,
268    "cookies": ['weply.analytics', 'logglytrackingsession'],
269    "js": function () {
270        "use strict";
271
272        if (tarteaucitron.user.weplyId === undefined) {
273            return;
274        }
275
276        tarteaucitron.addScript('https://app.weply.chat/widget/' + tarteaucitron.user.weplyId);
277    }
278};
279
280// skaze
281tarteaucitron.services.skaze = {
282    "key": "skaze",
283    "type": "ads",
284    "name": "Skaze",
285    "uri": "https://www.skaze.com/fr/politique/politique-de-confidentialite/",
286    "needConsent": true,
287    "cookies": [],
288    "js": function () {
289        "use strict";
290
291        if (tarteaucitron.user.skazeIdentifier === undefined) {
292            return;
293        }
294
295        window.skaze = window.skaze || {};
296        tarteaucitron.addScript('https://events.sk.ht/' + tarteaucitron.user.skazeIdentifier + '/lib.js', '', function() {
297            skaze.cmd = skaze.cmd || [];
298            skaze.cmd.push(function() {
299                skaze.init({ siteIdentifier : tarteaucitron.user.skazeIdentifier });
300
301                if (typeof tarteaucitron.user.skazeMore === 'function') {
302                    tarteaucitron.user.skazeMore();
303                }
304            });
305        });
306    }
307};
308
309// dialoginsight
310tarteaucitron.services.dialoginsight = {
311    "key": "dialoginsight",
312    "type": "support",
313    "name": "Dialog Insight",
314    "uri": "https://www.dialoginsight.com/politique-de-confidentialite/",
315    "needConsent": true,
316    "cookies": [],
317    "js": function () {
318        "use strict";
319
320        if (tarteaucitron.user.dialogInsightId === undefined) {
321            return;
322        }
323
324        tarteaucitron.addScript('https://t.ofsys.com/js/Journey/1/' + tarteaucitron.user.dialogInsightId + '/DI.Journey-min.js');
325    }
326};
327
328// markerio
329tarteaucitron.services.markerio = {
330    "key": "markerio",
331    "type": "support",
332    "name": "Marker.io",
333    "uri": "https://marker.io/cookie-policy",
334    "needConsent": true,
335    "cookies": [],
336    "js": function () {
337        "use strict";
338
339        if (tarteaucitron.user.markerioProjectId === undefined) {
340            return;
341        }
342
343        window.markerConfig = {
344            project: tarteaucitron.user.markerioProjectId,
345            source: 'snippet'
346        };
347
348        !function(e,r,a){if(!e.__Marker){e.__Marker={};var t=[],n={__cs:t};["show","hide","isVisible","capture","cancelCapture","unload","reload","isExtensionInstalled","setReporter","setCustomData","on","off"].forEach(function(e){n[e]=function(){var r=Array.prototype.slice.call(arguments);r.unshift(e),t.push(r)}}),e.Marker=n;var s=r.createElement("script");s.async=1,s.src="https://edge.marker.io/latest/shim.js";var i=r.getElementsByTagName("script")[0];i.parentNode.insertBefore(s,i)}}(window,document);
349    }
350};
351
352// tolkaigenii
353tarteaucitron.services.tolkaigenii = {
354    "key": "tolkaigenii",
355    "type": "support",
356    "name": "Tolk.ai Genii",
357    "uri": "https://www.tolk.ai/",
358    "needConsent": true,
359    "cookies": [],
360    "js": function () {
361        "use strict";
362
363        if (tarteaucitron.user.tolkaiGeniiProject === undefined) {
364            return;
365        }
366
367        var script;
368        script = document.createElement('script');
369        script.id = "lightchat-bot";
370        script.src = "https://genii-script.tolk.ai/lightchat.js";
371        script.async = true;
372        script.setAttribute("type", "module");
373        script.setAttribute("project-id", tarteaucitron.user.tolkaiGeniiProject);
374        document.getElementsByTagName('head')[0].appendChild(script);
375    }
376};
377
378// seamlessaccess
379tarteaucitron.services.seamlessaccess = {
380    "key": "seamlessaccess",
381    "type": "api",
382    "name": "Seamlessaccess",
383    "uri": "https://seamlessaccess.org/about/trust/",
384    "needConsent": true,
385    "cookies": [],
386    "js": function () {
387        "use strict";
388        if (tarteaucitron.user.seamlessaccessInitiator === undefined) {
389            return;
390        }
391        var uniqIds = [];
392        tarteaucitron.fallback(['seamlessaccess_button'], function(x) {
393            var uniqId = tarteaucitron.getElemAttr(x, 'id');
394            if (uniqId === "") {
395                uniqId = '_' + Math.random().toString(36).substr(2, 9);
396                x.setAttribute('id', uniqId);
397            }
398            uniqIds.push(uniqId);
399            x.innerHTML = '';
400        }, true);
401        tarteaucitron.addScript('//service.seamlessaccess.org/thiss.js', 'seamlessaccessjs', function() {
402            for (var i = 0; i < uniqIds.length; i += 1) {
403                thiss.DiscoveryComponent.render({
404                    loginInitiatorURL: tarteaucitron.user.seamlessaccessInitiator,
405                }, '#' + uniqIds[i]);
406            }
407        });
408    },
409    "fallback": function () {
410        "use strict";
411        var id = 'seamlessaccess';
412        tarteaucitron.fallback(['seamlessaccess_button'], tarteaucitron.engage(id));
413    }
414};
415
416// reddit
417tarteaucitron.services.reddit = {
418    "key": "reddit",
419    "type": "ads",
420    "name": "Reddit",
421    "uri": "https://business.reddithelp.com/helpcenter/s/article/Reddit-Advertising-Policy-Overview",
422    "needConsent": true,
423    "cookies": [],
424    "js": function () {
425        "use strict";
426
427        if (tarteaucitron.user.redditInit === undefined) {
428            return;
429        }
430
431        !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init',tarteaucitron.user.redditInit, {"aaid":tarteaucitron.user.redditAAID,"externalId":tarteaucitron.user.redditExternalId,"idfa":tarteaucitron.user.redditIDFA});rdt('track', 'PageVisit');
432    }
433};
434
435// zoho
436tarteaucitron.services.zoho = {
437    "key": "zoho",
438    "type": "support",
439    "name": "Zoho SalesIQ",
440    "uri": "https://www.zoho.com/gdpr.html",
441    "needConsent": true,
442    "cookies": [],
443    "js": function () {
444        "use strict";
445
446        if (tarteaucitron.user.zohoWidgetCode === undefined) {
447            return;
448        }
449
450        var $zoho=$zoho || {};
451        $zoho.salesiq = $zoho.salesiq || {widgetcode:tarteaucitron.user.zohoWidgetCode, values:{},ready:function(){}};
452        tarteaucitron.addScript('https://salesiq.zoho.eu/widget');
453    }
454};
455
456// teads
457tarteaucitron.services.teads = {
458    "key": "teads",
459    "type": "ads",
460    "name": "Teads",
461    "uri": "https://privacy-policy.teads.com",
462    "needConsent": true,
463    "cookies": [],
464    "js": function () {
465        "use strict";
466
467        if (tarteaucitron.user.teadsBuyerPixelId === undefined) {
468            return;
469        }
470
471        tarteaucitron.addScript('https://p.teads.tv/teads-fellow.js');
472
473        window.teads_e = window.teads_e || [];
474        window.teads_buyer_pixel_id = tarteaucitron.user.teadsBuyerPixelId;
475    }
476};
477
478// thetradedesk
479tarteaucitron.services.thetradedesk = {
480    "key": "thetradedesk",
481    "type": "ads",
482    "name": "TheTradeDesk",
483    "uri": "https://www.thetradedesk.com/fr/privacy",
484    "needConsent": true,
485    "cookies": [],
486    "js": function () {
487        "use strict";
488
489        if (tarteaucitron.user.thetradedeskAdvertiserId === undefined || tarteaucitron.user.thetradedeskUpixelId === undefined) {
490            return;
491        }
492
493        tarteaucitron.addScript('https://js.adsrvr.org/up_loader.1.1.0.js', '', function() {
494            ttd_dom_ready( function() {
495                if (typeof TTDUniversalPixelApi === 'function') {
496                    var universalPixelApi = new TTDUniversalPixelApi();
497                    universalPixelApi.init(tarteaucitron.user.thetradedeskAdvertiserId, [tarteaucitron.user.thetradedeskUpixelId], "https://insight.adsrvr.org/track/up");
498                }
499            });
500        });
501    }
502};
503
504// gcmanalyticsstorage
505tarteaucitron.services.gcmanalyticsstorage = {
506    "key": "gcmanalyticsstorage",
507    "type": "google",
508    "name": "Analytics",
509    "uri": "https://policies.google.com/privacy",
510    "needConsent": true,
511    "cookies": [],
512    "js": function () {
513        "use strict";
514
515        if (tarteaucitron.parameters.googleConsentMode === true) {
516            window.tac_gtag('consent', 'update', {
517                analytics_storage: 'granted'
518            });
519        }
520    },
521    "fallback": function () {
522        "use strict";
523
524        if (tarteaucitron.parameters.googleConsentMode === true) {
525            window.tac_gtag('consent', 'update', {
526                analytics_storage: 'denied'
527            });
528        }
529    }
530};
531
532// gcmadstorage
533tarteaucitron.services.gcmadstorage = {
534    "key": "gcmadstorage",
535    "type": "google",
536    "name": "Advertising",
537    "uri": "https://policies.google.com/privacy",
538    "needConsent": true,
539    "cookies": [],
540    "js": function () {
541        "use strict";
542
543        if (tarteaucitron.parameters.googleConsentMode === true) {
544            window.tac_gtag('consent', 'update', {
545                ad_storage: 'granted'
546            });
547        }
548    },
549    "fallback": function () {
550        "use strict";
551
552        if (tarteaucitron.parameters.googleConsentMode === true) {
553            window.tac_gtag('consent', 'update', {
554                ad_storage: 'denied'
555            });
556        }
557    }
558};
559
560// gcmadsuserdata
561tarteaucitron.services.gcmadsuserdata = {
562    "key": "gcmadsuserdata",
563    "type": "google",
564    "name": "Personalized Advertising",
565    "uri": "https://policies.google.com/privacy",
566    "needConsent": true,
567    "cookies": [],
568    "js": function () {
569        "use strict";
570
571        if (tarteaucitron.parameters.googleConsentMode === true) {
572            window.tac_gtag('consent', 'update', {
573                ad_user_data: 'granted',
574                ad_personalization: 'granted'
575            });
576        }
577    },
578    "fallback": function () {
579        "use strict";
580
581        if (tarteaucitron.parameters.googleConsentMode === true) {
582            window.tac_gtag('consent', 'update', {
583                ad_user_data: 'denied',
584                ad_personalization: 'denied'
585            });
586        }
587    }
588};
589
590// gcmpersonalization
591tarteaucitron.services.gcmpersonalization = {
592    "key": "gcmpersonalization",
593    "type": "google",
594    "name": "Personalization",
595    "uri": "https://policies.google.com/privacy",
596    "needConsent": true,
597    "cookies": [],
598    "js": function () {
599        "use strict";
600
601        if (tarteaucitron.parameters.googleConsentMode === true) {
602            window.tac_gtag('consent', 'update', {
603                personalization_storage: 'granted'
604            });
605        }
606    },
607    "fallback": function () {
608        "use strict";
609
610        if (tarteaucitron.parameters.googleConsentMode === true) {
611            window.tac_gtag('consent', 'update', {
612                personalization_storage: 'denied'
613            });
614        }
615    }
616};
617
618// gcmfunctionality
619tarteaucitron.services.gcmfunctionality = {
620    "key": "gcmfunctionality",
621    "type": "google",
622    "name": "Functionality",
623    "uri": "https://policies.google.com/privacy",
624    "needConsent": true,
625    "cookies": [],
626    "js": function () {
627        "use strict";
628
629        if (tarteaucitron.parameters.googleConsentMode === true) {
630            window.tac_gtag('consent', 'update', {
631                functionality_storage: 'granted'
632            });
633        }
634    },
635    "fallback": function () {
636        "use strict";
637
638        if (tarteaucitron.parameters.googleConsentMode === true) {
639            window.tac_gtag('consent', 'update', {
640                functionality_storage: 'denied'
641            });
642        }
643    }
644};
645
646// gcmsecurity
647tarteaucitron.services.gcmsecurity = {
648    "key": "gcmsecurity",
649    "type": "google",
650    "name": "Security",
651    "uri": "https://policies.google.com/privacy",
652    "needConsent": true,
653    "cookies": [],
654    "js": function () {
655        "use strict";
656
657        if (tarteaucitron.parameters.googleConsentMode === true) {
658            window.tac_gtag('consent', 'update', {
659                security_storage: 'granted'
660            });
661        }
662    },
663    "fallback": function () {
664        "use strict";
665
666        if (tarteaucitron.parameters.googleConsentMode === true) {
667            window.tac_gtag('consent', 'update', {
668                security_storage: 'denied'
669            });
670        }
671    }
672};
673
674// piximedia
675tarteaucitron.services.piximedia = {
676    "key": "piximedia",
677    "type": "ads",
678    "name": "Piximedia",
679    "uri": "https://piximedia.com/privacy/",
680    "needConsent": true,
681    "cookies": [],
682    "js": function () {
683        "use strict";
684
685        if (tarteaucitron.user.piximediaName === undefined || tarteaucitron.user.piximediaTag === undefined || tarteaucitron.user.piximediaType === undefined || tarteaucitron.user.piximediaId === undefined) {
686            return;
687        }
688
689        tarteaucitron.addScript('https://ad.piximedia.com/tools/activity/?' + tarteaucitron.user.piximediaName + '||'+ tarteaucitron.user.piximediaTag + '|' + tarteaucitron.user.piximediaType + '|' + tarteaucitron.user.piximediaId + '|||||');
690    }
691};
692
693// screeb
694tarteaucitron.services.screeb = {
695    "key": "screeb",
696    "type": "support",
697    "name": "Screeb",
698    "uri": "https://screeb.app/gdpr-privacy",
699    "needConsent": true,
700    "cookies": [],
701    "js": function () {
702        "use strict";
703
704        if (tarteaucitron.user.screebId === undefined) {
705            return;
706        }
707
708        window['ScreebObject'] = '$screeb';
709        window['$screeb'] = window['$screeb'] || function() {
710            var d = arguments;
711            return new Promise(function(a, b) {
712                (window['$screeb'].q = window['$screeb'].q || []).push({
713                    v: 1,
714                    args: d,
715                    ok: a,
716                    ko: b
717                })
718            })
719        };
720
721        tarteaucitron.addScript('https://t.screeb.app/tag.js', '$screeb');
722
723        if (tarteaucitron.user.screebDontInit !== true) {
724            window.$screeb('init', tarteaucitron.user.screebId);
725        }
726    }
727};
728
729// pipedrive
730tarteaucitron.services.pipedrive = {
731    "key": "pipedrive",
732    "type": "support",
733    "name": "Pipedrive",
734    "uri": "https://www.pipedrive.com/en/cookie-notice",
735    "needConsent": true,
736    "cookies": [],
737    "js": function () {
738        "use strict";
739
740        if (tarteaucitron.user.pipedriveCompany === undefined || tarteaucitron.user.pipedrivePlaybook === undefined) {
741            return;
742        }
743
744        window.pipedriveLeadboosterConfig = {base: 'leadbooster-chat.pipedrive.com', companyId: tarteaucitron.user.pipedriveCompany, playbookUuid: tarteaucitron.user.pipedrivePlaybook, version: 2};
745
746        if (!window.LeadBooster) {
747            window.LeadBooster = {
748                q: [],
749                on: function(n, h) {
750                    this.q.push({
751                        t: 'o',
752                        n: n,
753                        h: h
754                    });
755                },
756                trigger: function(n) {
757                    this.q.push({
758                        t: 't',
759                        n: n
760                    });
761                },
762            };
763        }
764
765        tarteaucitron.addScript('https://leadbooster-chat.pipedrive.com/assets/loader.js');
766    },
767    "fallback": function () {
768        "use strict";
769        var id = '';
770        tarteaucitron.fallback(['proactiveChat'], function (elem) {
771            return tarteaucitron.engage(id);
772        });
773    }
774};
775
776// dynatrace
777tarteaucitron.services.dynatrace = {
778    "key": "dynatrace",
779    "type": "api",
780    "name": "Dynatrace",
781    "uri": "https://www.dynatrace.com/company/trust-center/privacy/",
782    "needConsent": true,
783    "cookies": [],
784    "js": function () {
785        "use strict";
786
787        if (tarteaucitron.user.dynatraceJSPath === undefined || tarteaucitron.user.dynatraceConfig === undefined) {
788            return;
789        }
790
791        tarteaucitron.addScript(tarteaucitron.user.dynatraceJSPath, '', '', '', 'data-dtconfig', tarteaucitron.user.dynatraceConfig);
792    }
793};
794
795// mixpanel
796tarteaucitron.services.mixpanel = {
797    "key": "mixpanel",
798    "type": "analytic",
799    "name": "Mixpanel",
800    "uri": "https://docs.mixpanel.com/docs/privacy/overview",
801    "needConsent": true,
802    "cookies": [],
803    "js": function () {
804        "use strict";
805
806        (function (f, b) { if (!b.__SV) { var e, g, i, h; window.mixpanel = b; b._i = []; b.init = function (e, f, c) { function g(a, d) { var b = d.split("."); 2 == b.length && ((a = a[b[0]]), (d = b[1])); a[d] = function () { a.push([d].concat(Array.prototype.slice.call(arguments, 0))); }; } var a = b; "undefined" !== typeof c ? (a = b[c] = []) : (c = "mixpanel"); a.people = a.people || []; a.toString = function (a) { var d = "mixpanel"; "mixpanel" !== c && (d += "." + c); a || (d += " (stub)"); return d; }; a.people.toString = function () { return a.toString(1) + ".people (stub)"; }; i = "disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking start_batch_senders people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split( " "); for (h = 0; h < i.length; h++) g(a, i[h]); var j = "set set_once union unset remove delete".split(" "); a.get_group = function () { function b(c) { d[c] = function () { call2_args = arguments; call2 = [c].concat(Array.prototype.slice.call(call2_args, 0)); a.push([e, call2]); }; } for ( var d = {}, e = ["get_group"].concat( Array.prototype.slice.call(arguments, 0)), c = 0; c < j.length; c++) b(j[c]); return d; }; b._i.push([e, f, c]); }; b.__SV = 1.2; e = f.createElement("script"); e.type = "text/javascript"; e.async = !0; e.src = "undefined" !== typeof MIXPANEL_CUSTOM_LIB_URL ? MIXPANEL_CUSTOM_LIB_URL : "file:" === f.location.protocol && "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//) ? "https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js" : "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"; g = f.getElementsByTagName("script")[0]; g.parentNode.insertBefore(e, g); } })(document, window.mixpanel || []);
807    }
808};
809
810// freshsalescrm
811tarteaucitron.services.freshsalescrm = {
812  "key": "freshsalescrm",
813  "type": "analytic",
814  "name": "FreshSales (CRM)",
815  "uri": "https://www.freshworks.com/gdpr/",
816  "needConsent": true,
817  "cookies": [],
818  "js": function () {
819    "use strict";
820
821    if (tarteaucitron.user.freshsalescrmId === undefined) {
822     return;
823    }
824
825    tarteaucitron.addScript('https://eu.fw-cdn.com/' + tarteaucitron.user.freshsalescrmId + '.js');
826  }
827};
828
829// equativ
830tarteaucitron.services.equativ = {
831    "key": "equativ",
832    "type": "ads",
833    "name": "Equativ",
834    "uri": "https://equativ.com/",
835    "needConsent": true,
836    "cookies": [],
837    "js": function () {
838        "use strict";
839
840        if (tarteaucitron.user.equativId === undefined) {
841            return;
842        }
843
844        tarteaucitron.addScript('https://ced.sascdn.com/tag/' + tarteaucitron.user.equativId + '/smart.js');
845    }
846};
847
848// twitch
849tarteaucitron.services.twitch = {
850    "key": "twitch",
851    "type": "video",
852    "name": "Twitch",
853    "needConsent": true,
854    "cookies": [],
855    "uri": "https://www.twitch.tv/p/en/legal/privacy-notice",
856    "js": function () {
857        "use strict";
858        tarteaucitron.fallback(['twitch_player'], function (x) {
859            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Twitch iframe',
860                id = tarteaucitron.getElemAttr(x, 'videoID'),
861                parent = tarteaucitron.getElemAttr(x, 'parent'),
862                width = tarteaucitron.getElemAttr(x, 'width'),
863                height = tarteaucitron.getElemAttr(x, 'height');
864            var embedURL = "https://player.twitch.tv/?video=" + id + "&parent=" + parent;
865
866            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
867
868            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"" + embedURL + "\"></iframe>";
869        });
870    },
871    "fallback": function () {
872        "use strict";
873        var id = "twitch";
874        tarteaucitron.fallback(["twitch_player"], tarteaucitron.engage(id));
875    }
876};
877
878// eskimi
879tarteaucitron.services.eskimi = {
880    "key": "eskimi",
881    "type": "ads",
882    "name": "Eskimi",
883    "uri": "https://fr.eskimi.com/privacy-policy",
884    "needConsent": true,
885    "cookies": [],
886    "js": function () {
887        "use strict";
888
889        if (tarteaucitron.user.eskimiInit === undefined) {
890            return;
891        }
892
893        window.___esk = window.esk = function () {
894            window.___esk.callMethod ? window.___esk.callMethod.apply(window.___esk, arguments) : window.___esk.queue.push(arguments);
895        };
896        window.___esk.push = window.___esk;
897        window.___esk.loaded = true;
898        window.___esk.queue = [];
899
900        tarteaucitron.addScript("https://dsp-media.eskimi.com/assets/js/e/gtr.min.js", '', function () {
901            esk('init', tarteaucitron.user.eskimiInit);
902        });
903    }
904};
905
906// sharethissticky
907tarteaucitron.services.sharethissticky = {
908    "key": "sharethissticky",
909    "type": "social",
910    "name": "ShareThis Sticky",
911    "uri": "https://sharethis.com/fr/privacy/",
912    "needConsent": true,
913    "cookies": ['_stid','_stidv','pubconsent'],
914    "js": function () {
915        "use strict";
916
917        if (tarteaucitron.user.sharethisStickyProperty === undefined) {
918            return;
919        }
920
921        tarteaucitron.addScript("https://platform-api.sharethis.com/js/sharethis.js#property=" + tarteaucitron.user.sharethisStickyProperty + "&product=sticky-share-buttons");
922    }
923};
924
925// pianoanalytics
926tarteaucitron.services.pianoanalytics = {
927    "key": "pianoanalytics",
928    "type": "analytic",
929    "name": "Piano Analytics",
930    "uri": "https://piano.io/privacy-policy/",
931    "needConsent": true,
932    "cookies": ['_pcid','_pctx','_pctx','pa_user', 'pa_privacy'],
933    "js": function () {
934        "use strict";
935
936        if (tarteaucitron.user.pianoCollectDomain === undefined || tarteaucitron.user.pianoSite === undefined) {
937            return;
938        }
939
940        tarteaucitron.addScript("https://tag.aticdn.net/piano-analytics.js", '', function () {
941
942            pa.setConfigurations({
943                site: tarteaucitron.user.pianoSite,
944                collectDomain: tarteaucitron.user.pianoCollectDomain
945            });
946
947            if (tarteaucitron.user.pianoSendData !== false) {
948                pa.sendEvent('page.display', {
949                    'page': document.title
950                });
951            }
952        });
953    },
954    "fallback": function () {
955        if (tarteaucitron.parameters.pianoConsentMode === true) {
956            if (tarteaucitron.parameters.softConsentMode === false) {
957                this.js();
958            }
959        }
960    }
961};
962
963// actistat
964tarteaucitron.services.actistat = {
965    "key": "actistat",
966    "type": "analytic",
967    "name": "ActiSTAT",
968    "uri": "https://actigraph.com/actistat",
969    "needConsent": true,
970    "cookies": [],
971    "js": function () {
972        "use strict";
973
974        if (tarteaucitron.user.actistatId === undefined) {
975            return;
976        }
977
978        tarteaucitron.addScript('https://actistat.fr/umami.js', '', '', '', 'data-website-id', tarteaucitron.user.actistatId);
979    }
980};
981
982// outbrainamplify
983tarteaucitron.services.outbrainamplify = {
984    "key": "outbrainamplify",
985    "type": "ads",
986    "name": "Outbrain Amplify",
987    "uri": "https://www.outbrain.com/privacy/",
988    "needConsent": true,
989    "cookies": [],
990    "js": function () {
991        "use strict";
992
993        if (tarteaucitron.user.outbrainamplifyId === undefined) {
994            return;
995        }
996
997        var OB_ADV_ID = tarteaucitron.user.outbrainamplifyId;
998        if (window.obApi) {
999            var toArray = function(object) {
1000                return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];
1001            };
1002            window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));
1003            return;
1004        }
1005        var api = window.obApi = function() {
1006            api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);
1007        };
1008        api.version = '1.1';
1009        api.loaded = true;
1010        api.marketerId = OB_ADV_ID;
1011        api.queue = [];
1012
1013        tarteaucitron.addScript('https://amplify.outbrain.com/cp/obtp.js', '', function () {
1014            obApi('track', 'PAGE_VIEW');
1015        });
1016    }
1017};
1018
1019// playplay
1020tarteaucitron.services.playplay = {
1021    "key": "playplay",
1022    "type": "video",
1023    "name": "PlayPlay",
1024    "uri": "https://playplay.com/fr/confidentialite",
1025    "needConsent": true,
1026    "cookies": [],
1027    "js": function () {
1028        "use strict";
1029
1030        tarteaucitron.fallback(['tac_playplay'], function (x) {
1031            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Playplay iframe',
1032                id = tarteaucitron.getElemAttr(x, "data-id"),
1033                width = tarteaucitron.getElemAttr(x, "width"),
1034                height = tarteaucitron.getElemAttr(x, "height");
1035
1036            var playURL = "https://playplay.com/app/embed-video/" + id;
1037
1038            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
1039
1040            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "border:0;\" src=\"" + playURL + "\" allowfullscreen></iframe>";
1041        });
1042    },
1043    "fallback": function () {
1044        "use strict";
1045        var id = 'playplay';
1046        tarteaucitron.fallback(['tac_playplay'], function (elem) {
1047            return tarteaucitron.engage(id);
1048        });
1049    }
1050};
1051
1052// adobeworkspace
1053tarteaucitron.services.adobeworkspace = {
1054    "key": "adobeworkspace",
1055    "type": "analytic",
1056    "name": "Adobe - Analysis Workspace",
1057    "uri": "https://www.adobe.com/privacy/policy.html",
1058    "needConsent": true,
1059    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
1060    "js": function () {
1061        "use strict";
1062
1063        if (tarteaucitron.user.adobeworkspaceId1 === undefined || tarteaucitron.user.adobeworkspaceId2 === undefined || tarteaucitron.user.adobeworkspaceId3 === undefined) {
1064            return;
1065        }
1066
1067        tarteaucitron.addScript('https://assets.adobedtm.com/'+tarteaucitron.user.adobeworkspaceId1+'/'+tarteaucitron.user.adobeworkspaceId2+'/launch-'+tarteaucitron.user.adobeworkspaceId3+'.min.js');
1068    }
1069};
1070
1071// zohopagesense
1072tarteaucitron.services.zohopagesense = {
1073    "key": "zohopagesense",
1074    "type": "analytic",
1075    "name": "Zoho PageSense",
1076    "uri": "https://www.zoho.com/pagesense/cookie-policy.html",
1077    "needConsent": true,
1078    "cookies": ["zab_g_", "zabUserID", "zabVisitID", "zabSplit", "zabBucket", "zabHMBucket", "zpsfa_", "zfa", "zsr", "zabme", "zsd", "ps_payloadSeqId", "zabPZBucket", "zPersonalization", "zia_", "zpc", "zps_permission_status", "zps-tgr-dts", "zpspolls_", "zpsPollsBucket", "zpspb", "zpsPopupBucket", "zpssr", "zab_g_", "zab_", "zPersonalization"],
1079    "js": function () {
1080        "use strict";
1081
1082        if (tarteaucitron.user.zohoPageSenseProjectId === undefined || tarteaucitron.user.zohoPageSenseScriptHash === undefined) {
1083            return;
1084        }
1085        tarteaucitron.addScript('https://cdn-eu.pagesense.io/js/' + tarteaucitron.user.zohoPageSenseProjectId + '/' + tarteaucitron.user.zohoPageSenseScriptHash + '.js');
1086    }
1087};
1088
1089// leadinfo
1090tarteaucitron.services.leadinfo = {
1091    "key": "leadinfo",
1092    "type": "analytic",
1093    "name": "Leadinfo",
1094    "uri": "https://www.leadinfo.com/en/privacy/",
1095    "needConsent": true,
1096    "cookies": ['_li_id', '_li_ses'],
1097    "js": function () {
1098        "use strict";
1099
1100        if (tarteaucitron.user.leadinfoId === undefined) {
1101            return;
1102        }
1103
1104        window.GlobalLeadinfoNamespace = window.GlobalLeadinfoNamespace || [];
1105        window.GlobalLeadinfoNamespace.push("leadinfo");
1106        window["leadinfo"] = function() {
1107            (window["leadinfo"].q = window["leadinfo"].q || []).push(arguments)
1108        };
1109        window["leadinfo"].t = window["leadinfo"].t || tarteaucitron.user.leadinfoId;
1110        window["leadinfo"].q = window["leadinfo"].q || [];
1111
1112        tarteaucitron.addScript('https://cdn.leadinfo.net/ping.js');
1113    }
1114};
1115
1116// force24
1117tarteaucitron.services.force24 = {
1118    "key": "force24",
1119    "type": "analytic",
1120    "name": "Force24",
1121    "uri": "https://support.force24.co.uk/support/solutions/articles/79000128057-cookie-policies",
1122    "needConsent": true,
1123    "cookies": ['F24_autoID', 'F24_personID'],
1124    "js": function () {
1125        "use strict";
1126
1127        if (tarteaucitron.user.force24trackingId === undefined || tarteaucitron.user.force24clientId === undefined) {
1128            return;
1129        }
1130
1131        window.Force24Object = "f24", window["f24"] = window["f24"] || function() {
1132            window["f24"].q = window["f24"].q || [],
1133                window["f24"].q.push(arguments)
1134        }, window["f24"].l = 1 * new Date;
1135
1136        tarteaucitron.addScript('https://static.websites.data-crypt.com/scripts/activity/v3/inject-v3.min.js');
1137
1138        f24('config', 'set_tracking_id', tarteaucitron.user.force24trackingId);
1139        f24('config', 'set_client_id', tarteaucitron.user.force24clientId);
1140    }
1141};
1142
1143// tiktokvideo
1144tarteaucitron.services.tiktokvideo = {
1145    "key": "tiktokvideo",
1146    "type": "video",
1147    "name": "Tiktok Video",
1148    "uri": "https://www.tiktok.com/legal/page/eea/privacy-policy/en",
1149    "needConsent": true,
1150    "cookies": [],
1151    "js": function () {
1152        "use strict";
1153
1154        tarteaucitron.addScript('https://www.tiktok.com/embed.js');
1155    },
1156    "fallback": function () {
1157        "use strict";
1158        var id = 'tiktokvideo';
1159        tarteaucitron.fallback(['tiktok-embed'], function (elem) {
1160            return tarteaucitron.engage(id);
1161        });
1162    }
1163};
1164
1165// shinystat
1166tarteaucitron.services.shinystat = {
1167    "key": "shinystat",
1168    "type": "analytic",
1169    "name": "Shinystat",
1170    "uri": "https://www.shinystat.com/en/opt-out.html",
1171    "needConsent": true,
1172    "cookies": [],
1173    "js": function () {
1174        "use strict";
1175
1176        if (tarteaucitron.user.shinystatUser === undefined) {
1177            return;
1178        }
1179
1180        tarteaucitron.addScript('https://codice.shinystat.com/cgi-bin/getcod.cgi?USER=' + tarteaucitron.user.shinystatUser);
1181    }
1182};
1183
1184// activecampaignvgo
1185tarteaucitron.services.activecampaignvgo = {
1186    "key": "activecampaignvgo",
1187    "type": "other",
1188    "name": "Active Campaign",
1189    "uri": "https://www.activecampaign.com/legal/privacy-policy/",
1190    "needConsent": true,
1191    "cookies": [],
1192    "js": function () {
1193        "use strict";
1194
1195        if (tarteaucitron.user.activecampaignAccount === undefined) {
1196            return;
1197        }
1198
1199        window.visitorGlobalObjectAlias="vgo";
1200        window[window.visitorGlobalObjectAlias]=window[window.visitorGlobalObjectAlias]||function(){(window[window.visitorGlobalObjectAlias].q=window[window.visitorGlobalObjectAlias].q||[]).push(arguments)};
1201        window[window.visitorGlobalObjectAlias].l=(new Date).getTime();
1202
1203        tarteaucitron.addScript('https://diffuser-cdn.app-us1.com/diffuser/diffuser.js', '', function () {
1204            vgo('setAccount', tarteaucitron.user.activecampaignAccount);
1205            vgo('setTrackByDefault', true);
1206            vgo('process');
1207        });
1208    }
1209};
1210
1211// Brevo (formerly sendinblue)
1212tarteaucitron.services.sendinblue = {
1213    "key": "sendinblue",
1214    "type": "other",
1215    "name": "Brevo (formerly sendinblue)",
1216    "uri": "https://www.brevo.com/fr/legal/cookies/",
1217    "needConsent": true,
1218    "cookies": [],
1219    "js": function () {
1220        "use strict";
1221
1222        if (tarteaucitron.user.sendinblueKey === undefined) {
1223            return;
1224        }
1225
1226        window.sib = {equeue: [], client_key: tarteaucitron.user.sendinblueKey};
1227        window.sendinblue = {};
1228        for (var j = ['track', 'identify', 'trackLink', 'page'], i = 0; i < j.length; i++) {
1229            (function(k) {
1230                window.sendinblue[k] = function() {
1231                    var arg = Array.prototype.slice.call(arguments);
1232                    (window.sib[k] || function() {
1233                        var t = {};
1234                        t[k] = arg;
1235                        window.sib.equeue.push(t);
1236                    })(arg[0], arg[1], arg[2], arg[3]);
1237                };
1238            })(j[i]);
1239        }
1240
1241        tarteaucitron.addScript('https://sibautomation.com/sa.js?key=' + window.sib.client_key, 'sendinblue-js', function () {
1242            window.sendinblue.page();
1243        });
1244    }
1245};
1246
1247// collectchat
1248tarteaucitron.services.collectchat = {
1249    "key": "collectchat",
1250    "type": "other",
1251    "name": "Collect Chat",
1252    "uri": "https://collect.chat/privacy/",
1253    "needConsent": true,
1254    "cookies": [],
1255    "js": function () {
1256        "use strict";
1257
1258        if (tarteaucitron.user.collectchatId === undefined) {
1259            return;
1260        }
1261
1262        window.CollectId = tarteaucitron.user.collectchatId;
1263
1264        tarteaucitron.addScript('https://collectcdn.com/launcher.js');
1265    }
1266};
1267
1268// eulerian
1269tarteaucitron.services.eulerian = {
1270    "key": "eulerian",
1271    "type": "analytic",
1272    "name": "Eulerian",
1273    "uri": "https://www.eulerian.com/rgpd",
1274    "needConsent": true,
1275    "cookies": [],
1276    "js": function () {
1277        "use strict";
1278
1279        if (tarteaucitron.user.eulerianHost === undefined) {
1280            return;
1281        }
1282
1283        (function(e,a){var i=e.length,y=5381,k='script',s=window,v=document,o=v.createElement(k);for(;i;){i-=1;y=(y*33)^e.charCodeAt(i)}y='_EA_'+(y>>>=0);(function(e,a,s,y){s[a]=s[a]||function(){(s[y]=s[y]||[]).push(arguments);s[y].eah=e;};}(e,a,s,y));i=new Date/1E7|0;o.ea=y;y=i%26;o.async=1;o.src='//'+e+'/'+String.fromCharCode(97+y,122-y,65+y)+(i%1E3)+'.js?2';s=v.getElementsByTagName(k)[0];s.parentNode.insertBefore(o,s);})
1284        (tarteaucitron.user.eulerianHost,'EA_push');
1285        EA_push();
1286    }
1287};
1288
1289// posthog
1290tarteaucitron.services.posthog = {
1291    "key": "posthog",
1292    "type": "other",
1293    "name": "Posthog",
1294    "uri": "https://posthog.com/privacy",
1295    "needConsent": true,
1296    "cookies": [],
1297    "js": function () {
1298        "use strict";
1299
1300        if (tarteaucitron.user.posthogApiKey === undefined || tarteaucitron.user.posthogHost === undefined) {
1301            return;
1302        }
1303
1304        !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
1305
1306        posthog.init(tarteaucitron.user.posthogApiKey, {api_host: tarteaucitron.user.posthogHost});
1307
1308    }
1309};
1310
1311// googlesignin
1312tarteaucitron.services.googlesignin = {
1313    "key": "googlesignin",
1314    "type": "other",
1315    "name": "Google Signin",
1316    "uri": "https://policies.google.com/technologies/cookies#types-of-cookies",
1317    "needConsent": true,
1318    "cookies": [],
1319    "js": function () {
1320        "use strict";
1321
1322        tarteaucitron.addScript('https://accounts.google.com/gsi/client');
1323    }
1324};
1325
1326// calendly
1327tarteaucitron.services.calendly = {
1328    "key": "calendly",
1329    "type": "other",
1330    "name": "Calendly",
1331    "uri": "https://calendly.com/privacy",
1332    "needConsent": true,
1333    "cookies": [],
1334    "js": function () {
1335        "use strict";
1336        tarteaucitron.fallback(['calendly-inline-widget'], '');
1337        tarteaucitron.addScript('https://assets.calendly.com/assets/external/widget.js');
1338    },
1339    "fallback": function () {
1340        "use strict";
1341        var id = 'calendly';
1342        tarteaucitron.fallback(['calendly-inline-widget'], function (elem) {
1343            return tarteaucitron.engage(id);
1344        });
1345    }
1346};
1347
1348// tolkai
1349tarteaucitron.services.tolkai = {
1350    "key": "tolkai",
1351    "type": "other",
1352    "name": "tolk.ai",
1353    "uri": "https://www.tolk.ai/",
1354    "needConsent": true,
1355    "cookies": [],
1356    "js": function () {
1357        "use strict";
1358
1359        if (tarteaucitron.user.tolkaiBot === undefined) {
1360            return;
1361        }
1362
1363        window.tcfbot = tarteaucitron.user.tolkaiBot;
1364        window.TcfWbchtParams = { behaviour: 'default' };
1365        window.display = 'iframe';
1366        tarteaucitron.addScript('https://script.tolk.ai/iframe-latest.js');
1367    }
1368};
1369
1370// kwanko
1371tarteaucitron.services.kwanko = {
1372    "key": "kwanko",
1373    "type": "ads",
1374    "name": "Kwanko",
1375    "uri": "https://www.kwanko.com/fr/rgpd/politique-gestion-donnees/",
1376    "needConsent": true,
1377    "cookies": [],
1378    "js": function () {
1379        "use strict";
1380        tarteaucitron.fallback(['tac_kwanko'], function (x) {
1381            var mclic = tarteaucitron.getElemAttr(x, "data-mclic");
1382
1383            return '<img src="https://action.metaffiliation.com/trk.php?mclic=' + mclic + '" width="1" height="1" />';
1384        });
1385    },
1386    "fallback": function () {
1387        "use strict";
1388        var id = 'kwanko';
1389        tarteaucitron.fallback(['tac_kwanko'], function (elem) {
1390            return tarteaucitron.engage(id);
1391        });
1392    }
1393};
1394
1395// leadforensics
1396tarteaucitron.services.leadforensics = {
1397    "key": "leadforensics",
1398    "type": "ads",
1399    "name": "Lead Forensics",
1400    "uri": "https://www.leadforensics.com/cookie-policy/",
1401    "needConsent": true,
1402    "cookies": ['ifuuid'],
1403    "js": function () {
1404        "use strict";
1405        if (tarteaucitron.user.leadforensicsId === undefined) {
1406            return;
1407        }
1408
1409        tarteaucitron.addScript('https://secure.team8save.com/js/sc/'+ tarteaucitron.user.leadforensicsId +'.js');
1410    }
1411};
1412
1413// ubib
1414tarteaucitron.services.ubib = {
1415    "key": "ubib",
1416    "type": "support",
1417    "name": "Ubib Chatbot",
1418    "uri": "https://ubib.libanswers.com/",
1419    "needConsent": true,
1420    "cookies": [],
1421    "js": function () {
1422        "use strict";
1423
1424        if (tarteaucitron.user.ubibId === undefined || tarteaucitron.user.ubibHash === undefined) {
1425            return;
1426        }
1427
1428        tarteaucitron.addScript('https://' + tarteaucitron.user.ubibId + '.libanswers.com/load_chat.php?hash=' + tarteaucitron.user.ubibHash);
1429    }
1430};
1431
1432// wysistathightrack
1433tarteaucitron.services.wysistathightrack = {
1434    "key": "wysistathightrack",
1435    "type": "analytic",
1436    "name": "Wysistat (privacy by design)",
1437    "uri": "https://www.wysistat.net/webanalytics/exemption-cnil/",
1438    "needConsent": false,
1439    "cookies": ['wysistat'],
1440    "js": function () {
1441        "use strict";
1442
1443        if (tarteaucitron.user.wysistatNom === undefined) {
1444            return;
1445        }
1446
1447        window._wsq = window._wsq || [];
1448        window._wsq.push(['_setNom', tarteaucitron.user.wysistatNom]);
1449        window._wsq.push(['_wysistat']);
1450
1451        tarteaucitron.addScript('https://www.wysistat.com/ws.jsa');
1452    }
1453};
1454
1455// robofabrica
1456tarteaucitron.services.robofabrica = {
1457    "key": "robofabrica",
1458    "type": "support",
1459    "name": "Robo Fabrica Chatbot",
1460    "uri": "https://robofabrica.tech/charte-vie-privee/",
1461    "needConsent": true,
1462    "cookies": [],
1463    "js": function () {
1464        "use strict";
1465
1466        if (tarteaucitron.user.robofabricaUuid === undefined) {
1467            return;
1468        }
1469
1470        tarteaucitron.addScript('https://app.robofabrica.tech/widget/script', 'inceptive-cw-script', function() {
1471
1472            document.getElementById('inceptive-cw-script').setAttribute('unique-url', tarteaucitron.user.robofabricaUuid);
1473            document.getElementById('inceptive-cw-script').setAttribute('label', 'start');
1474            document.getElementById('inceptive-cw-script').setAttribute('launch-btn-id', 'inceptive-cw-launch');
1475            document.getElementById('inceptive-cw-script').setAttribute('chat-server-url', 'https://app.robofabrica.tech:443');
1476
1477        });
1478    }
1479};
1480
1481// trustpilot
1482tarteaucitron.services.trustpilot = {
1483    "key": "trustpilot",
1484    "type": "other",
1485    "name": "Trustpilot",
1486    "uri": "https://fr.legal.trustpilot.com/for-reviewers/end-user-privacy-terms",
1487    "needConsent": true,
1488    "cookies": [],
1489    "js": function () {
1490        "use strict";
1491        tarteaucitron.fallback(['trustpilot-widget'], '');
1492        tarteaucitron.addScript('https://widget.trustpilot.com/bootstrap/v5/tp.widget.sync.bootstrap.min.js');
1493    },
1494    "fallback": function () {
1495        "use strict";
1496        var id = 'trustpilot';
1497        tarteaucitron.fallback(['trustpilot-widget'], function (elem) {
1498            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-style-width'));
1499            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-style-height'));
1500            return tarteaucitron.engage(id);
1501        });
1502    }
1503};
1504
1505// snapchat
1506tarteaucitron.services.snapchat = {
1507    "key": "snapchat",
1508    "type": "analytic",
1509    "name": "Snapchat",
1510    "uri": "https://snap.com/fr-FR/privacy/privacy-policy",
1511    "needConsent": true,
1512    "cookies": [],
1513    "js": function () {
1514        "use strict";
1515
1516        if (tarteaucitron.user.snapchatId === undefined) {
1517            return;
1518        }
1519
1520        var a = window.snaptr = function() {
1521            a.handleRequest ? a.handleRequest.apply(a, arguments) : a.queue.push(arguments)
1522        };
1523        a.queue = [];
1524
1525        if (tarteaucitron.user.snapchatEmail === undefined) {
1526            window.snaptr('init', tarteaucitron.user.snapchatId);
1527        } else {
1528            window.snaptr('init', tarteaucitron.user.snapchatId, {
1529                'user_email': tarteaucitron.user.snapchatEmail
1530            });
1531        }
1532        window.snaptr('track', 'PAGE_VIEW');
1533
1534        tarteaucitron.addScript('https://sc-static.net/scevent.min.js');
1535
1536        if (typeof tarteaucitron.user.snapchatMore === 'function') {
1537            tarteaucitron.user.snapchatMore();
1538        }
1539    }
1540};
1541
1542// antvoice
1543tarteaucitron.services.antvoice = {
1544    "key": "antvoice",
1545    "type": "ads",
1546    "name": "antvoice",
1547    "uri": "https://www.antvoice.com/fr/privacy-policy/",
1548    "needConsent": true,
1549    "cookies": ['antvoice'],
1550    "js": function () {
1551        "use strict";
1552
1553        if (tarteaucitron.user.antvoiceId === undefined) {
1554            return;
1555        }
1556
1557        window.avDataLayer = window.avDataLayer || [];
1558        window.avtag = window.avtag || function(_cmd,_p) {
1559            window.avDataLayer.push({cmd:_cmd,p:_p});
1560        }
1561        window.avtag('setConsent', {consent:true});
1562        window.avtag('init', {id: tarteaucitron.user.antvoiceId});
1563
1564        tarteaucitron.addScript('https://static.avads.net/avtag.min.js');
1565    }
1566};
1567
1568// plausible
1569tarteaucitron.services.plausible = {
1570    "key": "plausible",
1571    "type": "analytic",
1572    "name": "Plausible",
1573    "uri": "https://plausible.io/privacy",
1574    "needConsent": false,
1575    "cookies": [],
1576    "js": function () {
1577        "use strict";
1578
1579        if (tarteaucitron.user.plausibleDomain === undefined) {
1580            return;
1581        }
1582
1583        if (tarteaucitron.user.plausibleEndpoint === undefined) {
1584            tarteaucitron.user.plausibleEndpoint = 'plausible.io';
1585        }
1586
1587        tarteaucitron.addScript('https://' + tarteaucitron.user.plausibleEndpoint + '/js/script.js', '', '', '', 'data-domain', tarteaucitron.user.plausibleDomain);
1588    }
1589};
1590
1591// videas
1592tarteaucitron.services.videas = {
1593    "key": "videas",
1594    "type": "video",
1595    "name": "Videas",
1596    "uri": "https://videas.fr/fr/legal",
1597    "needConsent": true,
1598    "cookies": [],
1599    "js": function () {
1600        "use strict";
1601        tarteaucitron.fallback(['tac_videas'], function (x) {
1602            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Videas iframe',
1603                width = tarteaucitron.getElemAttr(x, "width"),
1604                height = tarteaucitron.getElemAttr(x, "height"),
1605                id = tarteaucitron.getElemAttr(x, "data-id"),
1606                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
1607
1608            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
1609
1610            return '<iframe title="' + frame_title + '" src="https://app.videas.fr/embed/' + id + '/" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1611        });
1612    },
1613    "fallback": function () {
1614        "use strict";
1615        var id = 'videas';
1616        tarteaucitron.fallback(['tac_videas'], function (elem) {
1617            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
1618            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
1619            return tarteaucitron.engage(id);
1620        });
1621    }
1622};
1623
1624// myfeelback
1625tarteaucitron.services.myfeelback = {
1626    "key": "myfeelback",
1627    "type": "api",
1628    "name": "MyFeelBack (Skeepers)",
1629    "uri": "https://help.myfeelback.com/fr/quels-sont-les-cookies-d%C3%A9pos%C3%A9s-par-un-dispositif-de-collecte-myfeelback",
1630    "needConsent": true,
1631    "cookies": [],
1632    "js": function () {
1633        "use strict";
1634        if (tarteaucitron.user.myfeelbackId === undefined) {
1635            return;
1636        }
1637
1638        window._Mfb_useCookie = true;
1639        window._Mfb_ud = {
1640            var1: undefined,
1641            var2: undefined,
1642            varN: undefined,
1643            _context: {
1644                lang: undefined,
1645                privacyMode: false,
1646                _page: {
1647                    url: location.pathname,
1648                    storageDuration: 30
1649                }
1650            }
1651        };
1652        tarteaucitron.addScript('https://actorssl-5637.kxcdn.com/actor/'+tarteaucitron.user.myfeelbackId+'/action', 'MFBActor');
1653    }
1654};
1655
1656// arcio
1657tarteaucitron.services.arcio = {
1658    "key": "arcio",
1659    "type": "api",
1660    "name": "Arc.io",
1661    "uri": "https://arc.io/about",
1662    "needConsent": true,
1663    "cookies": [],
1664    "js": function () {
1665        "use strict";
1666        if (tarteaucitron.user.arcId === undefined) {
1667            return;
1668        }
1669
1670        tarteaucitron.addScript('https://arc.io/widget.min.js#'+tarteaucitron.user.arcId);
1671    }
1672};
1673
1674// doubleclick
1675tarteaucitron.services.doubleclick = {
1676    "key": "doubleclick",
1677    "type": "ads",
1678    "name": "DoubleClick",
1679    "uri": "https://support.google.com/admanager/answer/2839090",
1680    "needConsent": true,
1681    "cookies": [],
1682    "js": function () {
1683        "use strict";
1684        tarteaucitron.fallback(['doubleclick_container'], function (x) {
1685            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Doubleclick iframe',
1686                id1 = tarteaucitron.getElemAttr(x, "data-id1"),
1687                id2 = tarteaucitron.getElemAttr(x, "data-id2"),
1688                type = tarteaucitron.getElemAttr(x, "data-type"),
1689                cat = tarteaucitron.getElemAttr(x, "data-cat"),
1690                item = tarteaucitron.getElemAttr(x, "data-item"),
1691                quantity = tarteaucitron.getElemAttr(x, "data-quantity"),
1692                price = tarteaucitron.getElemAttr(x, "data-price"),
1693                postage = tarteaucitron.getElemAttr(x, "data-postage"),
1694                seller = tarteaucitron.getElemAttr(x, "data-seller"),
1695                gdpr = tarteaucitron.getElemAttr(x, "data-gdpr"),
1696                gdpr_consent = tarteaucitron.getElemAttr(x, "data-gdpr-consent"),
1697                ord = tarteaucitron.getElemAttr(x, "data-ord"),
1698                num = tarteaucitron.getElemAttr(x, "data-num");
1699
1700            return '<iframe title="' + frame_title + '" src="https://'+id1+'.fls.doubleclick.net/activityi;src='+id2+';type='+type+';cat='+cat+';item='+item+';quantity='+quantity+';price='+price+';postage='+postage+';seller='+seller+';gdpr='+gdpr+';gdpr_consent='+gdpr_consent+';num='+num+';ord='+ord+'?" style="width:1px;height:1px;display:none"></iframe>';
1701        });
1702    }
1703};
1704
1705// userpilot
1706tarteaucitron.services.userpilot = {
1707    "key": "userpilot",
1708    "type": "analytic",
1709    "name": "UserPilot",
1710    "uri": "https://userpilot.com/privacy-policy",
1711    "needConsent": true,
1712    "cookies": [],
1713    "js": function () {
1714        "use strict";
1715        if (tarteaucitron.user.userpilotToken === undefined) {
1716            return;
1717        }
1718
1719        window.userpilotSettings = {token: tarteaucitron.user.userpilotToken};
1720        tarteaucitron.addScript('https://js.userpilot.io/sdk/latest.js');
1721    }
1722};
1723
1724tarteaucitron.services.piwikpro = {
1725    "key": "piwikpro",
1726    "type": "analytic",
1727    "name": "Piwik Pro",
1728    "uri": "https://piwik.pro/privacy-policy/",
1729    "needConsent": true,
1730    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
1731    "js": function () {
1732        "use strict";
1733        if (tarteaucitron.user.piwikProId === undefined || tarteaucitron.user.piwikProContainer === undefined) {
1734            return;
1735        }
1736
1737        window['dataLayer'] = window['dataLayer'] || [], window['dataLayer'].push({
1738            start: (new Date).getTime(),
1739            event: "stg.start"
1740        });
1741
1742        function stgCreateCookie(a, b, c) {
1743            var d = "";
1744            if (c) {
1745                var e = new Date;
1746                e.setTime(e.getTime() + 24 * c * 60 * 60 * 1e3), d = "; expires=" + e.toUTCString()
1747            }
1748            document.cookie = a + "=" + b + d + "; path=/"
1749        }
1750
1751        var isStgDebug = (window.location.href.match("stg_debug") || document.cookie.match("stg_debug")) && !window.location.href.match("stg_disable_debug");
1752        stgCreateCookie("stg_debug", isStgDebug ? 1 : "", isStgDebug ? 14 : -1);
1753        var qP = [];
1754
1755        var qPString = qP.length > 0 ? ("?" + qP.join("&")) : "";
1756        tarteaucitron.addScript('https://'+tarteaucitron.user.piwikProContainer+'.containers.piwik.pro/'+tarteaucitron.user.piwikProId+'.js'+qPString);
1757
1758        ! function(a, n, i) {
1759            a[n] = a[n] || {};
1760            for (var c = 0; c < i.length; c++) ! function(i) {
1761                a[n][i] = a[n][i] || {}, a[n][i].api = a[n][i].api || function() {
1762                    var a = [].slice.call(arguments, 0);
1763                    "string" == typeof a[0] && window['dataLayer'].push({
1764                        event: n + "." + i + ":" + a[0],
1765                        parameters: [].slice.call(arguments, 1)
1766                    })
1767                }
1768            }(i[c])
1769        }(window, "ppms", ["tm", "cm"]);
1770    }
1771};
1772
1773// pinterestpixel
1774tarteaucitron.services.pinterestpixel = {
1775    "key": "pinterestpixel",
1776    "type": "ads",
1777    "name": "Pinterest Pixel",
1778    "uri": "https://help.pinterest.com/fr/business/article/track-conversions-with-pinterest-tag",
1779    "needConsent": true,
1780    "cookies": ['_pinterest_sess', '_pinterest_ct', '_pinterest_ct_mw', '_pinterest_ct_rt', '_epik', '_derived_epik', '_pin_unauth', '_pinterest_ct_ua'],
1781    "js": function () {
1782        "use strict";
1783
1784        if (tarteaucitron.user.pinterestpixelId === undefined) {
1785            return;
1786        }
1787
1788        if (!window.pintrk) {
1789            window.pintrk = function () {
1790                window.pintrk.queue.push(Array.prototype.slice.call(arguments));
1791            };
1792
1793            var n = window.pintrk;
1794            n.queue = [];
1795            n.version = "3.0";
1796
1797            tarteaucitron.addScript('https://s.pinimg.com/ct/core.js', '', function () {
1798                window.pintrk('load', tarteaucitron.user.pinterestpixelId);
1799                window.pintrk('page');
1800            });
1801        }
1802    }
1803};
1804
1805// elfsight
1806tarteaucitron.services.elfsight = {
1807    "key": "elfsight",
1808    "type": "support",
1809    "name": "Elfsight",
1810    "uri": "https://elfsight.com/privacy-policy/",
1811    "needConsent": true,
1812    "cookies": ['__cfduid', '_p_hfp_client_id', 'session_id'],
1813    "js": function () {
1814        "use strict";
1815
1816        tarteaucitron.addScript('https://apps.elfsight.com/p/platform.js');
1817    }
1818};
1819
1820// plezi
1821tarteaucitron.services.plezi = {
1822    "key": "plezi",
1823    "type": "analytic",
1824    "name": "Plezi",
1825    "uri": "https://www.plezi.co/fr/mentions-legales/",
1826    "needConsent": true,
1827    "cookies": [],
1828    "js": function () {
1829        "use strict";
1830
1831        if (tarteaucitron.user.pleziTenant === undefined || tarteaucitron.user.pleziTw === undefined) {
1832            return;
1833        }
1834
1835        tarteaucitron.addScript('https://brain.plezi.co/api/v1/analytics?tenant=' + tarteaucitron.user.pleziTenant + '&tw=' + tarteaucitron.user.pleziTw);
1836    }
1837};
1838
1839
1840// smartsupp
1841tarteaucitron.services.smartsupp = {
1842    "key": "smartsupp",
1843    "type": "support",
1844    "name": "Smartsupp",
1845    "uri": "https://www.smartsupp.com/help/privacy/",
1846    "needConsent": true,
1847    "cookies": ['ssupp.vid', 'ssupp.visits', 'AWSALB', 'AWSALBCORS'],
1848    "js": function () {
1849        "use strict";
1850
1851        if (tarteaucitron.user.smartsuppKey === undefined) {
1852            return;
1853        }
1854
1855        window._smartsupp = window._smartsupp || {};
1856        window._smartsupp.key = tarteaucitron.user.smartsuppKey;
1857        window.smartsupp = function () {
1858            window.smartsupp._.push(arguments)
1859        };
1860        window.smartsupp._ = [];
1861
1862        tarteaucitron.addScript('https://www.smartsuppchat.com/loader.js');
1863    }
1864};
1865
1866
1867
1868// sharpspring
1869tarteaucitron.services.sharpspring = {
1870    "key": "sharpspring",
1871    "type": "analytic",
1872    "name": "SharpSpring",
1873    "uri": "https://sharpspring.com/legal/sharpspring-cookie-policy/",
1874    "needConsent": true,
1875    "cookies": ['koitk', '__ss', '__ss_tk', '__ss_referrer'],
1876    "js": function () {
1877        "use strict";
1878
1879        if (tarteaucitron.user.ssId === undefined || tarteaucitron.user.ssAccount === undefined) {
1880            return;
1881        }
1882
1883        window._ss = window._ss || [];
1884        window._ss.push(['_setDomain', 'https://' + tarteaucitron.user.ssId + '.marketingautomation.services/net']);
1885        window._ss.push(['_setAccount', tarteaucitron.user.ssAccount]);
1886        window._ss.push(['_trackPageView']);
1887
1888        window._pa = window._pa || {};
1889
1890        tarteaucitron.addScript('https://' + tarteaucitron.user.ssId + '.marketingautomation.services/client/ss.js');
1891    }
1892};
1893
1894// pardot
1895tarteaucitron.services.pardot = {
1896    "key": "pardot",
1897    "type": "analytic",
1898    "name": "Pardot",
1899    "uri": "https://www.salesforce.com/company/privacy/full_privacy/",
1900    "needConsent": true,
1901    "cookies": ['visitor_id'],
1902    "js": function () {
1903        "use strict";
1904        if (tarteaucitron.user.piAId === undefined || tarteaucitron.user.piCId === undefined) {
1905            return;
1906        }
1907
1908        window.piAId = tarteaucitron.user.piAId;
1909        window.piCId = tarteaucitron.user.piCId;
1910        window.piHostname = 'pi.pardot.com';
1911
1912        tarteaucitron.addScript('https://pi.pardot.com/pd.js');
1913    }
1914};
1915
1916// Open Web Analytics
1917tarteaucitron.services.openwebanalytics = {
1918    "key": "openwebanalytics",
1919    "type": "analytic",
1920    "name": "Open Web Analytics",
1921    "uri": "",
1922    "needConsent": true,
1923    "cookies": [],
1924    "js": function () {
1925        "use strict";
1926
1927        if (tarteaucitron.user.openwebanalyticsId === undefined || tarteaucitron.user.openwebanalyticsHost === undefined) {
1928            return;
1929        }
1930
1931        window.owa_baseUrl = tarteaucitron.user.openwebanalyticsHost;
1932        window.owa_cmds = window.owa_cmds || [];
1933        window.owa_cmds.push(['setSiteId', tarteaucitron.user.openwebanalyticsId]);
1934        window.owa_cmds.push(['trackPageView']);
1935        window.owa_cmds.push(['trackClicks']);
1936
1937        tarteaucitron.addScript(window.owa_baseUrl + 'modules/base/js/owa.tracker-combined-min.js');
1938    }
1939};
1940
1941// xandr universal pixel
1942// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html
1943tarteaucitron.services.xandr = {
1944    "key": "xandr",
1945    "type": "ads",
1946    "name": "Xandr (Universal)",
1947    "uri": "https://www.xandr.com/privacy/cookie-policy/",
1948    "needConsent": true,
1949    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
1950    "js": function () {
1951        "use strict";
1952        if (tarteaucitron.user.xandrId === undefined) {
1953            return;
1954        }
1955
1956        if (!window.pixie) {
1957            var n = window.pixie = function (e, i, a) {
1958                n.actionQueue.push({
1959                    action: e,
1960                    actionValue: i,
1961                    params: a
1962                })
1963            };
1964            n.actionQueue = [];
1965        }
1966
1967        tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function () {
1968            window.pixie('init', tarteaucitron.user.xandrId);
1969            window.pixie('event', 'PageView');
1970        });
1971    }
1972};
1973
1974// xandr segment
1975// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html
1976tarteaucitron.services.xandrsegment = {
1977    "key": "xandrsegment",
1978    "type": "ads",
1979    "name": "Xandr (Segment)",
1980    "uri": "https://www.xandr.com/privacy/cookie-policy/",
1981    "needConsent": true,
1982    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
1983    "js": function () {
1984        "use strict";
1985        var uniqIds = [],
1986            i,
1987            uri;
1988
1989        tarteaucitron.fallback(['xandrsegment-canvas'], function (x) {
1990            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1991            uniqIds.push(uniqId);
1992            return '<div id="' + uniqId + '" xandrsegmentAdd="' + tarteaucitron.getElemAttr(x, 'xandrsegmentAdd') + '" xandrsegmentAddCode="' + tarteaucitron.getElemAttr(x, 'xandrsegmentAddCode') + '" xandrsegmentRemove="' + tarteaucitron.getElemAttr(x, 'xandrsegmentRemove') + '" xandrsegmentRemoveCode="' + tarteaucitron.getElemAttr(x, 'xandrsegmentRemoveCode') + '" xandrsegmentMember="' + tarteaucitron.getElemAttr(x, 'xandrsegmentMember') + '" xandrsegmentRedir="' + tarteaucitron.getElemAttr(x, 'xandrsegmentRedir') + '" xandrsegmentValue="' + tarteaucitron.getElemAttr(x, 'xandrsegmentValue') + '" xandrsegmentOther="' + tarteaucitron.getElemAttr(x, 'xandrsegmentOther') + '"></div>';
1993        });
1994
1995        for (i = 0; i < uniqIds.length; i += 1) {
1996            uri = '//ib.adnxs.com/seg?t=2&';
1997            uri += 'add=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentAdd') + '&';
1998            uri += 'add_code=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentAddCode') + '&';
1999            uri += 'remove=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentRemove') + '&';
2000            uri += 'remove_code=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentRemoveCode') + '&';
2001            uri += 'member=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentMember') + '&';
2002            uri += 'redir=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentRedir') + '&';
2003            uri += 'value=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentValue') + '&';
2004            uri += 'other=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrsegmentOther');
2005
2006            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
2007        }
2008    },
2009    "fallback": function () {
2010        "use strict";
2011        var id = 'xandrsegment';
2012        tarteaucitron.fallback(['xandrsegment-canvas'], tarteaucitron.engage(id));
2013    }
2014};
2015
2016// xandr conversion
2017// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/working-with-conversion-pixels.html
2018tarteaucitron.services.xandrconversion = {
2019    "key": "xandrconversion",
2020    "type": "ads",
2021    "name": "Xandr (Conversion)",
2022    "uri": "https://www.xandr.com/privacy/cookie-policy/",
2023    "needConsent": true,
2024    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
2025    "js": function () {
2026        "use strict";
2027        var uniqIds = [],
2028            i,
2029            uri;
2030
2031        tarteaucitron.fallback(['xandrconversion-canvas'], function (x) {
2032            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2033            uniqIds.push(uniqId);
2034            return '<div id="' + uniqId + '" xandrconversionId="' + tarteaucitron.getElemAttr(x, 'xandrconversionId') + '" xandrconversionSeg="' + tarteaucitron.getElemAttr(x, 'xandrconversionSeg') + '" xandrconversionOrderId="' + tarteaucitron.getElemAttr(x, 'xandrconversionOrderId') + '" xandrconversionValue="' + tarteaucitron.getElemAttr(x, 'xandrconversionValue') + '" xandrconversionRedir="' + tarteaucitron.getElemAttr(x, 'xandrconversionRedir') + '" xandrconversionOther="' + tarteaucitron.getElemAttr(x, 'xandrconversionOther') + '"></div>';
2035        });
2036
2037        for (i = 0; i < uniqIds.length; i += 1) {
2038            uri = '//ib.adnxs.com/px?t=2&';
2039            uri += 'id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionId') + '&';
2040            uri += 'seg=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionSeg') + '&';
2041            uri += 'order_id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionOrderId') + '&';
2042            uri += 'value=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionValue') + '&';
2043            uri += 'redir=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionRedir') + '&';
2044            uri += 'other=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'xandrconversionOther');
2045
2046            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
2047        }
2048    },
2049    "fallback": function () {
2050        "use strict";
2051        var id = 'xandrconversion';
2052        tarteaucitron.fallback(['xandrconversion-canvas'], tarteaucitron.engage(id));
2053    }
2054};
2055
2056// helloasso
2057tarteaucitron.services.helloasso = {
2058    "key": "helloasso",
2059    "type": "api",
2060    "name": "HelloAsso",
2061    "uri": "https://www.helloasso.com/confidentialite",
2062    "needConsent": true,
2063    "cookies": [],
2064    "js": function () {
2065        "use strict";
2066        tarteaucitron.fallback(['tac_helloasso'], function (x) {
2067            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'HelloAsso iframe',
2068                width = tarteaucitron.getElemAttr(x, "width"),
2069                height = tarteaucitron.getElemAttr(x, "height"),
2070                url = tarteaucitron.getElemAttr(x, "data-url"),
2071                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
2072
2073            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2074
2075            return '<iframe title="' + frame_title + '" id="haWidget" src="' + url + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2076        });
2077    },
2078    "fallback": function () {
2079        "use strict";
2080        var id = 'helloasso';
2081        tarteaucitron.fallback(['tac_helloasso'], function (elem) {
2082            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2083            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2084            return tarteaucitron.engage(id);
2085        });
2086    }
2087};
2088
2089// podcloud
2090tarteaucitron.services.podcloud = {
2091    "key": "podcloud",
2092    "type": "video",
2093    "name": "podCloud",
2094    "uri": "https://podcloud.fr/privacy",
2095    "needConsent": true,
2096    "cookies": [],
2097    "js": function () {
2098        "use strict";
2099        tarteaucitron.fallback(['tac_podcloud'], function (x) {
2100            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'podCloud iframe',
2101                width = tarteaucitron.getElemAttr(x, "width"),
2102                height = tarteaucitron.getElemAttr(x, "height"),
2103                url = tarteaucitron.getElemAttr(x, "data-url"),
2104                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
2105
2106            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2107
2108            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2109        });
2110    },
2111    "fallback": function () {
2112        "use strict";
2113        var id = 'podcloud';
2114        tarteaucitron.fallback(['tac_podcloud'], function (elem) {
2115            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2116            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2117            return tarteaucitron.engage(id);
2118        });
2119    }
2120};
2121
2122// facebookpost
2123tarteaucitron.services.facebookpost = {
2124    "key": "facebookpost",
2125    "type": "social",
2126    "name": "Facebook (post)",
2127    "uri": "https://www.facebook.com/policy.php",
2128    "needConsent": true,
2129    "cookies": [],
2130    "js": function () {
2131        "use strict";
2132        tarteaucitron.fallback(['tac_facebookpost'], function (x) {
2133            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Facebook iframe',
2134                width = tarteaucitron.getElemAttr(x, "width"),
2135                height = tarteaucitron.getElemAttr(x, "height"),
2136                url = tarteaucitron.getElemAttr(x, "data-url"),
2137                appId = tarteaucitron.getElemAttr(x, "data-appid"),
2138                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
2139                showText = tarteaucitron.getElemAttr(x, "data-show-text");
2140
2141            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2142
2143            return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;show_text=' + showText + '&amp;height=' + height + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2144        });
2145    },
2146    "fallback": function () {
2147        "use strict";
2148        var id = 'facebookpost';
2149        tarteaucitron.fallback(['tac_facebookpost'], function (elem) {
2150            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2151            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2152            return tarteaucitron.engage(id);
2153        });
2154    }
2155};
2156
2157// amplitude
2158tarteaucitron.services.amplitude = {
2159    "key": "amplitude",
2160    "type": "analytic",
2161    "name": "Amplitude",
2162    "uri": "https://amplitude.com/privacy",
2163    "needConsent": true,
2164    "cookies": [],
2165    "js": function () {
2166        "use strict";
2167        if (tarteaucitron.user.amplitude === undefined) {
2168            return;
2169        }
2170        tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function () {
2171
2172            window.amplitude = {
2173                _q: [],
2174                _iq: {}
2175            };
2176            function s(e, t) { e.prototype[t] = function () { this._q.push([t].concat(Array.prototype.slice.call(arguments, 0))); return this } }
2177            var o = function () { this._q = []; return this };
2178            var a = ["add", "append", "clearAll", "prepend", "set", "setOnce", "unset"];
2179            for (var u = 0; u < a.length; u++) { s(o, a[u]) }
2180            amplitude.Identify = o;
2181            var c = function () { this._q = []; return this };
2182            var l = ["setProductId", "setQuantity", "setPrice", "setRevenueType", "setEventProperties"];
2183            for (var p = 0; p < l.length; p++) { s(c, l[p]) }
2184            amplitude.Revenue = c;
2185            var d = ["init", "logEvent", "logRevenue", "setUserId", "setUserProperties", "setOptOut", "setVersionName", "setDomain", "setDeviceId", "enableTracking", "setGlobalUserProperties", "identify", "clearUserProperties", "setGroup", "logRevenueV2", "regenerateDeviceId", "groupIdentify", "onInit", "logEventWithTimestamp", "logEventWithGroups", "setSessionId", "resetSessionId"];
2186            function v(e) { function t(t) { e[t] = function () { e._q.push([t].concat(Array.prototype.slice.call(arguments, 0))) } } for (var n = 0; n < d.length; n++) { t(d[n]) } }
2187            v(amplitude);
2188            amplitude.getInstance = function (e) { e = (!e || e.length === 0 ? "$default_instance" : e).toLowerCase(); if (!amplitude._iq.hasOwnProperty(e)) { amplitude._iq[e] = { _q: [] }; v(amplitude._iq[e]) } return amplitude._iq[e] };
2189
2190            amplitude.getInstance().init(tarteaucitron.user.amplitude);
2191        });
2192    }
2193};
2194
2195// abtasty
2196tarteaucitron.services.abtasty = {
2197    "key": "abtasty",
2198    "type": "api",
2199    "name": "ABTasty",
2200    "uri": "https://www.abtasty.com/terms-of-use/",
2201    "needConsent": true,
2202    "cookies": ['ABTasty', 'ABTastySession'],
2203    "js": function () {
2204        "use strict";
2205        if (tarteaucitron.user.abtastyID === undefined) {
2206            return;
2207        }
2208        tarteaucitron.addScript('//try.abtasty.com/' + tarteaucitron.user.abtastyID + '.js');
2209    }
2210};
2211
2212
2213// yandex metrica
2214tarteaucitron.services.metrica = {
2215    "key": "metrica",
2216    "type": "analytic",
2217    "name": "Yandex Metrica",
2218    "uri": "https://yandex.com/legal/confidential/",
2219    "needConsent": true,
2220    "cookies": ['_ym_metrika_enabled', '_ym_isad', '_ym_uid', '_ym_d', 'yabs-sid', '_ym_debug', '_ym_mp2_substs', '_ym_hostIndex', '_ym_mp2_track', 'yandexuid', 'usst'],
2221    "js": function () {
2222        "use strict";
2223        if (tarteaucitron.user.yandexmetrica === undefined) {
2224            return;
2225        }
2226        tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function () {
2227
2228            (function (m, e, t, r, i, k, a) {
2229                m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
2230                m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
2231            })
2232            (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
2233
2234            ym(tarteaucitron.user.yandexmetrica, "init", {
2235                clickmap: true,
2236                trackLinks: true,
2237                accurateTrackBounce: true,
2238                webvisor: true,
2239                ecommerce: "dataLayer"
2240            });
2241        });
2242    }
2243};
2244
2245// addthis
2246tarteaucitron.services.addthis = {
2247    "key": "addthis",
2248    "type": "social",
2249    "name": "AddThis",
2250    "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors",
2251    "needConsent": true,
2252    "cookies": ['__atuvc', '__atuvs'],
2253    "js": function () {
2254        "use strict";
2255        if (tarteaucitron.user.addthisPubId === undefined) {
2256            return;
2257        }
2258        if (tarteaucitron.isAjax === true) {
2259            window.addthis = null;
2260            window._adr = null;
2261            window._atc = null;
2262            window._atd = null;
2263            window._ate = null;
2264            window._atr = null;
2265            window._atw = null;
2266        }
2267        tarteaucitron.fallback(['addthis_inline_share_toolbox'], '');
2268        tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId);
2269    },
2270    "fallback": function () {
2271        "use strict";
2272        var id = 'addthis';
2273        tarteaucitron.fallback(['addthis_inline_share_toolbox'], tarteaucitron.engage(id));
2274    }
2275};
2276
2277// addtoanyfeed
2278tarteaucitron.services.addtoanyfeed = {
2279    "key": "addtoanyfeed",
2280    "type": "social",
2281    "name": "AddToAny (feed)",
2282    "uri": "https://www.addtoany.com/privacy",
2283    "needConsent": true,
2284    "cookies": [],
2285    "js": function () {
2286        "use strict";
2287        if (tarteaucitron.user.addtoanyfeedUri === undefined) {
2288            return;
2289        }
2290        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
2291        window.a2a_config = window.a2a_config || {};
2292        window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri;
2293        tarteaucitron.addScript('//static.addtoany.com/menu/feed.js');
2294    },
2295    "fallback": function () {
2296        "use strict";
2297        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
2298    }
2299};
2300
2301// addtoanyshare
2302tarteaucitron.services.addtoanyshare = {
2303    "key": "addtoanyshare",
2304    "type": "social",
2305    "name": "AddToAny (share)",
2306    "uri": "https://www.addtoany.com/privacy",
2307    "needConsent": true,
2308    "cookies": [],
2309    "js": function () {
2310        "use strict";
2311        tarteaucitron.fallback(['tac_addtoanyshare'], function (elem) {
2312            elem.remove();
2313        }, true);
2314        tarteaucitron.addScript('//static.addtoany.com/menu/page.js');
2315    },
2316    "fallback": function () {
2317        "use strict";
2318        var id = 'addtoanyshare';
2319        tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id));
2320    }
2321};
2322
2323// aduptech ads
2324tarteaucitron.services.aduptech_ads = {
2325    "key": "aduptech_ads",
2326    "type": "ads",
2327    "name": "Ad Up Technology (ads)",
2328    "uri": "https://www.adup-tech.com/datenschutz",
2329    "needConsent": true,
2330    "cookies": [],
2331    "js": function () {
2332        "use strict";
2333
2334        var IDENTIFIER = "aduptech_ads",
2335            API_URL = "https://s.d.adup-tech.com/jsapi";
2336
2337        var elements = document.getElementsByClassName(IDENTIFIER);
2338        if (!elements || elements.length === 0) {
2339            return;
2340        }
2341
2342        tarteaucitron.fallback([IDENTIFIER], "");
2343
2344        tarteaucitron.addScript(API_URL, "", function () {
2345            for (var i = 0; i < elements.length; i++) {
2346                var element = elements[i];
2347
2348                if (!tarteaucitron.getElemAttr(element, "id")) {
2349                    element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9));
2350                }
2351
2352                window.uAd.embed(tarteaucitron.getElemAttr(element, "id"), {
2353                    placementKey: tarteaucitron.getElemAttr(element, "placementKey"),
2354                    responsive: Boolean(tarteaucitron.getElemAttr(element, "responsive")),
2355                    lazy: Boolean(tarteaucitron.getElemAttr(element, "lazy")),
2356                    adtest: Boolean(tarteaucitron.getElemAttr(element, "test")),
2357                    query: tarteaucitron.getElemAttr(element, "query") || "",
2358                    minCpc: tarteaucitron.getElemAttr(element, "minCpc") || "",
2359                    pageUrl: tarteaucitron.getElemAttr(element, "pageUrl") || "",
2360                    skip: tarteaucitron.getElemAttr(element, "skip") || ""
2361                });
2362            }
2363        });
2364
2365    },
2366    "fallback": function () {
2367        "use strict";
2368        tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads"));
2369    }
2370};
2371
2372// aduptech conversion
2373tarteaucitron.services.aduptech_conversion = {
2374    "key": "aduptech_conversion",
2375    "type": "ads",
2376    "name": "Ad Up Technology (conversion)",
2377    "uri": "https://www.adup-tech.com/datenschutz",
2378    "needConsent": true,
2379    "cookies": [],
2380    "js": function () {
2381        "use strict";
2382
2383        var IDENTIFIER = "aduptech_conversion",
2384            CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion";
2385
2386        var elements = document.getElementsByClassName(IDENTIFIER);
2387        if (!elements || elements.length === 0) {
2388            return;
2389        }
2390
2391        tarteaucitron.fallback([IDENTIFIER], "");
2392
2393        for (var i = 0; i < elements.length; i++) {
2394            var element = elements[i];
2395
2396            if (!tarteaucitron.getElemAttr(element, "advertiserId") || !tarteaucitron.getElemAttr(element, "conversionCode")) {
2397                continue;
2398            }
2399
2400            var url = CONVERSION_PIXEL_BASE_URL +
2401                "/" + encodeURIComponent(tarteaucitron.getElemAttr(element, "advertiserId")) +
2402                "?t=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "conversionCode"));
2403
2404            if (tarteaucitron.getElemAttr(element, "price")) {
2405                url += "&price=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "price"));
2406            }
2407
2408            if (tarteaucitron.getElemAttr(element, "quantity")) {
2409                url += "&quantity=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "quantity"));
2410            }
2411
2412            if (tarteaucitron.getElemAttr(element, "total")) {
2413                url += "&total=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "total"));
2414            }
2415
2416            if (tarteaucitron.getElemAttr(element, "orderId")) {
2417                url += "&order_id=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "orderId"));
2418            }
2419
2420            if (tarteaucitron.getElemAttr(element, "itemNumber")) {
2421                url += "&item_number=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "itemNumber"));
2422            }
2423
2424            if (tarteaucitron.getElemAttr(element, "description")) {
2425                url += "&description=" + encodeURIComponent(tarteaucitron.getElemAttr(element, "description"));
2426            }
2427
2428            (new Image()).src = url;
2429        }
2430    }
2431};
2432
2433// aduptech retargeting
2434tarteaucitron.services.aduptech_retargeting = {
2435    "key": "aduptech_retargeting",
2436    "type": "ads",
2437    "name": "Ad Up Technology (retargeting)",
2438    "uri": "https://www.adup-tech.com/datenschutz",
2439    "needConsent": true,
2440    "cookies": [],
2441    "js": function () {
2442        "use strict";
2443
2444        var IDENTIFIER = "aduptech_retargeting",
2445            API_URL = "https://s.d.adup-tech.com/services/retargeting.js";
2446
2447        var elements = document.getElementsByClassName(IDENTIFIER);
2448        if (!elements || elements.length === 0) {
2449            return;
2450        }
2451
2452        tarteaucitron.fallback([IDENTIFIER], "");
2453
2454        window.AdUpRetargeting = function (api) {
2455            for (var i = 0; i < elements.length; i++) {
2456                var element = elements[i];
2457
2458                api.init();
2459
2460                api.setAccount(tarteaucitron.getElemAttr(element, "account"));
2461
2462                if (tarteaucitron.getElemAttr(element, "email")) {
2463                    api.setEmail(tarteaucitron.getElemAttr(element, "email"));
2464                } else if (tarteaucitron.getElemAttr(element, "hashedEmail")) {
2465                    api.setHashedEmail(tarteaucitron.getElemAttr(element, "hashedEmail"));
2466                }
2467
2468                if (tarteaucitron.getElemAttr(element, "product")) {
2469                    try {
2470                        api.setProduct(JSON.parse(tarteaucitron.getElemAttr(element, "product")));
2471                    } catch (e) {
2472                        api.setProduct(tarteaucitron.getElemAttr(element, "product"));
2473                    }
2474                }
2475
2476                if (tarteaucitron.getElemAttr(element, "transaction")) {
2477                    try {
2478                        api.setTransaction(JSON.parse(tarteaucitron.getElemAttr(element, "transaction")));
2479                    } catch (e) {
2480                        api.setTransaction(tarteaucitron.getElemAttr(element, "transaction"));
2481                    }
2482                }
2483
2484                if (tarteaucitron.getElemAttr(element, "demarkUser")) {
2485                    api.setDemarkUser();
2486                } else if (tarteaucitron.getElemAttr(element, "demarkProducts")) {
2487                    api.setDemarkProducts();
2488                }
2489
2490                if (tarteaucitron.getElemAttr(element, "conversionCode")) {
2491                    api.setConversionCode(tarteaucitron.getElemAttr(element, "conversionCode"));
2492                }
2493
2494                if (tarteaucitron.getElemAttr(element, "device")) {
2495                    var setter = "set" + tarteaucitron.getElemAttr(element, "device").charAt(0).toUpperCase() + tarteaucitron.getElemAttr(element, "device").slice(1);
2496                    if (typeof api[setter] === 'function') {
2497                        api[setter]();
2498                    }
2499                }
2500
2501                if (tarteaucitron.getElemAttr(element, "track")) {
2502                    var tracker = "track" + tarteaucitron.getElemAttr(element, "track").charAt(0).toUpperCase() + tarteaucitron.getElemAttr(element, "track").slice(1);
2503                    if (typeof api[tracker] === "function") {
2504                        api[tracker]();
2505                    } else {
2506                        api.trackHomepage();
2507                    }
2508                }
2509            };
2510        };
2511
2512        tarteaucitron.addScript(API_URL);
2513    }
2514};
2515
2516// amazon
2517tarteaucitron.services.amazon = {
2518    "key": "amazon",
2519    "type": "ads",
2520    "name": "Amazon",
2521    "uri": "https://www.amazon.com/gp/help/customer/display.html/?ie=UTF8&nodeId=201909010",
2522    "needConsent": true,
2523    "cookies": [],
2524    "js": function () {
2525        "use strict";
2526        tarteaucitron.fallback(['amazon_product'], function (x) {
2527            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Amazon iframe',
2528                amazonId = tarteaucitron.getElemAttr(x, "amazonid"),
2529                productId = tarteaucitron.getElemAttr(x, "productid"),
2530                url = '//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=' + tarteaucitron.getLanguage().toUpperCase() + '&source=ss&ref=ss_til&ad_type=product_link&tracking_id=' + amazonId + '&marketplace=amazon&region=' + tarteaucitron.getLanguage().toUpperCase() + '&placement=' + productId + '&asins=' + productId + '&show_border=true&link_opens_in_new_window=true',
2531                iframe = '<iframe title="' + frame_title + '" style="width:120px;height:240px;" src="' + url + '"></iframe>';
2532
2533            return iframe;
2534        });
2535    },
2536    "fallback": function () {
2537        "use strict";
2538        var id = 'amazon';
2539        tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id));
2540    }
2541};
2542
2543// calameo
2544tarteaucitron.services.calameo = {
2545    "key": "calameo",
2546    "type": "video",
2547    "name": "Calameo",
2548    "uri": "https://fr.calameo.com/privacy",
2549    "needConsent": true,
2550    "cookies": [],
2551    "js": function () {
2552        "use strict";
2553        tarteaucitron.fallback(['calameo-canvas'], function (x) {
2554            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Calameo iframe',
2555                id = tarteaucitron.getElemAttr(x, "data-id"),
2556                width = tarteaucitron.getElemAttr(x, "width"),
2557                height = tarteaucitron.getElemAttr(x, "height"),
2558                url = '//v.calameo.com/?bkcode=' + id,
2559                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
2560
2561            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2562
2563            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2564        });
2565    },
2566    "fallback": function () {
2567        "use strict";
2568        var id = 'calameo';
2569        tarteaucitron.fallback(['calameo-canvas'], function (elem) {
2570            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2571            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2572            return tarteaucitron.engage(id);
2573        });
2574    }
2575};
2576
2577// calameolibrary
2578tarteaucitron.services.calameolibrary = {
2579    "key": "calameolibrary",
2580    "type": "video",
2581    "name": "Calameo Library",
2582    "uri": "https://fr.calameo.com/privacy",
2583    "needConsent": true,
2584    "cookies": [],
2585    "js": function () {
2586        "use strict";
2587        tarteaucitron.fallback(['calameolibrary-canvas'], function (x) {
2588            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Calameo iframe',
2589                id = tarteaucitron.getElemAttr(x, "data-id"),
2590                width = tarteaucitron.getElemAttr(x, "width"),
2591                height = tarteaucitron.getElemAttr(x, "height"),
2592                url = '//v.calameo.com/library/?type=subscription&id=' + id,
2593                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
2594
2595            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2596
2597            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2598        });
2599    },
2600    "fallback": function () {
2601        "use strict";
2602        var id = 'calameolibrary';
2603        tarteaucitron.fallback(['calameolibrary-canvas'], function (elem) {
2604            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2605            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2606            return tarteaucitron.engage(id);
2607        });
2608    }
2609};
2610
2611// clicky
2612tarteaucitron.services.clicky = {
2613    "key": "clicky",
2614    "type": "analytic",
2615    "name": "Clicky",
2616    "uri": "https://clicky.com/terms",
2617    "needConsent": true,
2618    "cookies": ['_jsuid', '_eventqueue', '_referrer_og', '_utm_og', '_first_pageview', 'clicky_olark', 'no_trackyy_' + tarteaucitron.user.clickyId, 'unpoco_' + tarteaucitron.user.clickyId, 'heatmaps_g2g_' + tarteaucitron.user.clickyId],
2619    "js": function () {
2620        "use strict";
2621        if (tarteaucitron.user.clickyId === undefined) {
2622            return;
2623        }
2624        tarteaucitron.addScript('//static.getclicky.com/js', '', function () {
2625            if (typeof clicky.init === 'function') {
2626                clicky.init(tarteaucitron.user.clickyId);
2627            }
2628            if (typeof tarteaucitron.user.clickyMore === 'function') {
2629                tarteaucitron.user.clickyMore();
2630            }
2631        });
2632    }
2633};
2634
2635// clicmanager
2636tarteaucitron.services.clicmanager = {
2637    "key": "clicmanager",
2638    "type": "ads",
2639    "name": "Clicmanager",
2640    "uri": "https://www.clicmanager.fr/infos_legales.php",
2641    "needConsent": true,
2642    "cookies": [],
2643    "js": function () {
2644        "use strict";
2645        var uniqIds = [],
2646            i,
2647            uri;
2648
2649        tarteaucitron.fallback(['clicmanager-canvas'], function (x) {
2650            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2651            uniqIds.push(uniqId);
2652            return '<div id="' + uniqId + '" c="' + tarteaucitron.getElemAttr(x, 'c') + '" s="' + tarteaucitron.getElemAttr(x, 's') + '" t="' + tarteaucitron.getElemAttr(x, 't') + '"></div>';
2653        });
2654
2655        for (i = 0; i < uniqIds.length; i += 1) {
2656            uri = '//ads.clicmanager.fr/exe.php?';
2657            uri += 'c=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'c') + '&';
2658            uri += 's=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 's') + '&';
2659            uri += 't=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 't');
2660
2661            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2662        }
2663    },
2664    "fallback": function () {
2665        "use strict";
2666        var id = 'clicmanager';
2667        tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id));
2668    }
2669};
2670
2671// compteur
2672tarteaucitron.services.compteur = {
2673    "key": "compteur",
2674    "type": "analytic",
2675    "name": "Compteur.fr",
2676    "uri": "https://www.compteur.fr/help_privacy_policy.htm",
2677    "needConsent": true,
2678    "cookies": [],
2679    "js": function () {
2680        "use strict";
2681        if (tarteaucitron.user.compteurID === undefined) {
2682            return;
2683        }
2684        tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function () { wtslog7(tarteaucitron.user.compteurID, 1); });
2685    }
2686};
2687
2688// contentsquare
2689tarteaucitron.services.contentsquare = {
2690    "key": "contentsquare",
2691    "type": "analytic",
2692    "name": "ContentSquare",
2693    "uri": "https://docs.contentsquare.com/uxa-en/#collected-data",
2694    "needConsent": true,
2695    "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'],
2696    "js": function () {
2697        "use strict";
2698        if (tarteaucitron.user.contentsquareID === undefined) {
2699            return;
2700        }
2701        tarteaucitron.addScript('//t.contentsquare.net/uxa/' + tarteaucitron.user.contentsquareID + '.js');
2702    }
2703};
2704
2705// crazyegg
2706tarteaucitron.services.crazyegg = {
2707    "key": "crazyegg",
2708    "type": "analytic",
2709    "name": "Crazy Egg",
2710    "uri": "https://www.crazyegg.com/privacy",
2711    "needConsent": true,
2712    "cookies": [],
2713    "js": function () {
2714        "use strict";
2715
2716        if (tarteaucitron.user.crazyeggId === undefined) {
2717            return;
2718        }
2719
2720        tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js');
2721    }
2722};
2723
2724// clarity
2725tarteaucitron.services.clarity = {
2726    "key": "clarity",
2727    "type": "analytic",
2728    "name": "Clarity",
2729    "uri": "https://clarity.microsoft.com/",
2730    "needConsent": true,
2731    "cookies": ['_clck', '_clsk', 'CLID', 'ANONCHK', 'MR', 'MUID', 'SM'],
2732    "js": function () {
2733        "use strict";
2734
2735        if (tarteaucitron.user.clarity === undefined) {
2736            return;
2737        }
2738
2739        window["clarity"] = window["clarity"] || function () { (window["clarity"].q = window["clarity"].q || []).push(arguments) };
2740
2741        tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity, '', function() {
2742            window["clarity"]("consent");
2743        });
2744    },
2745    "fallback": function () {
2746        if (tarteaucitron.parameters.bingConsentMode === true) {
2747            if (tarteaucitron.parameters.softConsentMode === false) {
2748                this.js();
2749            }
2750        }
2751    }
2752};
2753
2754// criteo
2755tarteaucitron.services.criteo = {
2756    "key": "criteo",
2757    "type": "ads",
2758    "name": "Criteo",
2759    "uri": "https://www.criteo.com/privacy/",
2760    "needConsent": true,
2761    "cookies": [],
2762    "js": function () {
2763        "use strict";
2764        document.MAX_ct0 = '';
2765        var uniqIds = [],
2766            i,
2767            uri;
2768
2769        tarteaucitron.fallback(['criteo-canvas'], function (x) {
2770            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2771            uniqIds.push(uniqId);
2772            return '<div id="' + uniqId + '" zoneid="' + tarteaucitron.getElemAttr(x, 'zoneid') + '"></div>';
2773        });
2774
2775        for (i = 0; i < uniqIds.length; i += 1) {
2776            uri = '//cas.criteo.com/delivery/ajs.php?';
2777            uri += 'zoneid=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'zoneid');
2778            uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999);
2779            uri += '&loc=' + encodeURI(window.location);
2780            uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : '';
2781            uri += (document.charset !== undefined ? '&charset=' + document.charset : '');
2782            uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : '');
2783            uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : '';
2784            uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : '';
2785            uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : '';
2786            uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : '';
2787
2788            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2789        }
2790    },
2791    "fallback": function () {
2792        "use strict";
2793        var id = 'criteo';
2794        tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id));
2795    }
2796};
2797
2798// criteo onetag
2799tarteaucitron.services.criteoonetag = {
2800    "key": "criteoonetag",
2801    "type": "ads",
2802    "name": "Criteo OneTag",
2803    "uri": "https://www.criteo.com/privacy/",
2804    "needConsent": true,
2805    "cookies": ['uid', 'tk', 'uid3pd'],
2806    "js": function() {
2807        "use strict";
2808        if (tarteaucitron.user.criteoonetagAccount === undefined) return;
2809
2810        window.criteo_q = window.criteo_q || [];
2811        window.criteo_q.push({
2812            event: "setAccount",
2813            account: tarteaucitron.user.criteoonetagAccount
2814        })
2815
2816        tarteaucitron.addScript('//static.criteo.net/js/ld/ld.js', '', function() {
2817            if (typeof tarteaucitron.user.criteoonetagMore === 'function') {
2818                tarteaucitron.user.criteoonetagMore();
2819            }
2820        });
2821    }
2822};
2823
2824// artetv
2825tarteaucitron.services.artetv = {
2826    "key": "artetv",
2827    "type": "video",
2828    "name": "Arte.tv",
2829    "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/",
2830    "needConsent": true,
2831    "cookies": [],
2832    "js": function () {
2833        "use strict";
2834        tarteaucitron.fallback(['artetv_player'], function (x) {
2835            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Arte.tv iframe',
2836                video_json = tarteaucitron.getElemAttr(x, "json"),
2837                video_width = tarteaucitron.getElemAttr(x, "width"),
2838                video_height = tarteaucitron.getElemAttr(x, "height"),
2839                video_frame,
2840                video_allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
2841
2842            if (video_json === "") {
2843                return "";
2844            }
2845
2846            var styleAttr = (video_width !== "" ? "width:" + tarteaucitron.getStyleSize(video_width) + ";" : "") + (video_height !== "" ? "height:" + tarteaucitron.getStyleSize(video_height) + ";" : "");
2847
2848            video_frame = '<iframe title="' + frame_title + '" style="' + styleAttr + 'transition-duration: 0; transition-property: no; margin: 0 auto; position: relative; display: block; background-color: #000000;" src="https://www.arte.tv/player/v5/index.php?json_url=' + video_json + '" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2849            return video_frame;
2850        });
2851    },
2852    "fallback": function () {
2853        "use strict";
2854        var id = 'artetv';
2855        tarteaucitron.fallback(['artetv_player'], function (elem) {
2856            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2857            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2858            return tarteaucitron.engage(id);
2859        });
2860    }
2861};
2862
2863// dailymotion
2864tarteaucitron.services.dailymotion = {
2865    "key": "dailymotion",
2866    "type": "video",
2867    "name": "Dailymotion",
2868    "uri": "https://www.dailymotion.com/legal/privacy",
2869    "needConsent": true,
2870    "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'],
2871    "js": function () {
2872        "use strict";
2873        tarteaucitron.fallback(['dailymotion_player'], function (x) {
2874            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Dailymotion iframe',
2875                video_id = tarteaucitron.getElemAttr(x, "videoID"),
2876                video_width = tarteaucitron.getElemAttr(x, "width"),
2877                video_height = tarteaucitron.getElemAttr(x, "height"),
2878                styleAttr = "",
2879                video_frame,
2880                embed_type = tarteaucitron.getElemAttr(x, "embedType"),
2881                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
2882                showinfo = tarteaucitron.getElemAttr(x, "showinfo"),
2883                autoplay = tarteaucitron.getElemAttr(x, "autoplay"),
2884                api = tarteaucitron.getElemAttr(x, "api"),
2885                params = 'info=' + showinfo + '&autoPlay=' + autoplay + '&api=' + api;
2886
2887            if (video_id === "") {
2888                return "";
2889            }
2890            if (video_width !== "") {
2891                styleAttr += 'width:' + tarteaucitron.getStyleSize(video_width) + ';';
2892            }
2893            if (video_height !== undefined) {
2894                styleAttr += 'height:' + tarteaucitron.getStyleSize(video_height) + ';';
2895            }
2896            if (embed_type === "" || !['video', 'playlist'].includes(embed_type)) {
2897                embed_type = "video";
2898            }
2899            video_frame = '<iframe title="' + frame_title + '" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" style="' + styleAttr + '" ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
2900            return video_frame;
2901        });
2902    },
2903    "fallback": function () {
2904        "use strict";
2905        var id = 'dailymotion';
2906        tarteaucitron.fallback(['dailymotion_player'], function (elem) {
2907            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2908            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2909            return tarteaucitron.engage(id);
2910        });
2911    }
2912};
2913
2914// dating affiliation
2915tarteaucitron.services.datingaffiliation = {
2916    "key": "datingaffiliation",
2917    "type": "ads",
2918    "name": "Dating Affiliation",
2919    "uri": "https://www.dating-affiliation.com/conditions-generales.php",
2920    "needConsent": true,
2921    "cookies": [],
2922    "js": function () {
2923        "use strict";
2924        tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) {
2925            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Dating Affiliation iframe',
2926                comfrom = tarteaucitron.getElemAttr(x, "data-comfrom"),
2927                r = tarteaucitron.getElemAttr(x, "data-r"),
2928                p = tarteaucitron.getElemAttr(x, "data-p"),
2929                cf0 = tarteaucitron.getElemAttr(x, "data-cf0"),
2930                langue = tarteaucitron.getElemAttr(x, "data-langue"),
2931                forward_affiliate = tarteaucitron.getElemAttr(x, "data-forwardAffiliate"),
2932                cf2 = tarteaucitron.getElemAttr(x, "data-cf2"),
2933                cfsa2 = tarteaucitron.getElemAttr(x, "data-cfsa2"),
2934                width = tarteaucitron.getElemAttr(x, "width"),
2935                height = tarteaucitron.getElemAttr(x, "height"),
2936                url = 'https://www.tools-affil2.com/rotaban/ban.php?' + comfrom;
2937
2938            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
2939
2940            return '<iframe title="' + frame_title + '" src="' + url + '&r=' + r + '&p=' + p + '&cf0=' + cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" style="' + styleAttr + '"></iframe>';
2941        });
2942    },
2943    "fallback": function () {
2944        "use strict";
2945        var id = 'datingaffiliation';
2946        tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) {
2947            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
2948            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
2949            return tarteaucitron.engage(id);
2950        });
2951    }
2952};
2953
2954// dating affiliation popup
2955tarteaucitron.services.datingaffiliationpopup = {
2956    "key": "datingaffiliationpopup",
2957    "type": "ads",
2958    "name": "Dating Affiliation (Pop Up)",
2959    "uri": "https://www.dating-affiliation.com/conditions-generales.php",
2960    "needConsent": true,
2961    "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'],
2962    "js": function () {
2963        "use strict";
2964        var uniqIds = [],
2965            i,
2966            uri;
2967
2968        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) {
2969            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2970            uniqIds.push(uniqId);
2971            return '<div id="' + uniqId + '" uri="' + tarteaucitron.getElemAttr(x, 'uri') + '" comfrom="' + tarteaucitron.getElemAttr(x, 'comfrom') + '" promo="' + tarteaucitron.getElemAttr(x, 'promo') + '" productid="' + tarteaucitron.getElemAttr(x, 'productid') + '" submitconfig="' + tarteaucitron.getElemAttr(x, 'submitconfig') + '" ur="' + tarteaucitron.getElemAttr(x, 'ur') + '" brand="' + tarteaucitron.getElemAttr(x, 'brand') + '" lang="' + tarteaucitron.getElemAttr(x, 'lang') + '" cf0="' + tarteaucitron.getElemAttr(x, 'cf0') + '" cf2="' + tarteaucitron.getElemAttr(x, 'cf2') + '" subid1="' + tarteaucitron.getElemAttr(x, 'subid1') + '" cfsa2="' + tarteaucitron.getElemAttr(x, 'cfsa2') + '" subid2="' + tarteaucitron.getElemAttr(x, 'subid2') + '" nicheid="' + tarteaucitron.getElemAttr(x, 'nicheid') + '" degreid="' + tarteaucitron.getElemAttr(x, 'degreid') + '" bt="' + tarteaucitron.getElemAttr(x, 'bt') + '" vis="' + tarteaucitron.getElemAttr(x, 'vis') + '" hid="' + tarteaucitron.getElemAttr(x, 'hid') + '" snd="' + tarteaucitron.getElemAttr(x, 'snd') + '" aabd="' + tarteaucitron.getElemAttr(x, 'aabd') + '" aabs="' + tarteaucitron.getElemAttr(x, 'aabs') + '"></div>';
2972        });
2973
2974        for (i = 0; i < uniqIds.length; i += 1) {
2975            uri = 'https://www.promotools.biz/da/popunder/script.php?';
2976            uri += 'comfrom=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'comfrom') + '&';
2977            uri += 'promo=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'promo') + '&';
2978            uri += 'product_id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'productid') + '&';
2979            uri += 'submitconfig=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'submitconfig') + '&';
2980            uri += 'ur=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'ur') + '&';
2981            uri += 'brand=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'brand') + '&';
2982            uri += 'lang=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'lang') + '&';
2983            uri += 'cf0=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'cf0') + '&';
2984            uri += 'cf2=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'cf2') + '&';
2985            uri += 'subid1=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'subid1') + '&';
2986            uri += 'cfsa2=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'cfsa2') + '&';
2987            uri += 'subid2=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'subid2') + '&';
2988            uri += 'nicheId=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'nicheid') + '&';
2989            uri += 'degreId=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'degreid') + '&';
2990            uri += 'bt=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'bt') + '&';
2991            uri += 'vis=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'vis') + '&';
2992            uri += 'hid=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'hid') + '&';
2993            uri += 'snd=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'snd') + '&';
2994            uri += 'aabd=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'aabd') + '&';
2995            uri += 'aabs=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'aabs');
2996
2997            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2998        }
2999    },
3000    "fallback": function () {
3001        "use strict";
3002        var id = 'datingaffiliationpopup';
3003        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id));
3004    }
3005};
3006
3007// deezer
3008tarteaucitron.services.deezer = {
3009    "key": "deezer",
3010    "type": "video",
3011    "name": "Deezer",
3012    "uri": "https://www.deezer.com/legal/personal-datas",
3013    "needConsent": true,
3014    "cookies": [],
3015    "js": function () {
3016        "use strict";
3017        tarteaucitron.fallback(['deezer_player'], function (x) {
3018            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Deezer iframe',
3019                deezer_id = tarteaucitron.getElemAttr(x, "deezerID"),
3020                deezer_width = tarteaucitron.getElemAttr(x, "width"),
3021                deezer_height = tarteaucitron.getElemAttr(x, "height"),
3022                styleAttr = "",
3023                deezer_frame,
3024                embed_theme = tarteaucitron.getElemAttr(x, "theme"),
3025                embed_type = tarteaucitron.getElemAttr(x, "embedType"),
3026                radius = tarteaucitron.getElemAttr(x, "radius"),
3027                tracklist = tarteaucitron.getElemAttr(x, "tracklist"),
3028                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
3029                params;
3030
3031            if (deezer_id === "") {
3032                return "";
3033            }
3034            if (deezer_width !== "") {
3035                styleAttr += 'width:' + tarteaucitron.getStyleSize(deezer_width) + ';';
3036            }
3037            if (deezer_height !== "") {
3038                styleAttr += 'height:' + tarteaucitron.getStyleSize(deezer_height) + ';';
3039            }
3040            if (embed_theme === "" || !['auto', 'light', 'dark'].includes(embed_theme)) {
3041                embed_theme = "auto";
3042            }
3043            if (embed_type === "" || !['album', 'track', 'playlist'].includes(embed_type)) {
3044                embed_type = "album";
3045            }
3046            if (radius === "" || !['true', 'false'].includes(radius)) {
3047                radius = "true";
3048            }
3049            if (tracklist === "" || !['true', 'false'].includes(tracklist)) {
3050                tracklist = "true";
3051            }
3052            params = 'tracklist=' + tracklist + '&radius=' + radius;
3053            deezer_frame = '<iframe title="' + frame_title + '" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" style="' + styleAttr + '" ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
3054            return deezer_frame;
3055        });
3056    },
3057    "fallback": function () {
3058        "use strict";
3059        var id = 'deezer';
3060        tarteaucitron.fallback(['deezer_player'], function (elem) {
3061            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
3062            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
3063            return tarteaucitron.engage(id);
3064        });
3065    }
3066};
3067
3068// leadforensicsold
3069tarteaucitron.services.leadforensicsold = {
3070    "key": "leadforensicsold",
3071    "type": "analytic",
3072    "name": "LeadForensics",
3073    "uri": "https://www.leadforensics.com/privacy-policy/",
3074    "needConsent": true,
3075    "cookies": ['trackalyzer'],
3076    "js": function () {
3077        "use strict";
3078        if (tarteaucitron.user.leadforensicsSf14gv === undefined ||
3079            tarteaucitron.user.leadforensicsIidentifier === undefined) {
3080            return;
3081        }
3082
3083        window.sf14gv = tarteaucitron.user.leadforensicsSf14gv;
3084
3085        (function () {
3086            var sf14g = document.createElement('script'); sf14g.async = true;
3087            sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js';
3088            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s);
3089        })();
3090
3091        tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js');
3092    }
3093};
3094
3095// disqus
3096tarteaucitron.services.disqus = {
3097    "key": "disqus",
3098    "type": "comment",
3099    "name": "Disqus",
3100    "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy",
3101    "needConsent": true,
3102    "cookies": [],
3103    "js": function () {
3104        "use strict";
3105        if (tarteaucitron.user.disqusShortname === undefined) {
3106            return;
3107        }
3108        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/embed.js');
3109        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js');
3110    },
3111    "fallback": function () {
3112        "use strict";
3113        var id = 'disqus';
3114
3115        if (document.getElementById('disqus_thread')) {
3116            document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id);
3117        }
3118    }
3119};
3120
3121// ekomi
3122tarteaucitron.services.ekomi = {
3123    "key": "ekomi",
3124    "type": "social",
3125    "name": "eKomi",
3126    "uri": "https://www.ekomi-us.com/us/privacy/",
3127    "needConsent": true,
3128    "cookies": [],
3129    "js": function () {
3130        "use strict";
3131        if (tarteaucitron.user.ekomiCertId === undefined) {
3132            return;
3133        }
3134        window.eKomiIntegrationConfig = [
3135            { certId: tarteaucitron.user.ekomiCertId }
3136        ];
3137        tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
3138    }
3139};
3140
3141// etracker
3142tarteaucitron.services.etracker = {
3143    "key": "etracker",
3144    "type": "analytic",
3145    "name": "eTracker",
3146    "uri": "https://www.etracker.com/en/data-protection.html",
3147    "needConsent": true,
3148    "cookies": [],
3149    "js": function () {
3150        "use strict";
3151        if (tarteaucitron.user.etracker === undefined) {
3152            return;
3153        }
3154
3155        tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () { }, true, "data-secure-code", tarteaucitron.user.etracker);
3156    }
3157};
3158
3159// facebook
3160tarteaucitron.services.facebook = {
3161    "key": "facebook",
3162    "type": "social",
3163    "name": "Facebook",
3164    "uri": "https://www.facebook.com/policy.php",
3165    "needConsent": true,
3166    "cookies": ['xs', 'sb', 'fr', 'datr', 'dpr', 'c_user'],
3167    "js": function () {
3168        "use strict";
3169        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], '');
3170        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
3171        if (tarteaucitron.isAjax === true) {
3172            if (typeof FB !== "undefined") {
3173                FB.XFBML.parse();
3174            }
3175        }
3176    },
3177    "fallback": function () {
3178        "use strict";
3179        var id = 'facebook';
3180        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id));
3181    }
3182};
3183
3184// facebooklikebox
3185tarteaucitron.services.facebooklikebox = {
3186    "key": "facebooklikebox",
3187    "type": "social",
3188    "name": "Facebook (like box)",
3189    "uri": "https://www.facebook.com/policy.php",
3190    "needConsent": true,
3191    "cookies": [],
3192    "js": function () {
3193        "use strict";
3194        tarteaucitron.fallback(['fb-like-box', 'fb-page'], '');
3195        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk');
3196        if (tarteaucitron.isAjax === true) {
3197            if (typeof FB !== "undefined") {
3198                FB.XFBML.parse();
3199            }
3200        }
3201    },
3202    "fallback": function () {
3203        "use strict";
3204        var id = 'facebooklikebox';
3205        tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id));
3206    }
3207};
3208
3209// facebookcomment
3210tarteaucitron.services.facebookcomment = {
3211    "key": "facebookcomment",
3212    "type": "comment",
3213    "name": "Facebook (commentaire)",
3214    "uri": "https://www.facebook.com/policy.php",
3215    "needConsent": true,
3216    "cookies": [],
3217    "js": function () {
3218        "use strict";
3219        tarteaucitron.fallback(['fb-comments'], '');
3220        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
3221        if (tarteaucitron.isAjax === true) {
3222            if (typeof FB !== "undefined") {
3223                FB.XFBML.parse();
3224            }
3225        }
3226    },
3227    "fallback": function () {
3228        "use strict";
3229        var id = 'facebookcomment';
3230        tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id));
3231    }
3232};
3233
3234// pingdom
3235tarteaucitron.services.pingdom = {
3236    "key": "pingdom",
3237    "type": "api",
3238    "name": "Pingdom",
3239    "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud",
3240    "needConsent": true,
3241    "cookies": [],
3242    "js": function () {
3243        "use strict";
3244
3245        if (tarteaucitron.user.pingdomId === undefined) {
3246            return;
3247        }
3248
3249        window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]];
3250
3251        tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js');
3252    }
3253};
3254
3255
3256// simpleanalytics
3257tarteaucitron.services.simpleanalytics = {
3258    "key": "simpleanalytics",
3259    "type": "analytic",
3260    "name": "Simple Analytics",
3261    "uri": "https://docs.simpleanalytics.com/what-we-collect",
3262    "needConsent": false,
3263    "cookies": [],
3264    "js": function () {
3265        "use strict";
3266        tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js');
3267    }
3268};
3269
3270// stonly
3271tarteaucitron.services.stonly = {
3272    "key": "stonly",
3273    "type": "api",
3274    "name": "Stonly (privacy by design)",
3275    "uri": "https://trust.stonly.com/",
3276    "needConsent": false,
3277    "cookies": [],
3278    "js": function () {
3279        "use strict";
3280        if (tarteaucitron.user.stonlyId === undefined) {
3281            return;
3282        }
3283
3284        window.STONLY_WID = tarteaucitron.user.stonlyId;
3285        window.StonlyWidget || ((window.w = window.StonlyWidget = function () {
3286            window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments)
3287        }).queue = []);
3288
3289        tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now());
3290    }
3291};
3292
3293// stripe
3294/*tarteaucitron.services.stripe = {
3295    "key": "stripe",
3296    "type": "api",
3297    "name": "Stripe",
3298    "uri": "https://stripe.com/cookies-policy/legal",
3299    "needConsent": true,
3300    "cookies": [],
3301    "js": function () {
3302        "use strict";
3303        tarteaucitron.addScript('https://js.stripe.com/v3/');
3304    }
3305};*/
3306
3307// get+
3308tarteaucitron.services.getplus = {
3309    "key": "getplus",
3310    "type": "analytic",
3311    "name": "Get+",
3312    "uri": "https://www.getplus.fr/Conditions-generales-de-vente_a226.html",
3313    "needConsent": true,
3314    "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'],
3315    "js": function () {
3316        "use strict";
3317        if (tarteaucitron.user.getplusId === undefined) {
3318            return;
3319        }
3320
3321        window.webleads_site_ids = window.webleads_site_ids || [];
3322        window.webleads_site_ids.push(tarteaucitron.user.getplusId);
3323        tarteaucitron.addScript('//stats.webleads-tracker.com/js');
3324    }
3325};
3326
3327// google+
3328tarteaucitron.services.gplus = {
3329    "key": "gplus",
3330    "type": "social",
3331    "name": "Google+",
3332    "uri": "https://policies.google.com/privacy",
3333    "needConsent": true,
3334    "cookies": [],
3335    "js": function () {
3336        "use strict";
3337        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
3338    },
3339    "fallback": function () {
3340        "use strict";
3341        var id = 'gplus';
3342        tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id));
3343    }
3344};
3345
3346// google+ badge
3347tarteaucitron.services.gplusbadge = {
3348    "key": "gplusbadge",
3349    "type": "social",
3350    "name": "Google+ (badge)",
3351    "uri": "https://policies.google.com/privacy",
3352    "needConsent": true,
3353    "cookies": [],
3354    "js": function () {
3355        "use strict";
3356        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
3357    },
3358    "fallback": function () {
3359        "use strict";
3360        var id = 'gplusbadge';
3361        tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id));
3362    }
3363};
3364
3365// google adsense
3366tarteaucitron.services.adsense = {
3367    "key": "adsense",
3368    "type": "ads",
3369    "name": "Google Adsense",
3370    "uri": "https://adssettings.google.com/",
3371    "needConsent": true,
3372    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
3373    "cookies": ['__gads'],
3374    "js": function () {
3375        "use strict";
3376        tarteaucitron.fallback(['adsbygoogle'], '');
3377        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
3378    },
3379    "fallback": function () {
3380        "use strict";
3381        var id = 'adsense';
3382        tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id));
3383    }
3384};
3385
3386
3387// google adsense automatic
3388tarteaucitron.services.adsenseauto = {
3389    "key": "adsenseauto",
3390    "type": "ads",
3391    "name": "Google Adsense Automatic",
3392    "uri": "https://adssettings.google.com/",
3393    "needConsent": true,
3394    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
3395    "cookies": ['__gads'],
3396    "js": function () {
3397        "use strict";
3398
3399        if (tarteaucitron.user.adsensecapub === undefined) {
3400            return;
3401        }
3402        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' + tarteaucitron.user.adsensecapub, '', '', '', 'crossorigin', 'anonymous');
3403    }
3404};
3405
3406// Google Adsense Search
3407tarteaucitron.services.adsensesearch = {
3408    "key": "adsensesearch",
3409    "type": "ads",
3410    "name": "Google Adsense Search",
3411    "uri": "https://adssettings.google.com/",
3412    "needConsent": true,
3413    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
3414    "cookies": ['__gads'],
3415    "js": function () {
3416        "use strict";
3417        tarteaucitron.addScript('https://www.google.com/adsense/search/ads.js');
3418    },
3419    "fallback": function () {
3420        "use strict";
3421        var id = 'adsensesearch';
3422        tarteaucitron.fallback(['afscontainer1'], tarteaucitron.engage(id));
3423    }
3424};
3425
3426// google partners badge
3427tarteaucitron.services.googlepartners = {
3428    "key": "googlepartners",
3429    "type": "ads",
3430    "name": "Google Partners Badge",
3431    "uri": "https://adssettings.google.com/",
3432    "needConsent": true,
3433    "cookies": [],
3434    "js": function () {
3435        "use strict";
3436        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
3437    },
3438    "fallback": function () {
3439        "use strict";
3440        var id = 'googlepartners';
3441        tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id));
3442    }
3443};
3444
3445// google adsense search (form)
3446tarteaucitron.services.adsensesearchform = {
3447    "key": "adsensesearchform",
3448    "type": "ads",
3449    "name": "Google Adsense Search (form)",
3450    "uri": "https://adssettings.google.com/",
3451    "needConsent": true,
3452    "cookies": [],
3453    "js": function () {
3454        "use strict";
3455        tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage());
3456    }
3457};
3458
3459// google adsense search (result)
3460tarteaucitron.services.adsensesearchresult = {
3461    "key": "adsensesearchresult",
3462    "type": "ads",
3463    "name": "Google Adsense Search (result)",
3464    "uri": "https://adssettings.google.com/",
3465    "needConsent": true,
3466    "cookies": [],
3467    "js": function () {
3468        "use strict";
3469        if (tarteaucitron.user.adsensesearchresultCx === undefined) {
3470            return;
3471        }
3472        tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx);
3473    },
3474    "fallback": function () {
3475        "use strict";
3476        var id = 'adsensesearchresult';
3477
3478        if (document.getElementById('gcse_searchresults')) {
3479            document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id);
3480        }
3481    }
3482};
3483
3484// googleadwordsconversion
3485tarteaucitron.services.googleadwordsconversion = {
3486    "key": "googleadwordsconversion",
3487    "type": "ads",
3488    "name": "Google Adwords (conversion)",
3489    "uri": "https://www.google.com/settings/ads",
3490    "needConsent": true,
3491    "cookies": [],
3492    "js": function () {
3493        "use strict";
3494        if (tarteaucitron.user.adwordsconversionId === undefined) {
3495            return;
3496        }
3497
3498        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
3499            window.google_trackConversion({
3500                google_conversion_id: tarteaucitron.user.adwordsconversionId,
3501                google_conversion_label: tarteaucitron.user.adwordsconversionLabel,
3502                google_conversion_language: tarteaucitron.user.adwordsconversionLanguage,
3503                google_conversion_format: tarteaucitron.user.adwordsconversionFormat,
3504                google_conversion_color: tarteaucitron.user.adwordsconversionColor,
3505                google_conversion_value: tarteaucitron.user.adwordsconversionValue,
3506                google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency,
3507                google_custom_params: {
3508                    parameter1: tarteaucitron.user.adwordsconversionCustom1,
3509                    parameter2: tarteaucitron.user.adwordsconversionCustom2
3510                }
3511            });
3512        });
3513    }
3514};
3515
3516// googleadwordsremarketing
3517tarteaucitron.services.googleadwordsremarketing = {
3518    "key": "googleadwordsremarketing",
3519    "type": "ads",
3520    "name": "Google Adwords (remarketing)",
3521    "uri": "https://www.google.com/settings/ads",
3522    "needConsent": true,
3523    "cookies": [],
3524    "js": function () {
3525        "use strict";
3526        if (tarteaucitron.user.adwordsremarketingId === undefined) {
3527            return;
3528        }
3529
3530        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
3531            window.google_trackConversion({
3532                google_conversion_id: tarteaucitron.user.adwordsremarketingId,
3533                google_remarketing_only: true
3534            });
3535        });
3536    }
3537};
3538
3539// google analytics (old)
3540tarteaucitron.services.gajs = {
3541    "key": "gajs",
3542    "type": "analytic",
3543    "name": "Google Analytics (ga.js)",
3544    "uri": "https://policies.google.com/privacy",
3545    "needConsent": true,
3546    "cookies": (function () {
3547        var googleIdentifier = tarteaucitron.user.gajsUa,
3548            tagUaCookie = '_gat_gtag_' + googleIdentifier,
3549            tagGCookie = '_ga_' + googleIdentifier;
3550
3551        tagUaCookie = tagUaCookie.replace(/-/g, '_');
3552        tagGCookie = tagGCookie.replace(/G-/g, '');
3553
3554        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
3555    })(),
3556    "js": function () {
3557        "use strict";
3558
3559        if (tarteaucitron.user.gajsUa === undefined) {
3560            return;
3561        }
3562
3563        window._gaq = window._gaq || [];
3564        window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]);
3565        if (timeExpire !== undefined) {
3566            _gaq.push(['_setVisitorCookieTimeout', timeExpire]);
3567        }
3568
3569        if (tarteaucitron.user.gajsAnonymizeIp) {
3570            window._gaq.push(['_gat._anonymizeIp']);
3571        }
3572
3573        if (tarteaucitron.user.gajsPageView) {
3574            window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]);
3575        } else {
3576            window._gaq.push(['_trackPageview']);
3577        }
3578
3579        tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () {
3580            if (typeof tarteaucitron.user.gajsMore === 'function') {
3581                tarteaucitron.user.gajsMore();
3582            }
3583        });
3584    }
3585};
3586
3587// google analytics
3588tarteaucitron.services.analytics = {
3589    "key": "analytics",
3590    "type": "analytic",
3591    "name": "Google Analytics (universal)",
3592    "uri": "https://policies.google.com/privacy",
3593    "needConsent": true,
3594    "cookies": (function () {
3595        var googleIdentifier = tarteaucitron.user.analyticsUa,
3596            tagUaCookie = '_gat_gtag_' + googleIdentifier,
3597            tagGCookie = '_ga_' + googleIdentifier;
3598
3599        tagUaCookie = tagUaCookie.replace(/-/g, '_');
3600        tagGCookie = tagGCookie.replace(/G-/g, '');
3601
3602        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
3603    })(),
3604    "js": function () {
3605        "use strict";
3606
3607        if (tarteaucitron.user.analyticsUa === undefined) {
3608            return;
3609        }
3610
3611        window.GoogleAnalyticsObject = 'ga';
3612        window.ga = window.ga || function () {
3613            window.ga.q = window.ga.q || [];
3614            window.ga.q.push(arguments);
3615        };
3616        window.ga.l = new Date();
3617        tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () {
3618            var uaCreate = { 'cookieExpires': (timeExpire !== undefined) ? timeExpire : 34128000 };
3619            tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {});
3620            ga('create', tarteaucitron.user.analyticsUa, uaCreate);
3621
3622            if (tarteaucitron.user.analyticsAnonymizeIp) {
3623                ga('set', 'anonymizeIp', true);
3624            }
3625
3626            if (typeof tarteaucitron.user.analyticsPrepare === 'function') {
3627                tarteaucitron.user.analyticsPrepare();
3628            }
3629
3630            if (tarteaucitron.user.analyticsPageView) {
3631                ga('send', 'pageview', tarteaucitron.user.analyticsPageView);
3632            } else {
3633                ga('send', 'pageview');
3634            }
3635
3636            if (typeof tarteaucitron.user.analyticsMore === 'function') {
3637                tarteaucitron.user.analyticsMore();
3638            }
3639        });
3640    }
3641};
3642
3643// google ads
3644tarteaucitron.services.googleads = {
3645    "key": "googleads",
3646    "type": "ads",
3647    "name": "Google Ads",
3648    "uri": "https://policies.google.com/privacy",
3649    "needConsent": true,
3650    "cookies": (function () {
3651        var googleIdentifier = tarteaucitron.user.googleadsId,
3652            tagUaCookie = '_gat_gtag_' + googleIdentifier,
3653            tagGCookie = '_ga_' + googleIdentifier;
3654
3655        tagUaCookie = tagUaCookie.replace(/-/g, '_');
3656        tagGCookie = tagGCookie.replace(/G-/g, '');
3657
3658        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
3659    })(),
3660    "js": function () {
3661        "use strict";
3662
3663        if (tarteaucitron.user.googleadsId === undefined) {
3664            return;
3665        }
3666
3667        var customDomain = "www.googletagmanager.com";
3668        if (tarteaucitron.user.googleadsCustomDomain !== undefined && tarteaucitron.user.googleadsCustomDomain !== "") {
3669            customDomain = tarteaucitron.user.googleadsCustomDomain;
3670        }
3671
3672        window.dataLayer = window.dataLayer || [];
3673        tarteaucitron.addScript('https://' + customDomain + '/gtag/js?id=' + tarteaucitron.user.googleadsId, '', function () {
3674            window.gtag = function gtag() { dataLayer.push(arguments); }
3675            gtag('js', new Date());
3676            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
3677
3678            gtag('config', tarteaucitron.user.googleadsId, additional_config_info);
3679
3680            if (typeof tarteaucitron.user.googleadsMore === 'function') {
3681                tarteaucitron.user.googleadsMore();
3682            }
3683        });
3684    },
3685    "fallback": function () {
3686        if (tarteaucitron.parameters.googleConsentMode === true) {
3687            if (tarteaucitron.parameters.softConsentMode === false) {
3688                this.js();
3689            }
3690        }
3691    }
3692};
3693
3694// google analytics
3695tarteaucitron.services.gtag = {
3696    "key": "gtag",
3697    "type": "analytic",
3698    "name": "Google Analytics (GA4)",
3699    "uri": "https://policies.google.com/privacy",
3700    "needConsent": true,
3701    "cookies": (function () {
3702        var googleIdentifier = tarteaucitron.user.gtagUa,
3703            tagUaCookie = '_gat_gtag_' + googleIdentifier,
3704            tagGCookie = '_ga_' + googleIdentifier;
3705
3706        tagUaCookie = tagUaCookie.replace(/-/g, '_');
3707        tagGCookie = tagGCookie.replace(/G-/g, '');
3708
3709        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
3710    })(),
3711    "js": function () {
3712        "use strict";
3713
3714        if (tarteaucitron.user.gtagUa === undefined) {
3715            return;
3716        }
3717
3718        var customDomain = "www.googletagmanager.com";
3719        if (tarteaucitron.user.gtagCustomDomain !== undefined && tarteaucitron.user.gtagCustomDomain !== "") {
3720            customDomain = tarteaucitron.user.gtagCustomDomain;
3721        }
3722
3723        window.dataLayer = window.dataLayer || [];
3724        tarteaucitron.addScript('https://' + customDomain + '/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () {
3725            window.gtag = function gtag() { dataLayer.push(arguments); }
3726            gtag('js', new Date());
3727            var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
3728
3729            if (tarteaucitron.user.gtagCrossdomain) {
3730                /**
3731                 * https://support.google.com/analytics/answer/7476333?hl=en
3732                 * https://developers.google.com/analytics/devguides/collection/gtagjs/cross-domain
3733                 */
3734                gtag('config', tarteaucitron.user.gtagUa, additional_config_info, { linker: { domains: tarteaucitron.user.gtagCrossdomain, } });
3735            } else {
3736                gtag('config', tarteaucitron.user.gtagUa, additional_config_info);
3737            }
3738
3739            if (typeof tarteaucitron.user.gtagMore === 'function') {
3740                tarteaucitron.user.gtagMore();
3741            }
3742        });
3743    },
3744    "fallback": function () {
3745        if (tarteaucitron.parameters.googleConsentMode === true) {
3746            if (tarteaucitron.parameters.softConsentMode === false) {
3747                this.js();
3748            }
3749        }
3750    }
3751};
3752
3753tarteaucitron.services.firebase = {
3754    "key": "firebase",
3755    "type": "analytic",
3756    "name": "Firebase",
3757    "uri": "https://firebase.google.com/support/privacy",
3758    "needConsent": true,
3759    "cookies": (function () {
3760        var googleIdentifier = tarteaucitron.user.firebaseMeasurementId,
3761            tagGCookie = '_ga_' + googleIdentifier;
3762
3763        tagGCookie = tagGCookie.replace(/G-/g, '');
3764
3765        return ['_ga', tagGCookie];
3766    })(),
3767    "js": function () {
3768        "use strict";
3769
3770        if (tarteaucitron.user.firebaseApiKey === undefined) {
3771            return;
3772        }
3773
3774        tarteaucitron.addScript('https://www.gstatic.com/firebasejs/10.10.0/firebase-app.js', '', function () {
3775            tarteaucitron.addScript('https://www.gstatic.com/firebasejs/10.10.0/firebase-analytics.js', '', function () {
3776
3777                var firebaseConfig = {
3778                    apiKey: tarteaucitron.user.firebaseApiKey,
3779                    authDomain: tarteaucitron.user.firebaseAuthDomain,
3780                    databaseURL: tarteaucitron.user.firebaseDatabaseUrl,
3781                    projectId: tarteaucitron.user.firebaseProjectId,
3782                    storageBucket: tarteaucitron.user.firebaseStorageBucket,
3783                    appId: tarteaucitron.user.firebaseAppId,
3784                    measurementId: tarteaucitron.user.firebaseMeasurementId,
3785                };
3786                firebase.initializeApp(firebaseConfig);
3787                firebase.analytics();
3788            });
3789        });
3790    }
3791};
3792
3793// genially
3794tarteaucitron.services.genially = {
3795    "key": "genially",
3796    "type": "api",
3797    "name": "genially",
3798    "uri": "https://www.genial.ly/cookies",
3799    "needConsent": true,
3800    "cookies": ['_gat', '_ga', '_gid'],
3801    "js": function () {
3802        "use strict";
3803
3804        tarteaucitron.fallback(['tac_genially'], function (x) {
3805            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'genially iframe',
3806                width = tarteaucitron.getElemAttr(x, "width"),
3807                height = tarteaucitron.getElemAttr(x, "height"),
3808                geniallyid = tarteaucitron.getElemAttr(x, "geniallyid"),
3809                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
3810
3811            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
3812
3813            return '<iframe style="' + styleAttr + '" title="' + frame_title + '" src="https://view.genial.ly/' + geniallyid + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
3814        });
3815    },
3816    "fallback": function () {
3817        "use strict";
3818        var id = 'genially';
3819        tarteaucitron.fallback(['tac_genially'], function (elem) {
3820            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
3821            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
3822            return tarteaucitron.engage(id);
3823        });
3824    }
3825};
3826
3827// google maps
3828tarteaucitron.services.googlemaps = {
3829    "key": "googlemaps",
3830    "type": "api",
3831    "name": "Google Maps",
3832    "uri": "https://policies.google.com/privacy",
3833    "needConsent": true,
3834    "cookies": [],
3835    "js": function () {
3836        "use strict";
3837        var mapOptions,
3838            map,
3839            uniqIds = [],
3840            i;
3841
3842        if (tarteaucitron.user.mapscallback === undefined) {
3843            tarteaucitron.user.mapscallback = 'tac_googlemaps_callback';
3844        }
3845
3846        // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries)
3847        var googleMapsLibraries = '';
3848        if (tarteaucitron.user.googlemapsLibraries) {
3849            googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries;
3850        }
3851
3852        tarteaucitron.addScript('https://maps.googleapis.com/maps/api/js?loading=async&v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback=' + tarteaucitron.user.mapscallback + googleMapsLibraries);
3853
3854        window.tac_googlemaps_callback = function () {
3855            tarteaucitron.fallback(['googlemaps-canvas'], function (x) {
3856                var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3857                uniqIds.push(uniqId);
3858                return '<div id="' + uniqId + '" zoom="' + tarteaucitron.getElemAttr(x, 'zoom') + '" latitude="' + tarteaucitron.getElemAttr(x, 'latitude') + '" longitude="' + tarteaucitron.getElemAttr(x, 'longitude') + '" style="width:' + tarteaucitron.getStyleSize(x.offsetWidth) + ';height:' + tarteaucitron.getStyleSize(x.offsetHeight) + '"></div>';
3859            });
3860
3861            var i;
3862            for (i = 0; i < uniqIds.length; i += 1) {
3863                mapOptions = {
3864                    zoom: parseInt(tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'zoom'), 10),
3865                    center: new google.maps.LatLng(parseFloat(tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'latitude'), 10), parseFloat(tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'longitude'), 10))
3866                };
3867                map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions);
3868                new google.maps.Marker({ position: { lat: parseFloat(tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'latitude'), 10), lng: parseFloat(tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'longitude'), 10) }, map: map });
3869            }
3870        };
3871    },
3872    "fallback": function () {
3873        "use strict";
3874        var id = 'googlemaps';
3875        tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id));
3876    }
3877};
3878
3879// googlemaps search
3880tarteaucitron.services.googlemapssearch = {
3881    "key": "googlemapssearch",
3882    "type": "api",
3883    "name": "Google Maps Search API",
3884    "uri": "https://policies.google.com/privacy",
3885    "needConsent": true,
3886    "cookies": ['nid'],
3887    "js": function () {
3888        "use strict";
3889        tarteaucitron.fallback(['googlemapssearch'], function (x) {
3890            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Google search iframe',
3891                width = tarteaucitron.getElemAttr(x, "width"),
3892                height = tarteaucitron.getElemAttr(x, "height"),
3893                // url = tarteaucitron.getElemAttr(x, "data-url");
3894                query = escape(tarteaucitron.getElemAttr(x, "data-search")),
3895                key = tarteaucitron.getElemAttr(x, "data-api-key");
3896
3897            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
3898
3899            return '<iframe title="' + frame_title + '" style="' + styleAttr + 'border:0" src="https://www.google.com/maps/embed/v1/place?q=' + query + '&key=' + key + '" allowfullscreen></iframe> '
3900        });
3901    },
3902    "fallback": function () {
3903        "use strict";
3904        var id = 'googlemapssearch';
3905        tarteaucitron.fallback(['googlemapssearch'], function (elem) {
3906            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
3907            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
3908            return tarteaucitron.engage(id);
3909        });
3910    }
3911};
3912
3913// googlemaps embed iframe
3914tarteaucitron.services.googlemapsembed = {
3915    "key": "googlemapsembed",
3916    "type": "api",
3917    "name": "Google Maps Embed",
3918    "uri": "https://policies.google.com/privacy",
3919    "needConsent": true,
3920    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
3921    "js": function () {
3922        "use strict";
3923        tarteaucitron.fallback(['googlemapsembed'], function (x) {
3924            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Google maps iframe',
3925                width = tarteaucitron.getElemWidth(x),
3926                height = tarteaucitron.getElemHeight(x),
3927                url = tarteaucitron.getElemAttr(x, "data-url");
3928
3929            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
3930
3931            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency allowfullscreen></iframe>';
3932        });
3933    },
3934    "fallback": function () {
3935        "use strict";
3936        var id = 'googlemapsembed';
3937        tarteaucitron.fallback(['googlemapsembed'], function (elem) {
3938            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemWidth(elem));
3939            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemHeight(elem));
3940            return tarteaucitron.engage(id);
3941        });
3942    }
3943};
3944
3945
3946// openstreetmap embed iframe
3947tarteaucitron.services.openstreetmap = {
3948    "key": "openstreetmap",
3949    "type": "api",
3950    "name": "Openstreetmap Embed",
3951    "uri": "https://wiki.osmfoundation.org/wiki/Privacy_Policy#Cookies",
3952    "needConsent": true,
3953    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
3954    "js": function () {
3955        "use strict";
3956        tarteaucitron.fallback(['openstreetmap'], function (x) {
3957            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Openstreetmap iframe',
3958                width = tarteaucitron.getElemWidth(x),
3959                height = tarteaucitron.getElemHeight(x),
3960                url = tarteaucitron.getElemAttr(x, "data-url");
3961
3962            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
3963
3964            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowfullscreen></iframe>';
3965        });
3966    },
3967    "fallback": function () {
3968        "use strict";
3969        var id = 'openstreetmap';
3970        tarteaucitron.fallback(['openstreetmap'], function (elem) {
3971            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemWidth(elem));
3972            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemHeight(elem));
3973            return tarteaucitron.engage(id);
3974        });
3975    }
3976};
3977
3978// geoportail embed iframe
3979tarteaucitron.services.geoportail = {
3980    "key": "geoportail",
3981    "type": "api",
3982    "name": "Geoportail maps Embed",
3983    "uri": "https://www.ign.fr/institut/gestion-des-cookies",
3984    "needConsent": true,
3985    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
3986    "js": function () {
3987        "use strict";
3988        tarteaucitron.fallback(['geoportail'], function (x) {
3989            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Geoportail maps iframe',
3990                width = tarteaucitron.getElemWidth(x),
3991                height = tarteaucitron.getElemHeight(x),
3992                url = tarteaucitron.getElemAttr(x, "data-url");
3993
3994            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
3995
3996            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" sandbox="allow-forms allow-scripts allow-same-origin" allowfullscreen></iframe>';
3997        });
3998    },
3999    "fallback": function () {
4000        "use strict";
4001        var id = 'geoportail';
4002        tarteaucitron.fallback(['geoportail'], function (elem) {
4003            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemWidth(elem));
4004            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemHeight(elem));
4005            return tarteaucitron.engage(id);
4006        });
4007    }
4008};
4009
4010
4011// google tag manager
4012tarteaucitron.services.googletagmanager = {
4013    "key": "googletagmanager",
4014    "type": "api",
4015    "name": "Google Tag Manager",
4016    "uri": "https://policies.google.com/privacy",
4017    "needConsent": true,
4018    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
4019    "js": function () {
4020        "use strict";
4021        if (tarteaucitron.user.googletagmanagerId === undefined) {
4022            return;
4023        }
4024        window.dataLayer = window.dataLayer || [];
4025        window.dataLayer.push({
4026            'gtm.start': new Date().getTime(),
4027            event: 'gtm.js'
4028        });
4029
4030        var customDomain = "www.googletagmanager.com";
4031        if (tarteaucitron.user.googletagmanagerCustomDomain !== undefined && tarteaucitron.user.googletagmanagerCustomDomain !== "") {
4032            customDomain = tarteaucitron.user.googletagmanagerCustomDomain;
4033        }
4034
4035        tarteaucitron.addScript('https://' + customDomain + '/gtm.js?id=' + tarteaucitron.user.googletagmanagerId);
4036    },
4037    "fallback": function () {
4038        if (tarteaucitron.parameters.googleConsentMode === true) {
4039            if (tarteaucitron.parameters.softConsentMode === false) {
4040                this.js();
4041            }
4042        }
4043    }
4044};
4045
4046// google tag manager multiple
4047tarteaucitron.services.multiplegoogletagmanager = {
4048    "key": "multiplegoogletagmanager",
4049    "type": "api",
4050    "name": "Google Tag Manager",
4051    "uri": "https://policies.google.com/privacy",
4052    "needConsent": true,
4053    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
4054    "js": function () {
4055        "use strict";
4056        if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) {
4057            return;
4058        }
4059        window.dataLayer = window.dataLayer || [];
4060        window.dataLayer.push({
4061            'gtm.start': new Date().getTime(),
4062            event: 'gtm.js'
4063        });
4064
4065        var customDomain = "www.googletagmanager.com";
4066        if (tarteaucitron.user.multiplegoogletagmanagerCustomDomain !== undefined && tarteaucitron.user.multiplegoogletagmanagerCustomDomain !== "") {
4067            customDomain = tarteaucitron.user.multiplegoogletagmanagerCustomDomain;
4068        }
4069
4070        tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) {
4071            tarteaucitron.addScript('https://' + customDomain + '/gtm.js?id=' + id);
4072        });
4073
4074    },
4075    "fallback": function () {
4076        if (tarteaucitron.parameters.googleConsentMode === true) {
4077            if (tarteaucitron.parameters.softConsentMode === false) {
4078                this.js();
4079            }
4080        }
4081    }
4082};
4083
4084// google webfonts
4085tarteaucitron.services.googlefonts = {
4086    "key": "googlefonts",
4087    "type": "api",
4088    "name": "Google Webfonts",
4089    "uri": "https://policies.google.com/privacy",
4090    "needConsent": true,
4091    "cookies": [],
4092    "js": function () {
4093        "use strict";
4094        if (tarteaucitron.user.googleFonts === undefined) {
4095            return;
4096        }
4097        tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () {
4098
4099            if (tarteaucitron.user.googleFonts instanceof Array) {
4100                WebFont.load({
4101                    google: {
4102                        families: tarteaucitron.user.googleFonts
4103                    }
4104                });
4105            } else {
4106                WebFont.load({
4107                    google: {
4108                        families: [tarteaucitron.user.googleFonts]
4109                    }
4110                });
4111            }
4112        });
4113    }
4114};
4115
4116// hubspot
4117tarteaucitron.services.hubspot = {
4118    "key": "hubspot",
4119    "type": "analytic",
4120    "name": "Hubspot",
4121    "uri": "https://legal.hubspot.com/privacy-policy",
4122    "needConsent": true,
4123    "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'],
4124    "js": function () {
4125        "use strict";
4126
4127        if (tarteaucitron.user.hubspotId === undefined) {
4128            return;
4129        }
4130
4131        var tac_businessUnitId = "";
4132        if (tarteaucitron.user.hubspotBusinessUnitId !== undefined && tarteaucitron.user.hubspotBusinessUnitId !== null && tarteaucitron.user.hubspotBusinessUnitId !== "") {
4133            tac_businessUnitId = "?businessUnitId=" + tarteaucitron.user.hubspotBusinessUnitId;
4134        }
4135
4136        tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js' + tac_businessUnitId, 'hs-script-loader');
4137    }
4138};
4139
4140// instagram
4141tarteaucitron.services.instagram = {
4142    "key": "instagram",
4143    "type": "social",
4144    "name": "Instagram",
4145    "uri": "https://www.instagram.com/legal/privacy/",
4146    "needConsent": true,
4147    "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'],
4148    "js": function () {
4149        "use strict";
4150        tarteaucitron.fallback(['instagram_post'], function (x) {
4151            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Instagram iframe',
4152                post_id = tarteaucitron.getElemAttr(x, 'postId'),
4153                page_id = tarteaucitron.getElemAttr(x, 'pageId'),
4154                post_permalink = tarteaucitron.getElemAttr(x, 'data-instgrm-permalink'),
4155                embed_width = tarteaucitron.getElemAttr(x, 'width'),
4156                embed_height = tarteaucitron.getElemAttr(x, 'height'),
4157                styleAttr = "",
4158                post_frame;
4159
4160            if (post_permalink != null) {
4161                tarteaucitron.addScript('//www.instagram.com/embed.js', 'instagram-embed');
4162
4163                return '';
4164            }
4165
4166            var post_link = post_id !== "" ? 'p/' + post_id : (page_id !== "" ? page_id : "");
4167            if (post_link === "") {
4168                return "";
4169            }
4170
4171            if (embed_width !== "") {
4172                styleAttr = 'width:' + tarteaucitron.getStyleSize(embed_width) + ';';
4173            }
4174            if (embed_height !== "") {
4175                styleAttr = 'height:' + tarteaucitron.getStyleSize(embed_height) + ';';
4176            }
4177
4178            post_frame = '<iframe title="' + frame_title + '" src="//www.instagram.com/' + post_link + '/embed" style="' + styleAttr + '"></iframe>';
4179
4180            return post_frame;
4181        });
4182    },
4183    "fallback": function () {
4184        "use strict";
4185        var id = 'instagram';
4186        tarteaucitron.fallback(['instagram_post'], function (elem) {
4187            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
4188            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
4189            return tarteaucitron.engage(id);
4190        });
4191    }
4192};
4193
4194// jsapi
4195tarteaucitron.services.jsapi = {
4196    "key": "jsapi",
4197    "type": "api",
4198    "name": "Google jsapi",
4199    "uri": "https://policies.google.com/privacy",
4200    "needConsent": true,
4201    "cookies": [],
4202    "js": function () {
4203        "use strict";
4204        tarteaucitron.addScript('//www.google.com/jsapi');
4205    }
4206};
4207
4208// twitterwidgetsapi
4209tarteaucitron.services.twitterwidgetsapi = {
4210    "key": "twitterwidgetsapi",
4211    "type": "api",
4212    "name": "X (formerly Twitter) Widgets API",
4213    "uri": "https://support.twitter.com/articles/20170514",
4214    "needConsent": true,
4215    "cookies": [],
4216    "js": function () {
4217        "use strict";
4218        tarteaucitron.fallback(['tacTwitterAPI'], '');
4219        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
4220    },
4221    "fallback": function () {
4222        "use strict";
4223        var id = 'twitterwidgetsapi';
4224        tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id));
4225    }
4226};
4227
4228// recaptcha
4229tarteaucitron.services.recaptcha = {
4230    "key": "recaptcha",
4231    "type": "api",
4232    "name": "reCAPTCHA",
4233    "uri": "https://policies.google.com/privacy",
4234    "needConsent": true,
4235    "cookies": ['nid'],
4236    "js": function () {
4237        "use strict";
4238        window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function () { };
4239        tarteaucitron.fallback(['g-recaptcha'], '');
4240
4241        let url = 'https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad';
4242        if (tarteaucitron.user.recaptchaapi !== undefined) {
4243            url += '&render=' + tarteaucitron.user.recaptchaapi;
4244        }
4245        if (tarteaucitron.user.recaptcha_hl !== undefined) {
4246            url += '&hl=' + tarteaucitron.user.recaptcha_hl;
4247        }
4248        tarteaucitron.addScript(url);
4249    },
4250    "fallback": function () {
4251        "use strict";
4252        var id = 'recaptcha';
4253        tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id));
4254    }
4255};
4256
4257// linkedin
4258tarteaucitron.services.linkedin = {
4259    "key": "linkedin",
4260    "type": "social",
4261    "name": "Linkedin",
4262    "uri": "https://www.linkedin.com/legal/cookie-policy",
4263    "needConsent": true,
4264    "cookies": [],
4265    "js": function () {
4266        "use strict";
4267        tarteaucitron.fallback(['tacLinkedin'], '');
4268        tarteaucitron.addScript('//platform.linkedin.com/in.js');
4269        if (tarteaucitron.isAjax === true) {
4270            if (typeof IN !== "undefined") {
4271                IN.parse();
4272            }
4273        }
4274    },
4275    "fallback": function () {
4276        "use strict";
4277        var id = 'linkedin';
4278        tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id));
4279    }
4280};
4281
4282// mautic
4283tarteaucitron.services.mautic = {
4284    "key": "mautic",
4285    "type": "analytic",
4286    "name": "Mautic",
4287    "uri": "https://www.mautic.org/privacy-policy/",
4288    "needConsent": true,
4289    "cookies": ['mtc_id', 'mtc_sid'],
4290    "js": function () {
4291        "use strict";
4292        if (tarteaucitron.user.mauticurl === undefined) {
4293            return;
4294        }
4295
4296        window.MauticTrackingObject = 'mt';
4297        window.mt = window.mt || function () {
4298            window.mt.q = window.mt.q || [];
4299            window.mt.q.push(arguments);
4300        };
4301
4302        tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function () {
4303            mt('send', 'pageview');
4304        });
4305    }
4306};
4307
4308// microsoftcampaignanalytics
4309tarteaucitron.services.microsoftcampaignanalytics = {
4310    "key": "microsoftcampaignanalytics",
4311    "type": "analytic",
4312    "name": "Microsoft Campaign Analytics",
4313    "uri": "https://privacy.microsoft.com/privacystatement/",
4314    "needConsent": true,
4315    "cookies": [],
4316    "js": function () {
4317        "use strict";
4318        if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) {
4319            return;
4320        }
4321
4322        tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () {
4323            window.mstag = { loadTag: function () { }, time: (new Date()).getTime() };
4324            window.mstag.loadTag("analytics", { dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId });
4325        });
4326    }
4327};
4328
4329// onesignal
4330tarteaucitron.services.onesignal = {
4331    "key": "onesignal",
4332    "type": "api",
4333    "name": "OneSignal",
4334    "uri": "https://onesignal.com/privacy_policy",
4335    "needConsent": true,
4336    "cookies": [],
4337    "js": function () {
4338        "use strict";
4339        if (tarteaucitron.user.onesignalAppId === undefined) {
4340            return;
4341        }
4342        window.OneSignal = window.OneSignal || [];
4343
4344        window.OneSignal.push(function () {
4345            window.OneSignal.init({
4346                appId: tarteaucitron.user.onesignalAppId,
4347            });
4348        });
4349
4350        tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
4351    }
4352};
4353
4354// pinterest
4355tarteaucitron.services.pinterest = {
4356    "key": "pinterest",
4357    "type": "social",
4358    "name": "Pinterest",
4359    "uri": "https://about.pinterest.com/privacy-policy",
4360    "needConsent": true,
4361    "cookies": [],
4362    "js": function () {
4363        "use strict";
4364        tarteaucitron.fallback(['tacPinterest'], '');
4365        tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js');
4366    },
4367    "fallback": function () {
4368        "use strict";
4369        var id = 'pinterest';
4370        tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id));
4371    }
4372};
4373
4374// prelinker
4375tarteaucitron.services.prelinker = {
4376    "key": "prelinker",
4377    "type": "ads",
4378    "name": "Prelinker",
4379    "uri": "https://www.prelinker.com/index/index/cgu/",
4380    "needConsent": true,
4381    "cookies": ['_sp_id.32f5', '_sp_ses.32f5'],
4382    "js": function () {
4383        "use strict";
4384        var uniqIds = [],
4385            i,
4386            uri;
4387
4388        tarteaucitron.fallback(['prelinker-canvas'], function (x) {
4389            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
4390            uniqIds.push(uniqId);
4391            return '<div id="' + uniqId + '" siteId="' + tarteaucitron.getElemAttr(x, 'siteId') + '" bannerId="' + tarteaucitron.getElemAttr(x, 'bannerId') + '" defaultLanguage="' + tarteaucitron.getElemAttr(x, 'defaultLanguage') + '" tracker="' + tarteaucitron.getElemAttr(x, 'tracker') + '"></div>';
4392        });
4393
4394        for (i = 0; i < uniqIds.length; i += 1) {
4395            uri = 'https://promo.easy-dating.org/banner/index?';
4396            uri += 'site_id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'siteId') + '&';
4397            uri += 'banner_id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'bannerId') + '&';
4398            uri += 'default_language=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'defaultLanguage') + '&';
4399            uri += 'tr4ck=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'trackrt');
4400
4401            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
4402        }
4403    },
4404    "fallback": function () {
4405        "use strict";
4406        var id = 'prelinker';
4407        tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id));
4408    }
4409};
4410
4411// prezi
4412tarteaucitron.services.prezi = {
4413    "key": "prezi",
4414    "type": "video",
4415    "name": "Prezi",
4416    "uri": "https://prezi.com/privacy-policy/",
4417    "needConsent": true,
4418    "cookies": [],
4419    "js": function () {
4420        "use strict";
4421        tarteaucitron.fallback(['prezi-canvas'], function (x) {
4422            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Prezi iframe',
4423                id = tarteaucitron.getElemAttr(x, "data-id"),
4424                width = tarteaucitron.getElemAttr(x, "width"),
4425                height = tarteaucitron.getElemAttr(x, "height"),
4426                url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&amp;lock_to_path=0&amp;autoplay=0&amp;autohide_ctrls=0';
4427
4428            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
4429
4430            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency allowfullscreen></iframe>';
4431        });
4432    },
4433    "fallback": function () {
4434        "use strict";
4435        var id = 'prezi';
4436        tarteaucitron.fallback(['prezi-canvas'], function (elem) {
4437            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
4438            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
4439            return tarteaucitron.engage(id);
4440        });
4441    }
4442};
4443
4444// pubdirecte
4445tarteaucitron.services.pubdirecte = {
4446    "key": "pubdirecte",
4447    "type": "ads",
4448    "name": "Pubdirecte",
4449    "uri": "https://pubdirecte.com/contact.php",
4450    "needConsent": true,
4451    "cookies": [],
4452    "js": function () {
4453        "use strict";
4454        var uniqIds = [],
4455            i,
4456            uri;
4457
4458        tarteaucitron.fallback(['pubdirecte-canvas'], function (x) {
4459            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
4460            uniqIds.push(uniqId);
4461            return '<div id="' + uniqId + '" pid="' + tarteaucitron.getElemAttr(x, 'pid') + '" ref="' + tarteaucitron.getElemAttr(x, 'ref') + '"></div>';
4462        });
4463
4464        for (i = 0; i < uniqIds.length; i += 1) {
4465            uri = '//www.pubdirecte.com/script/banniere.php?';
4466            uri += 'id=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'pid') + '&';
4467            uri += 'ref=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'ref');
4468
4469            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
4470        }
4471    },
4472    "fallback": function () {
4473        "use strict";
4474        var id = 'pubdirecte';
4475        tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id));
4476    }
4477};
4478
4479// purechat
4480tarteaucitron.services.purechat = {
4481    "key": "purechat",
4482    "type": "support",
4483    "name": "PureChat",
4484    "uri": "https://www.purechat.com/privacy",
4485    "needConsent": true,
4486    "cookies": [],
4487    "js": function () {
4488        "use strict";
4489        if (tarteaucitron.user.purechatId === undefined) {
4490            return;
4491        }
4492
4493        tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () {
4494            try {
4495                window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true });
4496            } catch (e) { }
4497        });
4498    }
4499};
4500
4501// Intercom
4502tarteaucitron.services.intercomChat = {
4503    "key": "intercomChat",
4504    "type": "support",
4505    "name": "Intercom",
4506    "uri": "https://www.intercom.com/",
4507    "needConsent": true,
4508    "cookies": [
4509        "intercom-id-" + tarteaucitron.user.intercomKey,
4510        "intercom-session-" + tarteaucitron.user.intercomKey,
4511    ],
4512    "readmoreLink": "https://www.intercom.com/legal/privacy",
4513    "js": function () {
4514
4515        if (tarteaucitron.user.intercomKey === undefined) {
4516            return;
4517        }
4518
4519        window.intercomSettings = {
4520            app_id: tarteaucitron.user.intercomKey,
4521        };
4522
4523        var w = window;
4524        var ic = w.Intercom;
4525        if (typeof ic === "function") {
4526            ic("reattach_activator");
4527            ic("update", w.intercomSettings);
4528        } else {
4529            var i = function () {
4530                i.c(arguments);
4531            };
4532            i.q = [];
4533            i.c = function (args) {
4534                i.q.push(args);
4535            };
4536            w.Intercom = i;
4537            tarteaucitron.addScript(
4538                "https://widget.intercom.io/widget/" + tarteaucitron.user.intercomKey,
4539                "",
4540                function () {
4541                    // Execute callback if function `intercomChatEnable`
4542                    // is defined
4543                    if (typeof intercomChatEnable === 'function') {
4544                        intercomChatEnable()
4545                    }
4546                }
4547            );
4548        }
4549    },
4550    "fallback": function () {
4551        "use strict";
4552        var id = "intercomChat";
4553        tarteaucitron.fallback(
4554            ["intercom-chat"],
4555            function () {
4556                // Execute callback if function `intercomChatDisable`
4557                // is defined
4558                if (typeof intercomChatDisable === 'function') {
4559                    intercomChatDisable()
4560                }
4561                return tarteaucitron.engage(id)
4562            }
4563        );
4564    },
4565};
4566
4567// rumbletalk
4568tarteaucitron.services.rumbletalk = {
4569    "key": "rumbletalk",
4570    "type": "social",
4571    "name": "RumbleTalk",
4572    "needConsent": true,
4573    "cookies": ['AWSALB'],
4574    "js": function () {
4575        "use strict";
4576        if (tarteaucitron.user.rumbletalkid === undefined) {
4577            return;
4578        }
4579
4580        tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid);
4581
4582        tarteaucitron.fallback(['rumbletalk'], function (x) {
4583            var width = tarteaucitron.getElemWidth(x),
4584                height = tarteaucitron.getElemHeight(x),
4585                id = tarteaucitron.getElemAttr(x, "data-id");
4586
4587            return '<div style="height: ' + tarteaucitron.getStyleSize(height) + '; width: ' + tarteaucitron.getStyleSize(width) + ';"><div id="' + id + '"></div></div>';
4588        });
4589    },
4590    "fallback": function () {
4591        "use strict";
4592        var id = 'rumbletalk';
4593        tarteaucitron.fallback(['rumbletalk'], function (elem) {
4594            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemWidth(elem));
4595            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemHeight(elem));
4596
4597            return tarteaucitron.engage(id);
4598        });
4599    }
4600};
4601
4602// shareaholic
4603tarteaucitron.services.shareaholic = {
4604    "key": "shareaholic",
4605    "type": "social",
4606    "name": "Shareaholic",
4607    "uri": "https://shareaholic.com/privacy/choices",
4608    "needConsent": true,
4609    "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'],
4610    "js": function () {
4611        "use strict";
4612        if (tarteaucitron.user.shareaholicSiteId === undefined) {
4613            return;
4614        }
4615
4616        tarteaucitron.fallback(['shareaholic-canvas'], '');
4617        tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () {
4618            try {
4619                Shareaholic.init(tarteaucitron.user.shareaholicSiteId);
4620            } catch (e) { }
4621        });
4622    },
4623    "fallback": function () {
4624        "use strict";
4625        var id = 'shareaholic';
4626        tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id));
4627    }
4628};
4629
4630// shareasale
4631tarteaucitron.services.shareasale = {
4632    "key": "shareasale",
4633    "type": "ads",
4634    "name": "ShareASale",
4635    "uri": "https://www.shareasale.com/PrivacyPolicy.pdf",
4636    "needConsent": true,
4637    "cookies": [],
4638    "js": function () {
4639        "use strict";
4640        var uniqIds = [],
4641            i,
4642            uri;
4643
4644        tarteaucitron.fallback(['shareasale-canvas'], function (x) {
4645            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
4646            uniqIds.push(uniqId);
4647            return '<div id="' + uniqId + '" amount="' + tarteaucitron.getElemAttr(x, 'amount') + '" tracking="' + tarteaucitron.getElemAttr(x, 'tracking') + '" transtype="' + tarteaucitron.getElemAttr(x, 'transtype') + '" persale="' + tarteaucitron.getElemAttr(x, 'persale') + '" perlead="' + tarteaucitron.getElemAttr(x, 'perlead') + '" perhit="' + tarteaucitron.getElemAttr(x, 'perhit') + '" merchantID="' + tarteaucitron.getElemAttr(x, 'merchantID') + '"></div>';
4648        });
4649
4650        for (i = 0; i < uniqIds.length; i += 1) {
4651            uri = 'https://shareasale.com/sale.cfm?';
4652            uri += 'amount=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'amount') + '&';
4653            uri += 'tracking=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'tracking') + '&';
4654            uri += 'transtype=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'transtype') + '&';
4655            uri += 'persale=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'persale') + '&';
4656            uri += 'perlead=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'perlead') + '&';
4657            uri += 'perhit=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'perhit') + '&';
4658            uri += 'merchantID=' + tarteaucitron.getElemAttr(document.getElementById(uniqIds[i]), 'merchantID');
4659
4660            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
4661        }
4662    },
4663    "fallback": function () {
4664        "use strict";
4665        var id = 'shareasale';
4666        tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id));
4667    }
4668};
4669
4670// sharethis
4671tarteaucitron.services.sharethis = {
4672    "key": "sharethis",
4673    "type": "social",
4674    "name": "ShareThis",
4675    "uri": "https://www.sharethis.com/legal/privacy/",
4676    "needConsent": true,
4677    "cookies": ['__unam'],
4678    "js": function () {
4679        "use strict";
4680        if (tarteaucitron.user.sharethisPublisher === undefined) {
4681            return;
4682        }
4683        var switchTo5x = true,
4684            uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js';
4685
4686        tarteaucitron.fallback(['tacSharethis'], '');
4687        tarteaucitron.addScript(uri, '', function () {
4688            stLight.options({ publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false });
4689        });
4690
4691        if (tarteaucitron.isAjax === true) {
4692            if (typeof stButtons !== "undefined") {
4693                stButtons.locateElements();
4694            }
4695        }
4696    },
4697    "fallback": function () {
4698        "use strict";
4699        var id = 'sharethis';
4700        tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id));
4701    }
4702};
4703
4704// slideshare
4705tarteaucitron.services.slideshare = {
4706    "key": "slideshare",
4707    "type": "video",
4708    "name": "SlideShare",
4709    "uri": "https://www.linkedin.com/legal/privacy-policy",
4710    "needConsent": true,
4711    "cookies": [],
4712    "js": function () {
4713        "use strict";
4714        tarteaucitron.fallback(['slideshare-canvas'], function (x) {
4715            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Slideshare iframe',
4716                id = tarteaucitron.getElemAttr(x, "data-id"),
4717                width = tarteaucitron.getElemAttr(x, "width"),
4718                height = tarteaucitron.getElemAttr(x, "height"),
4719                url = '//www.slideshare.net/slideshow/embed_code/key/' + id;
4720
4721            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
4722
4723            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency allowfullscreen></iframe>';
4724        });
4725    },
4726    "fallback": function () {
4727        "use strict";
4728        var id = 'slideshare';
4729        tarteaucitron.fallback(['slideshare-canvas'], function (elem) {
4730            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
4731            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
4732            return tarteaucitron.engage(id);
4733        });
4734    }
4735};
4736
4737// soundcloud
4738tarteaucitron.services.soundcloud = {
4739    key: 'soundcloud',
4740    type: 'video',
4741    name: 'SoundCloud',
4742    needConsent: true,
4743    uri: "https://soundcloud.com/pages/privacy",
4744    cookies: ['sc_anonymous_id', 'sclocale'],
4745    js: function () {
4746        "use strict";
4747        tarteaucitron.fallback(['soundcloud_player'], function (x) {
4748            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Soundcloud iframe',
4749                player_height = tarteaucitron.getElemAttr(x, 'data-height'),
4750                frame_height = 'height:' + tarteaucitron.getStyleSize(player_height) + ';',
4751                playable_id = tarteaucitron.getElemAttr(x, 'data-playable-id'),
4752                playable_type = tarteaucitron.getElemAttr(x, 'data-playable-type'),
4753                playable_url = tarteaucitron.getElemAttr(x, 'data-playable-url'),
4754                color = tarteaucitron.getElemAttr(x, 'data-color'),
4755                autoplay = tarteaucitron.getElemAttr(x, 'data-auto-play'),
4756                hideRelated = tarteaucitron.getElemAttr(x, 'data-hide-related'),
4757                showComments = tarteaucitron.getElemAttr(x, 'data-show-comments'),
4758                showUser = tarteaucitron.getElemAttr(x, 'data-show-user'),
4759                showReposts = tarteaucitron.getElemAttr(x, 'data-show-reposts'),
4760                showTeaser = tarteaucitron.getElemAttr(x, 'data-show-teaser'),
4761                visual = tarteaucitron.getElemAttr(x, 'data-visual'),
4762                artwork = tarteaucitron.getElemAttr(x, 'data-artwork');
4763
4764            var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : '';
4765
4766            if (playable_id === "" && playable_url === "") {
4767                return "";
4768            }
4769
4770            // Allow to embed from API results (playable_type + playable_id)
4771            var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id;
4772            // Or from raw URL from Soundcloud website
4773            if (playable_url && playable_url.length > 0) qs = '?url=' + escape(playable_url);
4774
4775            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
4776            if (color && color.length > 0) qs += '&color=' + color.replace('#', '%23');
4777            if (autoplay && autoplay.length > 0) qs += '&auto_play=' + autoplay;
4778            if (showComments && showComments.length > 0) qs += '&show_comments=' + showComments;
4779            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
4780            if (showUser && showUser.length > 0) qs += '&show_user=' + showUser;
4781            if (showReposts && showReposts.length > 0) qs += '&show_reposts=' + showReposts;
4782            if (showTeaser && showTeaser.length > 0) qs += '&show_teaser=' + showTeaser;
4783            if (visual && visual.length > 0) qs += '&visual=' + visual;
4784            if (artwork && artwork.length > 0) qs += '&show_artwork=' + artwork;
4785
4786            return '<iframe title="' + frame_title + '" style="width:100%;' + frame_height + '" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>';
4787        });
4788    },
4789    fallback: function () {
4790        "use strict";
4791        tarteaucitron.fallback(['soundcloud_player'], function (elem) {
4792            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-height'));
4793            return tarteaucitron.engage('soundcloud');
4794        });
4795    }
4796};
4797
4798// spotify
4799tarteaucitron.services.spotify = {
4800    "key": "spotify",
4801    "type": "video",
4802    "name": "Spotify",
4803    "uri": "https://www.spotify.com/us/legal/privacy-policy/",
4804    "needConsent": true,
4805    "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'],
4806    "js": function () {
4807        "use strict";
4808        tarteaucitron.fallback(['spotify_player'], function (x) {
4809            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Spotify iframe',
4810                spotify_id = tarteaucitron.getElemAttr(x, "spotifyID"),
4811                spotify_width = tarteaucitron.getElemAttr(x, "width"),
4812                spotify_height = tarteaucitron.getElemAttr(x, "height"),
4813                styleAttr = "border-radius:12px;",
4814                spotify_frame;
4815
4816            if (spotify_id === "") {
4817                return "";
4818            }
4819            if (spotify_width !== "") {
4820                styleAttr += 'width:' + tarteaucitron.getStyleSize(spotify_width) + ';';
4821            }
4822            if (spotify_height !== "") {
4823                styleAttr += 'height:' + tarteaucitron.getStyleSize(spotify_height) + ';';
4824            }
4825            spotify_frame = '<iframe title="' + frame_title + '" src="//open.spotify.com/embed/' + spotify_id + '" style="' + styleAttr + '" allowfullscreen></iframe>';
4826            return spotify_frame;
4827        });
4828    },
4829    "fallback": function () {
4830        "use strict";
4831        var id = 'spotify';
4832        tarteaucitron.fallback(['spotify_player'], function (elem) {
4833            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
4834            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
4835            return tarteaucitron.engage(id);
4836        });
4837    }
4838};
4839
4840// statcounter
4841tarteaucitron.services.statcounter = {
4842    "key": "statcounter",
4843    "type": "analytic",
4844    "name": "StatCounter",
4845    "uri": "https://fr.statcounter.com/about/legal/#privacy",
4846    "needConsent": true,
4847    "cookies": ['sc_is_visitor_unique'],
4848    "js": function () {
4849        "use strict";
4850        var uniqIds = [],
4851            i,
4852            uri = '//statcounter.com/counter/counter.js';
4853
4854        tarteaucitron.fallback(['statcounter-canvas'], function (x) {
4855            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
4856            uniqIds.push(uniqId);
4857            return '<div id="' + uniqId + '"></div>';
4858        });
4859
4860        for (i = 0; i < uniqIds.length; i += 1) {
4861            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
4862        }
4863    },
4864    "fallback": function () {
4865        "use strict";
4866        var id = 'statcounter';
4867        tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id));
4868    }
4869};
4870
4871// timelinejs
4872tarteaucitron.services.timelinejs = {
4873    "key": "timelinejs",
4874    "type": "api",
4875    "name": "Timeline JS",
4876    "uri": "https://timeline.knightlab.com/#help",
4877    "needConsent": true,
4878    "cookies": [],
4879    "js": function () {
4880        "use strict";
4881        tarteaucitron.fallback(['timelinejs-canvas'], function (x) {
4882            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Twitter iframe',
4883                spreadsheet_id = tarteaucitron.getElemAttr(x, "spreadsheet_id"),
4884                width = tarteaucitron.getElemAttr(x, "width"),
4885                height = tarteaucitron.getElemAttr(x, "height"),
4886                lang = tarteaucitron.getElemAttr(x, "lang_2_letter"),
4887                font = tarteaucitron.getElemAttr(x, "font"),
4888                map = tarteaucitron.getElemAttr(x, "map"),
4889                start_at_end = tarteaucitron.getElemAttr(x, "start_at_end"),
4890                hash_bookmark = tarteaucitron.getElemAttr(x, "hash_bookmark"),
4891                start_at_slide = tarteaucitron.getElemAttr(x, "start_at_slide"),
4892                start_zoom = tarteaucitron.getElemAttr(x, "start_zoom"),
4893                url = '//cdn.knightlab.com/libs/timeline/latest/embed/index.html?source=' + spreadsheet_id + '&font=' + font + '&maptype=' + map + '&lang=' + lang + '&start_at_end=' + start_at_end + '&hash_bookmark=' + hash_bookmark + '&start_at_slide=' + start_at_slide + '&start_zoom_adjust=' + start_zoom + '&height=' + height;
4894
4895            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
4896
4897            return '<iframe title="' + frame_title + '" src="' + url + '" style="' + styleAttr + '" allowtransparency allowfullscreen></iframe>';
4898        });
4899    },
4900    "fallback": function () {
4901        "use strict";
4902        var id = 'timelinejs';
4903        tarteaucitron.fallback(['timelinejs-canvas'], function (elem) {
4904            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
4905            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
4906            return tarteaucitron.engage(id);
4907        });
4908    }
4909};
4910
4911// tagcommander
4912tarteaucitron.services.tagcommander = {
4913    "key": "tagcommander",
4914    "type": "api",
4915    "name": "TagCommander",
4916    "uri": "https://www.commandersact.com/en/privacy/",
4917    "needConsent": true,
4918    "cookies": [],
4919    "js": function () {
4920        "use strict";
4921        if (tarteaucitron.user.tagcommanderid === undefined) {
4922            return;
4923        }
4924        tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js');
4925    }
4926};
4927
4928// typekit
4929tarteaucitron.services.typekit = {
4930    "key": "typekit",
4931    "type": "api",
4932    "name": "Typekit (adobe)",
4933    "uri": "https://www.adobe.com/privacy.html",
4934    "needConsent": true,
4935    "cookies": [],
4936    "js": function () {
4937        "use strict";
4938        if (tarteaucitron.user.typekitId === undefined) {
4939            return;
4940        }
4941        tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () {
4942            try {
4943                Typekit.load();
4944            } catch (e) { }
4945        });
4946    }
4947};
4948
4949// twenga
4950tarteaucitron.services.twenga = {
4951    "key": "twenga",
4952    "type": "ads",
4953    "name": "Twenga",
4954    "uri": "https://www.twenga.com/privacy.php",
4955    "needConsent": true,
4956    "cookies": [],
4957    "js": function () {
4958        "use strict";
4959
4960        if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) {
4961            return;
4962        }
4963
4964        tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js');
4965    }
4966};
4967
4968// twitter
4969tarteaucitron.services.twitter = {
4970    "key": "twitter",
4971    "type": "social",
4972    "name": "X (formerly Twitter)",
4973    "uri": "https://support.twitter.com/articles/20170514",
4974    "needConsent": true,
4975    "cookies": [],
4976    "js": function () {
4977        "use strict";
4978        tarteaucitron.fallback(['tacTwitter'], '');
4979        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
4980    },
4981    "fallback": function () {
4982        "use strict";
4983        var id = 'twitter';
4984        tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id));
4985    }
4986};
4987
4988// twitter embed
4989tarteaucitron.services.twitterembed = {
4990    "key": "twitterembed",
4991    "type": "social",
4992    "name": "X (formerly Twitter) cards",
4993    "uri": "https://support.twitter.com/articles/20170514",
4994    "needConsent": true,
4995    "cookies": [],
4996    "js": function () {
4997        "use strict";
4998        var uniqIds = [],
4999            i,
5000            e,
5001            html;
5002
5003        tarteaucitron.fallback(['twitterembed-canvas'], function (x) {
5004            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
5005            uniqIds.push(uniqId);
5006            html = '<div id="' + uniqId + '" ';
5007            html += 'tweetid="' + tarteaucitron.getElemAttr(x, 'tweetid') + '" ';
5008            html += 'theme="' + tarteaucitron.getElemAttr(x, 'theme') + '" ';
5009            html += 'cards="' + tarteaucitron.getElemAttr(x, 'cards') + '" ';
5010            html += 'conversation="' + tarteaucitron.getElemAttr(x, 'conversation') + '" ';
5011            html += 'data-width="' + tarteaucitron.getElemAttr(x, 'data-width') + '" ';
5012            html += 'data-align="' + tarteaucitron.getElemAttr(x, 'data-align') + '" ';
5013            html += '></div>';
5014            return html;
5015        });
5016
5017        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () {
5018            var i;
5019            for (i = 0; i < uniqIds.length; i += 1) {
5020                e = document.getElementById(uniqIds[i]);
5021                twttr.widgets.createTweet(
5022                    tarteaucitron.getElemAttr(e, 'tweetid'),
5023                    e,
5024                    {
5025                        theme: tarteaucitron.getElemAttr(e, 'theme'),
5026                        cards: tarteaucitron.getElemAttr(e, 'cards'),
5027                        conversation: tarteaucitron.getElemAttr(e, 'conversation'),
5028                        lang: tarteaucitron.getLanguage(),
5029                        dnt: true,
5030                        width: tarteaucitron.getElemAttr(e, 'data-width'),
5031                        align: tarteaucitron.getElemAttr(e, 'data-align')
5032                    }
5033                );
5034            }
5035        });
5036    },
5037    "fallback": function () {
5038        "use strict";
5039        var id = 'twitterembed';
5040        tarteaucitron.fallback(['twitterembed-canvas'], function (elem) {
5041            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-width'));
5042            return tarteaucitron.engage(id);
5043        });
5044    }
5045};
5046
5047// twitter timeline
5048tarteaucitron.services.twittertimeline = {
5049    "key": "twittertimeline",
5050    "type": "social",
5051    "name": "X (formerly Twitter) timelines",
5052    "uri": "https://support.twitter.com/articles/20170514",
5053    "needConsent": true,
5054    "cookies": [],
5055    "js": function () {
5056        "use strict";
5057        tarteaucitron.fallback(['tacTwitterTimelines'], '');
5058        tarteaucitron.addScript('https://platform.twitter.com/widgets.js', 'twitter-wjs');
5059    },
5060    "fallback": function () {
5061        "use strict";
5062        var id = 'twittertimeline';
5063        tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id));
5064    }
5065};
5066
5067// twitter universal website tag
5068tarteaucitron.services.twitteruwt = {
5069    "key": "twitteruwt",
5070    "type": "analytic",
5071    "name": "X (formerly Twitter) Universal Website Tag",
5072    "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html",
5073    "needConsent": true,
5074    "cookies": [],
5075    "js": function () {
5076        "use strict";
5077
5078        if (tarteaucitron.user.twitteruwtId === undefined) {
5079            return;
5080        }
5081
5082        window.twq = function () {
5083            window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments);
5084        }
5085        window.twq.version = '1.1';
5086        window.twq.queue = [];
5087
5088        tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () {
5089            window.twq('init', tarteaucitron.user.twitteruwtId);
5090            window.twq('track', 'PageView');
5091        });
5092    }
5093};
5094
5095// user voice
5096tarteaucitron.services.uservoice = {
5097    "key": "uservoice",
5098    "type": "support",
5099    "name": "UserVoice",
5100    "uri": "https://www.uservoice.com/privacy/",
5101    "needConsent": true,
5102    "cookies": [],
5103    "js": function () {
5104        "use strict";
5105        if (tarteaucitron.user.userVoiceApi === undefined) {
5106            return;
5107        }
5108        tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js');
5109    }
5110};
5111
5112// vimeo
5113tarteaucitron.services.vimeo = {
5114    "key": "vimeo",
5115    "type": "video",
5116    "name": "Vimeo",
5117    "uri": "https://vimeo.com/privacy",
5118    "needConsent": true,
5119    "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'],
5120    "js": function () {
5121        "use strict";
5122        tarteaucitron.fallback(['vimeo_player'], function (x) {
5123            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe',
5124                video_width = tarteaucitron.getElemAttr(x, "width"),
5125                video_height = tarteaucitron.getElemAttr(x, "height"),
5126                styleAttr = "",
5127
5128                video_id = tarteaucitron.getElemAttr(x, "videoID"),
5129                video_hash = tarteaucitron.getElemAttr(x, "data-hash") || '',
5130                video_allowfullscreen = tarteaucitron.getElemAttr(x, "data-allowfullscreen"),
5131
5132                video_qs = "",
5133                attrs = ["title", "byline", "portrait", "loop", "autoplay", "autopause", "background", "color", "controls", "maxheight", "maxwidth", "muted", "playsinline", "speed", "transparent"],
5134                params = attrs.filter(function (a) {
5135                    return tarteaucitron.getElemAttr(x, a) !== "";
5136                }).map(function (a) {
5137                    return a + "=" + tarteaucitron.getElemAttr(x, a);
5138                }),
5139
5140                video_frame;
5141
5142            if (video_id === "") {
5143                return "";
5144            }
5145
5146            // query params
5147            if (video_hash.length > 0) {
5148                params.push("h=" + video_hash);
5149            }
5150            if (params.length > 0) {
5151                video_qs = "?" + params.join("&");
5152            }
5153
5154            // attributes
5155            if (video_width !== undefined) {
5156                styleAttr += 'width:' + tarteaucitron.getStyleSize(video_width) + ';';
5157            }
5158            if (video_height !== undefined) {
5159                styleAttr += 'height:' + tarteaucitron.getStyleSize(video_height) + ';';
5160            }
5161
5162            video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" style="' + styleAttr + '" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
5163
5164            return video_frame;
5165        });
5166    },
5167    "fallback": function () {
5168        "use strict";
5169        var id = 'vimeo';
5170        tarteaucitron.fallback(['vimeo_player'], function (elem) {
5171            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
5172            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
5173            return tarteaucitron.engage(id);
5174        });
5175    }
5176};
5177
5178// visualrevenue
5179tarteaucitron.services.visualrevenue = {
5180    "key": "visualrevenue",
5181    "type": "analytic",
5182    "name": "VisualRevenue",
5183    "uri": "https://www.outbrain.com/legal/privacy-713/",
5184    "needConsent": true,
5185    "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'],
5186    "js": function () {
5187        "use strict";
5188        if (tarteaucitron.user.visualrevenueId === undefined) {
5189            return;
5190        }
5191        window._vrq = window._vrq || [];
5192        window._vrq.push(['id', tarteaucitron.user.visualrevenueId]);
5193        window._vrq.push(['automate', true]);
5194        window._vrq.push(['track', function () { }]);
5195        tarteaucitron.addScript('https://a.visualrevenue.com/vrs.js');
5196    }
5197};
5198
5199// verizon dot tag
5200tarteaucitron.services.verizondottag = {
5201    "key": "verizondottag",
5202    "type": "analytic",
5203    "name": "Verizon Dot Tag",
5204    "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/",
5205    "needConsent": true,
5206    "cookies": [],
5207    "js": function () {
5208        "use strict";
5209
5210        if (tarteaucitron.user.verizondottagProjectId === undefined) {
5211            return;
5212        }
5213
5214        window.dotq = window.dotq || [];
5215        window.dotq.push({
5216            'projectId': tarteaucitron.user.verizondottagProjectId,
5217            'properties': { 'pixelId': tarteaucitron.user.verizondottagPixelId }
5218        });
5219
5220        tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () {
5221            //const items = window.dotq;
5222            window.dotq = [];
5223            window.dotq.push = function (item) {
5224                YAHOO.ywa.I13N.fireBeacon([item])
5225            };
5226            YAHOO.ywa.I13N.fireBeacon(items)
5227        });
5228    }
5229};
5230
5231// vshop
5232tarteaucitron.services.vshop = {
5233    "key": "vshop",
5234    "type": "ads",
5235    "name": "vShop",
5236    "uri": "https://vshop.fr/privacy-policy",
5237    "needConsent": true,
5238    "cookies": [],
5239    "js": function () {
5240        "use strict";
5241        tarteaucitron.fallback(['vcashW'], '');
5242        tarteaucitron.addScript('//vshop.fr/js/w.js');
5243    },
5244    "fallback": function () {
5245        "use strict";
5246        var id = 'vshop';
5247        tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id));
5248    }
5249};
5250
5251// wysistat
5252tarteaucitron.services.wysistat = {
5253    "key": "wysistat",
5254    "type": "analytic",
5255    "name": "Wysistat",
5256    "uri": "https://wysistat.net/contact/",
5257    "needConsent": true,
5258    "cookies": ['Wysistat'],
5259    "js": function () {
5260        "use strict";
5261        if (tarteaucitron.user.wysistat === undefined) {
5262            return;
5263        }
5264        tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () {
5265            window.stat(tarteaucitron.user.wysistat.cli, tarteaucitron.user.wysistat.frm, tarteaucitron.user.wysistat.prm, tarteaucitron.user.wysistat.ce, tarteaucitron.user.wysistat.page, tarteaucitron.user.wysistat.roi, tarteaucitron.user.wysistat.prof, tarteaucitron.user.wysistat.cpt);
5266        });
5267    }
5268};
5269
5270// xiti
5271tarteaucitron.services.xiti = {
5272    "key": "xiti",
5273    "type": "analytic",
5274    "name": "Xiti",
5275    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
5276    "needConsent": true,
5277    "cookies": [],
5278    "js": function () {
5279        "use strict";
5280        if (tarteaucitron.user.xitiId === undefined) {
5281            return;
5282        }
5283        var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=',
5284            Xt_r,
5285            Xt_h,
5286            Xt_i,
5287            Xt_s,
5288            div = document.createElement('div');
5289        try {
5290            Xt_r = top.document.referrer;
5291        } catch (e) {
5292            Xt_r = document.referrer;
5293        }
5294        Xt_h = new Date();
5295        Xt_i = '<img style="display:none" border="0" alt="" ';
5296        Xt_i += 'src="https://logv3.xiti.com/hit.xiti?' + Xt_param;
5297        Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
5298        if (parseFloat(navigator.appVersion) >= 4) {
5299            Xt_s = screen;
5300            Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth;
5301        }
5302
5303        div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">';
5304        document.getElementsByTagName('body')[0].appendChild(div.firstChild);
5305
5306        if (typeof tarteaucitron.user.xitiMore === 'function') {
5307            tarteaucitron.user.xitiMore();
5308        }
5309    }
5310};
5311
5312// AT Internet
5313tarteaucitron.services.atinternet = {
5314    "key": "atinternet",
5315    "type": "analytic",
5316    "name": "AT Internet (privacy by design)",
5317    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
5318    "needConsent": true,
5319    "safeanalytic": false,
5320    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
5321    "js": function () {
5322        "use strict";
5323        if (tarteaucitron.user.atLibUrl === undefined) {
5324            return;
5325        }
5326
5327        if (tarteaucitron.user.atinternetAlreadyLoaded !== undefined) {
5328            return;
5329        }
5330
5331        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
5332
5333            window.tag = new ATInternet.Tracker.Tag();
5334
5335            if (typeof window.tag.privacy !== 'undefined') {
5336                window.tag.privacy.setVisitorOptin();
5337            }
5338
5339            if (typeof tarteaucitron.user.atMore === 'function') {
5340                tarteaucitron.user.atMore();
5341            }
5342
5343            if (tarteaucitron.user.atinternetSendData !== false) {
5344                window.tag.page.send();
5345            }
5346        });
5347    },
5348    "fallback": function () {
5349        "use strict";
5350        if (tarteaucitron.user.atLibUrl === undefined) {
5351            return;
5352        }
5353
5354        if (tarteaucitron.user.atNoFallback === true) {
5355            return;
5356        }
5357
5358        tarteaucitron.user.atinternetAlreadyLoaded = true;
5359
5360        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
5361
5362            window.tag = new ATInternet.Tracker.Tag();
5363
5364            if (typeof window.tag.privacy !== 'undefined') {
5365
5366                var visitorMode = window.tag.privacy.getVisitorMode();
5367                if (visitorMode !== null && visitorMode.name !== undefined && visitorMode.name == "optout") {
5368                    window.tag.privacy.setVisitorOptout();
5369                } else {
5370                    window.tag.privacy.setVisitorMode('cnil', 'exempt');
5371                }
5372            }
5373
5374            if (typeof tarteaucitron.user.atMore === 'function') {
5375                tarteaucitron.user.atMore();
5376            }
5377
5378            if (tarteaucitron.user.atinternetSendData !== false) {
5379                window.tag.page.send();
5380            }
5381        });
5382    }
5383};
5384
5385// AT Internet
5386tarteaucitron.services.atinternethightrack = {
5387    "key": "atinternethightrack",
5388    "type": "analytic",
5389    "name": "AT Internet",
5390    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
5391    "needConsent": true,
5392    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
5393    "js": function () {
5394        "use strict";
5395        if (tarteaucitron.user.atLibUrl === undefined) {
5396            return;
5397        }
5398
5399        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
5400
5401            var tag = new ATInternet.Tracker.Tag();
5402
5403            if (typeof tarteaucitron.user.atMore === 'function') {
5404                tarteaucitron.user.atMore();
5405            }
5406        })
5407    }
5408};
5409
5410// youtube
5411tarteaucitron.services.youtube = {
5412    "key": "youtube",
5413    "type": "video",
5414    "name": "YouTube",
5415    "uri": "https://policies.google.com/privacy",
5416    "needConsent": true,
5417    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF'],
5418    "js": function () {
5419        "use strict";
5420        tarteaucitron.fallback(['youtube_player'], function (x) {
5421            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe',
5422                video_id = tarteaucitron.getElemAttr(x, "videoID"),
5423                srcdoc = tarteaucitron.getElemAttr(x, "srcdoc"),
5424                loading = tarteaucitron.getElemAttr(x, "loading"),
5425                referrerpolicy = tarteaucitron.getElemAttr(x, "referrerpolicy"),
5426                video_width = tarteaucitron.getElemAttr(x, "width"),
5427                video_height = tarteaucitron.getElemAttr(x, "height"),
5428                styleAttr = "",
5429                video_frame,
5430                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
5431                start = tarteaucitron.getElemAttr(x, "start"),
5432                end = tarteaucitron.getElemAttr(x, "end"),
5433                attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "end", "loop", "enablejsapi"],
5434                params = attrs.filter(function (a) {
5435                    return tarteaucitron.getElemAttr(x, a) !== "";
5436                }).map(function (a) {
5437                    return a + "=" + tarteaucitron.getElemAttr(x, a);
5438                }).join("&");
5439
5440            if(tarteaucitron.getElemAttr(x, "loop") == 1) {
5441                params = params + "&playlist=" + video_id;
5442            }
5443
5444            if (video_id === "") {
5445                return "";
5446            }
5447            if (video_width !== "") {
5448                styleAttr += 'width:' + tarteaucitron.getStyleSize(video_width) + ';';
5449            }
5450            if (video_height !== "") {
5451                styleAttr += 'height:' + tarteaucitron.getStyleSize(video_height) + ';';
5452            }
5453
5454            if (srcdoc !== undefined && srcdoc !== null && srcdoc !== "") {
5455                srcdoc = 'srcdoc="' + srcdoc + '" ';
5456            } else {
5457                srcdoc = '';
5458            }
5459
5460            if (loading !== undefined && loading !== null && loading !== "") {
5461                loading = 'loading ';
5462            } else {
5463                loading = '';
5464            }
5465
5466            if (referrerpolicy !== undefined && referrerpolicy !== null && referrerpolicy !== "") {
5467                referrerpolicy = 'referrerpolicy="' + referrerpolicy + '" ';
5468            } else {
5469                referrerpolicy = '';
5470            }
5471
5472            video_frame = '<iframe title="' + frame_title + '" style="' + styleAttr + '" src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + ' ' + srcdoc + ' ' + referrerpolicy + ' ' + loading + '></iframe>';
5473            return video_frame;
5474        });
5475    },
5476    "fallback": function () {
5477        "use strict";
5478        var id = 'youtube';
5479        tarteaucitron.fallback(['youtube_player'], function (elem) {
5480            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
5481            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
5482            return tarteaucitron.engage(id);
5483        });
5484    }
5485};
5486
5487// youtube playlist
5488tarteaucitron.services.youtubeplaylist = {
5489    "key": "youtubeplaylist",
5490    "type": "video",
5491    "name": "YouTube (playlist)",
5492    "uri": "https://policies.google.com/privacy",
5493    "needConsent": true,
5494    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF'],
5495    "js": function () {
5496        "use strict";
5497        tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
5498            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe',
5499                playlist_id = tarteaucitron.getElemAttr(x, "playlistID"),
5500                video_width = tarteaucitron.getElemAttr(x, "width"),
5501                video_height = tarteaucitron.getElemAttr(x, "height"),
5502                styleAttr = "",
5503                video_frame,
5504                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
5505                params = 'theme=' + tarteaucitron.getElemAttr(x, "theme") + '&rel=' + tarteaucitron.getElemAttr(x, "rel") + '&controls=' + tarteaucitron.getElemAttr(x, "controls") + '&showinfo=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoplay=' + tarteaucitron.getElemAttr(x, "autoplay") + '&mute=' + tarteaucitron.getElemAttr(x, "mute");
5506
5507            if (playlist_id === "") {
5508                return "";
5509            }
5510            if (video_width !== "") {
5511                styleAttr += 'width:' + tarteaucitron.getStyleSize(video_width) + ';';
5512            }
5513            if (video_height !== "") {
5514                styleAttr += 'height:' + tarteaucitron.getStyleSize(video_height) + ';';
5515            }
5516            video_frame = '<iframe title="' + frame_title + '" style="' + styleAttr + '" src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
5517            return video_frame;
5518        });
5519    },
5520    "fallback": function () {
5521        "use strict";
5522        var id = 'youtubeplaylist';
5523        tarteaucitron.fallback(['youtube_playlist_player'], function (elem) {
5524            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
5525            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
5526            return tarteaucitron.engage(id);
5527        });
5528    }
5529};
5530
5531// zopim
5532tarteaucitron.services.zopim = {
5533    "key": "zopim",
5534    "type": "support",
5535    "name": "Zopim",
5536    "uri": "https://www.zopim.com/privacy",
5537    "needConsent": true,
5538    "cookies": ['__zlcid', '__zprivacy'],
5539    "js": function () {
5540        "use strict";
5541        if (tarteaucitron.user.zopimID === undefined) {
5542            return;
5543        }
5544        tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID);
5545    }
5546};
5547
5548// kameleoon
5549tarteaucitron.services.kameleoon = {
5550    "key": "kameleoon",
5551    "type": "analytic",
5552    "name": "Kameleoon",
5553    "uri": "https://www.kameleoon.com/fr/compliance/rgpd",
5554    "needConsent": true,
5555    "cookies": [],
5556    "js": function () {
5557        "use strict";
5558        if (tarteaucitron.user.kameleoon !== undefined) {
5559            tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js");
5560        }
5561    }
5562};
5563
5564// linkedin insight
5565tarteaucitron.services.linkedininsighttag = {
5566    "key": "linkedininsighttag",
5567    "type": "ads",
5568    "name": "Linkedin Insight",
5569    "uri": "https://www.linkedin.com/legal/cookie-policy",
5570    "needConsent": true,
5571    "cookies": ['li_fat_id'],
5572    "js": function () {
5573        "use strict";
5574        if (tarteaucitron.user.linkedininsighttag !== undefined) {
5575            window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
5576            window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag);
5577        }
5578
5579        tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js');
5580    }
5581};
5582
5583// xiti smartTag
5584tarteaucitron.services.xiti_smarttag = {
5585    "key": "xiti_smarttag",
5586    "type": "analytic",
5587    "name": "Xiti (SmartTag)",
5588    "uri": "https://www.atinternet.com/rgpd-et-vie-privee/",
5589    "needConsent": true,
5590    "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "attvtreman", "attvtsession"],
5591    "js": function () {
5592        "use strict";
5593        if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) {
5594            tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();");
5595        } else {
5596            var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId;
5597            if (xitiSmarttagId === undefined) {
5598                return;
5599            }
5600
5601            tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();");
5602        }
5603    }
5604};
5605
5606// facebook pixel
5607tarteaucitron.services.facebookpixel = {
5608    "key": "facebookpixel",
5609    "type": "ads",
5610    "name": "Facebook Pixel",
5611    "uri": "https://www.facebook.com/policy.php",
5612    "needConsent": true,
5613    "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbp'],
5614    "js": function () {
5615        "use strict";
5616
5617        if (tarteaucitron.user.facebookpixelId === undefined) {
5618            return;
5619        }
5620
5621        var n;
5622        if (window.fbq) return;
5623        n = window.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) };
5624        if (!window._fbq) window._fbq = n;
5625        n.push = n;
5626        n.loaded = !0;
5627        n.version = '2.0';
5628        n.queue = [];
5629        tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js');
5630        fbq('init', tarteaucitron.user.facebookpixelId);
5631        fbq('track', 'PageView');
5632
5633        if (typeof tarteaucitron.user.facebookpixelMore === 'function') {
5634            tarteaucitron.user.facebookpixelMore();
5635        }
5636    }
5637};
5638
5639//Issuu
5640tarteaucitron.services.issuu = {
5641    "key": "issuu",
5642    "type": "other",
5643    "name": "Issuu",
5644    "uri": "https://issuu.com/legal/privacy",
5645    "needConsent": true,
5646    "cookies": ['__qca', 'iutk', 'mc'],
5647    "js": function () {
5648        "use strict";
5649        tarteaucitron.fallback(['issuu_player'], function (x) {
5650            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Issuu iframe',
5651                issuu_id = tarteaucitron.getElemAttr(x, "issuuID"),
5652                issuu_width = tarteaucitron.getElemAttr(x, "width"),
5653                issuu_height = tarteaucitron.getElemAttr(x, "height"),
5654                styleAttr = "",
5655                issuu_frame,
5656                issuu_embed;
5657
5658            if (issuu_id === "") {
5659                return "";
5660            }
5661            if (issuu_width !== "") {
5662                styleAttr += 'width:' + tarteaucitron.getStyleSize(issuu_width) + ';';
5663            }
5664            if (issuu_height !== "") {
5665                styleAttr += 'height:' + tarteaucitron.getStyleSize(issuu_height) + ';';
5666            }
5667
5668
5669            if (issuu_id.match(/^\d+\/\d+$/)) { issuu_embed = '#' + issuu_id; } else { issuu_embed = '?' + issuu_id; }
5670
5671
5672            issuu_frame = '<iframe title="' + frame_title + '" style="' + styleAttr + '" src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>';
5673
5674            return issuu_frame;
5675        });
5676    },
5677    "fallback": function () {
5678        "use strict";
5679        var id = 'issuu';
5680        tarteaucitron.fallback(['issuu_player'], function (elem) {
5681            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
5682            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
5683            return tarteaucitron.engage(id);
5684        });
5685    }
5686};
5687
5688// webmecanik
5689tarteaucitron.services.webmecanik = {
5690    "key": "webmecanik",
5691    "type": "analytic",
5692    "name": "Webmecanik",
5693    "uri": "https://webmecanik.com/tos",
5694    "needConsent": true,
5695    "cookies": ['mtc_id', 'mtc_sid'],
5696    "js": function () {
5697        "use strict";
5698        if (tarteaucitron.user.webmecanikurl === undefined) {
5699            return;
5700        }
5701
5702        window.MauticTrackingObject = 'mt';
5703        window.mt = window.mt || function () {
5704            window.mt.q = window.mt.q || [];
5705            window.mt.q.push(arguments);
5706        };
5707
5708        tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function () {
5709            mt('send', 'pageview');
5710        });
5711    }
5712};
5713
5714// google analytics multiple
5715tarteaucitron.services.multiplegtag = {
5716    "key": "multiplegtag",
5717    "type": "analytic",
5718    "name": "Google Analytics (gtag.js)",
5719    "uri": "https://support.google.com/analytics/answer/6004245",
5720    "needConsent": true,
5721    "cookies": (function () {
5722
5723        var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
5724
5725        if (tarteaucitron.user.multiplegtagUa !== undefined) {
5726            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
5727                cookies.push('_gat_gtag_' + ua.replace(/-/g, '_'));
5728                cookies.push('_ga_' + ua.replace(/G-/g, ''));
5729            });
5730        }
5731
5732        return cookies;
5733    })(),
5734    "js": function () {
5735        "use strict";
5736        window.dataLayer = window.dataLayer || [];
5737
5738        var customDomain = "www.googletagmanager.com";
5739        if (tarteaucitron.user.multiplegtagCustomDomain !== undefined && tarteaucitron.user.multiplegtagCustomDomain !== "") {
5740            customDomain = tarteaucitron.user.multiplegtagCustomDomain;
5741        }
5742
5743        if (tarteaucitron.user.multiplegtagUa !== undefined) {
5744            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
5745                tarteaucitron.addScript('https://' + customDomain + '/gtag/js?id=' + ua, '', function () {
5746                    window.gtag = function gtag() { dataLayer.push(arguments); }
5747                    gtag('js', new Date());
5748                    var additional_config_info = (timeExpire !== undefined) ? {'anonymize_ip': true, 'cookie_expires': timeExpire / 1000} : {'anonymize_ip': true};
5749                    gtag('config', ua, additional_config_info);
5750                });
5751            });
5752        }
5753    },
5754    "fallback": function () {
5755        if (tarteaucitron.parameters.googleConsentMode === true) {
5756            if (tarteaucitron.parameters.softConsentMode === false) {
5757                this.js();
5758            }
5759        }
5760    }
5761};
5762
5763// Koban
5764tarteaucitron.services.koban = {
5765    "key": "koban",
5766    "type": "analytic",
5767    "name": "Koban",
5768    "uri": "https://koban.cloud/tos",
5769    "needConsent": true,
5770    "cookies": ['kbntrk'],
5771    "js": function () {
5772        "use strict";
5773        if (tarteaucitron.user.kobanurl === undefined) {
5774            return;
5775        }
5776        if (tarteaucitron.user.kobanapi === undefined) {
5777            return;
5778        }
5779        window.KobanObject = 'kb';
5780        window.kb = window.kb || function () {
5781            window.kb.q = window.kb.q || [];
5782            window.kb.q.push(arguments);
5783        };
5784        window.kb.l = new Date();
5785        kb('reg', tarteaucitron.user.kobanapi);
5786        tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function () {
5787        });
5788    }
5789};
5790
5791// DEPRECATED, USE MATOMO CLOUD
5792tarteaucitron.services.matomo = {
5793    "key": "matomo",
5794    "type": "analytic",
5795    "name": "Matomo (privacy by design)",
5796    "uri": "https://matomo.org/faq/general/faq_146/",
5797    "needConsent": false,
5798    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
5799    "js": function () {
5800        "use strict";
5801        if (tarteaucitron.user.matomoId === undefined) {
5802            return;
5803        }
5804
5805        window._paq = window._paq || [];
5806        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
5807        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
5808        window._paq.push(["setDoNotTrack", 1]);
5809        window._paq.push(["trackPageView"]);
5810        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
5811        window._paq.push(["enableLinkTracking"]);
5812
5813        if (typeof tarteaucitron.user.matomoMore === 'function') {
5814            tarteaucitron.user.matomoMore();
5815        }
5816
5817        window._paq.push([function () {
5818            var self = this;
5819            function getOriginalVisitorCookieTimeout() {
5820                var now = new Date(),
5821                    nowTs = Math.round(now.getTime() / 1000),
5822                    visitorInfo = self.getVisitorInfo();
5823                var createTs = parseInt(visitorInfo[2]);
5824                var cookieTimeout = 33696000; // 13 mois en secondes
5825                var originalTimeout = createTs + cookieTimeout - nowTs;
5826                return originalTimeout;
5827            }
5828            this.setVisitorCookieTimeout(getOriginalVisitorCookieTimeout());
5829        }]);
5830
5831        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
5832
5833        // waiting for piwik to be ready to check first party cookies
5834        var interval = setInterval(function () {
5835            if (typeof Piwik === 'undefined') return
5836
5837            clearInterval(interval)
5838
5839            // make piwik/matomo cookie accessible by getting tracker
5840            Piwik.getTracker();
5841
5842            // looping throught cookies
5843            var theCookies = document.cookie.split(';');
5844            for (var i = 1; i <= theCookies.length; i++) {
5845                var cookie = theCookies[i - 1].split('=');
5846                var cookieName = cookie[0].trim();
5847
5848                // if cookie starts like a piwik one, register it
5849                if (cookieName.indexOf('_pk_') === 0) {
5850                    tarteaucitron.services.matomo.cookies.push(cookieName);
5851                }
5852            }
5853        }, 100)
5854    }
5855};
5856
5857// DEPRECATED, USE MATOMO CLOUD
5858tarteaucitron.services.matomohightrack = {
5859    "key": "matomohightrack",
5860    "type": "analytic",
5861    "name": "Matomo",
5862    "uri": "https://matomo.org/faq/general/faq_146/",
5863    "needConsent": false,
5864    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
5865    "js": function () {
5866        "use strict";
5867        if (tarteaucitron.user.matomoId === undefined) {
5868            return;
5869        }
5870
5871        window._paq = window._paq || [];
5872        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
5873        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
5874        window._paq.push(["trackPageView"]);
5875        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
5876        window._paq.push(["enableLinkTracking"]);
5877        window._paq.push([function () {
5878            var self = this;
5879        }]);
5880
5881        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
5882
5883        // waiting for piwik to be ready to check first party cookies
5884        var interval = setInterval(function () {
5885            if (typeof Piwik === 'undefined') return
5886
5887            clearInterval(interval)
5888            Piwik.getTracker();
5889
5890            var theCookies = document.cookie.split(';');
5891            for (var i = 1; i <= theCookies.length; i++) {
5892                var cookie = theCookies[i - 1].split('=');
5893                var cookieName = cookie[0].trim();
5894
5895                if (cookieName.indexOf('_pk_') === 0) {
5896                    tarteaucitron.services.matomo.cookies.push(cookieName);
5897                }
5898            }
5899        }, 100)
5900    }
5901};
5902
5903// matomocloud
5904tarteaucitron.services.matomocloud = {
5905    "key": "matomocloud",
5906    "type": "analytic",
5907    "name": "Matomo Cloud (privacy by design)",
5908    "uri": "https://matomo.org/guide/manage-matomo/privacy/",
5909    "needConsent": true,
5910    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'mtm_consent', 'matomo_ignore', 'matomo_sessid'],
5911    "js": function () {
5912        "use strict";
5913        if (tarteaucitron.user.matomoId === undefined) {
5914            return;
5915        }
5916
5917        window._paq = window._paq || [];
5918
5919        if (tarteaucitron.user.matomoFullTracking === true) {
5920            window._paq.push(["requireCookieConsent"]);
5921            window._paq.push(["setCookieConsentGiven"]);
5922            window._paq.push(["trackAllContentImpressions"]);
5923        } else {
5924            window._paq.push(["requireConsent"]);
5925            window._paq.push(["setConsentGiven"]);
5926        }
5927
5928        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
5929        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
5930        window._paq.push(["enableLinkTracking"]);
5931
5932        if (tarteaucitron.user.matomoDontTrackPageView !== true) {
5933            window._paq.push(["trackPageView"]);
5934        }
5935
5936        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
5937            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
5938        } else {
5939            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
5940        }
5941
5942        if (typeof tarteaucitron.user.matomocloudMore === 'function') {
5943            tarteaucitron.user.matomocloudMore();
5944        }
5945
5946        // waiting for Matomo to be ready to check first party cookies
5947        var interval = setInterval(function () {
5948            if (typeof Matomo === 'undefined') return
5949
5950            clearInterval(interval)
5951
5952            // make Matomo cookie accessible by getting tracker
5953            Matomo.getTracker();
5954
5955            // looping through cookies
5956            var theCookies = document.cookie.split(';');
5957            for (var i = 1; i <= theCookies.length; i++) {
5958                var cookie = theCookies[i - 1].split('=');
5959                var cookieName = cookie[0].trim();
5960
5961                // if cookie starts like a matomo one, register it
5962                if (cookieName.indexOf('_pk_') === 0) {
5963                    tarteaucitron.services.matomo.cookies.push(cookieName);
5964                }
5965            }
5966        }, 100);
5967    },
5968    "fallback": function () {
5969        "use strict";
5970        if (tarteaucitron.user.matomoId === undefined) {
5971            return;
5972        }
5973
5974        window._paq = window._paq || [];
5975        if (tarteaucitron.user.matomoFullTracking === true) {
5976            window._paq.push(["requireCookieConsent"]);
5977        } else {
5978            window._paq.push(["requireConsent"]);
5979        }
5980        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
5981        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
5982        window._paq.push(["trackPageView"]);
5983        window._paq.push(["enableLinkTracking"]);
5984
5985        if (typeof tarteaucitron.user.matomocloudMore === 'function') {
5986            tarteaucitron.user.matomocloudMore();
5987        }
5988
5989        if (tarteaucitron.user.matomoCustomJSPath === undefined || tarteaucitron.user.matomoCustomJSPath == '') {
5990            tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
5991        } else {
5992            tarteaucitron.addScript(tarteaucitron.user.matomoCustomJSPath, '', '', true, 'defer', true);
5993        }
5994    }
5995};
5996
5997// matomotm
5998tarteaucitron.services.matomotm = {
5999    "key": "matomotm",
6000    "type": "api",
6001    "name": "Matomo Tag Manager",
6002    "uri": "https://matomo.org/privacy/",
6003    "needConsent": true,
6004    "cookies": ['_pk.id', '_pk.sess'],
6005    "js": function () {
6006        "use strict";
6007        if (tarteaucitron.user.matomotmUrl === undefined) {
6008            return;
6009        }
6010
6011        var _mtm = window._mtm = window._mtm || [];
6012        _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
6013
6014        tarteaucitron.addScript(tarteaucitron.user.matomotmUrl);
6015    },
6016    "fallback": function () {
6017        "use strict";
6018        if (tarteaucitron.user.matomotmUrl === undefined) {
6019            return;
6020        }
6021
6022        if (tarteaucitron.parameters.softConsentMode === true) {
6023            return;
6024        }
6025
6026        var _mtm = window._mtm = window._mtm || [];
6027        _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
6028
6029        var _paq = window._paq = window._paq || [];
6030        _paq.push(['forgetCookieConsentGiven']);
6031        _paq.push(['deleteCookies']);
6032
6033        tarteaucitron.addScript(tarteaucitron.user.matomotmUrl);
6034
6035        var theCookies = document.cookie.split(';');
6036        for (var i = 1; i <= theCookies.length; i++) {
6037            var cookie = theCookies[i - 1].split('=');
6038            var cookieName = cookie[0].trim();
6039
6040            // if cookie starts like a matomo one, register it
6041            if (cookieName.indexOf('_pk_') === 0) {
6042                tarteaucitron.services.matomotm.cookies.push(cookieName);
6043            }
6044        }
6045        tarteaucitron.cookie.purge(tarteaucitron.services.matomotm.cookies);
6046    }
6047};
6048
6049
6050// Hotjar
6051tarteaucitron.services.hotjar = {
6052    "key": "hotjar",
6053    "type": "analytic",
6054    "name": "Hotjar",
6055    "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar",
6056    "needConsent": true,
6057    "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjid"],
6058    "js": function () {
6059        "use strict";
6060        if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) {
6061            return;
6062        }
6063        window.hj = window.hj || function () {
6064            (window.hj.q = window.hj.q || []).push(arguments)
6065        };
6066        window._hjSettings = {
6067            hjid: tarteaucitron.user.hotjarId,
6068            hjsv: tarteaucitron.user.HotjarSv
6069        };
6070        var uri = 'https://static.hotjar.com/c/hotjar-';
6071        var extension = '.js?sv=';
6072        tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv);
6073    }
6074};
6075
6076// bing ads universal event tracking
6077tarteaucitron.services.bingads = {
6078    'key': 'bingads',
6079    'type': 'ads',
6080    'name': 'Bing Ads Universal Event Tracking',
6081    'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads',
6082    'needConsent': true,
6083    'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'],
6084    'js': function () {
6085        'use strict';
6086
6087        if (tarteaucitron.user.bingadsID === undefined) {
6088            return;
6089        }
6090
6091        window.uetq = window.uetq || [];
6092
6093        tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () {
6094            var bingadsCreate = { ti: tarteaucitron.user.bingadsID };
6095
6096            if ('bingadsStoreCookies' in tarteaucitron.user) {
6097                bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies;
6098            }
6099
6100            bingadsCreate.q = window.uetq;
6101            window.uetq = new UET(bingadsCreate);
6102            window.uetq.push('pageLoad');
6103
6104            if (typeof tarteaucitron.user.bingadsMore === 'function') {
6105                tarteaucitron.user.bingadsMore();
6106            }
6107        });
6108    },
6109    "fallback": function () {
6110        if (tarteaucitron.parameters.bingConsentMode === true) {
6111            if (tarteaucitron.parameters.softConsentMode === false) {
6112                this.js();
6113            }
6114        }
6115    }
6116};
6117
6118//Matterport
6119tarteaucitron.services.matterport = {
6120    "key": "matterport",
6121    "type": "other",
6122    "name": "Matterport",
6123    "uri": "https://matterport.com/es/legal/privacy-policy/",
6124    "needConsent": true,
6125    "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'],
6126    "js": function () {
6127        "use strict";
6128        tarteaucitron.fallback(['matterport'], function (x) {
6129            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Matterport iframe',
6130                matterport_id = tarteaucitron.getElemAttr(x, "matterportID"),
6131                matterport_width = tarteaucitron.getElemAttr(x, "width"),
6132                matterport_height = tarteaucitron.getElemAttr(x, "height"),
6133                styleAttr = "",
6134                matterport_parameters = tarteaucitron.getElemAttr(x, "parameters"),
6135                matterport_allowfullscreen = tarteaucitron.getElemAttr(x, 'allowfullscreen'),
6136                matterport_frame;
6137
6138            if (matterport_id === "") {
6139                return "";
6140            }
6141            if (matterport_width !== "") {
6142                styleAttr += 'width:' + tarteaucitron.getStyleSize(matterport_width) + ';';
6143            }
6144            if (matterport_height !== undefined) {
6145                styleAttr += 'height:' + tarteaucitron.getStyleSize(matterport_height) + ';';
6146            }
6147            if (matterport_parameters === "") {
6148                return "";
6149            }
6150
6151            matterport_frame = '<iframe title="' + frame_title + '" style="' + styleAttr + '" src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '"' + (matterport_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
6152            return matterport_frame;
6153        });
6154    },
6155    "fallback": function () {
6156        "use strict";
6157        var id = 'matterport';
6158        tarteaucitron.fallback(['matterport'], function (elem) {
6159            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
6160            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
6161            return tarteaucitron.engage(id);
6162        });
6163    }
6164};
6165
6166// Adform
6167tarteaucitron.services.adform = {
6168    "key": "adform",
6169    "type": "ads",
6170    "name": "Adform",
6171    "uri": "https://site.adform.com/privacy-center/overview/",
6172    "needConsent": true,
6173    "cookies": [],
6174    "js": function () {
6175        "use strict";
6176
6177        if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) {
6178            return;
6179        }
6180
6181        window._adftrack = {
6182            pm: tarteaucitron.user.adformpm,
6183            divider: encodeURIComponent('|'),
6184            pagename: encodeURIComponent(tarteaucitron.user.adformpagename)
6185        };
6186
6187        tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/");
6188    }
6189};
6190
6191// Active Campaign
6192tarteaucitron.services.activecampaign = {
6193    "key": "activecampaign",
6194    "type": "ads",
6195    "name": "Active Campaign",
6196    "uri": "https://www.activecampaign.com/privacy-policy/",
6197    "needConsent": true,
6198    "cookies": [],
6199    "js": function () {
6200        "use strict";
6201        if (tarteaucitron.user.actid === undefined) {
6202            return;
6203        }
6204
6205        window.trackcmp_email = '';
6206
6207        tarteaucitron.addScript('https://trackcmp.net/visit?actid=' + tarteaucitron.user.actid + '&e=' + encodeURIComponent(trackcmp_email) + '&r=' + encodeURIComponent(document.referrer) + '&u=' + encodeURIComponent(window.location.href));
6208    }
6209};
6210
6211// tawk.to
6212tarteaucitron.services.tawkto = {
6213    "key": "tawkto",
6214    "type": "support",
6215    "name": "Tawk.to chat",
6216    "uri": "https://www.tawk.to/data-protection/",
6217    "needConsent": true,
6218    "cookies": [],
6219    "js": function () {
6220        "use strict";
6221        if (tarteaucitron.user.tawktoId === undefined) {
6222            return;
6223        }
6224
6225        tarteaucitron.user.tawktoWidgetId = tarteaucitron.user.tawktoWidgetId || 'default';
6226
6227        window.Tawk_API = window.Tawk_API || {};
6228        window.Tawk_LoadStart = new Date();
6229
6230        tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/' + tarteaucitron.user.tawktoWidgetId);
6231    }
6232
6233};
6234
6235// getquanty
6236tarteaucitron.services.getquanty = {
6237    "key": "getquanty",
6238    "type": "analytic",
6239    "name": "GetQuanty",
6240    "uri": "https://www.getquanty.com/mentions-legales/",
6241    "needConsent": true,
6242    "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid', 'cluid', 'eqy_company', 'cluid', 'gq_utm', '_jsuid'],
6243    "js": function () {
6244        "use strict";
6245        if (tarteaucitron.user.getguanty === undefined) {
6246            return;
6247        }
6248
6249        if (tarteaucitron.user.getquantyAlreadyLoaded !== undefined) {
6250            return;
6251        }
6252
6253        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&consent=1');
6254    },
6255    "fallback": function () {
6256        "use strict";
6257        if (tarteaucitron.user.getguanty === undefined) {
6258            return;
6259        }
6260
6261        tarteaucitron.user.getquantyAlreadyLoaded = true;
6262
6263        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&notrack=1');
6264    }
6265};
6266
6267// emolytics
6268tarteaucitron.services.emolytics = {
6269    "key": "emolytics",
6270    "type": "analytic",
6271    "name": "Emolytics",
6272    "uri": "https://www.emolytics.com/main/privacy-policy.php",
6273    "needConsent": true,
6274    "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'],
6275    "js": function () {
6276        "use strict";
6277        if (tarteaucitron.user.emolyticsID === undefined) {
6278            return;
6279        }
6280        var scriptEmolytics = document.createElement('script');
6281        scriptEmolytics.text = 'var getsmily_id="' + tarteaucitron.user.emolyticsID + '";';
6282        document.getElementsByTagName('body')[0].appendChild(scriptEmolytics);
6283        tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js')
6284    }
6285};
6286
6287// youtubeapi
6288tarteaucitron.services.youtubeapi = {
6289    "key": "youtubeapi",
6290    "type": "video",
6291    "name": "Youtube (Js API)",
6292    "uri": "https://policies.google.com/privacy",
6293    "needConsent": true,
6294    "cookies": [],
6295    "js": function () {
6296        "use strict";
6297        tarteaucitron.addScript('https://www.youtube.com/player_api');
6298    }
6299};
6300
6301// Facil'ITI
6302tarteaucitron.services.faciliti = {
6303    "key": "faciliti",
6304    "type": "other",
6305    "name": "Facil'ITI",
6306    "uri": "https://www.facil-iti.com/legal-terms/",
6307    "needConsent": true,
6308    "cookies": ['FACIL_ITI'],
6309    "js": function () {
6310        "use strict";
6311        if (tarteaucitron.user.facilitiID === undefined) {
6312            return;
6313        }
6314
6315        (function () {
6316            var fs = document.createElement("script");
6317            fs.setAttribute("src", "https://cdn.facil-iti.app/tags/faciliti-tag.min.js");
6318            fs.dataset.applicationIdentifier = tarteaucitron.user.facilitiID;
6319            document.head.appendChild(fs);
6320        }());
6321    }
6322};
6323
6324// userlike
6325tarteaucitron.services.userlike = {
6326    "key": "userlike",
6327    "type": "support",
6328    "name": "Userlike",
6329    "uri": "https://www.userlike.com/en/terms#privacy-policy",
6330    "needConsent": true,
6331    "cookies": ['uslk_s', 'uslk_e'],
6332    "js": function () {
6333        "use strict";
6334        if (tarteaucitron.user.userlikeKey === undefined) {
6335            return;
6336        }
6337        tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey);
6338    }
6339};
6340
6341// adobeanalytics
6342tarteaucitron.services.adobeanalytics = {
6343    "key": "adobeanalytics",
6344    "type": "analytic",
6345    "name": "Adobe Analytics",
6346    "uri": "https://www.adobe.com/privacy/policy.html",
6347    "needConsent": true,
6348    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
6349    "js": function () {
6350        "use strict";
6351        if (tarteaucitron.user.adobeanalyticskey === undefined) {
6352            return;
6353        }
6354        tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js');
6355    }
6356};
6357
6358// woopra customer journey analytics
6359tarteaucitron.services.woopra = {
6360    'key': 'woopra',
6361    'type': 'analytic',
6362    'name': 'Woopra Customer Journey Analytics',
6363    'uri': 'https://www.woopra.com/privacy',
6364    'needConsent': true,
6365    'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'],
6366    'js': function () {
6367        'use strict';
6368
6369        if (tarteaucitron.user.woopraDomain === undefined) {
6370            return;
6371        }
6372
6373        (function () {
6374            var t, i, e, n = window, o = document, a = arguments, s = "script", r = ["config", "track", "identify", "visit", "push", "call", "trackForm", "trackClick"], c = function () { var t, i = this; for (i._e = [], t = 0; r.length > t; t++)(function (t) { i[t] = function () { return i._e.push([t].concat(Array.prototype.slice.call(arguments, 0))), i } })(r[t]) }; for (n._w = n._w || {}, t = 0; a.length > t; t++)n._w[a[t]] = n[a[t]] = n[a[t]] || new c; i = o.createElement(s), i.async = 1, i.src = "//static.woopra.com/js/w.js", e = o.getElementsByTagName(s)[0], e.parentNode.insertBefore(i, e)
6375        })("woopra");
6376
6377        woopra.config({
6378            domain: tarteaucitron.user.woopraDomain
6379        });
6380        woopra.track();
6381    }
6382};
6383
6384// ausha
6385tarteaucitron.services.ausha = {
6386    key: "ausha",
6387    type: "video",
6388    name: "Ausha",
6389    uri: "https://www.ausha.co/protection-personal-data/",
6390    needConsent: true,
6391    cookies: [],
6392    js: function () {
6393        "use strict";
6394        tarteaucitron.fallback(['ausha_player'], function (x) {
6395            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Ausha iframe',
6396                player_height = tarteaucitron.getElemAttr(x, 'data-height'),
6397                podcast_id = tarteaucitron.getElemAttr(x, 'data-podcast-id'),
6398                player_id = tarteaucitron.getElemAttr(x, 'data-player-id'),
6399                playlist = tarteaucitron.getElemAttr(x, 'data-playlist'),
6400                useshowid = tarteaucitron.getElemAttr(x, 'data-useshowid'),
6401                color = tarteaucitron.getElemAttr(x, 'data-color');
6402
6403            if (podcast_id === "") {
6404                return "";
6405            }
6406
6407            var src = 'https://player.ausha.co/index.html?podcastId=' + podcast_id + '&v=3';
6408
6409            if (useshowid == "1") {
6410                src = 'https://player.ausha.co/index.html?showId=' + podcast_id + '&v=3';
6411            }
6412
6413            if (playlist && playlist.length > 0) src += '&playlist=' + playlist;
6414            if (color && color.length > 0) src += '&color=' + color.replace('#', '%23');
6415            if (player_id && player_id.length > 0) src += '&playerId=' + player_id;
6416
6417            return '<iframe title="' + frame_title + '" id="' + player_id + '" loading="lazy" style="width:100%;height:' + tarteaucitron.getStyleSize(player_height) + ';" src="' + src + '"></iframe>';
6418        });
6419
6420        tarteaucitron.addScript('//player.ausha.co/ausha-player.js', 'ausha-player');
6421    },
6422    fallback: function () {
6423        "use strict";
6424        tarteaucitron.fallback(['ausha_player'], function (elem) {
6425            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-height'));
6426            return tarteaucitron.engage('ausha');
6427        });
6428    }
6429};
6430
6431// visiblee
6432tarteaucitron.services.visiblee = {
6433    key: "visiblee",
6434    type: "analytic",
6435    name: "Visiblee",
6436    uri: "https://confidentiality.visiblee.io/fr/confidentialite",
6437    needConsent: true,
6438    cookies: ["visitor_v2", tarteaucitron.user.visibleedomain, "check", "campaign_ref_" + tarteaucitron.user.visibleedomain, "reload_" + tarteaucitron.user.visibleedomain],
6439    js: function () {
6440        "use strict";
6441
6442        if (tarteaucitron.user.visibleeclientid === undefined) {
6443            return;
6444        }
6445        tarteaucitron.addScript('//www.link-page.info/tracking_' + tarteaucitron.user.visibleeclientid + '.js', 'visiblee');
6446    }
6447};
6448
6449// bandcamp
6450tarteaucitron.services.bandcamp = {
6451    key: "bandcamp",
6452    type: "video",
6453    name: "Bandcamp",
6454    uri: "https://bandcamp.com",
6455    readmoreLink: "https://bandcamp.com/privacy",
6456    needConsent: true,
6457    cookies: ['client_id', 'BACKENDID', '_comm_playlist'],
6458    js: function () {
6459        "use strict";
6460        tarteaucitron.fallback(['bandcamp_player'], function (x) {
6461            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Bandcamp iframe',
6462                album_id = tarteaucitron.getElemAttr(x, "albumID"),
6463                bandcamp_width = tarteaucitron.getElemAttr(x, "width"),
6464                bandcamp_height = tarteaucitron.getElemAttr(x, "height"),
6465                styleAttr = "",
6466                attrs = ["size", "bgcol", "linkcol", "artwork", "minimal", "tracklist", "package", "transparent"],
6467                params = attrs.filter(function (a) {
6468                    return tarteaucitron.getElemAttr(x, a) !== "";
6469                }).map(function (a) {
6470                    if (a && a.length > 0) return a + "=" + tarteaucitron.getElemAttr(x, a);
6471                }).join("/");
6472
6473            if (album_id === "") {
6474                return "";
6475            }
6476
6477            if (bandcamp_width !== "") {
6478                styleAttr += 'width:' + tarteaucitron.getStyleSize(bandcamp_width) + ';';
6479            }
6480            if (bandcamp_height !== "") {
6481                styleAttr += 'height:' + tarteaucitron.getStyleSize(bandcamp_height) + ';';
6482            }
6483
6484            var src = 'https://bandcamp.com/EmbeddedPlayer/album=' + album_id + '/' + params;
6485
6486            return '<iframe title="' + frame_title + '" src="' + src + '" style="' + styleAttr + '" allowfullscreen seamless></iframe>';
6487        });
6488    },
6489    fallback: function () {
6490        "use strict";
6491        tarteaucitron.fallback(['bandcamp_player'], function (elem) {
6492            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
6493            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
6494            return tarteaucitron.engage('bandcamp');
6495        });
6496    }
6497};
6498
6499// Discord Widget
6500tarteaucitron.services.discord = {
6501    "key": "discord",
6502    "type": "social",
6503    "name": "Discord (Server Widget)",
6504    "needConsent": true,
6505    "cookies": ["__cfruid", "__dcfduid", "_ga", "_gcl_au", "OptanonConsent", "locale", "_gid"],
6506    "uri": "https://discord.com/privacy",
6507    "js": function () {
6508        "use strict";
6509        tarteaucitron.fallback(['discord_widget'], function (x) {
6510            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Discord iframe',
6511                id = tarteaucitron.getElemAttr(x, "guildID"),
6512                width = tarteaucitron.getElemAttr(x, "width"),
6513                height = tarteaucitron.getElemAttr(x, "height")
6514            var widgetURL = "https://discord.com/widget?id=" + id;
6515
6516            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6517
6518            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"" + widgetURL + "\"></iframe>";
6519        });
6520    },
6521    "fallback": function () {
6522        "use strict";
6523        var id = 'discord';
6524        tarteaucitron.fallback(['discord_widget'], function (elem) {
6525            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
6526            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
6527            return tarteaucitron.engage(id);
6528        });
6529    }
6530};
6531
6532// Google Maps
6533tarteaucitron.services.maps_noapi = {
6534    "key": "maps_noapi",
6535    "type": "other",
6536    "name": "Google Maps",
6537    "needConsent": true,
6538    "cookies": ["NID", "OGPC", "1P_JAR", "CONSENT"],
6539    "uri": "https://policies.google.com/privacy",
6540    "js": function () {
6541        "use strict";
6542        tarteaucitron.fallback(['googlemaps_embed'], function (x) {
6543            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google maps iframe',
6544                id = tarteaucitron.getElemAttr(x, "id"),
6545                width = tarteaucitron.getElemAttr(x, "width"),
6546                height = tarteaucitron.getElemAttr(x, "height")
6547            var widgetURL = "https://www.google.com/maps/embed?pb=" + id;
6548
6549            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6550
6551            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "border:0;\" src=\"" + widgetURL + "\" allowfullscreen loading=\"lazy\"></iframe>";
6552        });
6553    },
6554    "fallback": function () {
6555        "use strict";
6556        var id = 'maps_noapi';
6557        tarteaucitron.fallback(['googlemaps_embed'], function (elem) {
6558            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
6559            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
6560            return tarteaucitron.engage(id);
6561        });
6562    }
6563};
6564
6565// hCaptcha
6566tarteaucitron.services.hcaptcha = {
6567    "key": "hcaptcha",
6568    "type": "other",
6569    "name": "hCaptcha",
6570    "needConsent": true,
6571    "cookies": [],
6572    "uri": "https://www.hcaptcha.com/privacy",
6573    "js": function () {
6574        "use strict";
6575        tarteaucitron.fallback(["h-captcha"], '');
6576        tarteaucitron.addScript("https://hcaptcha.com/1/api.js", "hcaptcha")
6577    },
6578    "fallback": function () {
6579        "use strict";
6580        var id = "hcaptcha";
6581        tarteaucitron.fallback(["h-captcha"], tarteaucitron.engage(id));
6582    }
6583};
6584
6585// France Culture
6586tarteaucitron.services.fculture = {
6587    "key": "fculture",
6588    "type": "video",
6589    "name": "France Culture",
6590    "needConsent": true,
6591    "cookies": ["_gid", "didomi_token", "outbrain_cid_fetch", "xtvrn", "xtant", "YSC", "ABTasty", "xtan", "ABTastySession", "xtidc", "_ga", "VISITOR_INFO1_LIVE", "euconsent-v2", "v1st", "dmvk", "ts", "VISITOR_INFO1_LIVE", "YSC"],
6592    "uri": "https://www.radiofrance.com/politique-d-utilisation-des-cookies-sur-les-sites-internet-du-groupe-radio-france",
6593    "js": function () {
6594        "use strict";
6595        tarteaucitron.fallback(['fculture_embed'], function (x) {
6596            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'France culture iframe',
6597                id = tarteaucitron.getElemAttr(x, 'id'),
6598                width = tarteaucitron.getElemAttr(x, 'width'),
6599                height = tarteaucitron.getElemAttr(x, 'height');
6600
6601            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6602
6603            return "<iframe title=\"" + frame_title + "\" src=\"https://www.franceculture.fr/player/export-reecouter?content=" + id + "\" style=\"" + styleAttr + "\"></iframe>"
6604        });
6605    },
6606    "fallback": function () {
6607        "use strict";
6608        var id = "fculture";
6609        tarteaucitron.fallback(["fculture_embed"], tarteaucitron.engage(id));
6610    }
6611};
6612
6613// Acast
6614tarteaucitron.services.acast = {
6615    "key": "acast",
6616    "type": "video",
6617    "name": "Acast",
6618    "needConsent": true,
6619    "cookies": ["intercom-id-ayi0335i", "intercom-session-ayi0335i"],
6620    "uri": "https://www.acast.com/en/privacy",
6621    "js": function () {
6622        "use strict";
6623        tarteaucitron.fallback(['acast_embed'], function (x) {
6624            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Acast iframe',
6625                id = tarteaucitron.getElemAttr(x, 'id1'),
6626                id2 = tarteaucitron.getElemAttr(x, 'id2'),
6627                width = tarteaucitron.getElemAttr(x, 'width'),
6628                height = tarteaucitron.getElemAttr(x, 'height'),
6629                seek = tarteaucitron.getElemAttr(x, 'seek');
6630            var widgetURL = "https://embed.acast.com/" + id + "/" + id2 + "?seek=" + seek;
6631
6632            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6633
6634            return "<iframe title=\"" + frame_title + "\" src=\"" + widgetURL + "\" style=\"border: none; overflow: hidden;" + styleAttr + "\"></iframe>";
6635        });
6636    },
6637    "fallback": function () {
6638        "use strict";
6639        var id = "acast";
6640        tarteaucitron.fallback(["acast_embed"], tarteaucitron.engage(id));
6641    }
6642};
6643
6644// Mixcloud
6645tarteaucitron.services.mixcloud = {
6646    "key": "mixcloud",
6647    "type": "video",
6648    "name": "Mixcloud",
6649    "needConsent": true,
6650    "cookies": ["UID", "_gat", "__stripe_mid", "_gid", "_ga", "c", "csrftoken", "__stripe_sid", "mx_t"],
6651    "uri": "https://www.mixcloud.com/privacy/",
6652    "js": function () {
6653        "use strict";
6654        tarteaucitron.fallback(['mixcloud_embed'], function (x) {
6655            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Mixcloud iframe',
6656                id = tarteaucitron.getElemAttr(x, 'id'),
6657                hidecover = tarteaucitron.getElemAttr(x, 'hidecover'),
6658                mini = tarteaucitron.getElemAttr(x, 'mini'),
6659                light = tarteaucitron.getElemAttr(x, 'light'),
6660                width = tarteaucitron.getElemAttr(x, 'width'),
6661                height = tarteaucitron.getElemAttr(x, 'height');
6662
6663            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6664
6665            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"https://www.mixcloud.com/widget/iframe/?hide_cover=" + hidecover + "&mini=" + mini + "&light=" + light + "&feed=" + id + "\"></iframe>";
6666        });
6667    },
6668    "fallback": function () {
6669        "use strict";
6670        var id = "mixcloud";
6671        tarteaucitron.fallback(["mixcloud_embed"], tarteaucitron.engage(id));
6672    }
6673};
6674
6675// Google Agenda
6676tarteaucitron.services.gagenda = {
6677    "key": "gagenda",
6678    "type": "other",
6679    "name": "Google Agenda",
6680    "needConsent": true,
6681    "cookies": ["CONSENT", "NID"],
6682    "uri": "https://policies.google.com/privacy",
6683    "js": function () {
6684        "use strict";
6685        tarteaucitron.fallback(['gagenda_embed'], function (x) {
6686            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google agenda iframe',
6687                calendar_data = tarteaucitron.getElemAttr(x, 'data'),
6688                width = tarteaucitron.getElemAttr(x, 'width'),
6689                height = tarteaucitron.getElemAttr(x, 'height');
6690
6691            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6692
6693            return "<iframe title=\"" + frame_title + "\" loading=\"lazy\" style=\"" + styleAttr + "border-width:0\" src=\"https://www.google.com/calendar/embed?" + calendar_data + "\"></iframe>";
6694        });
6695    },
6696    "fallback": function () {
6697        "use strict";
6698        var id = "gagenda";
6699        tarteaucitron.fallback(["gagenda_embed"], tarteaucitron.engage(id));
6700    }
6701};
6702
6703// Google Docs
6704tarteaucitron.services.gdocs = {
6705    "key": "gdocs",
6706    "type": "other",
6707    "name": "Google Docs",
6708    "needConsent": true,
6709    "cookies": ["CONSENT", "NID"],
6710    "uri": "https://policies.google.com/privacy",
6711    "js": function () {
6712        "use strict";
6713        tarteaucitron.fallback(['gdocs_embed'], function (x) {
6714            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google docs iframe',
6715                id = tarteaucitron.getElemAttr(x, 'id'),
6716                width = tarteaucitron.getElemAttr(x, 'width'),
6717                height = tarteaucitron.getElemAttr(x, 'height');
6718
6719            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6720
6721            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"https://docs.google.com/document/d/e/" + id + "/pub?embedded=true\"></iframe>";
6722        });
6723    },
6724    "fallback": function () {
6725        "use strict";
6726        var id = "gdocs";
6727        tarteaucitron.fallback(["gdocs_embed"], tarteaucitron.engage(id));
6728    }
6729};
6730
6731// Google Sheets
6732tarteaucitron.services.gsheets = {
6733    "key": "gsheets",
6734    "type": "other",
6735    "name": "Google Sheets",
6736    "needConsent": true,
6737    "cookies": ["CONSENT", "NID"],
6738    "uri": "https://policies.google.com/privacy",
6739    "js": function () {
6740        "use strict";
6741        tarteaucitron.fallback(['gsheets_embed'], function (x) {
6742            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google sheets iframe',
6743                id = tarteaucitron.getElemAttr(x, 'id'),
6744                width = tarteaucitron.getElemAttr(x, 'width'),
6745                height = tarteaucitron.getElemAttr(x, 'height'),
6746                headers = tarteaucitron.getElemAttr(x, 'headers');
6747
6748            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6749
6750            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"https://docs.google.com/spreadsheets/d/e/" + id + "/pubhtml?widget=true&amp;headers=" + headers + "\"></iframe>";
6751        });
6752    },
6753    "fallback": function () {
6754        "use strict";
6755        var id = "gsheets";
6756        tarteaucitron.fallback(["gsheets_embed"], tarteaucitron.engage(id));
6757    }
6758};
6759
6760// Google Slides
6761tarteaucitron.services.gslides = {
6762    "key": "gslides",
6763    "type": "other",
6764    "name": "Google Slides",
6765    "needConsent": true,
6766    "cookies": ["CONSENT", "NID"],
6767    "uri": "https://policies.google.com/privacy",
6768    "js": function () {
6769        "use strict";
6770        tarteaucitron.fallback(['gslides_embed'], function (x) {
6771            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google slides iframe',
6772                id = tarteaucitron.getElemAttr(x, 'id'),
6773                width = tarteaucitron.getElemAttr(x, 'width'),
6774                height = tarteaucitron.getElemAttr(x, 'height'),
6775                autostart = tarteaucitron.getElemAttr(x, 'autostart'),
6776                loop = tarteaucitron.getElemAttr(x, 'loop'),
6777                delay = tarteaucitron.getElemAttr(x, 'delay');
6778
6779            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6780
6781            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"https://docs.google.com/presentation/d/e/" + id + "/embed?start=" + autostart + "&loop=" + loop + "&delayms=" + delay + "\" allowfullscreen mozallowfullscreen webkitallowfullscreen></iframe>";
6782        });
6783    },
6784    "fallback": function () {
6785        "use strict";
6786        var id = "gslides";
6787        tarteaucitron.fallback(["gslides_embed"], tarteaucitron.engage(id));
6788    }
6789};
6790
6791// Google Forms
6792tarteaucitron.services.gforms = {
6793    "key": "gforms",
6794    "type": "other",
6795    "name": "Google Forms",
6796    "needConsent": true,
6797    "cookies": ["CONSENT", "NID"],
6798    "uri": "https://policies.google.com/privacy",
6799    "js": function () {
6800        "use strict";
6801        tarteaucitron.fallback(['gforms_embed'], function (x) {
6802            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Google forms iframe',
6803                id = tarteaucitron.getElemAttr(x, 'id'),
6804                width = tarteaucitron.getElemAttr(x, 'width'),
6805                height = tarteaucitron.getElemAttr(x, 'height');
6806
6807            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6808
6809            return "<iframe title=\"" + frame_title + "\" style=\"" + styleAttr + "\" src=\"https://docs.google.com/forms/d/e/" + id + "/viewform?embedded=true\"></iframe>";
6810        });
6811    },
6812    "fallback": function () {
6813        "use strict";
6814        var id = "gforms";
6815        tarteaucitron.fallback(['gforms_embed'], tarteaucitron.engage(id));
6816    }
6817};
6818
6819// Google Optimize
6820tarteaucitron.services.goptimize = {
6821    "key": "goptimize",
6822    "type": "other",
6823    "name": "Google Optimize",
6824    "needConsent": true,
6825    "cookies": ["CONSENT", "NID"],
6826    "uri": "https://policies.google.com/privacy",
6827    "js": function () {
6828        "use strict";
6829
6830        if (tarteaucitron.user.goptimize === undefined) {
6831            return;
6832        }
6833
6834        tarteaucitron.addScript('https://www.googleoptimize.com/optimize.js?id=' + tarteaucitron.user.goptimize);
6835    }
6836};
6837
6838// Marketo munchkin
6839tarteaucitron.services.marketomunchkin = {
6840    "key": "marketomunchkin",
6841    "type": "api",
6842    "name": "Marketo munchkin",
6843    "uri": "https://documents.marketo.com/legal/cookies",
6844    "needConsent": true,
6845    "cookies": ['OptAnon', '_mkto_trk'],
6846    "js": function () {
6847        "use strict";
6848        if (tarteaucitron.user.marketomunchkinkey === undefined) {
6849            return;
6850        }
6851        var didInit = false;
6852        function initMunchkin() {
6853            if (didInit === false) {
6854                didInit = true;
6855                Munchkin.init(tarteaucitron.user.marketomunchkinkey);
6856            }
6857        }
6858        var s = document.createElement('script');
6859        s.type = 'text/javascript';
6860        s.async = true;
6861        s.src = '//munchkin.marketo.net/munchkin.js';
6862        s.onreadystatechange = function () {
6863            if (this.readyState == 'complete' || this.readyState == 'loaded') {
6864                initMunchkin();
6865            }
6866        };
6867        s.onload = initMunchkin;
6868        document.getElementsByTagName('head')[0].appendChild(s);
6869    }
6870};
6871
6872// outbrain
6873tarteaucitron.services.outbrain = {
6874    "key": "outbrain",
6875    "type": "ads",
6876    "name": "Outbrain",
6877    "uri": "https://www.outbrain.com/fr/advertisers/guidelines/",
6878    "needConsent": true,
6879    "cookies": [],
6880    "js": function () {
6881        "use strict";
6882
6883        tarteaucitron.addScript('https://widgets.outbrain.com/outbrain.js');
6884    }
6885};
6886
6887// affilae
6888tarteaucitron.services.affilae = {
6889    "key": "affilae",
6890    "type": "ads",
6891    "name": "Affilae",
6892    "uri": "https://affilae.com/en/privacy-cookie-policy/",
6893    "needConsent": true,
6894    "cookies": [],
6895    "js": function () {
6896        "use strict";
6897
6898        if (tarteaucitron.user.affilae === undefined) {
6899            return;
6900        }
6901
6902        window._ae = { "pid": tarteaucitron.user.affilae };
6903
6904        tarteaucitron.addScript('https://static.affilae.com/ae-v3.5.js');
6905    }
6906};
6907
6908// Canal-U.tv
6909tarteaucitron.services.canalu = {
6910    "key": "canalu",
6911    "type": "video",
6912    "name": "Canal-U.tv",
6913    "uri": "https://www.canal-u.tv/conditions-generales-utilisations",
6914    "needConsent": true,
6915    "cookies": [],
6916    "js": function () {
6917        "use strict";
6918        tarteaucitron.fallback(['canalu_player'], function (x) {
6919            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Canal-u.tv iframe',
6920                video_title = tarteaucitron.getElemAttr(x, "videoTitle"),
6921                frame_url = 'https://www.canal-u.tv/embed/' + video_title,
6922                width = tarteaucitron.getElemAttr(x, 'width'),
6923                height = tarteaucitron.getElemAttr(x, 'height');
6924
6925            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6926
6927            return '<iframe title="' + frame_title + '" src="' + frame_url + '?width=100%&amp;height=100%" ' +
6928                'style="' + styleAttr + '" ' +
6929                'allowfullscreen>' +
6930                '</iframe>';
6931        });
6932    },
6933    "fallback": function () {
6934        "use strict";
6935        tarteaucitron.fallback(['canalu_player'], function (elem) {
6936            return tarteaucitron.engage('canalu');
6937        });
6938    }
6939};
6940
6941// WebTV Normandie Université
6942tarteaucitron.services.webtvnu = {
6943    "key": "webtvnu",
6944    "type": "video",
6945    "name": "WebTV Normandie Université",
6946    "uri": "https://docs.google.com/document/d/1tpVclj4QBoAq1meSZgYrpNECwp7dbmb_IhICY3sTl9c/edit",
6947    "needConsent": true,
6948    "cookies": [],
6949    "js": function () {
6950        "use strict";
6951        tarteaucitron.fallback(['webtvnu_player'], function (x) {
6952            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'WebTV Normandie Université iframe',
6953                frame_url = 'https://webtv.normandie-univ.fr/permalink/' + tarteaucitron.getElemAttr(x, "videoID") + '/iframe/',
6954                width = tarteaucitron.getElemAttr(x, "width"),
6955                height = tarteaucitron.getElemAttr(x, "height");
6956
6957            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
6958
6959            return '<iframe title="' + frame_title + '" style="' + styleAttr + '" src="' + frame_url + '" allowfullscreen allow="autoplay"></iframe>';
6960        });
6961    },
6962    "fallback": function () {
6963        "use strict";
6964        tarteaucitron.fallback(['webtvnu_player'], function (elem) {
6965            return tarteaucitron.engage('webtvnu');
6966        });
6967    }
6968};
6969
6970// studizz
6971tarteaucitron.services.studizz = {
6972    "key": "studizz",
6973    "type": "support",
6974    "name": "Studizz Chatbot",
6975    "uri": "https://group.studizz.fr/",
6976    "needConsent": true,
6977    "cookies": [],
6978    "js": function () {
6979        "use strict";
6980
6981        if (tarteaucitron.user.studizzToken === undefined) {
6982            return;
6983        }
6984
6985        tarteaucitron.addScript('https://webchat.studizz.fr/webchat.js?token=' + tarteaucitron.user.studizzToken);
6986    }
6987};
6988
6989// meteofrance
6990tarteaucitron.services.meteofrance = {
6991    "key": "meteofrance",
6992    "type": "api",
6993    "name": "Météo France",
6994    "uri": "https://meteofrance.com/politique-de-confidentialite",
6995    "needConsent": true,
6996    "cookies": [],
6997    "js": function () {
6998        "use strict";
6999        tarteaucitron.fallback(['tac_meteofrance'], function (x) {
7000            var frame_title = tarteaucitron.getElemAttr(x, "title") || 'Météo France iframe',
7001                width = tarteaucitron.getElemAttr(x, "width"),
7002                height = tarteaucitron.getElemAttr(x, "height"),
7003                insee = tarteaucitron.getElemAttr(x, "data-insee"),
7004                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen");
7005
7006            var styleAttr = (width !== "" ? "width:" + tarteaucitron.getStyleSize(width) + ";" : "") + (height !== "" ? "height:" + tarteaucitron.getStyleSize(height) + ";" : "");
7007
7008            return '<iframe title="' + frame_title + '" src="https://meteofrance.com/widget/prevision/' + insee + '" style="' + styleAttr + '" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
7009        });
7010    },
7011    "fallback": function () {
7012        "use strict";
7013        var id = 'meteofrance';
7014        tarteaucitron.fallback(['tac_meteofrance'], function (elem) {
7015            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'width'));
7016            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'height'));
7017            return tarteaucitron.engage(id);
7018        });
7019    }
7020};
7021
7022// m6meteo
7023tarteaucitron.services.m6meteo = {
7024    "key": "m6meteo",
7025    "type": "api",
7026    "name": "M6 Météo",
7027    "uri": "https://gdpr.m6tech.net/charte-confidentialite-m6-web-meteocity.pdf",
7028    "needConsent": true,
7029    "cookies": [],
7030    "js": function () {
7031        "use strict";
7032        tarteaucitron.fallback(['tac_m6meteo'], function (x) {
7033            var id = tarteaucitron.getElemAttr(x, "data-id");
7034
7035            tarteaucitron.addScript('https://www.meteocity.com/widget/js/'+id);
7036
7037            return '<div id="cont_'+id+'"><div id="spa_'+id+'"><a id="a_'+id+'" href="#"></a> ©<a target="_top" href="https://www.meteocity.com">M6météo</a></div></div>';
7038        });
7039    },
7040    "fallback": function () {
7041        "use strict";
7042        var id = 'm6meteo';
7043        tarteaucitron.fallback(['tac_m6meteo'], function (elem) {
7044
7045            return tarteaucitron.engage(id);
7046        });
7047    }
7048};
7049
7050// mtcaptcha
7051tarteaucitron.services.mtcaptcha = {
7052    "key": "mtcaptcha",
7053    "type": "api",
7054    "name": "MTcaptcha",
7055    "uri": "https://www.mtcaptcha.com",
7056    "readmoreLink": "https://www.mtcaptcha.com/faq-cookie-declaration",
7057    "needConsent": true,
7058    "cookies": ['mtv1Pulse','mtv1ConfSum','mtv1Pong'],
7059
7060    "js": function () {
7061
7062        if (tarteaucitron.user.mtcaptchaSitekey === undefined) {
7063            return;
7064        }
7065
7066        window.mtcaptchaConfig = {
7067            "sitekey": tarteaucitron.user.mtcaptchaSitekey
7068        };
7069
7070        tarteaucitron.addScript('https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js');
7071        tarteaucitron.addScript('https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js');
7072    }
7073};
7074
7075// Internet Archive / https://archive.org
7076tarteaucitron.services.archive = {
7077    "key": "archive",
7078    "type": "video",
7079    "name": "Internet Archive",
7080    "uri": "https://archive.org/about/terms.php",
7081    "needConsent": true,
7082    "cookies": ['abtest-identifier','donation-identifier'],
7083    "js": function () {
7084        "use strict";
7085        tarteaucitron.fallback(['archive_player'], function (x) {
7086            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Internet Archive iframe',
7087                video_id = tarteaucitron.getElemAttr(x, "data-videoID"),
7088                video_width = tarteaucitron.getElemAttr(x, "data-width"),
7089                video_height = tarteaucitron.getElemAttr(x, "data-height"),
7090                styleAttr = "",
7091                video_frame;
7092
7093            if (video_id === "") {
7094                return "";
7095            }
7096            if (video_width !== "") {
7097                styleAttr += 'width:' + tarteaucitron.getStyleSize(video_width) + ';';
7098            }
7099            if (video_height !== "") {
7100                styleAttr += 'height:' + tarteaucitron.getStyleSize(video_height) + ';';
7101            }
7102            video_frame = '<iframe title="' + frame_title + '" src="https://archive.org/embed/' + video_id + '" style="' + styleAttr + '" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
7103            return video_frame;
7104        });
7105    },
7106    "fallback": function () {
7107        "use strict";
7108        var id = 'archive';
7109        tarteaucitron.fallback(['archive_player'], function (elem) {
7110            elem.style.width = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-width'));
7111            elem.style.height = tarteaucitron.getStyleSize(tarteaucitron.getElemAttr(elem, 'data-height'));
7112            return tarteaucitron.engage(id);
7113        });
7114    }
7115};
7116
7117// Gallica
7118tarteaucitron.services.gallica = {
7119    "key": "gallica",
7120    "type": "other",
7121    "name": "Gallica",
7122    "uri": "https://gallica.bnf.fr/edit/und/conditions-dutilisation-des-contenus-de-gallica",
7123    "needConsent": true,
7124    "cookies": ['dtCookie', 'dtLatC', 'dtPC', 'dtSa', 'rxVisitor', 'rxvt', 'xtvrn'],
7125    "js": function () {
7126        "use strict";
7127        tarteaucitron.fallback(['gallica_player'], function (x) {
7128            var frame_title = (tarteaucitron.getElemAttr(x,"title")) ? tarteaucitron.getElemAttr(x,"title") : 'Gallica iframe',
7129                src = tarteaucitron.getElemAttr(x, "data-src"),
7130                style = tarteaucitron.getElemAttr(x, "data-style"),
7131                frame;
7132            if (src === "") {
7133                return "";
7134            }
7135            frame = '<iframe title="' + frame_title + '" style="'+ style + '" src="' + src + '"></iframe>';
7136            return frame;
7137        });
7138    },
7139    "fallback": function () {
7140        "use strict";
7141        var id = 'gallica';
7142        tarteaucitron.fallback(['gallica_player'], function (elem) {
7143            elem.style = tarteaucitron.getElemAttr(elem,'data-style');
7144            return tarteaucitron.engage(id);
7145        });
7146    }
7147};
7148
7149// crisp
7150tarteaucitron.services.crisp = {
7151    "key": "crisp",
7152    "type": "
vendor: 4,394 bytes, lines 7152-7276
7152other",
7153    "name": "Crisp Chat",
7154    "uri": "https://help.crisp.chat/en/article/crisp-chatbox-cookie-ip-policy-1147xor/",
7155    "needConsent": false,
7156    "cookies": ['crisp-client', '__cfduid'],
7157    "js": function () {
7158        "use strict";
7159
7160        if (tarteaucitron.user.crispID === undefined) {
7161            return;
7162        }
7163
7164        window.$crisp = [];
7165        window.CRISP_WEBSITE_ID = tarteaucitron.user.crispID;
7166
7167        tarteaucitron.addScript('https://client.crisp.chat/l.js');
7168    }
7169};
7170
7171// microanalytics
7172tarteaucitron.services.microanalytics = {
7173    "key": "microanalytics",
7174    "type": "analytic",
7175    "name": "MicroAnalytic",
7176    "uri": "https://microanalytics.io/page/privacy",
7177    "needConsent": false,
7178    "cookies": [],
7179    "js": function () {
7180        "use strict";
7181
7182        if (tarteaucitron.user.microanalyticsID === undefined) {
7183            return;
7184        }
7185
7186        tarteaucitron.addScript('https://microanalytics.io/js/script.js', tarteaucitron.user.microanalyticsID, undefined, true, "data-host", "https://microanalytics.io");
7187    }
7188};
7189
7190// facebookcustomerchat
7191tarteaucitron.services.facebookcustomerchat = {
7192    "key": "facebookcustomerchat",
7193    "type": "social",
7194    "name": "Facebook (Customer Chat)",
7195    "uri": "https://www.facebook.com/policies/cookies/",
7196    "needConsent": true,
7197    "cookies": ['act','c_user','datr','dpr','presence','sb','wd','xs','/tr'],
7198    "js": function () {
7199        "use strict";
7200
7201        if (tarteaucitron.user.facebookChatID === undefined) {
7202            return;
7203        }
7204
7205        tarteaucitron.fallback(['fb-customerchat'], '');
7206        window.fbAsyncInit=function(){FB.init({appId:tarteaucitron.user.facebookChatID,autoLogAppEvents:!0,xfbml:!0,version:"v3.0"})};
7207        tarteaucitron.addScript('https://connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk/xfbml.customerchat.js', 'facebook-jssdk');
7208    },
7209    "fallback": function () {
7210        "use strict";
7211        var id = 'facebookcustomerchat';
7212        tarteaucitron.fallback(['fb-customerchat'], tarteaucitron.engage(id));
7213    }
7214};
7215
7216// weborama
7217tarteaucitron.services.weborama = {
7218    "key": "weborama",
7219    "type": "analytic",
7220    "name": "Weborama",
7221    "uri": "https://weborama.com/faq-cnil-avril-2021/",
7222    "needConsent": true,
7223    "cookies": [],
7224    "js": function () {
7225        "use strict";
7226        tarteaucitron.addScript('https://cstatic.weborama.fr/js/advertiserv2/adperf_conversion.js');
7227    }
7228};
7229
7230// tiktok
7231tarteaucitron.services.tiktok = {
7232    "key": "tiktok",
7233    "type": "analytic",
7234    "name": "Tiktok",
7235    "uri": "https://www.tiktok.com/legal/tiktok-website-cookies-policy",
7236    "needConsent": true,
7237    "cookies": [],
7238    "js": function () {
7239        "use strict";
7240
7241        if (tarteaucitron.user.tiktokId === undefined) {
7242            return;
7243        }
7244
7245        !function (w, d, t) {
7246            w.TiktokAnalyticsObject = t;
7247            var ttq = w[t] = w[t] || [];
7248            ttq.methods = ["page", "track", "identify", "instances", "debug", "on", "off", "once", "ready", "alias", "group", "enableCookie", "disableCookie"], ttq.setAndDefer = function (t, e) {
7249                t[e] = function () {
7250                    t.push([e].concat(Array.prototype.slice.call(arguments, 0)))
7251                }
7252            };
7253            for (var i = 0; i < ttq.methods.length; i++) ttq.setAndDefer(ttq, ttq.methods[i]);
7254            ttq.instance = function (t) {
7255                for (var e = ttq._i[t] || [], n = 0; n < ttq.methods.length; n++) ttq.setAndDefer(e, ttq.methods[n]);
7256                return e
7257            }, ttq.load = function (e, n) {
7258                var i = "https://analytics.tiktok.com/i18n/pixel/events.js";
7259                ttq._i = ttq._i || {}, ttq._i[e] = [], ttq._i[e]._u = i, ttq._t = ttq._t || {}, ttq._t[e] = +new Date, ttq._o = ttq._o || {}, ttq._o[e] = n || {};
7260                var o = document.createElement("script");
7261                o.type = "text/javascript", o.async = !0, o.src = i + "?sdkid=" + e + "&lib=" + t;
7262                var a = document.getElementsByTagName("script")[0];
7263                a.parentNode.insertBefore(o, a)
7264            };
7265            ttq.load(tarteaucitron.user.tiktokId);
7266            ttq.page();
7267        }(window, document, 'ttq');
7268
7269        if (typeof tarteaucitron.user.tiktokMore === "function") {
7270            tarteaucitron.user.tiktokMore();
7271        }
7272    }
7273};
7274
7275// Klaviyo
7276tarteaucitron.services.klaviyo = {
7277    "key": "klaviyo",
7278    "type": "ads",
7279    "name": "Klaviyo",
7280    "uri": "https://help.klaviyo.com/hc/en-us/articles/360034666712-About-Cookies-in-Klaviyo",
7281    "needConsent": true,
7282    "cookies": ['__kla_id'],
7283    "js": function () {
7284        "use strict";
7285        if (tarteaucitron.user.klaviyoCompanyId === undefined) {
7286            return;
7287        }
7288        tarteaucitron.addScript('//static.klaviyo.com/onsite/js/klaviyo.js?company_id=' + tarteaucitron.user.klaviyoCompanyId);
7289    }
7290};

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.