").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});/*!
* jQuery Cycle2; version: 2.1.6 build: 20141007
* http://jquery.malsup.com/cycle2/
* Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL
*/
/* Cycle2 core engine */
;(function($) {
"use strict";
var version = '2.1.6';
$.fn.cycle = function( options ) {
// fix mistakes with the ready state
var o;
if ( this.length === 0 && !$.isReady ) {
o = { s: this.selector, c: this.context };
$.fn.cycle.log('requeuing slideshow (dom not ready)');
$(function() {
$( o.s, o.c ).cycle(options);
});
return this;
}
return this.each(function() {
var data, opts, shortName, val;
var container = $(this);
var log = $.fn.cycle.log;
if ( container.data('cycle.opts') )
return; // already initialized
if ( container.data('cycle-log') === false ||
( options && options.log === false ) ||
( opts && opts.log === false) ) {
log = $.noop;
}
log('--c2 init--');
data = container.data();
for (var p in data) {
// allow props to be accessed sans 'cycle' prefix and log the overrides
if (data.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p) ) {
val = data[p];
shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);
log(shortName+':', val, '('+typeof val +')');
data[shortName] = val;
}
}
opts = $.extend( {}, $.fn.cycle.defaults, data, options || {});
opts.timeoutId = 0;
opts.paused = opts.paused || false; // #57
opts.container = container;
opts._maxZ = opts.maxZ;
opts.API = $.extend ( { _container: container }, $.fn.cycle.API );
opts.API.log = log;
opts.API.trigger = function( eventName, args ) {
opts.container.trigger( eventName, args );
return opts.API;
};
container.data( 'cycle.opts', opts );
container.data( 'cycle.API', opts.API );
// opportunity for plugins to modify opts and API
opts.API.trigger('cycle-bootstrap', [ opts, opts.API ]);
lds[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("
").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});/*!
* jQuery Cycle2; version: 2.1.6 build: 20141007
* http://jquery.malsup.com/cycle2/
* Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL
*/
/* Cycle2 core engine */
;(function($) {
"use strict";
var version = '2.1.6';
$.fn.cycle = function( options ) {
// fix mistakes with the ready state
var o;
if ( this.length === 0 && !$.isReady ) {
o = { s: this.selector, c: this.context };
$.fn.cycle.log('requeuing slideshow (dom not ready)');
$(function() {
$( o.s, o.c ).cycle(options);
});
return this;
}
return this.each(function() {
var data, opts, shortName, val;
var container = $(this);
var log = $.fn.cycle.log;
if ( container.data('cycle.opts') )
return; // already initialized
if ( container.data('cycle-log') === false ||
( options && options.log === false ) ||
( opts && opts.log === false) ) {
log = $.noop;
}
log('--c2 init--');
data = container.data();
for (var p in data) {
// allow props to be accessed sans 'cycle' prefix and log the overrides
if (data.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p) ) {
val = data[p];
shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);
log(shortName+':', val, '('+typeof val +')');
data[shortName] = val;
}
}
opts = $.extend( {}, $.fn.cycle.defaults, data, options || {});
opts.timeoutId = 0;
opts.paused = opts.paused || false; // #57
opts.container = container;
opts._maxZ = opts.maxZ;
opts.API = $.extend ( { _container: container }, $.fn.cycle.API );
opts.API.log = log;
opts.API.trigger = function( eventName, args ) {
opts.container.trigger( eventName, args );
return opts.API;
};
container.data( 'cycle.opts', opts );
container.data( 'cycle.API', opts.API );
// opportunity for plugins to modify opts and API
opts.API.trigger('cycle-bootstrap', [ opts, opts.API ]);
opts.API.addInitialSlides();
opts.API.preInitSlideshow();
if ( opts.slides.length )
opts.API.initSlideshow();
});
};
$.fn.cycle.API = {
opts: function() {
return this._container.data( 'cycle.opts' );
},
addInitialSlides: function() {
var opts = this.opts();
var slides = opts.slides;
opts.slideCount = 0;
opts.slides = $(); // empty set
// add slides that already exist
slides = slides.jquery ? slides : opts.container.find( slides );
if ( opts.random ) {
slides.sort(function() {return Math.random() - 0.5;});
}
opts.API.add( slides );
},
preInitSlideshow: function() {
var opts = this.opts();
opts.API.trigger('cycle-pre-initialize', [ opts ]);
var tx = $.fn.cycle.transitions[opts.fx];
if (tx && $.isFunction(tx.preInit))
tx.preInit( opts );
opts._preInitialized = true;
},
postInitSlideshow: function() {
var opts = this.opts();
opts.API.trigger('cycle-post-initialize', [ opts ]);
var tx = $.fn.cycle.transitions[opts.fx];
if (tx && $.isFunction(tx.postInit))
tx.postInit( opts );
},
initSlideshow: function() {
var opts = this.opts();
var pauseObj = opts.container;
var slideOpts;
opts.API.calcFirstSlide();
if ( opts.container.css('position') == 'static' )
opts.container.css('position', 'relative');
$(opts.slides[opts.currSlide]).css({
opacity: 1,
display: 'block',
visibility: 'visible'
});
opts.API.stackSlides( opts.slides[opts.currSlide], opts.slides[opts.nextSlide], !opts.reverse );
if ( opts.pauseOnHover ) {
// allow pauseOnHover to specify an element
if ( opts.pauseOnHover !== true )
pauseObj = $( opts.pauseOnHover );
pauseObj.hover(
function(){ opts.API.pause( true ); },
function(){ opts.API.resume( true ); }
);
}
// stage initial transition
if ( opts.timeout ) {
slideOpts = opts.API.getSlideOpts( opts.currSlide );
opts.API.queueTransition( slideOpts, slideOpts.timeout + opts.delay );
}
opts._initialized = true;
opts.API.updateView( true );
opts.API.trigger('cycle-initialized', [ opts ]);
opts.API.postInitSlideshow();
},
pause: function( hover ) {
var opts = this.opts(),
slideOpts = opts.API.getSlideOpts(),
alreadyPaused = opts.hoverPaused || opts.paused;
if ( hover )
opts.hoverPaused = true;
else
opts.paused = true;
if ( ! alreadyPaused ) {
opts.container.addClass('cycle-paused');
opts.API.trigger('cycle-paused', [ opts ]).log('cycle-paused');
if ( slideOpts.timeout ) {
clearTimeout( opts.timeoutId );
opts.timeoutId = 0;
// determine how much time is left for the current slide
opts._remainingTimeout -= ( $.now() - opts._lastQueue );
if ( opts._remainingTimeout < 0 || isNaN(opts._remainingTimeout) )
opts._remainingTimeout = undefined;
}
}
},
resume: function( hover ) {
var opts = this.opts(),
alreadyResumed = !opts.hoverPaused && !opts.paused,
remaining;
if ( hover )
opts.hoverPaused = false;
else
opts.paused = false;
if ( ! alreadyResumed ) {
opts.container.removeClass('cycle-paused');
// #gh-230; if an animation is in progress then don't queue a new transition; it will
// happen naturally
if ( opts.slides.filter(':animated').length === 0 )
opts.API.queueTransition( opts.API.getSlideOpts(), opts._remainingTimeout );
opts.API.trigger('cycle-resumed', [ opts, opts._remainingTimeout ] ).log('cycle-resumed');
}
},
add: function( slides, prepend ) {
var opts = this.opts();
var oldSlideCount = opts.slideCount;
var startSlideshow = false;
var len;
if ( $.type(slides) == 'string')
slides = $.trim( slides );
$( slides ).each(function(i) {
var slideOpts;
var slide = $(this);
if ( prepend )
opts.container.prepend( slide );
else
opts.container.append( slide );
opts.slideCount++;
slideOpts = opts.API.buildSlideOpts( slide );
if ( prepend )
opts.slides = $( slide ).add( opts.slides );
else
opts.slides = opts.slides.add( slide );
opts.API.initSlide( slideOpts, slide, --opts._maxZ );
slide.data('cycle.opts', slideOpts);
opts.API.trigger('cycle-slide-added', [ opts, slideOpts, slide ]);
});
opts.API.updateView( true );
startSlideshow = opts._preInitialized && (oldSlideCount < 2 && opts.slideCount >= 1);
if ( startSlideshow ) {
if ( !opts._initialized )
opts.API.initSlideshow();
else if ( opts.timeout ) {
len = opts.slides.length;
opts.nextSlide = opts.reverse ? len - 1 : 1;
if ( !opts.timeoutId ) {
opts.API.queueTransition( opts );
}
}
}
},
calcFirstSlide: function() {
var opts = this.opts();
var firstSlideIndex;
firstSlideIndex = parseInt( opts.startingSlide || 0, 10 );
if (firstSlideIndex >= opts.slides.length || firstSlideIndex < 0)
firstSlideIndex = 0;
opts.currSlide = firstSlideIndex;
if ( opts.reverse ) {
opts.nextSlide = firstSlideIndex - 1;
if (opts.nextSlide < 0)
opts.nextSlide = opts.slides.length - 1;
}
else {
opts.nextSlide = firstSlideIndex + 1;
if (opts.nextSlide == opts.slides.length)
opts.nextSlide = 0;
}
},
calcNextSlide: function() {
var opts = this.opts();
var roll;
if ( opts.reverse ) {
roll = (opts.nextSlide - 1) < 0;
opts.nextSlide = roll ? opts.slideCount - 1 : opts.nextSlide-1;
opts.currSlide = roll ? 0 : opts.nextSlide+1;
}
else {
roll = (opts.nextSlide + 1) == opts.slides.length;
opts.nextSlide = roll ? 0 : opts.nextSlide+1;
opts.currSlide = roll ? opts.slides.length-1 : opts.nextSlide-1;
}
},
calcTx: function( slideOpts, manual ) {
var opts = slideOpts;
var tx;
if ( opts._tempFx )
tx = $.fn.cycle.transitions[opts._tempFx];
else if ( manual && opts.manualFx )
tx = $.fn.cycle.transitions[opts.manualFx];
if ( !tx )
tx = $.fn.cycle.transitions[opts.fx];
opts._tempFx = null;
this.opts()._tempFx = null;
if (!tx) {
tx = $.fn.cycle.transitions.fade;
opts.API.log('Transition "' + opts.fx + '" not found. Using fade.');
}
return tx;
},
prepareTx: function( manual, fwd ) {
var opts = this.opts();
var after, curr, next, slideOpts, tx;
if ( opts.slideCount < 2 ) {
opts.timeoutId = 0;
return;
}
if ( manual && ( !opts.busy || opts.manualTrump ) ) {
opts.API.stopTransition();
opts.busy = false;
clearTimeout(opts.timeoutId);
opts.timeoutId = 0;
}
if ( opts.busy )
return;
if ( opts.timeoutId === 0 && !manual )
return;
curr = opts.slides[opts.currSlide];
next = opts.slides[opts.nextSlide];
slideOpts = opts.API.getSlideOpts( opts.nextSlide );
tx = opts.API.calcTx( slideOpts, manual );
opts._tx = tx;
if ( manual && slideOpts.manualSpeed !== undefined )
slideOpts.speed = slideOpts.manualSpeed;
// if ( opts.nextSlide === opts.currSlide )
// opts.API.calcNextSlide();
// ensure that:
// 1. advancing to a different slide
// 2. this is either a manual event (prev/next, pager, cmd) or
// a timer event and slideshow is not paused
if ( opts.nextSlide != opts.currSlide &&
(manual || (!opts.paused && !opts.hoverPaused && opts.timeout) )) { // #62
opts.API.trigger('cycle-before', [ slideOpts, curr, next, fwd ]);
if ( tx.before )
tx.before( slideOpts, curr, next, fwd );
after = function() {
opts.busy = false;
// #76; bail if slideshow has been destroyed
if (! opts.container.data( 'cycle.opts' ) )
return;
if (tx.after)
tx.after( slideOpts, curr, next, fwd );
opts.API.trigger('cycle-after', [ slideOpts, curr, next, fwd ]);
opts.API.queueTransition( slideOpts);
opts.API.updateView( true );
};
opts.busy = true;
if (tx.transition)
tx.transition(slideOpts, curr, next, fwd, after);
else
opts.API.doTransition( slideOpts, curr, next, fwd, after);
opts.API.calcNextSlide();
opts.API.updateView();
} else {
opts.API.queueTransition( slideOpts );
}
},
// perform the actual animation
doTransition: function( slideOpts, currEl, nextEl, fwd, callback) {
var opts = slideOpts;
var curr = $(currEl), next = $(nextEl);
var fn = function() {
// make sure animIn has something so that callback doesn't trigger immediately
next.animate(opts.animIn || { opacity: 1}, opts.speed, opts.easeIn || opts.easing, callback);
};
next.css(opts.cssBefore || {});
curr.animate(opts.animOut || {}, opts.speed, opts.easeOut || opts.easing, function() {
curr.css(opts.cssAfter || {});
if (!opts.sync) {
fn();
}
});
if (opts.sync) {
fn();
}
},
queueTransition: function( slideOpts, specificTimeout ) {
var opts = this.opts();
var timeout = specificTimeout !== undefined ? specificTimeout : slideOpts.timeout;
if (opts.nextSlide === 0 && --opts.loop === 0) {
opts.API.log('terminating; loop=0');
opts.timeout = 0;
if ( timeout ) {
setTimeout(function() {
opts.API.trigger('cycle-finished', [ opts ]);
}, timeout);
}
else {
opts.API.trigger('cycle-finished', [ opts ]);
}
// reset nextSlide
opts.nextSlide = opts.currSlide;
return;
}
if ( opts.continueAuto !== undefined ) {
if ( opts.continueAuto === false ||
($.isFunction(opts.continueAuto) && opts.continueAuto() === false )) {
opts.API.log('terminating automatic transitions');
opts.timeout = 0;
if ( opts.timeoutId )
clearTimeout(opts.timeoutId);
return;
}
}
if ( timeout ) {
opts._lastQueue = $.now();
if ( specificTimeout === undefined )
opts._remainingTimeout = slideOpts.timeout;
if ( !opts.paused && ! opts.hoverPaused ) {
opts.timeoutId = setTimeout(function() {
opts.API.prepareTx( false, !opts.reverse );
}, timeout );
}
}
},
stopTransition: function() {
var opts = this.opts();
if ( opts.slides.filter(':animated').length ) {
opts.slides.stop(false, true);
opts.API.trigger('cycle-transition-stopped', [ opts ]);
}
if ( opts._tx && opts._tx.stopTransition )
opts._tx.stopTransition( opts );
},
// advance slide forward or back
advanceSlide: function( val ) {
var opts = this.opts();
clearTimeout(opts.timeoutId);
opts.timeoutId = 0;
opts.nextSlide = opts.currSlide + val;
if (opts.nextSlide < 0)
opts.nextSlide = opts.slides.length - 1;
else if (opts.nextSlide >= opts.slides.length)
opts.nextSlide = 0;
opts.API.prepareTx( true, val >= 0 );
return false;
},
buildSlideOpts: function( slide ) {
var opts = this.opts();
var val, shortName;
var slideOpts = slide.data() || {};
for (var p in slideOpts) {
// allow props to be accessed sans 'cycle' prefix and log the overrides
if (slideOpts.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p) ) {
val = slideOpts[p];
shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);
opts.API.log('['+(opts.slideCount-1)+']', shortName+':', val, '('+typeof val +')');
slideOpts[shortName] = val;
}
}
slideOpts = $.extend( {}, $.fn.cycle.defaults, opts, slideOpts );
slideOpts.slideNum = opts.slideCount;
try {
// these props should always be read from the master state object
delete slideOpts.API;
delete slideOpts.slideCount;
delete slideOpts.currSlide;
delete slideOpts.nextSlide;
delete slideOpts.slides;
} catch(e) {
// no op
}
return slideOpts;
},
getSlideOpts: function( index ) {
var opts = this.opts();
if ( index === undefined )
index = opts.currSlide;
var slide = opts.slides[index];
var slideOpts = $(slide).data('cycle.opts');
return $.extend( {}, opts, slideOpts );
},
initSlide: function( slideOpts, slide, suggestedZindex ) {
var opts = this.opts();
slide.css( slideOpts.slideCss || {} );
if ( suggestedZindex > 0 )
slide.css( 'zIndex', suggestedZindex );
// ensure that speed settings are sane
if ( isNaN( slideOpts.speed ) )
slideOpts.speed = $.fx.speeds[slideOpts.speed] || $.fx.speeds._default;
if ( !slideOpts.sync )
slideOpts.speed = slideOpts.speed / 2;
slide.addClass( opts.slideClass );
},
updateView: function( isAfter, isDuring, forceEvent ) {
var opts = this.opts();
if ( !opts._initialized )
return;
var slideOpts = opts.API.getSlideOpts();
var currSlide = opts.slides[ opts.currSlide ];
if ( ! isAfter && isDuring !== true ) {
opts.API.trigger('cycle-update-view-before', [ opts, slideOpts, currSlide ]);
if ( opts.updateView < 0 )
return;
}
if ( opts.slideActiveClass ) {
opts.slides.removeClass( opts.slideActiveClass )
.eq( opts.currSlide ).addClass( opts.slideActiveClass );
}
if ( isAfter && opts.hideNonActive )
opts.slides.filter( ':not(.' + opts.slideActiveClass + ')' ).css('visibility', 'hidden');
if ( opts.updateView === 0 ) {
setTimeout(function() {
opts.API.trigger('cycle-update-view', [ opts, slideOpts, currSlide, isAfter ]);
}, slideOpts.speed / (opts.sync ? 2 : 1) );
}
if ( opts.updateView !== 0 )
opts.API.trigger('cycle-update-view', [ opts, slideOpts, currSlide, isAfter ]);
if ( isAfter )
opts.API.trigger('cycle-update-view-after', [ opts, slideOpts, currSlide ]);
},
getComponent: function( name ) {
var opts = this.opts();
var selector = opts[name];
if (typeof selector === 'string') {
// if selector is a child, sibling combinator, adjancent selector then use find, otherwise query full dom
return (/^\s*[\>|\+|~]/).test( selector ) ? opts.container.find( selector ) : $( selector );
}
if (selector.jquery)
return selector;
return $(selector);
},
stackSlides: function( curr, next, fwd ) {
var opts = this.opts();
if ( !curr ) {
curr = opts.slides[opts.currSlide];
next = opts.slides[opts.nextSlide];
fwd = !opts.reverse;
}
// reset the zIndex for the common case:
// curr slide on top, next slide beneath, and the rest in order to be shown
$(curr).css('zIndex', opts.maxZ);
var i;
var z = opts.maxZ - 2;
var len = opts.slideCount;
if (fwd) {
for ( i = opts.currSlide + 1; i < len; i++ )
$( opts.slides[i] ).css( 'zIndex', z-- );
for ( i = 0; i < opts.currSlide; i++ )
$( opts.slides[i] ).css( 'zIndex', z-- );
}
else {
for ( i = opts.currSlide - 1; i >= 0; i-- )
$( opts.slides[i] ).css( 'zIndex', z-- );
for ( i = len - 1; i > opts.currSlide; i-- )
$( opts.slides[i] ).css( 'zIndex', z-- );
}
$(next).css('zIndex', opts.maxZ - 1);
},
getSlideIndex: function( el ) {
return this.opts().slides.index( el );
}
}; // API
// default logger
$.fn.cycle.log = function log() {
/*global console:true */
if (window.console && console.log)
console.log('[cycle2] ' + Array.prototype.join.call(arguments, ' ') );
};
$.fn.cycle.version = function() { return 'Cycle2: ' + version; };
// helper functions
function lowerCase(s) {
return (s || '').toLowerCase();
}
// expose transition object
$.fn.cycle.transitions = {
custom: {
},
none: {
before: function( opts, curr, next, fwd ) {
opts.API.stackSlides( next, curr, fwd );
opts.cssBefore = { opacity: 1, visibility: 'visible', display: 'block' };
}
},
fade: {
before: function( opts, curr, next, fwd ) {
var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
opts.API.stackSlides( curr, next, fwd );
opts.cssBefore = $.extend(css, { opacity: 0, visibility: 'visible', display: 'block' });
opts.animIn = { opacity: 1 };
opts.animOut = { opacity: 0 };
}
},
fadeout: {
before: function( opts , curr, next, fwd ) {
var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
opts.API.stackSlides( curr, next, fwd );
opts.cssBefore = $.extend(css, { opacity: 1, visibility: 'visible', display: 'block' });
opts.animOut = { opacity: 0 };
}
},
scrollHorz: {
before: function( opts, curr, next, fwd ) {
opts.API.stackSlides( curr, next, fwd );
var w = opts.container.css('overflow','hidden').width();
opts.cssBefore = { left: fwd ? w : - w, top: 0, opacity: 1, visibility: 'visible', display: 'block' };
opts.cssAfter = { zIndex: opts._maxZ - 2, left: 0 };
opts.animIn = { left: 0 };
opts.animOut = { left: fwd ? -w : w };
}
}
};
// @see: http://jquery.malsup.com/cycle2/api
$.fn.cycle.defaults = {
allowWrap: true,
autoSelector: '.cycle-slideshow[data-cycle-auto-init!=false]',
delay: 0,
easing: null,
fx: 'fade',
hideNonActive: true,
loop: 0,
manualFx: undefined,
manualSpeed: undefined,
manualTrump: true,
maxZ: 100,
pauseOnHover: false,
reverse: false,
slideActiveClass: 'cycle-slide-active',
slideClass: 'cycle-slide',
slideCss: { position: 'absolute', top: 0, left: 0 },
slides: '> img',
speed: 500,
startingSlide: 0,
sync: true,
timeout: 4000,
updateView: 0
};
// automatically find and run slideshows
$(document).ready(function() {
$( $.fn.cycle.defaults.autoSelector ).cycle();
});
})(jQuery);
/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
autoHeight: 0, // setting this option to false disables autoHeight logic
autoHeightSpeed: 250,
autoHeightEasing: null
});
$(document).on( 'cycle-initialized', function( e, opts ) {
var autoHeight = opts.autoHeight;
var t = $.type( autoHeight );
var resizeThrottle = null;
var ratio;
if ( t !== 'string' && t !== 'number' )
return;
// bind events
opts.container.on( 'cycle-slide-added cycle-slide-removed', initAutoHeight );
opts.container.on( 'cycle-destroyed', onDestroy );
if ( autoHeight == 'container' ) {
opts.container.on( 'cycle-before', onBefore );
}
else if ( t === 'string' && /\d+\:\d+/.test( autoHeight ) ) {
// use ratio
ratio = autoHeight.match(/(\d+)\:(\d+)/);
ratio = ratio[1] / ratio[2];
opts._autoHeightRatio = ratio;
}
// if autoHeight is a number then we don't need to recalculate the sentinel
// index on resize
if ( t !== 'number' ) {
// bind unique resize handler per slideshow (so it can be 'off-ed' in onDestroy)
opts._autoHeightOnResize = function () {
clearTimeout( resizeThrottle );
resizeThrottle = setTimeout( onResize, 50 );
};
$(window).on( 'resize orientationchange', opts._autoHeightOnResize );
}
setTimeout( onResize, 30 );
function onResize() {
initAutoHeight( e, opts );
}
});
function initAutoHeight( e, opts ) {
var clone, height, sentinelIndex;
var autoHeight = opts.autoHeight;
if ( autoHeight == 'container' ) {
height = $( opts.slides[ opts.currSlide ] ).outerHeight();
opts.container.height( height );
}
else if ( opts._autoHeightRatio ) {
opts.container.height( opts.container.width() / opts._autoHeightRatio );
}
else if ( autoHeight === 'calc' || ( $.type( autoHeight ) == 'number' && autoHeight >= 0 ) ) {
if ( autoHeight === 'calc' )
sentinelIndex = calcSentinelIndex( e, opts );
else if ( autoHeight >= opts.slides.length )
sentinelIndex = 0;
else
sentinelIndex = autoHeight;
// only recreate sentinel if index is different
if ( sentinelIndex == opts._sentinelIndex )
return;
opts._sentinelIndex = sentinelIndex;
if ( opts._sentinel )
opts._sentinel.remove();
// clone existing slide as sentinel
clone = $( opts.slides[ sentinelIndex ].cloneNode(true) );
// #50; remove special attributes from cloned content
clone.removeAttr( 'id name rel' ).find( '[id],[name],[rel]' ).removeAttr( 'id name rel' );
clone.css({
position: 'static',
visibility: 'hidden',
display: 'block'
}).prependTo( opts.container ).addClass('cycle-sentinel cycle-slide').removeClass('cycle-slide-active');
clone.find( '*' ).css( 'visibility', 'hidden' );
opts._sentinel = clone;
}
}
function calcSentinelIndex( e, opts ) {
var index = 0, max = -1;
// calculate tallest slide index
opts.slides.each(function(i) {
var h = $(this).height();
if ( h > max ) {
max = h;
index = i;
}
});
return index;
}
function onBefore( e, opts, outgoing, incoming, forward ) {
var h = $(incoming).outerHeight();
opts.container.animate( { height: h }, opts.autoHeightSpeed, opts.autoHeightEasing );
}
function onDestroy( e, opts ) {
if ( opts._autoHeightOnResize ) {
$(window).off( 'resize orientationchange', opts._autoHeightOnResize );
opts._autoHeightOnResize = null;
}
opts.container.off( 'cycle-slide-added cycle-slide-removed', initAutoHeight );
opts.container.off( 'cycle-destroyed', onDestroy );
opts.container.off( 'cycle-before', onBefore );
if ( opts._sentinel ) {
opts._sentinel.remove();
opts._sentinel = null;
}
}
})(jQuery);
/*! caption plugin for Cycle2; version: 20130306 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
caption: '> .cycle-caption',
captionTemplate: '{{slideNum}} / {{slideCount}}',
overlay: '> .cycle-overlay',
overlayTemplate: '
{{title}}
{{desc}}
',
captionModule: 'caption'
});
$(document).on( 'cycle-update-view', function( e, opts, slideOpts, currSlide ) {
if ( opts.captionModule !== 'caption' )
return;
var el;
$.each(['caption','overlay'], function() {
var name = this;
var template = slideOpts[name+'Template'];
var el = opts.API.getComponent( name );
if( el.length && template ) {
el.html( opts.API.tmpl( template, slideOpts, opts, currSlide ) );
el.show();
}
else {
el.hide();
}
});
});
$(document).on( 'cycle-destroyed', function( e, opts ) {
var el;
$.each(['caption','overlay'], function() {
var name = this, template = opts[name+'Template'];
if ( opts[name] && template ) {
el = opts.API.getComponent( 'caption' );
el.empty();
}
});
});
})(jQuery);
/*! command plugin for Cycle2; version: 20140415 */
(function($) {
"use strict";
var c2 = $.fn.cycle;
$.fn.cycle = function( options ) {
var cmd, cmdFn, opts;
var args = $.makeArray( arguments );
if ( $.type( options ) == 'number' ) {
return this.cycle( 'goto', options );
}
if ( $.type( options ) == 'string' ) {
return this.each(function() {
var cmdArgs;
cmd = options;
opts = $(this).data('cycle.opts');
if ( opts === undefined ) {
c2.log('slideshow must be initialized before sending commands; "' + cmd + '" ignored');
return;
}
else {
cmd = cmd == 'goto' ? 'jump' : cmd; // issue #3; change 'goto' to 'jump' internally
cmdFn = opts.API[ cmd ];
if ( $.isFunction( cmdFn )) {
cmdArgs = $.makeArray( args );
cmdArgs.shift();
return cmdFn.apply( opts.API, cmdArgs );
}
else {
c2.log( 'unknown command: ', cmd );
}
}
});
}
else {
return c2.apply( this, arguments );
}
};
// copy props
$.extend( $.fn.cycle, c2 );
$.extend( c2.API, {
next: function() {
var opts = this.opts();
if ( opts.busy && ! opts.manualTrump )
return;
var count = opts.reverse ? -1 : 1;
if ( opts.allowWrap === false && ( opts.currSlide + count ) >= opts.slideCount )
return;
opts.API.advanceSlide( count );
opts.API.trigger('cycle-next', [ opts ]).log('cycle-next');
},
prev: function() {
var opts = this.opts();
if ( opts.busy && ! opts.manualTrump )
return;
var count = opts.reverse ? 1 : -1;
if ( opts.allowWrap === false && ( opts.currSlide + count ) < 0 )
return;
opts.API.advanceSlide( count );
opts.API.trigger('cycle-prev', [ opts ]).log('cycle-prev');
},
destroy: function() {
this.stop(); //#204
var opts = this.opts();
var clean = $.isFunction( $._data ) ? $._data : $.noop; // hack for #184 and #201
clearTimeout(opts.timeoutId);
opts.timeoutId = 0;
opts.API.stop();
opts.API.trigger( 'cycle-destroyed', [ opts ] ).log('cycle-destroyed');
opts.container.removeData();
clean( opts.container[0], 'parsedAttrs', false );
// #75; remove inline styles
if ( ! opts.retainStylesOnDestroy ) {
opts.container.removeAttr( 'style' );
opts.slides.removeAttr( 'style' );
opts.slides.removeClass( opts.slideActiveClass );
}
opts.slides.each(function() {
var slide = $(this);
slide.removeData();
slide.removeClass( opts.slideClass );
clean( this, 'parsedAttrs', false );
});
},
jump: function( index, fx ) {
// go to the requested slide
var fwd;
var opts = this.opts();
if ( opts.busy && ! opts.manualTrump )
return;
var num = parseInt( index, 10 );
if (isNaN(num) || num < 0 || num >= opts.slides.length) {
opts.API.log('goto: invalid slide index: ' + num);
return;
}
if (num == opts.currSlide) {
opts.API.log('goto: skipping, already on slide', num);
return;
}
opts.nextSlide = num;
clearTimeout(opts.timeoutId);
opts.timeoutId = 0;
opts.API.log('goto: ', num, ' (zero-index)');
fwd = opts.currSlide < opts.nextSlide;
opts._tempFx = fx;
opts.API.prepareTx( true, fwd );
},
stop: function() {
var opts = this.opts();
var pauseObj = opts.container;
clearTimeout(opts.timeoutId);
opts.timeoutId = 0;
opts.API.stopTransition();
if ( opts.pauseOnHover ) {
if ( opts.pauseOnHover !== true )
pauseObj = $( opts.pauseOnHover );
pauseObj.off('mouseenter mouseleave');
}
opts.API.trigger('cycle-stopped', [ opts ]).log('cycle-stopped');
},
reinit: function() {
var opts = this.opts();
opts.API.destroy();
opts.container.cycle();
},
remove: function( index ) {
var opts = this.opts();
var slide, slideToRemove, slides = [], slideNum = 1;
for ( var i=0; i < opts.slides.length; i++ ) {
slide = opts.slides[i];
if ( i == index ) {
slideToRemove = slide;
}
else {
slides.push( slide );
$( slide ).data('cycle.opts').slideNum = slideNum;
slideNum++;
}
}
if ( slideToRemove ) {
opts.slides = $( slides );
opts.slideCount--;
$( slideToRemove ).remove();
if (index == opts.currSlide)
opts.API.advanceSlide( 1 );
else if ( index < opts.currSlide )
opts.currSlide--;
else
opts.currSlide++;
opts.API.trigger('cycle-slide-removed', [ opts, index, slideToRemove ]).log('cycle-slide-removed');
opts.API.updateView();
}
}
});
// listen for clicks on elements with data-cycle-cmd attribute
$(document).on('click.cycle', '[data-cycle-cmd]', function(e) {
// issue cycle command
e.preventDefault();
var el = $(this);
var command = el.data('cycle-cmd');
var context = el.data('cycle-context') || '.cycle-slideshow';
$(context).cycle(command, el.data('cycle-arg'));
});
})(jQuery);
/*! hash plugin for Cycle2; version: 20130905 */
(function($) {
"use strict";
$(document).on( 'cycle-pre-initialize', function( e, opts ) {
onHashChange( opts, true );
opts._onHashChange = function() {
onHashChange( opts, false );
};
$( window ).on( 'hashchange', opts._onHashChange);
});
$(document).on( 'cycle-update-view', function( e, opts, slideOpts ) {
if ( slideOpts.hash && ( '#' + slideOpts.hash ) != window.location.hash ) {
opts._hashFence = true;
window.location.hash = slideOpts.hash;
}
});
$(document).on( 'cycle-destroyed', function( e, opts) {
if ( opts._onHashChange ) {
$( window ).off( 'hashchange', opts._onHashChange );
}
});
function onHashChange( opts, setStartingSlide ) {
var hash;
if ( opts._hashFence ) {
opts._hashFence = false;
return;
}
hash = window.location.hash.substring(1);
opts.slides.each(function(i) {
if ( $(this).data( 'cycle-hash' ) == hash ) {
if ( setStartingSlide === true ) {
opts.startingSlide = i;
}
else {
var fwd = opts.currSlide < i;
opts.nextSlide = i;
opts.API.prepareTx( true, fwd );
}
return false;
}
});
}
})(jQuery);
/*! loader plugin for Cycle2; version: 20131121 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
loader: false
});
$(document).on( 'cycle-bootstrap', function( e, opts ) {
var addFn;
if ( !opts.loader )
return;
// override API.add for this slideshow
addFn = opts.API.add;
opts.API.add = add;
function add( slides, prepend ) {
var slideArr = [];
if ( $.type( slides ) == 'string' )
slides = $.trim( slides );
else if ( $.type( slides) === 'array' ) {
for (var i=0; i < slides.length; i++ )
slides[i] = $(slides[i])[0];
}
slides = $( slides );
var slideCount = slides.length;
if ( ! slideCount )
return;
slides.css('visibility','hidden').appendTo('body').each(function(i) { // appendTo fixes #56
var count = 0;
var slide = $(this);
var images = slide.is('img') ? slide : slide.find('img');
slide.data('index', i);
// allow some images to be marked as unimportant (and filter out images w/o src value)
images = images.filter(':not(.cycle-loader-ignore)').filter(':not([src=""])');
if ( ! images.length ) {
--slideCount;
slideArr.push( slide );
return;
}
count = images.length;
images.each(function() {
// add images that are already loaded
if ( this.complete ) {
imageLoaded();
}
else {
$(this).load(function() {
imageLoaded();
}).on("error", function() {
if ( --count === 0 ) {
// ignore this slide
opts.API.log('slide skipped; img not loaded:', this.src);
if ( --slideCount === 0 && opts.loader == 'wait') {
addFn.apply( opts.API, [ slideArr, prepend ] );
}
}
});
}
});
function imageLoaded() {
if ( --count === 0 ) {
--slideCount;
addSlide( slide );
}
}
});
if ( slideCount )
opts.container.addClass('cycle-loading');
function addSlide( slide ) {
var curr;
if ( opts.loader == 'wait' ) {
slideArr.push( slide );
if ( slideCount === 0 ) {
// #59; sort slides into original markup order
slideArr.sort( sorter );
addFn.apply( opts.API, [ slideArr, prepend ] );
opts.container.removeClass('cycle-loading');
}
}
else {
curr = $(opts.slides[opts.currSlide]);
addFn.apply( opts.API, [ slide, prepend ] );
curr.show();
opts.container.removeClass('cycle-loading');
}
}
function sorter(a, b) {
return a.data('index') - b.data('index');
}
}
});
})(jQuery);
/*! pager plugin for Cycle2; version: 20140415 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
pager: '> .cycle-pager',
pagerActiveClass: 'cycle-pager-active',
pagerEvent: 'click.cycle',
pagerEventBubble: undefined,
pagerTemplate: '
• '
});
$(document).on( 'cycle-bootstrap', function( e, opts, API ) {
// add method to API
API.buildPagerLink = buildPagerLink;
});
$(document).on( 'cycle-slide-added', function( e, opts, slideOpts, slideAdded ) {
if ( opts.pager ) {
opts.API.buildPagerLink ( opts, slideOpts, slideAdded );
opts.API.page = page;
}
});
$(document).on( 'cycle-slide-removed', function( e, opts, index, slideRemoved ) {
if ( opts.pager ) {
var pagers = opts.API.getComponent( 'pager' );
pagers.each(function() {
var pager = $(this);
$( pager.children()[index] ).remove();
});
}
});
$(document).on( 'cycle-update-view', function( e, opts, slideOpts ) {
var pagers;
if ( opts.pager ) {
pagers = opts.API.getComponent( 'pager' );
pagers.each(function() {
$(this).children().removeClass( opts.pagerActiveClass )
.eq( opts.currSlide ).addClass( opts.pagerActiveClass );
});
}
});
$(document).on( 'cycle-destroyed', function( e, opts ) {
var pager = opts.API.getComponent( 'pager' );
if ( pager ) {
pager.children().off( opts.pagerEvent ); // #202
if ( opts.pagerTemplate )
pager.empty();
}
});
function buildPagerLink( opts, slideOpts, slide ) {
var pagerLink;
var pagers = opts.API.getComponent( 'pager' );
pagers.each(function() {
var pager = $(this);
if ( slideOpts.pagerTemplate ) {
var markup = opts.API.tmpl( slideOpts.pagerTemplate, slideOpts, opts, slide[0] );
pagerLink = $( markup ).appendTo( pager );
}
else {
pagerLink = pager.children().eq( opts.slideCount - 1 );
}
pagerLink.on( opts.pagerEvent, function(e) {
if ( ! opts.pagerEventBubble )
e.preventDefault();
opts.API.page( pager, e.currentTarget);
});
});
}
function page( pager, target ) {
/*jshint validthis:true */
var opts = this.opts();
if ( opts.busy && ! opts.manualTrump )
return;
var index = pager.children().index( target );
var nextSlide = index;
var fwd = opts.currSlide < nextSlide;
if (opts.currSlide == nextSlide) {
return; // no op, clicked pager for the currently displayed slide
}
opts.nextSlide = nextSlide;
opts._tempFx = opts.pagerFx;
opts.API.prepareTx( true, fwd );
opts.API.trigger('cycle-pager-activated', [opts, pager, target ]);
}
})(jQuery);
/*! prevnext plugin for Cycle2; version: 20140408 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
next: '> .cycle-next',
nextEvent: 'click.cycle',
disabledClass: 'disabled',
prev: '> .cycle-prev',
prevEvent: 'click.cycle',
swipe: false
});
$(document).on( 'cycle-initialized', function( e, opts ) {
opts.API.getComponent( 'next' ).on( opts.nextEvent, function(e) {
e.preventDefault();
opts.API.next();
});
opts.API.getComponent( 'prev' ).on( opts.prevEvent, function(e) {
e.preventDefault();
opts.API.prev();
});
if ( opts.swipe ) {
var nextEvent = opts.swipeVert ? 'swipeUp.cycle' : 'swipeLeft.cycle swipeleft.cycle';
var prevEvent = opts.swipeVert ? 'swipeDown.cycle' : 'swipeRight.cycle swiperight.cycle';
opts.container.on( nextEvent, function(e) {
opts._tempFx = opts.swipeFx;
opts.API.next();
});
opts.container.on( prevEvent, function() {
opts._tempFx = opts.swipeFx;
opts.API.prev();
});
}
});
$(document).on( 'cycle-update-view', function( e, opts, slideOpts, currSlide ) {
if ( opts.allowWrap )
return;
var cls = opts.disabledClass;
var next = opts.API.getComponent( 'next' );
var prev = opts.API.getComponent( 'prev' );
var prevBoundry = opts._prevBoundry || 0;
var nextBoundry = (opts._nextBoundry !== undefined)?opts._nextBoundry:opts.slideCount - 1;
if ( opts.currSlide == nextBoundry )
next.addClass( cls ).prop( 'disabled', true );
else
next.removeClass( cls ).prop( 'disabled', false );
if ( opts.currSlide === prevBoundry )
prev.addClass( cls ).prop( 'disabled', true );
else
prev.removeClass( cls ).prop( 'disabled', false );
});
$(document).on( 'cycle-destroyed', function( e, opts ) {
opts.API.getComponent( 'prev' ).off( opts.nextEvent );
opts.API.getComponent( 'next' ).off( opts.prevEvent );
opts.container.off( 'swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle' );
});
})(jQuery);
/*! progressive loader plugin for Cycle2; version: 20130315 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
progressive: false
});
$(document).on( 'cycle-pre-initialize', function( e, opts ) {
if ( !opts.progressive )
return;
var API = opts.API;
var nextFn = API.next;
var prevFn = API.prev;
var prepareTxFn = API.prepareTx;
var type = $.type( opts.progressive );
var slides, scriptEl;
if ( type == 'array' ) {
slides = opts.progressive;
}
else if ($.isFunction( opts.progressive ) ) {
slides = opts.progressive( opts );
}
else if ( type == 'string' ) {
scriptEl = $( opts.progressive );
slides = $.trim( scriptEl.html() );
if ( !slides )
return;
// is it json array?
if ( /^(\[)/.test( slides ) ) {
try {
slides = $.parseJSON( slides );
}
catch(err) {
API.log( 'error parsing progressive slides', err );
return;
}
}
else {
// plain text, split on delimeter
slides = slides.split( new RegExp( scriptEl.data('cycle-split') || '\n') );
// #95; look for empty slide
if ( ! slides[ slides.length - 1 ] )
slides.pop();
}
}
if ( prepareTxFn ) {
API.prepareTx = function( manual, fwd ) {
var index, slide;
if ( manual || slides.length === 0 ) {
prepareTxFn.apply( opts.API, [ manual, fwd ] );
return;
}
if ( fwd && opts.currSlide == ( opts.slideCount-1) ) {
slide = slides[ 0 ];
slides = slides.slice( 1 );
opts.container.one('cycle-slide-added', function(e, opts ) {
setTimeout(function() {
opts.API.advanceSlide( 1 );
},50);
});
opts.API.add( slide );
}
else if ( !fwd && opts.currSlide === 0 ) {
index = slides.length-1;
slide = slides[ index ];
slides = slides.slice( 0, index );
opts.container.one('cycle-slide-added', function(e, opts ) {
setTimeout(function() {
opts.currSlide = 1;
opts.API.advanceSlide( -1 );
},50);
});
opts.API.add( slide, true );
}
else {
prepareTxFn.apply( opts.API, [ manual, fwd ] );
}
};
}
if ( nextFn ) {
API.next = function() {
var opts = this.opts();
if ( slides.length && opts.currSlide == ( opts.slideCount - 1 ) ) {
var slide = slides[ 0 ];
slides = slides.slice( 1 );
opts.container.one('cycle-slide-added', function(e, opts ) {
nextFn.apply( opts.API );
opts.container.removeClass('cycle-loading');
});
opts.container.addClass('cycle-loading');
opts.API.add( slide );
}
else {
nextFn.apply( opts.API );
}
};
}
if ( prevFn ) {
API.prev = function() {
var opts = this.opts();
if ( slides.length && opts.currSlide === 0 ) {
var index = slides.length-1;
var slide = slides[ index ];
slides = slides.slice( 0, index );
opts.container.one('cycle-slide-added', function(e, opts ) {
opts.currSlide = 1;
opts.API.advanceSlide( -1 );
opts.container.removeClass('cycle-loading');
});
opts.container.addClass('cycle-loading');
opts.API.add( slide, true );
}
else {
prevFn.apply( opts.API );
}
};
}
});
})(jQuery);
/*! tmpl plugin for Cycle2; version: 20121227 */
(function($) {
"use strict";
$.extend($.fn.cycle.defaults, {
tmplRegex: '{{((.)?.*?)}}'
});
$.extend($.fn.cycle.API, {
tmpl: function( str, opts /*, ... */) {
var regex = new RegExp( opts.tmplRegex || $.fn.cycle.defaults.tmplRegex, 'g' );
var args = $.makeArray( arguments );
args.shift();
return str.replace(regex, function(_, str) {
var i, j, obj, prop, names = str.split('.');
for (i=0; i < args.length; i++) {
obj = args[i];
if ( ! obj )
continue;
if (names.length > 1) {
prop = obj;
for (j=0; j < names.length; j++) {
obj = prop;
prop = prop[ names[j] ] || str;
}
} else {
prop = obj[str];
}
if ($.isFunction(prop))
return prop.apply(obj, args);
if (prop !== undefined && prop !== null && prop != str)
return prop;
}
return str;
});
}
});
})(jQuery);!function(a){"use strict";a.extend(a.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),a(document).on("cycle-pre-initialize",function(b,c){function f(){clearTimeout(d),d=setTimeout(i,50)}function g(b,c){clearTimeout(d),clearTimeout(e),a(window).off("resize orientationchange",f)}function h(){c.slides.each(j)}function i(){j.apply(c.container.find("."+c.slideActiveClass)),clearTimeout(e),e=setTimeout(h,50)}function j(){var b=a(this),d=c.container.width(),e=c.container.height(),f=b.outerWidth(),g=b.outerHeight();f&&(c.centerHorz&&f<=d&&b.css("marginLeft",(d-f)/2),c.centerVert&&g<=e&&b.css("marginTop",(e-g)/2))}if(c.centerHorz||c.centerVert){var d,e;a(window).on("resize orientationchange load",f),c.container.on("cycle-destroyed",g),c.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(a,b,c,d){f()}),i()}})}(jQuery);!function(a){"use strict";a(document).on("cycle-bootstrap",function(a,b,c){"carousel"===b.fx&&(c.getSlideIndex=function(a){var b=this.opts()._carouselWrap.children(),c=b.index(a);return c%b.length},c.next=function(){var a=b.reverse?-1:1;b.allowWrap===!1&&b.currSlide+a>b.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;c
b.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a('
').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery);// ==================================================
// fancyBox v3.0.47
//
// Licensed GPLv3 for open source use
// or fancyBox Commercial License for commercial use
//
// http://fancyapps.com/fancybox/
// Copyright 2017 fancyApps
//
// ==================================================
!function(t,e,n,o){"use strict";function s(t){var e=t.currentTarget,o=t.data?t.data.options:{},s=t.data?t.data.items:[],i="",a=0;t.preventDefault(),t.stopPropagation(),n(e).attr("data-fancybox")&&(i=n(e).data("fancybox")),i?(s=s.length?s.filter('[data-fancybox="'+i+'"]'):n("[data-fancybox="+i+"]"),a=s.index(e)):s=[e],n.fancybox.open(s,o,a)}if(!n)return o;var i={speed:330,loop:!0,opacity:"auto",margin:[44,0],gutter:30,infobar:!0,buttons:!0,slideShow:!0,fullScreen:!0,thumbs:!0,closeBtn:!0,smallBtn:"auto",image:{preload:"auto",protect:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,scrolling:"no",css:{}},baseClass:"",slideClass:"",baseTpl:'',spinnerTpl:'
',errorTpl:'The requested content cannot be loaded. Please try again later.
',closeTpl:' ',parentEl:"body",touch:!0,keyboard:!0,focus:!0,closeClickOutside:!0,beforeLoad:n.noop,afterLoad:n.noop,beforeMove:n.noop,afterMove:n.noop,onComplete:n.noop,onInit:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop},a=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return(t*c-t),a>0&&(a=0),af&&(r=i.top*l-(e*l-e),r>0&&(r=0),r=a||"x"===u.postfix&&u.value>=i){o=u;break}}!o&&s.length&&(o=s[s.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$placeholder=n('
').hide().appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n(" ").one("load error",function(){r.isClosing||(n(" ")[0].src=e.src,r.revealImage(e,function(){r.setBigImage(e),r.firstRun&&e.index===r.currIndex&&r.preload()}))}).addClass("fancybox-image").appendTo(e.$placeholder).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n(" ");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.afterLoad(t),t.$ghost&&(t.timouts=setTimeout(function(){t.$ghost.hide()},350)))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$placeholder),o[0].complete?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},150),t.opts.image.protect&&n('
').appendTo(t.$placeholder).on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0})},revealImage:function(t,e){var o=this;return e=e||n.noop,"image"!==t.type||t.hasError||t.isRevealed===!0?void e.apply(o):(t.isRevealed=!0,void(t.pos===o.currPos&&o.zoomInOut("In",t.opts.speed,e)||(t.$ghost&&!t.isLoaded&&o.updateSlide(t,!0),t.pos===o.currPos?n.fancybox.animate(t.$placeholder,{opacity:0},{opacity:1},300,e):t.$placeholder.show(),e.apply(o))))},setIframe:function(t){var e,s=this,i=t.opts.iframe,a=t.$slide;t.$content=n('
').css(i.css).appendTo(a),e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",n.fancybox.isTouch?"auto":i.scrolling).appendTo(t.$content),i.preload?(t.$content.addClass("fancybox-tmp"),s.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),s.afterLoad(t)}),a.on("refresh.fb",function(){var n,s,a,r,c,l=t.$content;if(1===e[0].isReady){try{n=e.contents(),s=n.find("body")}catch(t){}s&&s.length&&(i.css.width===o||i.css.height===o)&&(a=e[0].contentWindow.document.documentElement.scrollWidth,r=Math.ceil(s.outerWidth(!0)+(l.width()-a)),c=Math.ceil(s.outerHeight(!0)),l.css({width:i.css.width===o?r+(l.outerWidth()-l.innerWidth()):i.css.width,height:i.css.height===o?c+(l.outerHeight()-l.innerHeight()):i.css.height})),l.removeClass("fancybox-tmp")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn&&t.$content.prepend(t.opts.closeTpl),a.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.data("placeholder")&&e.parents(".fancybox-slide").trigger("onReset"),e.data({placeholder:n("
").hide().insertAfter(e)}).css("display","inline-block")):("string"===n.type(e)&&(e=n("").append(e).contents(),3===e[0].nodeType&&(e=n("
").html(e))),t.opts.selector&&(e=n("
").html(e).find(t.opts.selector))),t.$slide.one("onReset",function(){var o=l(e)?e.data("placeholder"):0;o&&(e.hide().replaceAll(o),e.data("placeholder",null)),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),t.opts.smallBtn===!0&&t.$content.find(".fancybox-close-small").remove().end().eq(0).append(t.opts.closeTpl),this.afterLoad(t))},setError:function(t){t.hasError=!0,this.setContent(t,t.opts.errorTpl)},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterMove:function(){var t=this,e=t.current,o={};e&&(e.$slide.siblings().trigger("onReset"),n.each(t.slides,function(e,n){n.pos>=t.currPos-1&&n.pos<=t.currPos+1?o[n.pos]=n:n&&n.$slide.remove()}),t.slides=o,t.trigger("afterMove"),e.isLoaded&&t.complete())},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.$ghost||e.updateSlide(t,!0),t.index===e.currIndex&&t.isMoved?e.complete():t.$ghost||e.revealImage(t))},complete:function(){var t=this,e=t.current;t.revealImage(e,function(){e.isComplete=!0,e.$slide.addClass("fancybox-slide--complete"),t.updateCursor(),t.trigger("onComplete"),e.opts.focus&&"im$placeholder,s=!1;return o&&(s=n.fancybox.getTranslate(o),s=s.width
h&&(a=i.left*c-(t*c-t),a>0&&(a=0),af&&(r=i.top*l-(e*l-e),r>0&&(r=0),r=a||"x"===u.postfix&&u.value>=i){o=u;break}}!o&&s.length&&(o=s[s.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$placeholder=n('
').hide().appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n(" ").one("load error",function(){r.isClosing||(n(" ")[0].src=e.src,r.revealImage(e,function(){r.setBigImage(e),r.firstRun&&e.index===r.currIndex&&r.preload()}))}).addClass("fancybox-image").appendTo(e.$placeholder).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n(" ");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.afterLoad(t),t.$ghost&&(t.timouts=setTimeout(function(){t.$ghost.hide()},350)))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$placeholder),o[0].complete?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},150),t.opts.image.protect&&n('
').appendTo(t.$placeholder).on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0})},revealImage:function(t,e){var o=this;return e=e||n.noop,"image"!==t.type||t.hasError||t.isRevealed===!0?void e.apply(o):(t.isRevealed=!0,void(t.pos===o.currPos&&o.zoomInOut("In",t.opts.speed,e)||(t.$ghost&&!t.isLoaded&&o.updateSlide(t,!0),t.pos===o.currPos?n.fancybox.animate(t.$placeholder,{opacity:0},{opacity:1},300,e):t.$placeholder.show(),e.apply(o))))},setIframe:function(t){var e,s=this,i=t.opts.iframe,a=t.$slide;t.$content=n('
').css(i.css).appendTo(a),e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",n.fancybox.isTouch?"auto":i.scrolling).appendTo(t.$content),i.preload?(t.$content.addClass("fancybox-tmp"),s.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),s.afterLoad(t)}),a.on("refresh.fb",function(){var n,s,a,r,c,l=t.$content;if(1===e[0].isReady){try{n=e.contents(),s=n.find("body")}catch(t){}s&&s.length&&(i.css.width===o||i.css.height===o)&&(a=e[0].contentWindow.document.documentElement.scrollWidth,r=Math.ceil(s.outerWidth(!0)+(l.width()-a)),c=Math.ceil(s.outerHeight(!0)),l.css({width:i.css.width===o?r+(l.outerWidth()-l.innerWidth()):i.css.width,height:i.css.height===o?c+(l.outerHeight()-l.innerHeight()):i.css.height})),l.removeClass("fancybox-tmp")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn&&t.$content.prepend(t.opts.closeTpl),a.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.data("placeholder")&&e.parents(".fancybox-slide").trigger("onReset"),e.data({placeholder:n("
").hide().insertAfter(e)}).css("display","inline-block")):("string"===n.type(e)&&(e=n("").append(e).contents(),3===e[0].nodeType&&(e=n("
").html(e))),t.opts.selector&&(e=n("
").html(e).find(t.opts.selector))),t.$slide.one("onReset",function(){var o=l(e)?e.data("placeholder"):0;o&&(e.hide().replaceAll(o),e.data("placeholder",null)),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),t.opts.smallBtn===!0&&t.$content.find(".fancybox-close-small").remove().end().eq(0).append(t.opts.closeTpl),this.afterLoad(t))},setError:function(t){t.hasError=!0,this.setContent(t,t.opts.errorTpl)},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterMove:function(){var t=this,e=t.current,o={};e&&(e.$slide.siblings().trigger("onReset"),n.each(t.slides,function(e,n){n.pos>=t.currPos-1&&n.pos<=t.currPos+1?o[n.pos]=n:n&&n.$slide.remove()}),t.slides=o,t.trigger("afterMove"),e.isLoaded&&t.complete())},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.$ghost||e.updateSlide(t,!0),t.index===e.currIndex&&t.isMoved?e.complete():t.$ghost||e.revealImage(t))},complete:function(){var t=this,e=t.current;t.revealImage(e,function(){e.isComplete=!0,e.$slide.addClass("fancybox-slide--complete"),t.updateCursor(),t.trigger("onComplete"),e.opts.focus&&"image"!==e.type&&"iframe"!==e.type&&t.focus()})},preload:function(){var t,e,n=this;n.group.length<2||(t=n.slides[n.currPos+1],e=n.slides[n.currPos-1],t&&"image"===t.type&&n.loadSlide(t),e&&"image"===e.type&&n.loadSlide(e))},focus:function(){var t,e=this.current;t=e&&e.isComplete?e.$slide.find('button,:input,[tabindex],a:not(".disabled")').filter(":visible:first"):null,t&&t.length||(t=this.$refs.container),t.focus(),this.$refs.slider_wrap.scrollLeft(0),e&&e.$slide.scrollTop(0)},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.uid!==t.uid&&!e.isClosing&&e.trigger("onDeactivate")}),t.current&&(t.$refs.container.index()>0&&t.$refs.container.prependTo(e.body),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t){var e=this,o=e.current,s=o.opts.speed,i=n.proxy(function(){e.cleanUp(t)},this);return!e.isAnimating&&!e.isClosing&&(e.trigger("beforeClose",t)===!1?(n.fancybox.stop(e.$refs.slider),void u(function(){e.update(!0,!0,150)})):(e.isClosing=!0,o.timouts&&clearTimeout(o.timouts),t!==!0&&n.fancybox.stop(e.$refs.slider),e.$refs.container.removeClass("fancybox-container--active").addClass("fancybox-container--closing"),o.$slide.removeClass("fancybox-slide--complete").siblings().remove(),o.isMoved||o.$slide.css("overflow","visible"),e.removeEvents(),e.hideLoading(o),e.hideControls(),e.updateCursor(),e.$refs.bg.css("transition-duration",s+"ms"),this.$refs.container.removeClass("fancybox-container--ready"),void(t===!0?setTimeout(i,s):e.zoomInOut("Out",s,i)||n.fancybox.animate(e.$refs.container,null,{opacity:0},s,"easeInSine",i))))},cleanUp:function(t){var e,o=this;o.$refs.slider.children().trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.current=null,e=n.fancybox.getInstance(),e?e.activate():(n("html").removeClass("fancybox-enabled"),n("body").removeAttr("style"),a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),n("#fancybox-noscroll").remove()),o.$lastFocus&&o.$lastFocus.focus()},trigger:function(t,o){var s,i=Array.prototype.slice.call(arguments,1),a=this,r=o&&o.opts?o:a.current;return r?i.unshift(r):r=a,i.unshift(a),n.isFunction(r.opts[t])&&(s=r.opts[t].apply(r,i)),s===!1?s:void("afterClose"===t?n(e).trigger(t+".fb",i):a.$refs.container.trigger(t+".fb",i))},toggleControls:function(t){this.isHiddenControls?this.updateControls(t):this.hideControls()},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-controls"),this.$refs.container.removeClass("fancybox-show-caption")},updateControls:function(t){var e=this,o=e.$refs.container,s=e.$refs.caption,i=e.current,a=i.index,r=i.opts,c=r.caption;this.isHiddenControls&&t!==!0||(this.isHiddenControls=!1,o.addClass("fancybox-show-controls").toggleClass("fancybox-show-infobar",!!r.infobar&&e.group.length>1).toggleClass("fancybox-show-buttons",!!r.buttons).toggleClass("fancybox-is-modal",!!r.modal),n(".fancybox-button--left",o).toggleClass("fancybox-button--disabled",!r.loop&&a<=0),n(".fancybox-button--right",o).toggleClass("fancybox-button--disabled",!r.loop&&a>=e.group.length-1),n(".fancybox-button--play",o).toggle(!!(r.slideShow&&e.group.length>1)),n(".fancybox-button--close",o).toggle(!!r.closeBtn),n(".js-fancybox-count",o).html(e.group.length),n(".js-fancybox-index",o).html(a+1),i.$slide.trigger("refresh"),s&&s.empty(),c&&c.length?(s.html(c),this.$refs.container.addClass("fancybox-show-caption "),e.$caption=s):this.$refs.container.removeClass("fancybox-show-caption"))}}),n.fancybox={version:"3.0.47",defaults:i,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-container--closing"):first').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof p&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new p(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},isTouch:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<=11)}(),getTranslate:function(t){var e,n;return!(!t||!t.length)&&(e=t.get(0).getBoundingClientRect(),n=t.eq(0).css("transform"),n&&n.indexOf("matrix")!==-1?(n=n.split("(")[1],n=n.split(")")[0],n=n.split(",")):n=[],n.length?(n=n.length>10?[n[13],n[12],n[0],n[5]]:[n[5],n[4],n[0],n[3]],n=n.map(parseFloat)):n=[0,0,1,1],{top:n[0],left:n[1],scaleX:n[2],scaleY:n[3],opacity:parseFloat(t.css("opacity")),width:e.width,height:e.height})},setTranslate:function(t,e){var n="",s={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().top:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(s.transform=n),e.opacity!==o&&(s.opacity=e.opacity),e.width!==o&&(s.width=e.width),e.height!==o&&(s.height=e.height),t.css(s)},easing:{easeOutCubic:function(t,e,n,o){return n*((t=t/o-1)*t*t+1)+e},easeInCubic:function(t,e,n,o){return n*(t/=o)*t*t+e},easeOutSine:function(t,e,n,o){return n*Math.sin(t/o*(Math.PI/2))+e},easeInSine:function(t,e,n,o){return-n*Math.cos(t/o*(Math.PI/2))+n+e}},stop:function(t){t.removeData("animateID")},animate:function(t,e,s,i,a,r){var c,l,d,p=this,h=null,f=0,g=function(){s.scaleX!==o&&s.scaleY!==o&&e&&e.width!==o&&e.height!==o&&(s.width=e.width*s.scaleX,s.height=e.height*s.scaleY,s.scaleX=1,s.scaleY=1),p.setTranslate(t,s),r()},b=function(n){if(c=[],l=0,t.length&&t.data("animateID")===d){if(n=n||Date.now(),h&&(l=n-h),h=n,f+=l,f>=i)return void g();for(var r in s)s.hasOwnProperty(r)&&e[r]!==o&&(e[r]==s[r]?c[r]=s[r]:c[r]=p.easing[a](f,e[r],s[r]-e[r],i));p.setTranslate(t,c),u(b)}};p.animateID=d=p.animateID===o?1:p.animateID+1,t.data("animateID",d),r===o&&"function"==n.type(a)&&(r=a,a=o),a||(a="easeOutCubic"),r=r||n.noop,e?this.setTranslate(t,e):e=this.getTranslate(t),i?(t.show(),u(b)):g()}},n.fn.fancybox=function(t){return this.off("click.fb-start").on("click.fb-start",{items:this,options:t||{}},s),this},n(e).on("click.fb-start","[data-fancybox]",s)}(window,document,window.jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},metacafe:{matcher:/metacafe.com\/watch\/(\d+)\/(.*)?/,type:"iframe",url:"//www.metacafe.com/embed/$1/?ap=1"},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"iframe",url:"//www.dailymotion.com/embed/video/$1"},vine:{matcher:/vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,type:"iframe",url:"//vine.co/v/$1/embed/simple"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},google_maps:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12])+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}}};t(document).on("onInit.fb",function(o,s){t.each(s.group,function(o,s){var i,a,r,c,l,u,d=s.src||"",p=!1;s.type||(t.each(n,function(n,o){if(a=d.match(o.matcher),l={},u=n,a){if(p=o.type,o.paramPlace&&a[o.paramPlace]){c=a[o.paramPlace],"?"==c[0]&&(c=c.substring(1)),c=c.split("&");for(var h=0;h
e.clientHeight,i=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return s||i},c=function(t){for(var e=!1;;){if(e=r(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-slider")||t.is("body"))break}return e},l=function(t){var e=this;e.instance=t,e.$wrap=t.$refs.slider_wrap,e.$slider=t.$refs.slider,e.$container=t.$refs.container,e.destroy(),e.$wrap.on("touchstart.fb mousedown.fb",n.proxy(e,"ontouchstart"))};l.prototype.destroy=function(){this.$wrap.off("touchstart.fb mousedown.fb touchmove.fb mousemove.fb touchend.fb touchcancel.fb mouseup.fb mouseleave.fb")},l.prototype.ontouchstart=function(e){var o=this,r=n(e.target),l=o.instance,u=l.current,d=u.$content||u.$placeholder;return o.startPoints=s(e),o.$target=r,o.$content=d,o.canvasWidth=Math.round(u.$slide[0].clientWidth),o.canvasHeight=Math.round(u.$slide[0].clientHeight),o.startEvent=e,e.originalEvent.clientX>o.canvasWidth+u.$slide.offset().left||(a(r)||a(r.parent())||c(r)?void 0:u.opts.touch?void(e.originalEvent&&2==e.originalEvent.button||(e.stopPropagation(),e.preventDefault(),!u||o.instance.isAnimating||o.instance.isClosing||!o.startPoints||o.startPoints.length>1&&!u.isMoved||(o.$wrap.off("touchmove.fb mousemove.fb",n.proxy(o,"ontouchmove")),o.$wrap.off("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb",n.proxy(o,"ontouchend")),o.$wrap.on("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb",n.proxy(o,"ontouchend")),o.$wrap.on("touchmove.fb mousemove.fb",n.proxy(o,"ontouchmove")),o.startTime=(new Date).getTime(),o.distanceX=o.distanceY=o.distance=0,o.canTap=!1,o.isPanning=!1,o.isSwiping=!1,o.isZooming=!1,o.sliderStartPos=n.fancybox.getTranslate(o.$slider),o.contentStartPos=n.fancybox.getTranslate(o.$content),o.contentLastPos=null,1!==o.startPoints.length||o.isZooming||(o.canTap=u.isMoved,"image"===u.type&&(o.contentStartPos.width>o.canvasWidth+1||o.contentStartPos.height>o.canvasHeight+1)?(n.fancybox.stop(o.$content),o.isPanning=!0):(n.fancybox.stop(o.$slider),o.isSwiping=!0),o.$container.addClass("fancybox-controls--isGrabbing")),2===o.startPoints.length&&u.isMoved&&!u.hasError&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(o.isZooming=!0,o.isSwiping=!1,o.isPanning=!1,n.fancybox.stop(o.$content),o.centerPointStartX=.5*(o.startPoints[0].x+o.startPoints[1].x)-n(t).scrollLeft(),o.centerPointStartY=.5*(o.startPoints[0].y+o.startPoints[1].y)-n(t).scrollTop(),o.percentageOfImageAtPinchPointX=(o.centerPointStartX-o.contentStartPos.left)/o.contentStartPos.width,o.percentageOfImageAtPinchPointY=(o.centerPointStartY-o.contentStartPos.top)/o.contentStartPos.height,o.startDistanceBetweenFingers=i(o.startPoints[0],o.startPoints[1]))))):(o.endPoints=o.startPoints,o.ontap()))},l.prototype.ontouchmove=function(t){var e=this;t.preventDefault(),e.newPoints=s(t),e.newPoints&&e.newPoints.length&&(e.distanceX=i(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=i(e.newPoints[0],e.startPoints[0],"y"),e.distance=i(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe():e.isPanning?e.onPan():e.isZooming&&e.onZoom()))},l.prototype.onSwipe=function(){var e,s=this,i=s.isSwiping,a=s.sliderStartPos.left;i===!0?Math.abs(s.distance)>10&&(s.instance.group.length<2?s.isSwiping="y":!s.instance.current.isMoved||s.instance.opts.touch.vertical===!1||"auto"===s.instance.opts.touch.vertical&&n(t).width()>800?s.isSwiping="x":(e=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),
s.isSwiping=e>45&&e<135?"y":"x"),s.canTap=!1,s.instance.current.isMoved=!1,s.startPoints=s.newPoints):("x"==i&&(!s.instance.current.opts.loop&&0===s.instance.current.index&&s.distanceX>0?a+=Math.pow(s.distanceX,.8):!s.instance.current.opts.loop&&s.instance.current.index===s.instance.group.length-1&&s.distanceX<0?a-=Math.pow(-s.distanceX,.8):a+=s.distanceX),s.sliderLastPos={top:"x"==i?0:s.sliderStartPos.top+s.distanceY,left:a},o(function(){n.fancybox.setTranslate(s.$slider,s.sliderLastPos)}))},l.prototype.onPan=function(){var t,e,s,i=this;i.canTap=!1,t=i.contentStartPos.width>i.canvasWidth?i.contentStartPos.left+i.distanceX:i.contentStartPos.left,e=i.contentStartPos.top+i.distanceY,s=i.limitMovement(t,e,i.contentStartPos.width,i.contentStartPos.height),s.scaleX=i.contentStartPos.scaleX,s.scaleY=i.contentStartPos.scaleY,i.contentLastPos=s,o(function(){n.fancybox.setTranslate(i.$content,i.contentLastPos)})},l.prototype.limitMovement=function(t,e,n,o){var s,i,a,r,c=this,l=c.canvasWidth,u=c.canvasHeight,d=c.contentStartPos.left,p=c.contentStartPos.top,h=c.distanceX,f=c.distanceY;return s=Math.max(0,.5*l-.5*n),i=Math.max(0,.5*u-.5*o),a=Math.min(l-n,.5*l-.5*n),r=Math.min(u-o,.5*u-.5*o),n>l&&(h>0&&t>s&&(t=s-1+Math.pow(-s+d+h,.8)||0),h<0&&tu&&(f>0&&e>i&&(e=i-1+Math.pow(-i+p+f,.8)||0),f<0&&ei?(t=t>0?0:t,t=ta?(e=e>0?0:e,e=e50?(n.fancybox.animate(e.$slider,null,{top:e.sliderStartPos.top+e.distanceY+150*e.velocityY,left:e.sliderStartPos.left,opacity:0},e.speedY),e.instance.close(!0)):"x"==t&&e.distanceX>50?e.instance.previous(e.speedX):"x"==t&&e.distanceX<-50?e.instance.next(e.speedX):e.instance.update(!1,!0,150)},l.prototype.endPanning=function(){var t,e,o,s=this;s.contentLastPos&&(t=s.contentLastPos.left+s.velocityX*s.speed*2,e=s.contentLastPos.top+s.velocityY*s.speed*2,o=s.limitPosition(t,e,s.contentStartPos.width,s.contentStartPos.height),o.width=s.contentStartPos.width,o.height=s.contentStartPos.height,n.fancybox.animate(s.$content,null,o,s.speed,"easeOutSine"))},l.prototype.endZooming=function(){var t,e,o,s,i=this,a=i.instance.current,r=i.newWidth,c=i.newHeight;i.contentLastPos&&(t=i.contentLastPos.left,e=i.contentLastPos.top,s={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(i.$content,s),ra.width||c>a.height?i.instance.scaleToActual(i.centerPointStartX,i.centerPointStartY,150):(o=i.limitPosition(t,e,r,c),n.fancybox.animate(i.$content,null,o,i.speed,"easeOutSine")))},l.prototype.ontap=function(){var t=this,e=t.instance,o=e.current,s=t.endPoints[0].x,i=t.endPoints[0].y;if(s-=t.$wrap.offset().left,i-=t.$wrap.offset().top,e.SlideShow&&e.SlideShow.isActive&&e.SlideShow.stop(),!n.fancybox.isTouch)return o.opts.closeClickOutside&&t.$target.is(".fancybox-slide")?void e.close(t.startEvent):void("image"==o.type&&o.isMoved&&(e.canPan()?e.scaleToFit():e.isScaledDown()?e.scaleToActual(s,i):e.group.length<2&&e.close(t.startEvent)));if(t.tapped){if(clearTimeout(t.tapped),t.tapped=null,Math.abs(s-t.x)>50||Math.abs(i-t.y)>50||!o.isMoved)return this;"image"==o.type&&(o.isLoaded||o.$ghost)&&(e.canPan()?e.scaleToFit():e.isScaledDown()&&e.scaleToActual(s,i))}else t.x=s,t.y=i,t.tapped=setTimeout(function(){t.tapped=null,e.toggleControls(!0)},300);return this},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new l(e))}),n(e).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,speed:3e3,init:function(){var t=this;t.$button=e(' ').appendTo(t.instance.$refs.buttons),t.instance.$refs.container.on("click","[data-fancybox-play]",function(){t.toggle()})},set:function(){var t=this;t.instance&&t.instance.current&&(t.instance.current.opts.loop||t.instance.currIndex1&&e.opts.slideShow&&!e.SlideShow&&(e.SlideShow=new n(e))}),e(t).on("beforeClose.fb onDeactivate.fb",function(t,e){e&&e.SlideShow&&e.SlideShow.stop()})}(document,window.jQuery),function(t,e){"use strict";var n=function(){var e,n,o,s=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i={};for(n=0;n').appendTo(n.$refs.buttons),s.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle(s[0])}),n.opts.fullScreen.requestOnStart===!0&&o.request(s[0]))},"beforeMove.fb":function(t,e){e&&e.$refs.button_fs&&e.$refs.button_fs.toggle(!!e.current.opts.fullScreen)},"beforeClose.fb":function(){o.exit()}}),e(t).on(n.fullscreenchange,function(){var t=e.fancybox.getInstance(),n=t?t.current.$placeholder:null;n&&(n.css("transition","none"),t.isAnimating=!1,t.update(!0,!0,0))})}}(document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,init:function(){var t=this;t.$button=e(' ').appendTo(this.instance.$refs.buttons).on("touchend click",function(e){e.stopPropagation(),e.preventDefault(),t.toggle()})},create:function(){var t,n,o=this.instance;this.$grid=e('
').appendTo(o.$refs.container),t="",e.each(o.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr("src"):null),n||"image"!==o.type||(n=o.src),n&&n.length&&(t+=' ')}),t+=" ",this.$list=e(t).appendTo(this.$grid).on("click touchstart","li",function(){o.jumpTo(e(this).data("index"))}),this.$list.find("img").hide().one("load",function(){var t,n,o,s,i=e(this).parent().removeClass("fancybox-thumbs-loading"),a=i.outerWidth(),r=i.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/a,s=n/r,o>=1&&s>=1&&(o>s?(t/=s,n=r):(t=a,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),"margin-top":Math.min(0,Math.floor(.3*r-.3*n)),"margin-left":Math.min(0,Math.floor(.5*a-.5*t))}).show()}).each(function(){this.src=e(this).data("src")})},focus:function(){this.instance.current&&this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+this.instance.current.index+'"]').addClass("fancybox-thumbs-active").focus()},close:function(){this.$grid.hide()},update:function(){this.instance.$refs.container.toggleClass("fancybox-container--thumbs",this.isVisible),this.isVisible?(this.$grid||this.create(),this.$grid.show(),this.focus()):this.$grid&&this.$grid.hide(),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible?this.hide():this.show()}}),e(t).on("onInit.fb",function(t,e){var o=e.group[0],s=e.group[1];e.opts.thumbs&&!e.Thumbs&&e.group.length>1&&("image"==o.type||o.opts.thumb||o.opts.$thumb)&&("image"==s.type||s.opts.thumb||s.opts.$thumb)&&(e.Thumbs=new n(e))}),e(t).on("beforeMoextend( true, this.options, opts );
};
}
// make jQuery plugin
$.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
if ( typeof arg0 == 'string' ) {
// method call $().plugin( 'methodName', { options } )
// shift arguments by 1
var args = arraySlice.call( arguments, 1 );
return methodCall( this, arg0, args );
}
// just $().plugin({ options })
plainCall( this, arg0 );
return this;
};
// $().plugin('methodName')
function methodCall( $elems, methodName, args ) {
var returnValue;
var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
$elems.each( function( i, elem ) {
// get instance
var instance = $.data( elem, namespace );
if ( !instance ) {
logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
pluginMethodStr );
return;
}
var method = instance[ methodName ];
if ( !method || methodName.charAt(0) == '_' ) {
logError( pluginMethodStr + ' is not a valid method' );
return;
}
// apply method, get return value
var value = method.apply( instance, args );
// set return value if value is returned, use only first value
returnValue = returnValue === undefined ? value : returnValue;
});
return returnValue !== undefined ? returnValue : $elems;
}
function plainCall( $elems, options ) {
$elems.each( function( i, elem ) {
var instance = $.data( elem, namespace );
if ( instance ) {
// set options & init
instance.option( options );
instance._init();
} else {
// initialize new instance
instance = new PluginClass( elem, options );
$.data( elem, namespace, instance );
}
});
}
updateJQuery( $ );
}
// ----- updateJQuery ----- //
// set $.bridget for v1 backwards compatibility
function updateJQuery( $ ) {
if ( !$ || ( $ && $.bridget ) ) {
return;
}
$.bridget = jQueryBridget;
}
updateJQuery( jQuery || window.jQuery );
// ----- ----- //
return jQueryBridget;
}));
/**
* EvEmitter v1.1.0
* Lil' event emitter
* MIT License
*/
/* jshint unused: true, undef: true, strict: true */
( function( global, factory ) {
// universal module definition
/* jshint strict: false */ /* globals define, module, window */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'ev-emitter/ev-emitter',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory();
} else {
// Browser globals
global.EvEmitter = factory();
}
}( typeof window != 'undefined' ? window : this, function() {
function EvEmitter() {}
var proto = EvEmitter.prototype;
proto.on = function( eventName, listener ) {
if ( !eventName || !listener ) {
return;
}
// set events hash
var events = this._events = this._events || {};
// set listeners array
var listeners = events[ eventName ] = events[ eventName ] || [];
// only add once
if ( listeners.indexOf( listener ) == -1 ) {
listeners.push( listener );
}
return this;
};
proto.once = function( eventName, listener ) {
if ( !eventName || !listener ) {
return;
}
// add event
this.on( eventName, listener );
// set once flag
// set onceEvents hash
var onceEvents = this._onceEvents = this._onceEvents || {};
// set onceListeners object
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
// set flag
onceListeners[ listener ] = true;
return this;
};
proto.off = function( eventName, listener ) {
var listeners = this._events && this._events[ eventName ];
if ( !listeners || !listeners.length ) {
return;
}
var index = listeners.indexOf( listener );
if ( index != -1 ) {
listeners.splice( index, 1 );
}
return this;
};
proto.emitEvent = function( eventName, args ) {
var listeners = this._events && this._events[ eventName ];
if ( !listeners || !listeners.length ) {
return;
}
// copy over to avoid interference if .off() in listener
listeners = listeners.slice(0);
args = args || [];
// once stuff
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
for ( var i=0; i < listeners.length; i++ ) {
var listener = listeners[i]
var isOnce = onceListeners && onceListeners[ listener ];
if ( isOnce ) {
// remove listener
// remove before trigger to prevent recursion
this.off( eventName, listener );
// unset once flag
delete onceListeners[ listener ];
}
// trigger listener
listener.apply( this, args );
}
return this;
};
proto.allOff = function() {
delete this._events;
delete this._onceEvents;
};
return EvEmitter;
}));
/*!
* getSize v2.0.3
* measure size of elements
* MIT license
*/
/* jshint browser: true, strict: true, undef: true, unused: true */
/* globals console: false */
( function( window, factory ) {
/* jshint strict: false */ /* globals define, module */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'get-size/get-size',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory();
} else {
// browser global
window.getSize = factory();
}
})( window, function factory() {
'use strict';
// -------------------------- helpers -------------------------- //
// get a number from a string, not a percentage
function getStyleSize( value ) {
var num = parseFloat( value );
// not a percent like '100%', and a number
var isValid = value.indexOf('%') == -1 && !isNaN( num );
return isValid && num;
}
function noop() {}
var logError = typeof console == 'undefined' ? noop :
function( message ) {
console.error( message );
};
// -------------------------- measurements -------------------------- //
var measurements = [
'paddingLeft',
'paddingRight',
'paddingTop',
'paddingBottom',
'marginLeft',
'marginRight',
'marginTop',
'marginBottom',
'borderLeftWidth',
'borderRightWidth',
'borderTopWidth',
'borderBottomWidth'
];
var measurementsLength = measurements.length;
function getZeroSize() {
var size = {
width: 0,
height: 0,
innerWidth: 0,
innerHeight: 0,
outerWidth: 0,
outerHeight: 0
};
for ( var i=0; i < measurementsLength; i++ ) {
var measurement = measurements[i];
size[ measurement ] = 0;
}
return size;
}
// -------------------------- getStyle -------------------------- //
/**
* getStyle, get style of element, check for Firefox bug
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
*/
function getStyle( elem ) {
var style = getComputedStyle( elem );
if ( !style ) {
logError( 'Style returned ' + style +
'. Are you running this code in a hidden iframe on Firefox? ' +
'See https://bit.ly/getsizebug1' );
}
return style;
}
// -------------------------- setup -------------------------- //
var isSetup = false;
var isBoxSizeOuter;
/**
* setup
* check isBoxSizerOuter
* do on first getSize() rather than on page load for Firefox bug
*/
function setup() {
// setup once
if ( isSetup ) {
return;
}
isSetup = true;
// -------------------------- box sizing -------------------------- //
/**
* Chrome & Safari measure the outer-width on style.width on border-box elems
* IE11 & Firefox<29 measures the inner-width
*/
var div = document.createElement('div');
div.style.width = '200px';
div.style.padding = '1px 2px 3px 4px';
div.style.borderStyle = 'solid';
div.style.borderWidth = '1px 2px 3px 4px';
div.style.boxSizing = 'border-box';
var body = document.body || document.documentElement;
body.appendChild( div );
var style = getStyle( div );
// round value for browser zoom. desandro/masonry#928
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
getSize.isBoxSizeOuter = isBoxSizeOuter;
body.removeChild( div );
}
// -------------------------- getSize -------------------------- //
function getSize( elem ) {
setup();
// use querySeletor if elem is string
if ( typeof elem == 'string' ) {
elem = document.querySelector( elem );
}
// do not proceed on non-objects
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
return;
}
var style = getStyle( elem );
// if hidden, everything is 0
if ( style.display == 'none' ) {
return getZeroSize();
}
var size = {};
size.width = elem.offsetWidth;
size.height = elem.offsetHeight;
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
// get all measurements
for ( var i=0; i < measurementsLength; i++ ) {
var measurement = measurements[i];
var value = style[ measurement ];
var num = parseFloat( value );
// any 'auto', 'medium' value will be 0
size[ measurement ] = !isNaN( num ) ? num : 0;
}
var paddingWidth = size.paddingLeft + size.paddingRight;
var paddingHeight = size.paddingTop + size.paddingBottom;
var marginWidth = size.marginLeft + size.marginRight;
var marginHeight = size.marginTop + size.marginBottom;
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
// overwrite width and height if we can get it from style
var styleWidth = getStyleSize( style.width );
if ( styleWidth !== false ) {
size.width = styleWidth +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
}
var styleHeight = getStyleSize( style.height );
if ( styleHeight !== false ) {
size.height = styleHeight +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
}
size.innerWidth = size.width - ( paddingWidth + borderWidth );
size.innerHeight = size.height - ( paddingHeight + borderHeight );
size.outerWidth = size.width + marginWidth;
size.outerHeight = size.height + marginHeight;
return size;
}
return getSize;
});
/**
* matchesSelector v2.0.2
* matchesSelector( element, '.selector' )
* MIT license
*/
/*jshint browser: true, strict: true, undef: true, unused: true */
( function( window, factory ) {
/*global define: false, module: false */
'use strict';
// universal module definition
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'desandro-matches-selector/matches-selector',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory();
} else {
// browser global
window.matchesSelector = factory();
}
}( window, function factory() {
'use strict';
var matchesMethod = ( function() {
var ElemProto = window.Element.prototype;
// check for the standard method name first
if ( ElemProto.matches ) {
return 'matches';
}
// check un-prefixed
if ( ElemProto.matchesSelector ) {
return 'matchesSelector';
}
// check vendor prefixes
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
for ( var i=0; i < prefixes.length; i++ ) {
var prefix = prefixes[i];
var method = prefix + 'MatchesSelector';
if ( ElemProto[ method ] ) {
return method;
}
}
})();
return function matchesSelector( elem, selector ) {
return elem[ matchesMethod ]( selector );
};
}));
/**
* Fizzy UI utils v2.0.7
* MIT license
*/
/*jshint browser: true, undef: true, unused: true, strict: true */
( function( window, factory ) {
// universal module definition
/*jshint strict: false */ /*globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'fizzy-ui-utils/utils',[
'desandro-matches-selector/matches-selector'
], function( matchesSelector ) {
return factory( window, matchesSelector );
});
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
window,
require('desandro-matches-selector')
);
} else {
// browser global
window.fizzyUIUtils = factory(
window,
window.matchesSelector
);
}
}( window, function factory( window, matchesSelector ) {
var utils = {};
// ----- extend ----- //
// extends objects
utils.extend = function( a, b ) {
for ( var prop in b ) {
a[ prop ] = b[ prop ];
}
return a;
};
// ----- modulo ----- //
utils.modulo = function( num, div ) {
return ( ( num % div ) + div ) % div;
};
// ----- makeArray ----- //
var arraySlice = Array.prototype.slice;
// turn element or nodeList into an array
utils.makeArray = function( obj ) {
if ( Array.isArray( obj ) ) {
// use object if already an array
return obj;
}
// return empty array if undefined or null. #6
if ( obj === null || obj === undefined ) {
return [];
}
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
if ( isArrayLike ) {
// convert nodeList to array
return arraySlice.call( obj );
}
// array of single index
return [ obj ];
};
// ----- removeFrom ----- //
utils.removeFrom = function( ary, obj ) {
var index = ary.indexOf( obj );
if ( index != -1 ) {
ary.splice( index, 1 );
}
};
// ----- getParent ----- //
utils.getParent = function( elem, selector ) {
while ( elem.parentNode && elem != document.body ) {
elem = elem.parentNode;
if ( matchesSelector( elem, selector ) ) {
return elem;
}
}
};
// ----- getQueryElement ----- //
// use element as selector string
utils.getQueryElement = function( elem ) {
if ( typeof elem == 'string' ) {
return document.querySelector( elem );
}
return elem;
};
// ----- handleEvent ----- //
// enable .ontype to trigger from .addEventListener( elem, 'type' )
utils.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
// ----- filterFindElements ----- //
utils.filterFindElements = function( elems, selector ) {
// make array of elems
elems = utils.makeArray( elems );
var ffElems = [];
elems.forEach( function( elem ) {
// check that elem is an actual element
if ( !( elem instanceof HTMLElement ) ) {
return;
}
// add elem if no selector
if ( !selector ) {
ffElems.push( elem );
return;
}
// filter & find items if we have a selector
// filter
if ( matchesSelector( elem, selector ) ) {
ffElems.push( elem );
}
// find children
var childElems = elem.querySelectorAll( selector );
// concat childElems to filterFound array
for ( var i=0; i < childElems.length; i++ ) {
ffElems.push( childElems[i] );
}
});
return ffElems;
};
// ----- debounceMethod ----- //
utils.debounceMethod = function( _class, methodName, threshold ) {
threshold = threshold || 100;
// original method
var method = _class.prototype[ methodName ];
var timeoutName = methodName + 'Timeout';
_class.prototype[ methodName ] = function() {
var timeout = this[ timeoutName ];
clearTimeout( timeout );
var args = arguments;
var _this = this;
this[ timeoutName ] = setTimeout( function() {
method.apply( _this, args );
delete _this[ timeoutName ];
}, threshold );
};
};
// ----- docReady ----- //
utils.docReady = function( callback ) {
var readyState = document.readyState;
if ( readyState == 'complete' || readyState == 'interactive' ) {
// do async to allow for other scripts to run. metafizzy/flickity#441
setTimeout( callback );
} else {
document.addEventListener( 'DOMContentLoaded', callback );
}
};
// ----- htmlInit ----- //
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
utils.toDashed = function( str ) {
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
return $1 + '-' + $2;
}).toLowerCase();
};
var console = window.console;
/**
* allow user to initialize classes via [data-namespace] or .js-namespace class
* htmlInit( Widget, 'widgetName' )
* options are parsed from data-namespace-options
*/
utils.htmlInit = function( WidgetClass, namespace ) {
utils.docReady( function() {
var dashedNamespace = utils.toDashed( namespace );
var dataAttr = 'data-' + dashedNamespace;
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
var elems = utils.makeArray( dataAttrElems )
.concat( utils.makeArray( jsDashElems ) );
var dataOptionsAttr = dataAttr + '-options';
var jQuery = window.jQuery;
elems.forEach( function( elem ) {
var attr = elem.getAttribute( dataAttr ) ||
elem.getAttribute( dataOptionsAttr );
var options;
try {
options = attr && JSON.parse( attr );
} catch ( error ) {
// log error, do not initialize
if ( console ) {
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
': ' + error );
}
return;
}
// initialize
var instance = new WidgetClass( elem, options );
// make available via $().data('namespace')
if ( jQuery ) {
jQuery.data( elem, namespace, instance );
}
});
});
};
// ----- ----- //
return utils;
}));
/**
* Outlayer Item
*/
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /* globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'outlayer/item',[
'ev-emitter/ev-emitter',
'get-size/get-size'
],
factory
);
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory(
require('ev-emitter'),
require('get-size')
);
} else {
// browser global
window.Outlayer = {};
window.Outlayer.Item = factory(
window.EvEmitter,
window.getSize
);
}
}( window, function factory( EvEmitter, getSize ) {
'use strict';
// ----- helpers ----- //
function isEmptyObj( obj ) {
for ( var prop in obj ) {
return false;
}
prop = null;
return true;
}
// -------------------------- CSS3 support -------------------------- //
var docElemStyle = document.documentElement.style;
var transitionProperty = typeof docElemStyle.transition == 'string' ?
'transition' : 'WebkitTransition';
var transformProperty = typeof docElemStyle.transform == 'string' ?
'transform' : 'WebkitTransform';
var transitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
transition: 'transitionend'
}[ transitionProperty ];
// cache all vendor properties that could have vendor prefix
var vendorProperties = {
transform: transformProperty,
transition: transitionProperty,
transitionDuration: transitionProperty + 'Duration',
transitionProperty: transitionProperty + 'Property',
transitionDelay: transitionProperty + 'Delay'
};
// -------------------------- Item -------------------------- //
function Item( element, layout ) {
if ( !element ) {
return;
}
this.element = element;
// parent layout class, i.e. Masonry, Isotope, or Packery
this.layout = layout;
this.position = {
x: 0,
y: 0
};
this._create();
}
// inherit EvEmitter
var proto = Item.prototype = Object.create( EvEmitter.prototype );
proto.constructor = Item;
proto._create = function() {
// transition objects
this._transn = {
ingProperties: {},
clean: {},
onEnd: {}
};
this.css({
position: 'absolute'
});
};
// trigger specified handler for event type
proto.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
proto.getSize = function() {
this.size = getSize( this.element );
};
/**
* apply CSS styles to element
* @param {Object} style
*/
proto.css = function( style ) {
var elemStyle = this.element.style;
for ( var prop in style ) {
// use vendor property if available
var supportedProp = vendorProperties[ prop ] || prop;
elemStyle[ supportedProp ] = style[ prop ];
}
};
// measure position, and sets it
proto.getPosition = function() {
var style = getComputedStyle( this.element );
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
var x = parseFloat( xValue );
var y = parseFloat( yValue );
// convert percent to pixels
var layoutSize = this.layout.size;
if ( xValue.indexOf('%') != -1 ) {
x = ( x / 100 ) * layoutSize.width;
}
if ( yValue.indexOf('%') != -1 ) {
y = ( y / 100 ) * layoutSize.height;
}
// clean up 'auto' or other non-integer values
x = isNaN( x ) ? 0 : x;
y = isNaN( y ) ? 0 : y;
// remove padding from measurement
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
this.position.x = x;
this.position.y = y;
};
// set settled position, apply padding
proto.layoutPosition = function() {
var layoutSize = this.layout.size;
var style = {};
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
// x
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
var xProperty = isOriginLeft ? 'left' : 'right';
var xResetProperty = isOriginLeft ? 'right' : 'left';
var x = this.position.x + layoutSize[ xPadding ];
// set in percentage or pixels
style[ xProperty ] = this.getXValue( x );
// reset other property
style[ xResetProperty ] = '';
// y
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
var yProperty = isOriginTop ? 'top' : 'bottom';
var yResetProperty = isOriginTop ? 'bottom' : 'top';
var y = this.position.y + layoutSize[ yPadding ];
// set in percentage or pixels
style[ yProperty ] = this.getYValue( y );
// reset other property
style[ yResetProperty ] = '';
this.css( style );
this.emitEvent( 'layout', [ this ] );
};
proto.getXValue = function( x ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && !isHorizontal ?
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
};
proto.getYValue = function( y ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && isHorizontal ?
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
};
proto._transitionTo = function( x, y ) {
this.getPosition();
// get current x & y from top/left
var curX = this.position.x;
var curY = this.position.y;
var didNotMove = x == this.position.x && y == this.position.y;
// save end position
this.setPosition( x, y );
// if did not move and not transitioning, just go to layout
if ( didNotMove && !this.isTransitioning ) {
this.layoutPosition();
return;
}
var transX = x - curX;
var transY = y - curY;
var transitionStyle = {};
transitionStyle.transform = this.getTranslate( transX, transY );
this.transition({
to: transitionStyle,
onTransitionEnd: {
transform: this.layoutPosition
},
isCleaning: true
});
};
proto.getTranslate = function( x, y ) {
// flip cooridinates if origin on right or bottom
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
x = isOriginLeft ? x : -x;
y = isOriginTop ? y : -y;
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
};
// non transition + transform support
proto.goTo = function( x, y ) {
this.setPosition( x, y );
this.layoutPosition();
};
proto.moveTo = proto._transitionTo;
proto.setPosition = function( x, y ) {
this.position.x = parseFloat( x );
this.position.y = parseFloat( y );
};
// ----- transition ----- //
/**
* @param {Object} style - CSS
* @param {Function} onTransitionEnd
*/
// non transition, just trigger callback
proto._nonTransition = function( args ) {
this.css( args.to );
if ( args.isCleaning ) {
this._removeStyles( args.to );
}
for ( var prop in args.onTransitionEnd ) {
args.onTransitionEnd[ prop ].call( this );
}
};
/**
* proper transition
* @param {Object} args - arguments
* @param {Object} to - style to transition to
* @param {Object} from - style to start transition from
* @param {Boolean} isCleaning - removes transition styles after transition
* @param {Function} onTransitionEnd - callback
*/
proto.transition = function( args ) {
// redirect to nonTransition if no transition duration
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
this._nonTransition( args );
return;
}
var _transition = this._transn;
// keep track of onTransitionEnd callback by css property
for ( var prop in args.onTransitionEnd ) {
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
}
// keep track of properties that are transitioning
for ( prop in args.to ) {
_transition.ingProperties[ prop ] = true;
// keep track of properties to clean up when transition is done
if ( args.isCleaning ) {
_transition.clean[ propquerySelectorAll( '.js-' + dashedNamespace );
var elems = utils.makeArray( dataAttrElems )
.concat( utils.makeArray( jsDashElems ) );
var dataOptionsAttr = dataAttr + '-options';
var jQuery = window.jQuery;
elems.forEach( function( elem ) {
var attr = elem.getAttribute( dataAttr ) ||
elem.getAttribute( dataOptionsAttr );
var options;
try {
options = attr && JSON.parse( attr );
} catch ( error ) {
// log error, do not initialize
if ( console ) {
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
': ' + error );
}
return;
}
// initialize
var instance = new WidgetClass( elem, options );
// make available via $().data('namespace')
if ( jQuery ) {
jQuery.data( elem, namespace, instance );
}
});
});
};
// ----- ----- //
return utils;
}));
/**
* Outlayer Item
*/
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /* globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'outlayer/item',[
'ev-emitter/ev-emitter',
'get-size/get-size'
],
factory
);
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory(
require('ev-emitter'),
require('get-size')
);
} else {
// browser global
window.Outlayer = {};
window.Outlayer.Item = factory(
window.EvEmitter,
window.getSize
);
}
}( window, function factory( EvEmitter, getSize ) {
'use strict';
// ----- helpers ----- //
function isEmptyObj( obj ) {
for ( var prop in obj ) {
return false;
}
prop = null;
return true;
}
// -------------------------- CSS3 support -------------------------- //
var docElemStyle = document.documentElement.style;
var transitionProperty = typeof docElemStyle.transition == 'string' ?
'transition' : 'WebkitTransition';
var transformProperty = typeof docElemStyle.transform == 'string' ?
'transform' : 'WebkitTransform';
var transitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
transition: 'transitionend'
}[ transitionProperty ];
// cache all vendor properties that could have vendor prefix
var vendorProperties = {
transform: transformProperty,
transition: transitionProperty,
transitionDuration: transitionProperty + 'Duration',
transitionProperty: transitionProperty + 'Property',
transitionDelay: transitionProperty + 'Delay'
};
// -------------------------- Item -------------------------- //
function Item( element, layout ) {
if ( !element ) {
return;
}
this.element = element;
// parent layout class, i.e. Masonry, Isotope, or Packery
this.layout = layout;
this.position = {
x: 0,
y: 0
};
this._create();
}
// inherit EvEmitter
var proto = Item.prototype = Object.create( EvEmitter.prototype );
proto.constructor = Item;
proto._create = function() {
// transition objects
this._transn = {
ingProperties: {},
clean: {},
onEnd: {}
};
this.css({
position: 'absolute'
});
};
// trigger specified handler for event type
proto.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
proto.getSize = function() {
this.size = getSize( this.element );
};
/**
* apply CSS styles to element
* @param {Object} style
*/
proto.css = function( style ) {
var elemStyle = this.element.style;
for ( var prop in style ) {
// use vendor property if available
var supportedProp = vendorProperties[ prop ] || prop;
elemStyle[ supportedProp ] = style[ prop ];
}
};
// measure position, and sets it
proto.getPosition = function() {
var style = getComputedStyle( this.element );
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
var x = parseFloat( xValue );
var y = parseFloat( yValue );
// convert percent to pixels
var layoutSize = this.layout.size;
if ( xValue.indexOf('%') != -1 ) {
x = ( x / 100 ) * layoutSize.width;
}
if ( yValue.indexOf('%') != -1 ) {
y = ( y / 100 ) * layoutSize.height;
}
// clean up 'auto' or other non-integer values
x = isNaN( x ) ? 0 : x;
y = isNaN( y ) ? 0 : y;
// remove padding from measurement
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
this.position.x = x;
this.position.y = y;
};
// set settled position, apply padding
proto.layoutPosition = function() {
var layoutSize = this.layout.size;
var style = {};
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
// x
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
var xProperty = isOriginLeft ? 'left' : 'right';
var xResetProperty = isOriginLeft ? 'right' : 'left';
var x = this.position.x + layoutSize[ xPadding ];
// set in percentage or pixels
style[ xProperty ] = this.getXValue( x );
// reset other property
style[ xResetProperty ] = '';
// y
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
var yProperty = isOriginTop ? 'top' : 'bottom';
var yResetProperty = isOriginTop ? 'bottom' : 'top';
var y = this.position.y + layoutSize[ yPadding ];
// set in percentage or pixels
style[ yProperty ] = this.getYValue( y );
// reset other property
style[ yResetProperty ] = '';
this.css( style );
this.emitEvent( 'layout', [ this ] );
};
proto.getXValue = function( x ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && !isHorizontal ?
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
};
proto.getYValue = function( y ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && isHorizontal ?
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
};
proto._transitionTo = function( x, y ) {
this.getPosition();
// get current x & y from top/left
var curX = this.position.x;
var curY = this.position.y;
var didNotMove = x == this.position.x && y == this.position.y;
// save end position
this.setPosition( x, y );
// if did not move and not transitioning, just go to layout
if ( didNotMove && !this.isTransitioning ) {
this.layoutPosition();
return;
}
var transX = x - curX;
var transY = y - curY;
var transitionStyle = {};
transitionStyle.transform = this.getTranslate( transX, transY );
this.transition({
to: transitionStyle,
onTransitionEnd: {
transform: this.layoutPosition
},
isCleaning: true
});
};
proto.getTranslate = function( x, y ) {
// flip cooridinates if origin on right or bottom
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
x = isOriginLeft ? x : -x;
y = isOriginTop ? y : -y;
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
};
// non transition + transform support
proto.goTo = function( x, y ) {
this.setPosition( x, y );
this.layoutPosition();
};
proto.moveTo = proto._transitionTo;
proto.setPosition = function( x, y ) {
this.position.x = parseFloat( x );
this.position.y = parseFloat( y );
};
// ----- transition ----- //
/**
* @param {Object} style - CSS
* @param {Function} onTransitionEnd
*/
// non transition, just trigger callback
proto._nonTransition = function( args ) {
this.css( args.to );
if ( args.isCleaning ) {
this._removeStyles( args.to );
}
for ( var prop in args.onTransitionEnd ) {
args.onTransitionEnd[ prop ].call( this );
}
};
/**
* proper transition
* @param {Object} args - arguments
* @param {Object} to - style to transition to
* @param {Object} from - style to start transition from
* @param {Boolean} isCleaning - removes transition styles after transition
* @param {Function} onTransitionEnd - callback
*/
proto.transition = function( args ) {
// redirect to nonTransition if no transition duration
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
this._nonTransition( args );
return;
}
var _transition = this._transtils.extend( {}, this.constructor.defaults );
this.option( options );
// add id for Outlayer.getFromElement
var id = ++GUID;
this.element.outlayerGUID = id; // expando
instances[ id ] = this; // associate via id
// kick it off
this._create();
var isInitLayout = this._getOption('initLayout');
if ( isInitLayout ) {
this.layout();
}
}
// settings are for internal use only
Outlayer.namespace = 'outlayer';
Outlayer.Item = Item;
// default options
Outlayer.defaults = {
containerStyle: {
position: 'relative'
},
initLayout: true,
originLeft: true,
originTop: true,
resize: true,
resizeContainer: true,
// item options
transitionDuration: '0.4s',
hiddenStyle: {
opacity: 0,
transform: 'scale(0.001)'
},
visibleStyle: {
opacity: 1,
transform: 'scale(1)'
}
};
var proto = Outlayer.prototype;
// inherit EvEmitter
utils.extend( proto, EvEmitter.prototype );
/**
* set options
* @param {Object} opts
*/
proto.option = function( opts ) {
utils.extend( this.options, opts );
};
/**
* get backwards compatible option value, check old name
*/
proto._getOption = function( option ) {
var oldOption = this.constructor.compatOptions[ option ];
return oldOption && this.options[ oldOption ] !== undefined ?
this.options[ oldOption ] : this.options[ option ];
};
Outlayer.compatOptions = {
// currentName: oldName
initLayout: 'isInitLayout',
horizontal: 'isHorizontal',
layoutInstant: 'isLayoutInstant',
originLeft: 'isOriginLeft',
originTop: 'isOriginTop',
resize: 'isResizeBound',
resizeContainer: 'isResizingContainer'
};
proto._create = function() {
// get items from children
this.reloadItems();
// elements that affect layout, but are not laid out
this.stamps = [];
this.stamp( this.options.stamp );
// set container style
utils.extend( this.element.style, this.options.containerStyle );
// bind resize method
var canBindResize = this._getOption('resize');
if ( canBindResize ) {
this.bindResize();
}
};
// goes through all children again and gets bricks in proper order
proto.reloadItems = function() {
// collection of item elements
this.items = this._itemize( this.element.children );
};
/**
* turn elements into Outlayer.Items to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - collection of new Outlayer Items
*/
proto._itemize = function( elems ) {
var itemElems = this._filterFindItemElements( elems );
var Item = this.constructor.Item;
// create new Outlayer Items for collection
var items = [];
for ( var i=0; i < itemElems.length; i++ ) {
var elem = itemElems[i];
var item = new Item( elem, this );
items.push( item );
}
return items;
};
/**
* get item elements to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - item elements
*/
proto._filterFindItemElements = function( elems ) {
return utils.filterFindElements( elems, this.options.itemSelector );
};
/**
* getter method for getting item elements
* @returns {Array} elems - collection of item elements
*/
proto.getItemElements = function() {
return this.items.map( function( item ) {
return item.element;
});
};
// ----- init & layout ----- //
/**
* lays out all items
*/
proto.layout = function() {
this._resetLayout();
this._manageStamps();
// don't animate first layout
var layoutInstant = this._getOption('layoutInstant');
var isInstant = layoutInstant !== undefined ?
layoutInstant : !this._isLayoutInited;
this.layoutItems( this.items, isInstant );
// flag for initalized
this._isLayoutInited = true;
};
// _init is alias for layout
proto._init = proto.layout;
/**
* logic before any new layout
*/
proto._resetLayout = function() {
this.getSize();
};
proto.getSize = function() {
this.size = getSize( this.element );
};
/**
* get measurement from option, for columnWidth, rowHeight, gutter
* if option is String -> get element from selector string, & get size of element
* if option is Element -> get size of element
* else use option as a number
*
* @param {String} measurement
* @param {String} size - width or height
* @private
*/
proto._getMeasurement = function( measurement, size ) {
var option = this.options[ measurement ];
var elem;
if ( !option ) {
// default to 0
this[ measurement ] = 0;
} else {
// use option as an element
if ( typeof option == 'string' ) {
elem = this.element.querySelector( option );
} else if ( option instanceof HTMLElement ) {
elem = option;
}
// use size of element, if element
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
}
};
/**
* layout a collection of item elements
* @api public
*/
proto.layoutItems = function( items, isInstant ) {
items = this._getItemsForLayout( items );
this._layoutItems( items, isInstant );
this._postLayout();
};
/**
* get the items to be laid out
* you may want to skip over some items
* @param {Array} items
* @returns {Array} items
*/
proto._getItemsForLayout = function( items ) {
return items.filter( function( item ) {
return !item.isIgnored;
});
};
/**
* layout items
* @param {Array} items
* @param {Boolean} isInstant
*/
proto._layoutItems = function( items, isInstant ) {
this._emitCompleteOnItems( 'layout', items );
if ( !items || !items.length ) {
// no items, emit event with empty array
return;
}
var queue = [];
items.forEach( function( item ) {
// get x/y object from method
var position = this._getItemLayoutPosition( item );
// enqueue
position.item = item;
position.isInstant = isInstant || item.isLayoutInstant;
queue.push( position );
}, this );
this._processLayoutQueue( queue );
};
/**
* get item layout position
* @param {Outlayer.Item} item
* @returns {Object} x and y position
*/
proto._getItemLayoutPosition = function( /* item */ ) {
return {
x: 0,
y: 0
};
};
/**
* iterate over array and position each item
* Reason being - separating this logic prevents 'layout invalidation'
* thx @paul_irish
* @param {Array} queue
*/
proto._processLayoutQueue = function( queue ) {
this.updateStagger();
queue.forEach( function( obj, i ) {
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
}, this );
};
// set stagger from option in milliseconds number
proto.updateStagger = function() {
var stagger = this.options.stagger;
if ( stagger === null || stagger === undefined ) {
this.stagger = 0;
return;
}
this.stagger = getMilliseconds( stagger );
return this.stagger;
};
/**
* Sets position of item in DOM
* @param {Outlayer.Item} item
* @param {Number} x - horizontal position
* @param {Number} y - vertical position
* @param {Boolean} isInstant - disables transitions
*/
proto._positionItem = function( item, x, y, isInstant, i ) {
if ( isInstant ) {
// if not transition, just set CSS
item.goTo( x, y );
} else {
item.stagger( i * this.stagger );
item.moveTo( x, y );
}
};
/**
* Any logic you want to do after each layout,
* i.e. size the container
*/
proto._postLayout = function() {
this.resizeContainer();
};
proto.resizeContainer = function() {
var isResizingContainer = this._getOption('resizeContainer');
if ( !isResizingContainer ) {
return;
}
var size = this._getContainerSize();
if ( size ) {
this._setContainerMeasure( size.width, true );
this._setContainerMeasure( size.height, false );
}
};
/**
* Sets width or height of container if returned
* @returns {Object} size
* @param {Number} width
* @param {Number} height
*/
proto._getContainerSize = noop;
/**
* @param {Number} measure - size of width or height
* @param {Boolean} isWidth
*/
proto._setContainerMeasure = function( measure, isWidth ) {
if ( measure === undefined ) {
return;
}
var elemSize = this.size;
// add padding and border width if border box
if ( elemSize.isBorderBox ) {
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
elemSize.borderLeftWidth + elemSize.borderRightWidth :
elemSize.paddingBottom + elemSize.paddingTop +
elemSize.borderTopWidth + elemSize.borderBottomWidth;
}
measure = Math.max( measure, 0 );
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
};
/**uctor
*/
function Outlayer( element, options ) {
var queryElement = utils.getQueryElement( element );
if ( !queryElement ) {
if ( console ) {
console.error( 'Bad element for ' + this.constructor.namespace +
': ' + ( queryElement || element ) );
}
return;
}
this.element = queryElement;
// add jQuery
if ( jQuery ) {
this.$element = jQuery( this.element );
}
// options
this.options = utils.extend( {}, this.constructor.defaults );
this.option( options );
// add id for Outlayer.getFromElement
var id = ++GUID;
this.element.outlayerGUID = id; // expando
instances[ id ] = this; // associate via id
// kick it off
this._create();
var isInitLayout = this._getOption('initLayout');
if ( isInitLayout ) {
this.layout();
}
}
// settings are for internal use only
Outlayer.namespace = 'outlayer';
Outlayer.Item = Item;
// default options
Outlayer.defaults = {
containerStyle: {
position: 'relative'
},
initLayout: true,
originLeft: true,
originTop: true,
resize: true,
resizeContainer: true,
// item options
transitionDuration: '0.4s',
hiddenStyle: {
opacity: 0,
transform: 'scale(0.001)'
},
visibleStyle: {
opacity: 1,
transform: 'scale(1)'
}
};
var proto = Outlayer.prototype;
// inherit EvEmitter
utils.extend( proto, EvEmitter.prototype );
/**
* set options
* @param {Object} opts
*/
proto.option = function( opts ) {
utils.extend( this.options, opts );
};
/**
* get backwards compatible option value, check old name
*/
proto._getOption = function( option ) {
var oldOption = this.constructor.compatOptions[ option ];
return oldOption && this.options[ oldOption ] !== undefined ?
this.options[ oldOption ] : this.options[ option ];
};
Outlayer.compatOptions = {
// currentName: oldName
initLayout: 'isInitLayout',
horizontal: 'isHorizontal',
layoutInstant: 'isLayoutInstant',
originLeft: 'isOriginLeft',
originTop: 'isOriginTop',
resize: 'isResizeBound',
resizeContainer: 'isResizingContainer'
};
proto._create = function() {
// get items from children
this.reloadItems();
// elements that affect layout, but are not laid out
this.stamps = [];
this.stamp( this.options.stamp );
// set container style
utils.extend( this.element.style, this.options.containerStyle );
// bind resize method
var canBindResize = this._getOption('resize');
if ( canBindResize ) {
this.bindResize();
}
};
// goes through all children again and gets bricks in proper order
proto.reloadItems = function() {
// collection of item elements
this.items = this._itemize( this.element.children );
};
/**
* turn elements into Outlayer.Items to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - collection of new Outlayer Items
*/
proto._itemize = function( elems ) {
var itemElems = this._filterFindItemElements( elems );
var Item = this.constructor.Item;
// create new Outlayer Items for collection
var items = [];
for ( var i=0; i < itemElems.length; i++ ) {
var elem = itemElems[i];
var item = new Item( elem, this );
items.push( item );
}
return items;
};
/**
* get item elements to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - item elements
*/
proto._filterFindItemElements = function( elems ) {
return utils.filterFindElements( elems, this.options.itemSelector );
};
/**
* getter method for getting item elements
* @returns {Array} elems - collection of item elements
*/
proto.getItemElements = function() {
return this.items.map( function( item ) {
return item.element;
});
};
// ----- init & layout ----- //
/**
* lays out all items
*/
proto.layout = function() {
this._resetLayout();
this._manageStamps();
// don't animate first layout
var layoutInstant = this._getOption('layoutInstant');
var isInstant = layoutInstant !== undefined ?
layoutInstant : !this._isLayoutInited;
this.layoutItems( this.items, isInstant );
// flag for initalized
this._isLayoutInited = true;
};
// _init is alias for layout
proto._init = proto.layout;
/**
* logic before any new layout
*/
proto._resetLayout = function() {
this.getSize();
};
proto.getSize = function() {
this.size = getSize( this.element );
};
/**
* get measurement from option, for columnWidth, rowHeight, gutter
* if option is String -> get element from selector string, & get size of element
* if option is Element -> get size of element
* else use option as a number
*
* @param {String} measurement
* @param {String} size - width or height
* @private
*/
proto._getMeasurement = function( measurement, size ) {
var option = this.options[ measurement ];
var elem;
if ( !option ) {
// default to 0
this[ measurement ] = 0;
} else {
// use option as an element
if ( typeof option == 'string' ) {
elem = this.element.querySelector( option );
} else if ( option instanceof HTMLElement ) {
elem = option;
}
// use size of element, if element
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
}
};
/**
* layout a collection of item elements
* @api public
*/
proto.layoutItems = function( items, isInstant ) {
items = this._getItemsForLayout( items );
this._layoutItems( items, isInstant );
this._postLayout();
};
/**
* get the items to be laid out
* you may want to skip over some items
* @param {Array} items
* @returns {Array} items
*/
proto._getItemsForLayout = function( items ) {
return items.filter( function( item ) {
return !item.isIgnored;
});
};
/**
* layout items
* @param {Array} items
* @param {Boolean} isInstant
*/
proto._layoutItems = function( items, isInstant ) {
this._emitCompleteOnItems( 'layout', items );
if ( !items || !items.length ) {
// no items, emit event with empty array
return;
}
var queue = [];
items.forEach( function( item ) {
// get x/y object from method
var position = this._getItemLayoutPosition( item );
// enqueue
position.item = item;
position.isInstant = isInstant || item.isLayoutInstant;
queue.push( position );
}, this );
this._processLayoutQueue( queue );
};
/**
* get item layout position
* @param {Outlayer.Item} item
* @returns {Object} x and y position
*/
proto._getItemLayoutPosition = function( /* item */ ) {
return {
x: 0,
y: 0
};
};
/**
* iterate over array and position each item
* Reason being - separating this logic prevents 'layout invalidation'
* thx @paul_irish
* @param {Array} queue
*/
proto._processLayoutQueue = function( queue ) {
this.updateStagger();
queue.forEach( function( obj, i ) {
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
}, this );
};
// set stagger from option in milliseconds number
proto.updateStagger = function() {
var stagger = this.options.stagger;
if ( stagger === null || stagger === undefined ) {
this.stagger = 0;
return;
}
this.stagger = getMilliseconds( stagger );
return this.stagger;
};
/**
* Sets position of item in DOM
* @param {Outlayer.Item} item
* @param {Number} x - horizontal position
* @param {Number} y - vertical position
* @param {Boolean} isInstant - disables transitions
*/
proto._positionItem = function( item, x, y, isInstant, i ) {
if ( isInstant ) {
// if not transition, just set CSS
item.goTo( x, y );
} else {
item.stagger( i * this.stagger );
item.moveTo( x, y );
}
};
/**
* Any logic you want to do after each layout,
* i.e. size the container
*/
proto._postLayout = function() {
this.resizeContainer();
};
proto.resizeContainer = function() {
var isResizingContainer = this._getOption('resizeContainer');
if ( !isResizingContainer ) {
return;
}
var size = this._getContainerSize();
if ( size ) {
this._setContainerMeasure( size.width, true );
this._setContainerMeasure( size.height, false );
}
};
/**
* Sets width or height of container if returned
* @returns {Object} size
* @param {Number} width
* @param {Number} height
*/
proto._getContainerSize = noop;
/**
* @param {Number} measure - size of width or height
* @param {Boolean} isWidth
*/
proto._setContainerMeasure = function( measure, isWidth ) {
if ( measure === undefined ) {
return;
}
var elemSize = this.size;
// add padding an.forEach( function( elem ) {
var item = this.getItem( elem );
if ( item ) {
items.push( item );
}
}, this );
return items;
};
/**
* remove element(s) from instance and DOM
* @param {Array or NodeList or Element} elems
*/
proto.remove = function( elems ) {
var removeItems = this.getItems( elems );
this._emitCompleteOnItems( 'remove', removeItems );
// bail if no items to remove
if ( !removeItems || !removeItems.length ) {
return;
}
removeItems.forEach( function( item ) {
item.remove();
// remove item from collection
utils.removeFrom( this.items, item );
}, this );
};
// ----- destroy ----- //
// remove and disable Outlayer instance
proto.destroy = function() {
// clean up dynamic styles
var style = this.element.style;
style.height = '';
style.position = '';
style.width = '';
// destroy items
this.items.forEach( function( item ) {
item.destroy();
});
this.unbindResize();
var id = this.element.outlayerGUID;
delete instances[ id ]; // remove reference to instance by id
delete this.element.outlayerGUID;
// remove data for jQuery
if ( jQuery ) {
jQuery.removeData( this.element, this.constructor.namespace );
}
};
// -------------------------- data -------------------------- //
/**
* get Outlayer instance from element
* @param {Element} elem
* @returns {Outlayer}
*/
Outlayer.data = function( elem ) {
elem = utils.getQueryElement( elem );
var id = elem && elem.outlayerGUID;
return id && instances[ id ];
};
// -------------------------- create Outlayer class -------------------------- //
/**
* create a layout class
* @param {String} namespace
*/
Outlayer.create = function( namespace, options ) {
// sub-class Outlayer
var Layout = subclass( Outlayer );
// apply new options and compatOptions
Layout.defaults = utils.extend( {}, Outlayer.defaults );
utils.extend( Layout.defaults, options );
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
Layout.namespace = namespace;
Layout.data = Outlayer.data;
// sub-class Item
Layout.Item = subclass( Item );
// -------------------------- declarative -------------------------- //
utils.htmlInit( Layout, namespace );
// -------------------------- jQuery bridge -------------------------- //
// make into jQuery plugin
if ( jQuery && jQuery.bridget ) {
jQuery.bridget( namespace, Layout );
}
return Layout;
};
function subclass( Parent ) {
function SubClass() {
Parent.apply( this, arguments );
}
SubClass.prototype = Object.create( Parent.prototype );
SubClass.prototype.constructor = SubClass;
return SubClass;
}
// ----- helpers ----- //
// how many milliseconds are in each unit
var msUnits = {
ms: 1,
s: 1000
};
// munge time-like parameter into millisecond number
// '0.4s' -> 40
function getMilliseconds( time ) {
if ( typeof time == 'number' ) {
return time;
}
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
var num = matches && matches[1];
var unit = matches && matches[2];
if ( !num.length ) {
return 0;
}
num = parseFloat( num );
var mult = msUnits[ unit ] || 1;
return num * mult;
}
// ----- fin ----- //
// back in global
Outlayer.Item = Item;
return Outlayer;
}));
/*!
* Masonry v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /*globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( [
'outlayer/outlayer',
'get-size/get-size'
],
factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
require('outlayer'),
require('get-size')
);
} else {
// browser global
window.Masonry = factory(
window.Outlayer,
window.getSize
);
}
}( window, function factory( Outlayer, getSize ) {
// -------------------------- masonryDefinition -------------------------- //
// create an Outlayer layout class
var Masonry = Outlayer.create('masonry');
// isFitWidth -> fitWidth
Masonry.compatOptions.fitWidth = 'isFitWidth';
var proto = Masonry.prototype;
proto._resetLayout = function() {
this.getSize();
this._getMeasurement( 'columnWidth', 'outerWidth' );
this._getMeasurement( 'gutter', 'outerWidth' );
this.measureColumns();
// reset column Y
this.colYs = [];
for ( var i=0; i < this.cols; i++ ) {
this.colYs.push( 0 );
}
this.maxY = 0;
this.horizontalColIndex = 0;
};
proto.measureColumns = function() {
this.getContainerWidth();
// if columnWidth is 0, default to outerWidth of first item
if ( !this.columnWidth ) {
var firstItem = this.items[0];
var firstItemElem = firstItem && firstItem.element;
// columnWidth fall back to item of first element
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
// if first elem has no width, default to size of container
this.containerWidth;
}
var columnWidth = this.columnWidth += this.gutter;
// calculate columns
var containerWidth = this.containerWidth + this.gutter;
var cols = containerWidth / columnWidth;
// fix rounding errors, typically with gutters
var excess = columnWidth - containerWidth % columnWidth;
// if overshoot is less than a pixel, round up, otherwise floor it
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
cols = Math[ mathMethod ]( cols );
this.cols = Math.max( cols, 1 );
};
proto.getContainerWidth = function() {
// container is parent if fit width
var isFitWidth = this._getOption('fitWidth');
var container = isFitWidth ? this.element.parentNode : this.element;
// check that this.size and size are there
// IE8 triggers resize on body size change, so they might not be
var size = getSize( container );
this.containerWidth = size && size.innerWidth;
};
proto._getItemLayoutPosition = function( item ) {
item.getSize();
// how many columns does this brick span
var remainder = item.size.outerWidth % this.columnWidth;
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
// round if off by 1 pixel, otherwise use ceil
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
colSpan = Math.min( colSpan, this.cols );
// use horizontal or top column position
var colPosMethod = this.options.horizontalOrder ?
'_getHorizontalColPosition' : '_getTopColPosition';
var colPosition = this[ colPosMethod ]( colSpan, item );
// position the brick
var position = {
x: this.columnWidth * colPosition.col,
y: colPosition.y
};
// apply setHeight to necessary columns
var setHeight = colPosition.y + item.size.outerHeight;
var setMax = colSpan + colPosition.col;
for ( var i = colPosition.col; i < setMax; i++ ) {
this.colYs[i] = setHeight;
}
return position;
};
proto._getTopColPosition = function( colSpan ) {
var colGroup = this._getTopColGroup( colSpan );
// get the minimum Y value from the columns
var minimumY = Math.min.apply( Math, colGroup );
return {
col: colGroup.indexOf( minimumY ),
y: minimumY,
};
};
/**
* @param {Number} colSpan - number of columns the element spans
* @returns {Array} colGroup
*/
proto._getTopColGroup = function( colSpan ) {
if ( colSpan < 2 ) {
// if brick spans only one column, use all the column Ys
return this.colYs;
}
var colGroup = [];
// how many different places could this brick fit horizontally
var groupCount = this.cols + 1 - colSpan;
// for each group potential horizontal position
for ( var i = 0; i < groupCount; i++ ) {
colGroup[i] = this._getColGroupY( i, colSpan );
}
return colGroup;
};
proto._getColGroupY = function( col, colSpan ) {
if ( colSpan < 2 ) {
return this.colYs[ col ];
}
// make an array of colY values for that one group
var groupColYs = this.colYs.slice( col, col + colSpan );
// and get the max value of the array
return Math.max.apply( Math, groupColYs );
};
// get column position based on horizontal index. #873
proto._getHorizontalColPosition = function( colSpan, item ) {
var col = this.horizontalColIndex % this.cols;
var isOver = colSpgh items to get the one that matches
for ( var i=0; i < this.items.length; i++ ) {
var item = this.items[i];
if ( item.element == elem ) {
// return item
return item;
}
}
};
/**
* get collection of Outlayer.Items, given Elements
* @param {Array} elems
* @returns {Array} items - Outlayer.Items
*/
proto.getItems = function( elems ) {
elems = utils.makeArray( elems );
var items = [];
elems.forEach( function( elem ) {
var item = this.getItem( elem );
if ( item ) {
items.push( item );
}
}, this );
return items;
};
/**
* remove element(s) from instance and DOM
* @param {Array or NodeList or Element} elems
*/
proto.remove = function( elems ) {
var removeItems = this.getItems( elems );
this._emitCompleteOnItems( 'remove', removeItems );
// bail if no items to remove
if ( !removeItems || !removeItems.length ) {
return;
}
removeItems.forEach( function( item ) {
item.remove();
// remove item from collection
utils.removeFrom( this.items, item );
}, this );
};
// ----- destroy ----- //
// remove and disable Outlayer instance
proto.destroy = function() {
// clean up dynamic styles
var style = this.element.style;
style.height = '';
style.position = '';
style.width = '';
// destroy items
this.items.forEach( function( item ) {
item.destroy();
});
this.unbindResize();
var id = this.element.outlayerGUID;
delete instances[ id ]; // remove reference to instance by id
delete this.element.outlayerGUID;
// remove data for jQuery
if ( jQuery ) {
jQuery.removeData( this.element, this.constructor.namespace );
}
};
// -------------------------- data -------------------------- //
/**
* get Outlayer instance from element
* @param {Element} elem
* @returns {Outlayer}
*/
Outlayer.data = function( elem ) {
elem = utils.getQueryElement( elem );
var id = elem && elem.outlayerGUID;
return id && instances[ id ];
};
// -------------------------- create Outlayer class -------------------------- //
/**
* create a layout class
* @param {String} namespace
*/
Outlayer.create = function( namespace, options ) {
// sub-class Outlayer
var Layout = subclass( Outlayer );
// apply new options and compatOptions
Layout.defaults = utils.extend( {}, Outlayer.defaults );
utils.extend( Layout.defaults, options );
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
Layout.namespace = namespace;
Layout.data = Outlayer.data;
// sub-class Item
Layout.Item = subclass( Item );
// -------------------------- declarative -------------------------- //
utils.htmlInit( Layout, namespace );
// -------------------------- jQuery bridge -------------------------- //
// make into jQuery plugin
if ( jQuery && jQuery.bridget ) {
jQuery.bridget( namespace, Layout );
}
return Layout;
};
function subclass( Parent ) {
function SubClass() {
Parent.apply( this, arguments );
}
SubClass.prototype = Object.create( Parent.prototype );
SubClass.prototype.constructor = SubClass;
return SubClass;
}
// ----- helpers ----- //
// how many milliseconds are in each unit
var msUnits = {
ms: 1,
s: 1000
};
// munge time-like parameter into millisecond number
// '0.4s' -> 40
function getMilliseconds( time ) {
if ( typeof time == 'number' ) {
return time;
}
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
var num = matches && matches[1];
var unit = matches && matches[2];
if ( !num.length ) {
return 0;
}
num = parseFloat( num );
var mult = msUnits[ unit ] || 1;
return num * mult;
}
// ----- fin ----- //
// back in global
Outlayer.Item = Item;
return Outlayer;
}));
/*!
* Masonry v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /*globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( [
'outlayer/outlayer',
'get-size/get-size'
],
factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
require('outlayer'),
require('get-size')
);
} else {
// browser global
window.Masonry = factory(
window.Outlayer,
window.getSize
);
}
}( window, function factory( Outlayer, getSize ) {
// -------------------------- masonryDefinition -------------------------- //
// create an Outlayer layout class
var Masonry = Outlayer.create('masonry');
// isFitWidth -> fitWidth
Masonry.compatOptions.fitWidth = 'isFitWidth';
var proto = Masonry.prototype;
proto._resetLayout = function() {
this.getSize();
this._getMeasurement( 'columnWidth', 'outerWidth' );
this._getMeasurement( 'gutter', 'outerWidth' );
this.measureColumns();
// reset column Y
this.colYs = [];
for ( var i=0; i < this.cols; i++ ) {
this.colYs.push( 0 );
}
this.maxY = 0;
this.horizontalColIndex = 0;
};
proto.measureColumns = function() {
this.getContainerWidth();
// if columnWidth is 0, default to outerWidth of first item
if ( !this.columnWidth ) {
var firstItem = this.items[0];
var firstItemElem = firstItem && firstItem.element;
// columnWidth fall back to item of first element
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
// if first elem has no width, default to size of container
this.containerWidth;
}
var columnWidth = this.columnWidth += this.gutter;
// calculate columns
var containerWidth = this.containerWidth + this.gutter;
var cols = containerWidth / columnWidth;
// fix rounding errors, typically with gutters
var excess = columnWidth - containerWidth % columnWidth;
// if overshoot is less than a pixel, round up, otherwise floor it
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
cols = Math[ mathMethod ]( cols );
this.cols = Math.max( cols, 1 );
};
proto.getContainerWidth = function() {
// container is parent if fit width
var isFitWidth = this._getOption('fitWidth');
var container = isFitWidth ? this.element.parentNode : this.element;
// check that this.size and size are there
// IE8 triggers resize on body size change, so they might not be
var size = getSize( container );
this.containerWidth = size && size.innerWidth;
};
proto._getItemLayoutPosition = function( item ) {
item.getSize();
// how many columns does this brick span
var remainder = item.size.outerWidth % this.columnWidth;
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
// round if off by 1 pixel, otherwise use ceil
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
colSpan = Math.min( colSpan, this.cols );
// use horizontal or top column position
var colPosMethod = this.options.horizontalOrder ?
'_getHorizontalColPosition' : '_getTopColPosition';
var colPosition = this[ colPosMethod ]( colSpan, item );
// position the brick
var position = {
x: this.columnWidth * colPosition.col,
y: colPosition.y
};
// apply setHeight to necessary columns
var setHeight = colPosition.y + item.size.outerHeight;
var setMax = colSpan + colPosition.col;
for ( var i = colPosition.col; i < setMax; i++ ) {
this.colYs[i] = setHeight;
}
return position;
};
proto._getTopColPosition = function( colSpan ) {
var colGroup = this._getTopColGroup( colSpan );
// get the minimum Y value from the columns
var minimumY = Math.min.apply( Math, colGroup );
return {
col: colGroup.indexOf( minimumY ),
y: minimumY,
};
};
/**
* @param {Number} colSpan - number of columns the element spans
* @returns {Array} colGroup
*/
proto._getTopColGroup = function( colSpan ) {
if ( colSpan < 2 ) {
// if brick spans only one column, use all the column Ys
return this.colYs;
}
var colGroup = [];
// how many different places could this brick fit horizontally
var groupCount = this.cols + 1 - colSpan;
// for each group potential horizontal position
for ( var i = 0; i < groupCount; i++ ) {
colGroup[i] = this._getColGroupY( i, colSpan );
}
return colGroup;
};
proto._getColGroupY = function( col, colSpan ) {
if ( colSpan < 2 ) {
return th!elementNodeTypes[ nodeType ] ) {
return;
}
var childImgs = elem.querySelectorAll('img');
// concat childElems to filterFound array
for ( var i=0; i < childImgs.length; i++ ) {
var img = childImgs[i];
this.addImage( img );
}
// get child background images
if ( typeof this.options.background == 'string' ) {
var children = elem.querySelectorAll( this.options.background );
for ( i=0; i < children.length; i++ ) {
var child = children[i];
this.addElementBackgroundImages( child );
}
}
};
var elementNodeTypes = {
1: true,
9: true,
11: true
};
ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
var style = getComputedStyle( elem );
if ( !style ) {
// Firefox returns null if in a hidden iframe https://bugzil.la/548397
return;
}
// get url inside url("...")
var reURL = /url\((['"])?(.*?)\1\)/gi;
var matches = reURL.exec( style.backgroundImage );
while ( matches !== null ) {
var url = matches && matches[2];
if ( url ) {
this.addBackground( url, elem );
}
matches = reURL.exec( style.backgroundImage );
}
};
/**
* @param {Image} img
*/
ImagesLoaded.prototype.addImage = function( img ) {
var loadingImage = new LoadingImage( img );
this.images.push( loadingImage );
};
ImagesLoaded.prototype.addBackground = function( url, elem ) {
var background = new Background( url, elem );
this.images.push( background );
};
ImagesLoaded.prototype.check = function() {
var _this = this;
this.progressedCount = 0;
this.hasAnyBroken = false;
// complete if no images
if ( !this.images.length ) {
this.complete();
return;
}
function onProgress( image, elem, message ) {
// HACK - Chrome triggers event before object properties have changed. #83
setTimeout( function() {
_this.progress( image, elem, message );
});
}
this.images.forEach( function( loadingImage ) {
loadingImage.once( 'progress', onProgress );
loadingImage.check();
});
};
ImagesLoaded.prototype.progress = function( image, elem, message ) {
this.progressedCount++;
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
// progress event
this.emitEvent( 'progress', [ this, image, elem ] );
if ( this.jqDeferred && this.jqDeferred.notify ) {
this.jqDeferred.notify( this, image );
}
// check if completed
if ( this.progressedCount == this.images.length ) {
this.complete();
}
if ( this.options.debug && console ) {
console.log( 'progress: ' + message, image, elem );
}
};
ImagesLoaded.prototype.complete = function() {
var eventName = this.hasAnyBroken ? 'fail' : 'done';
this.isComplete = true;
this.emitEvent( eventName, [ this ] );
this.emitEvent( 'always', [ this ] );
if ( this.jqDeferred ) {
var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
this.jqDeferred[ jqMethod ]( this );
}
};
// -------------------------- -------------------------- //
function LoadingImage( img ) {
this.img = img;
}
LoadingImage.prototype = Object.create( EvEmitter.prototype );
LoadingImage.prototype.check = function() {
// If complete is true and browser supports natural sizes,
// try to check for image status manually.
var isComplete = this.getIsImageComplete();
if ( isComplete ) {
// report based on naturalWidth
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
return;
}
// If none of the checks above matched, simulate loading on detached element.
this.proxyImage = new Image();
this.proxyImage.addEventListener( 'load', this );
this.proxyImage.addEventListener( 'error', this );
// bind to image as well for Firefox. #191
this.img.addEventListener( 'load', this );
this.img.addEventListener( 'error', this );
this.proxyImage.src = this.img.src;
};
LoadingImage.prototype.getIsImageComplete = function() {
// check for non-zero, non-undefined naturalWidth
// fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671
return this.img.complete && this.img.naturalWidth;
};
LoadingImage.prototype.confirm = function( isLoaded, message ) {
this.isLoaded = isLoaded;
this.emitEvent( 'progress', [ this, this.img, message ] );
};
// ----- events ----- //
// trigger specified handler for event type
LoadingImage.prototype.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
LoadingImage.prototype.onload = function() {
this.confirm( true, 'onload' );
this.unbindEvents();
};
LoadingImage.prototype.onerror = function() {
this.confirm( false, 'onerror' );
this.unbindEvents();
};
LoadingImage.prototype.unbindEvents = function() {
this.proxyImage.removeEventListener( 'load', this );
this.proxyImage.removeEventListener( 'error', this );
this.img.removeEventListener( 'load', this );
this.img.removeEventListener( 'error', this );
};
// -------------------------- Background -------------------------- //
function Background( url, element ) {
this.url = url;
this.element = element;
this.img = new Image();
}
// inherit LoadingImage prototype
Background.prototype = Object.create( LoadingImage.prototype );
Background.prototype.check = function() {
this.img.addEventListener( 'load', this );
this.img.addEventListener( 'error', this );
this.img.src = this.url;
// check if image is already complete
var isComplete = this.getIsImageComplete();
if ( isComplete ) {
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
this.unbindEvents();
}
};
Background.prototype.unbindEvents = function() {
this.img.removeEventListener( 'load', this );
this.img.removeEventListener( 'error', this );
};
Background.prototype.confirm = function( isLoaded, message ) {
this.isLoaded = isLoaded;
this.emitEvent( 'progress', [ this, this.element, message ] );
};
// -------------------------- jQuery -------------------------- //
ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
jQuery = jQuery || window.jQuery;
if ( !jQuery ) {
return;
}
// set local variable
$ = jQuery;
// $().imagesLoaded()
$.fn.imagesLoaded = function( options, callback ) {
var instance = new ImagesLoaded( this, options, callback );
return instance.jqDeferred.promise( $(this) );
};
};
// try making plugin
ImagesLoaded.makeJQueryPlugin();
// -------------------------- -------------------------- //
return ImagesLoaded;
});
var referrer_canal_url = (document.cookie.indexOf('referrercanalurl=') === -1 ? '' : ('; ' + document.cookie).split('; referrercanalurl=')[1].split(';')[0]);if (referrer_canal_url) {
} else {
if (document.referrer) {
var referrer_canal_url = document.referrer;
var cookieId = 'referrercanalurl';
cookieStr = referrer_canal_url;
var nowPreserve = new Date();
var oneYear = 30*24*60*60*1000;
var thenPreserve = nowPreserve.getTime() + oneYear;
nowPreserve.setTime(thenPreserve);
var expireTime = nowPreserve.toUTCString();
document.cookie = cookieId+'='+cookieStr+';path=/;expires='+expireTime+';domain='+document.domain;
} else {
var referrer_canal_url = '';
}
}jQuery(function($){ $("a[href^=mailto]").on("click", function() { ga('send', 'event', 'vip-event', 'click', 'mail'); }); $("a[href^=tel]").on("click", function() { ga('send', 'event', 'vip-event', 'click', 'telefono'); });});var notUs = (document.cookie.indexOf('wasLogged=') === -1 ? '' : ('; ' + document.cookie).split('; wasLogged=')[1].split(';')[0]);
if (notUs == 0){(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.text=
// Copyright 2012 Google Inc. All rights reserved.
(function(){
var data = {
"resource": {
"version":"2",
"macros":[{"function":"__e"},{"vtp_signal":0,"function":"__c","vtp_value":0},{"function":"__c","vtp_value":"google.es"},{"function":"__c","vtp_value":0},{"vtp_signal":0,"function":"__c","vtp_value":0},{"function":"__c","vtp_value":"google.es"},{"function":"__c","vtp_value":0}],
"tags":[{"function":"__ogt_ga_send","priority":8,"vtp_value":true,"tag_id":16},{"function":"__ogt_referral_exclusion","priority":8,"vtp_includeConditions":["list","pgiengineering\\.com"],"tag_id":18},{"function":"__ogt_session_timeout","priority":8,"vtp_sessionMinutes":30,"vtp_sessionHours":0,"tag_id":19},{"function":"__ogt_1p_data_v2","priority":8,"vtp_isAutoEnabled":true,"vtp_autoCollectExclusionSelectors":["list",["map","exclusionSelector",""]],"vtp_isEnabled":true,"vtp_cityType":"CSS_SELECTOR","vtp_manualEmailEnabled":false,"vtp_firstNameType":"CSS_SELECTOR","vtp_countryType":"CSS_SELECTOR","vtp_cityValue":"","vtp_emailType":"CSS_SELECTOR","vtp_regionType":"CSS_SELECTOR","vtp_autoEmailEnabled":true,"vtp_postalCodeValue":"","vtp_lastNameValue":"","vtp_phoneType":"CSS_SELECTOR","vtp_phoneValue":"","vtp_streetType":"CSS_SELECTOR","vtp_autoPhoneEnabled":false,"vtp_postalCodeType":"CSS_SELECTOR","vtp_emailValue":"","vtp_firstNameValue":"","vtp_streetValue":"","vtp_lastNameType":"CSS_SELECTOR","vtp_autoAddressEnabled":false,"vtp_regionValue":"","vtp_countryValue":"","vtp_isAutoCollectPiiEnabledFlag":false,"tag_id":20},{"function":"__ccd_ga_first","priority":7,"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":28},{"function":"__set_product_settings","priority":6,"vtp_instanceDestinationId":"G-WP2Y5CS0D6","vtp_foreignTldMacroResult":["macro",5],"vtp_isChinaVipRegionMacroResult":["macro",6],"tag_id":27},{"function":"__ccd_ga_ads_link","priority":5,"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":26},{"function":"__ogt_google_signals","priority":4,"vtp_googleSignals":"DISABLED","vtp_instanceDestinationId":"G-WP2Y5CS0D6","vtp_serverMacroResult":["macro",4],"tag_id":25},{"function":"__ccd_ga_regscope","priority":3,"vtp_settingsTable":["list",["map","redactFieldGroup","DEVICE_AND_GEO","disallowAllRegions",false,"disallowedRegions",""],["map","redactFieldGroup","GOOGLE_SIGNALS","disallowAllRegions",true,"disallowedRegions",""]],"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":24},{"function":"__ccd_conversion_marking","priority":2,"vtp_conversionRules":["list",["map","matchingRules","{\"type\":5,\"args\":[{\"stringValue\":\"purchase\"},{\"contextValue\":{\"namespaceType\":1,\"keyParts\":[\"eventName\"]}}]}"]],"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":23},{"function":"__ccd_auto_redact","priority":1,"vtp_redactEmail":false,"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":22},{"function":"__gct","vtp_trackingId":"G-WP2Y5CS0D6","vtp_sessionDuration":0,"vtp_googleSignals":["macro",1],"vtp_foreignTld":["macro",2],"vtp_restrictDomain":["macro",3],"vtp_eventSettings":["map"],"tag_id":13},{"function":"__ccd_ga_last","priority":0,"vtp_instanceDestinationId":"G-WP2Y5CS0D6","tag_id":21}],
"predicates":[{"function":"_eq","arg0":["macro",0],"arg1":"gtm.js"},{"function":"_eq","arg0":["macro",0],"arg1":"gtm.init"}],
"rules":[[["if",0],["add",11]],[["if",1],["add",0,1,2,3,12,10,9,8,7,6,5,4]]]
},
"runtime":[ [50,"__c",[46,"a"],[36,[17,[15,"a"],"value"]]]
,[50,"__ccd_auto_redact",[46,"a"],[50,"v",[46,"bk"],[36,[2,[15,"bk"],"replace",[7,[15,"u"],"\\$1"]]]],[50,"w",[46,"bk"],[52,"bl",["c",[15,"bk"]]],[52,"bm",[7]],[65,"bn",[2,[15,"bl"],"split",[7,""]],[46,[53,[52,"bo",[7,["v",[15,"bn"]]]],[52,"bp",["d",[15,"bn"]]],[22,[12,[15,"bp"],[45]],[46,[36,["d",["v",[15,"bk"]]]]]],[22,[21,[15,"bp"],[15,"bn"]],[46,[2,[15,"bo"],"push",[7,[15,"bp"]]],[22,[21,[15,"bn"],[2,[15,"bn"],"toLowerCase",[7]]],[46,[2,[15,"bo"],"push",[7,["d",[2,[15,"bn"],"toLowerCase",[7]]]]]],[46,[22,[21,[15,"bn"],[2,[15,"bn"],"toUpperCase",[7]]],[46,[2,[15,"bo"],"push",[7,["d",[2,[15,"bn"],"toUpperCase",[7]]]]]]]]]]],[22,[18,[17,[15,"bo"],"length"],1],[46,[2,[15,"bm"],"push",[7,[0,[0,"(?:",[2,[15,"bo"],"join",[7,"|"]]],")"]]]],[46,[2,[15,"bm"],"push",[7,[16,[15,"bo"],0]]]]]]]],[36,[2,[15,"bm"],"join",[7,""]]]],[50,"x",[46,"bk","bl","bm"],[52,"bn",["z",[15,"bk"],[15,"bm"]]],[22,[28,[15,"bn"]],[46,[36,[15,"bk"]]]],[22,[28,[17,[15,"bn"],"search"]],[46,[36,[15,"bk"]]]],[41,"bo"],[3,"bo",[17,[15,"bn"],"search"]],[65,"bp",[15,"bl"],[46,[53,[52,"bq",[7,["v",[15,"bp"]],["w",[15,"bp"]]]],[65,"br",[15,"bq"],[46,[53,[52,"bs",[30,[16,[15,"t"],[15,"br"]],[43,[15,"t"],[15,"br"],["b",[0,[0,"([?&]",[15,"br"]],"=)([^&]*)"],"gi"]]]],[3,"bo",[2,[15,"bo"],"replace",[7,[15,"bs"],[0,"$1",[15,"r"]]]]]]]]]]],[22,[20,[15,"bo"],[17,[15,"bn"],"search"]],[46,[36,[15,"bk"]]]],[22,[20,[16,[15,"bo"],0],"&"],[46,[3,"bo",[2,[15,"bo"],"substring",[7,1]]]]],[22,[21,[16,[15,"bo"],0],"?"],[46,[3,"bo",[0,"?",[15,"bo"]]]]],[22,[20,[15,"bo"],"?"],[46,[3,"bo",""]]],[43,[15,"bn"],"search",[15,"bo"]],[36,["ba",[15,"bn"],[15,"bm"]]]],[50,"z",[46,"bk","bl"],[22,[20,[15,"bl"],[17,[15,"s"],"PATH"]],[46,[3,"bk",[0,[15,"y"],[15,"bk"]]]]],[36,["g",[15,"bk"]]]],[50,"ba",[46,"bk","bl"],[41,"bm"],[3,"bm",""],[22,[20,[15,"bl"],[17,[15,"s"],"URL"]],[46,[53,[41,"bn"],[3,"bn",""],[22,[30,[17,[15,"bk"],"username"],[17,[15,"bk"],"password"]],[46,[3,"bn",[0,[15,"bn"],[0,[0,[0,[17,[15,"bk"],"username"],[39,[17,[15,"bk"],"password"],":",""]],[17,[15,"bk"],"password"]],"@"]]]]],[3,"bm",[0,[0,[0,[17,[15,"bk"],"protocol"],"//"],[15,"bn"]],[17,[15,"bk"],"host"]]]]]],[36,[0,[0,[0,[15,"bm"],[17,[15,"bk"],"pathname"]],[17,[15,"bk"],"search"]],[17,[15,"bk"],"hash"]]]],[50,"bb",[46,"bk","bl"],[41,"bm"],[3,"bm",[2,[15,"bk"],"replace",[7,[15,"n"],[15,"r"]]]],[22,[30,[20,[15,"bl"],[17,[15,"s"],"URL"]],[20,[15,"bl"],[17,[15,"s"],"PATH"]]],[46,[53,[52,"bn",["z",[15,"bm"],[15,"bl"]]],[22,[20,[15,"bn"],[44]],[46,[36,[15,"bm"]]]],[52,"bo",[17,[15,"bn"],"search"]],[52,"bp",[2,[15,"bo"],"replace",[7,[15,"o"],[15,"r"]]]],[22,[20,[15,"bo"],[15,"bp"]],[46,[36,[15,"bm"]]]],[43,[15,"bn"],"search",[15,"bp"]],[3,"bm",["ba",[15,"bn"],[15,"bl"]]]]]],[36,[15,"bm"]]],[50,"bc",[46,"bk"],[22,[20,[15,"bk"],[15,"q"]],[46,[36,[17,[15,"s"],"PATH"]]],[46,[22,[21,[2,[15,"p"],"indexOf",[7,[15,"bk"]]],[27,1]],[46,[36,[17,[15,"s"],"URL"]]],[46,[36,[17,[15,"s"],"TEXT"]]]]]]],[50,"bd",[46,"bk","bl"],[41,"bm"],[3,"bm",false],[52,"bn",["f",[15,"bk"]]],[38,[15,"bn"],[46,"string","array","object"],[46,[5,[46,[52,"bo",["bb",[15,"bk"],[15,"bl"]]],[22,[21,[15,"bk"],[15,"bo"]],[46,[36,[15,"bo"]]]],[4]]],[5,[46,[53,[41,"bp"],[3,"bp",0],[63,[7,"bp"],[23,[15,"bp"],[17,[15,"bk"],"length"]],[33,[15,"bp"],[3,"bp",[0,[15,"bp"],1]]],[46,[53,[52,"bq",["bd",[16,[15,"bk"],[15,"bp"]],[17,[15,"s"],"TEXT"]]],[22,[21,[15,"bq"],[44]],[46,[43,[15,"bk"],[15,"bp"],[15,"bq"]],[3,"bm",true]]]]]]],[4]]],[5,[46,[54,"bp",[15,"bk"],[46,[53,[52,"bq",["bd",[16,[15,"bk"],[15,"bp"]],[17,[15,"s"],"TEXT"]]],[22,[21,[15,"bq"],[44]],[46,[43,[15,"bk"],[15,"bp"],[15,"bq"]],[3,"bm",true]]]]]],[4]]]]],[36,[39,[15,"bm"],[15,"bk"],[44]]]],[50,"bj",[46,"bk","bl"],[52,"bm",[30,[2,[15,"bk"],"getMetadata",[7,[15,"bi"]]],[7]]],[22,[20,[2,[15,"bm"],"indexOf",[7,[15,"bl"]]],[27,1]],[46,[2,[15,"bm"],"push",[7,[15,"bl"]]]]],[2,[15,"bk"],"setMetadata",[7,[15,"bi"],[15,"bm"]]]],[52,"b",["require","internal.createRegex"]],[52,"c",["require","decodeUriComponent"]],[52,"d",["require","encodeUriComponent"]],[52,"e",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"f",["require","getType"]],[52,"g",["require","parseUrl"]],[52,"h",["require","internal.registerCcdCallback"]],[52,"i",[17,[15,"a"],"instanceDestinationId"]],[52,"j",[17,[15,"a"],"redactEmail"]],[52,"k",[17,[15,"a"],"redactQueryParams"]],[52,"l",[39,[15,"k"],[2,[15,"k"],"split",[7,","]],[7]]],[52,"m","is_sgtm_prehit"],[22,[1,[28,[17,[15,"l"],"length"]],[28,[15,"j"]]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"n",["b","[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}","gi"]],[52,"o",["b",[0,"([A-Z0-9._-]|%25|%2B)+%40[A-Z0-9.-]","+\\.[A-Z]{2,}"],"gi"]],[52,"p",[7,"page_location","page_referrer","page_path","link_url","video_url","form_destination"]],[52,"q","page_path"],[52,"r","(redacted)"],[52,"s",[8,"TEXT",0,"URL",1,"PATH",2]],[52,"t",[8]],[52,"u",["b","([\\\\^$.|?*+(){}]|\\[|\\[)","g"]],[52,"y","http://."],[52,"be",15],[52,"bf",16],[52,"bg",23],[52,"bh",24],[52,"bi","event_usage"],["h",[15,"i"],[51,"",[7,"bk"],[22,[15,"j"],[46,[53,[52,"bl",[2,[15,"bk"],"getHitKeys",[7]]],[65,"bm",[15,"bl"],[46,[53,[22,[20,[15,"bm"],"_sst_parameters"],[46,[6]]],[52,"bn",[2,[15,"bk"],"getHitData",[7,[15,"bm"]]]],[22,[28,[15,"bn"]],[46,[6]]],[52,"bo",["bc",[15,"bm"]]],[52,"bp",["bd",[15,"bn"],[15,"bo"]]],[22,[21,[15,"bp"],[44]],[46,[2,[15,"bk"],"setHitData",[7,[15,"bm"],[15,"bp"]]],["bj",[15,"bk"],[39,[2,[15,"bk"],"getMetadata",[7,[15,"m"]]],[15,"bg"],[15,"be"]]]]]]]]]]],[22,[17,[15,"l"],"length"],[46,[65,"bl",[15,"p"],[46,[53,[52,"bm",[2,[15,"bk"],"getHitData",[7,[15,"bl"]]]],[22,[28,[15,"bm"]],[46,[6]]],[52,"bn",[39,[20,[15,"bl"],[15,"q"]],[17,[15,"s"],"PATH"],[17,[15,"s"],"URL"]]],[52,"bo",["x",[15,"bm"],[15,"l"],[15,"bn"]]],[22,[21,[15,"bo"],[15,"bm"]],[46,[2,[15,"bk"],"setHitData",[7,[15,"bl"],[15,"bo"]]],["bj",[15,"bk"],[39,[2,[15,"bk"],"getMetadata",[7,[15,"m"]]],[15,"bh"],[15,"bf"]]]]]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ccd_conversion_marking",[46,"a"],[22,[30,[28,[17,[15,"a"],"conversionRules"]],[20,[17,[17,[15,"a"],"conversionRules"],"length"],0]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"b",["require","internal.copyPreHit"]],[52,"c",["require","internal.evaluateBooleanExpression"]],[52,"d",["require","internal.registerCcdCallback"]],[52,"e","is_conversion"],[52,"f","is_first_visit"],[52,"g","is_first_visit_conversion"],[52,"h","is_session_start"],[52,"i","is_session_start_conversion"],[52,"j","first_visit"],[52,"k","session_start"],[41,"l"],[41,"m"],["d",[17,[15,"a"],"instanceDestinationId"],[51,"",[7,"n"],[52,"o",[8,"preHit",[15,"n"]]],[65,"p",[17,[15,"a"],"conversionRules"],[46,[22,["c",[17,[15,"p"],"matchingRules"],[15,"o"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"e"],true]],[4]]]]],[22,[2,[15,"n"],"getMetadata",[7,[15,"f"]]],[46,[22,[28,[15,"l"]],[46,[53,[52,"p",["b",[15,"n"],[8,"omitHitData",true,"omitMetadata",true]]],[2,[15,"p"],"setEventName",[7,[15,"j"]]],[3,"l",[8,"preHit",[15,"p"]]]]]],[65,"p",[17,[15,"a"],"conversionRules"],[46,[22,["c",[17,[15,"p"],"matchingRules"],[15,"l"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"g"],true]],[4]]]]]]],[22,[2,[15,"n"],"getMetadata",[7,[15,"h"]]],[46,[22,[28,[15,"m"]],[46,[53,[52,"p",["b",[15,"n"],[8,"omitHitData",true,"omitMetadata",true]]],[2,[15,"p"],"setEventName",[7,[15,"k"]]],[3,"m",[8,"preHit",[15,"p"]]]]]],[65,"p",[17,[15,"a"],"conversionRules"],[46,[22,["c",[17,[15,"p"],"matchingRules"],[15,"m"]],[46,[2,[15,"n"],"setMetadata",[7,[15,"i"],true]],[4]]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]],[36]]
,[50,"__ccd_ga_ads_link",[46,"a"],[52,"b",["require","internal.CrossContainerSchema"]],[52,"c",["require","internal.GtagSchema"]],[52,"d",["require","internal.copyFromCrossContainerData"]],[52,"e",["require","internal.registerCcdCallback"]],[52,"f",["require","internal.setInCrossContainerData"]],[52,"g",["require","internal.setProductSettingsParameter"]],[52,"h","event_usage"],[52,"i",27],["g",[17,[15,"a"],"instanceDestinationId"],"ga4_ads_linked",true],["e",[17,[15,"a"],"instanceDestinationId"],[51,"",[7,"j"],[41,"k"],[3,"k",[2,[15,"j"],"getHitData",[7,[17,[17,[15,"c"],"EventParameters"],"USER_ID"]]]],[22,[28,[15,"k"]],[46,[53,[52,"n",[30,[2,[15,"j"],"getHitData",[7,[17,[17,[15,"c"],"EventParameters"],"USER_PROPERTIES"]]],[8]]],[3,"k",[16,[15,"n"],[17,[17,[15,"c"],"EventParameters"],"USER_ID"]]]]]],[22,[28,[15,"k"]],[46,[36]]],[52,"l",["d",[17,[15,"b"],"SHARED_USER_ID"]]],[22,[15,"l"],[46,[36]]],["f",[17,[15,"b"],"SHARED_USER_ID"],[15,"k"]],["f",[17,[15,"b"],"SHARED_USER_ID_SOURCE"],[17,[15,"a"],"instanceDestinationId"]],[52,"m",["d",[17,[15,"b"],"SHARED_USER_ID_REQUESTED"]]],[22,[15,"m"],[46,[53,[52,"n",[30,[2,[15,"j"],"getMetadata",[7,[15,"h"]]],[7]]],[22,[23,[2,[15,"n"],"indexOf",[7,[15,"i"]]],0],[46,[2,[15,"n"],"push",[7,[15,"i"]]],[2,[15,"j"],"setMetadata",[7,[15,"h"],[15,"n"]]]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ccd_ga_first",[46,"a"],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ccd_ga_last",[46,"a"],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ccd_ga_regscope",[46,"a"],[52,"b",[15,"__module_ccdGaRegionScopedSettings"]],[52,"c",[2,[15,"b"],"extractRedactedLocations",[7,[15,"a"]]]],[2,[15,"b"],"applyRegionScopedSettings",[7,[15,"a"],[15,"c"]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__e",[46,"a"],[36,[13,[41,"$0"],[3,"$0",["require","internal.getEventData"]],["$0","event"]]]]
,[50,"__ogt_1p_data_v2",[46,"a"],[50,"k",[46,"n","o","p"],[22,[20,[16,[15,"o"],"type"],[15,"p"]],[46,[22,[28,[15,"n"]],[46,[3,"n",[8]]]],[22,[28,[16,[15,"n"],[15,"p"]]],[46,[43,[15,"n"],[15,"p"],[16,[15,"o"],"userData"]]]]]],[36,[15,"n"]]],[50,"l",[46,"n","o"],[52,"p",[16,[15,"a"],[15,"n"]]],[41,"q"],[22,[20,[15,"p"],"CSS_SELECTOR"],[46,[3,"q","css_selector"]],[46,[22,[20,[15,"p"],"JS_VAR"],[46,[3,"q","js_variable"]]]]],[36,[8,"selector_type",[15,"q"],"value",[16,[15,"a"],[15,"o"]]]]],[50,"m",[46,"n","o","p","q"],[22,[28,[16,[15,"a"],[15,"q"]]],[46,[36]]],[43,[15,"n"],[15,"o"],["l",[15,"p"],[15,"q"]]]],[22,[28,[17,[15,"a"],"isEnabled"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"b",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"c",["require","internal.getDestinationIds"]],[52,"d",["require","internal.getProductSettingsParameter"]],[52,"e",["require","internal.detectUserProvidedData"]],[52,"f",["require","queryPermission"]],[52,"g",["require","internal.setRemoteConfigParameter"]],[52,"h",["require","internal.registerCcdCallback"]],[52,"i",[30,["c"],[7]]],[52,"j",[8,"enable_code",true]],[22,[17,[15,"a"],"isAutoEnabled"],[46,[53,[52,"n",[7]],[22,[1,[17,[15,"a"],"autoCollectExclusionSelectors"],[17,[17,[15,"a"],"autoCollectExclusionSelectors"],"length"]],[46,[53,[41,"p"],[3,"p",0],[63,[7,"p"],[23,[15,"p"],[17,[17,[15,"a"],"autoCollectExclusionSelectors"],"length"]],[33,[15,"p"],[3,"p",[0,[15,"p"],1]]],[46,[53,[52,"q",[17,[16,[17,[15,"a"],"autoCollectExclusionSelectors"],[15,"p"]],"exclusionSelector"]],[22,[15,"q"],[46,[2,[15,"n"],"push",[7,[15,"q"]]]]]]]]]]],[52,"o",[39,[17,[15,"a"],"isAutoCollectPiiEnabledFlag"],[17,[15,"a"],"autoEmailEnabled"],true]],[43,[15,"j"],"auto_detect",[8,"email",[15,"o"],"phone",[17,[15,"a"],"autoPhoneEnabled"],"address",[17,[15,"a"],"autoAddressEnabled"],"exclude_element_selectors",[15,"n"]]]]]],[22,[17,[15,"a"],"isManualEnabled"],[46,[53,[52,"n",[8]],[22,[17,[15,"a"],"manualEmailEnabled"],[46,["m",[15,"n"],"email","emailType","emailValue"]]],[22,[17,[15,"a"],"manualPhoneEnabled"],[46,["m",[15,"n"],"phone","phoneType","phoneValue"]]],[22,[17,[15,"a"],"manualAddressEnabled"],[46,[53,[52,"o",[8]],["m",[15,"o"],"first_name","firstNameType","firstNameValue"],["m",[15,"o"],"last_name","lastNameType","lastNameValue"],["m",[15,"o"],"street","streetType","streetValue"],["m",[15,"o"],"city","cityType","cityValue"],["m",[15,"o"],"region","regionType","regionValue"],["m",[15,"o"],"country","countryType","countryValue"],["m",[15,"o"],"postal_code","postalCodeType","postalCodeValue"],[43,[15,"n"],"name_and_address",[7,[15,"o"]]]]]],[43,[15,"j"],"selectors",[15,"n"]]]]],[65,"n",[15,"i"],[46,[53,[41,"o"],[3,"o",[15,"j"]],[22,[1,[20,[2,[15,"n"],"indexOf",[7,"G-"]],0],[28,[16,[15,"b"],"enableEuidAutoMode"]]],[46,[53,[52,"r",[8,"enable_code",true,"selectors",[16,[15,"j"],"selectors"]]],[3,"o",[15,"r"]]]]],["g",[15,"n"],"user_data_settings",[15,"o"]],[52,"p",[16,[15,"o"],"auto_detect"]],[22,[28,[15,"p"]],[46,[6]]],[52,"q",[51,"",[7,"r"],[52,"s",[2,[15,"r"],"getMetadata",[7,"user_data_from_automatic"]]],[22,[15,"s"],[46,[36,[15,"s"]]]],[41,"t"],[22,[30,[28,[16,[15,"b"],"enableDetectUserProvidedDataErrorHandling"]],["f","detect_user_provided_data","auto"]],[46,[3,"t",["e",[8,"excludeElementSelectors",[16,[15,"p"],"exclude_element_selectors"],"fieldFilters",[8,"email",[16,[15,"p"],"email"],"phone",[16,[15,"p"],"phone"],"address",[16,[15,"p"],"address"]]]]]]],[52,"u",[1,[15,"t"],[16,[15,"t"],"elements"]]],[52,"v",[8]],[22,[1,[15,"u"],[18,[17,[15,"u"],"length"],0]],[46,[53,[41,"w"],[53,[41,"x"],[3,"x",0],[63,[7,"x"],[23,[15,"x"],[17,[15,"u"],"length"]],[33,[15,"x"],[3,"x",[0,[15,"x"],1]]],[46,[53,[52,"y",[16,[15,"u"],[15,"x"]]],["k",[15,"v"],[15,"y"],"email"],[22,[16,[15,"b"],"enableAutoPiiOnPhoneAndAddress"],[46,["k",[15,"v"],[15,"y"],"phone_number"],[3,"w",["k",[15,"w"],[15,"y"],"first_name"]],[3,"w",["k",[15,"w"],[15,"y"],"last_name"]],[3,"w",["k",[15,"w"],[15,"y"],"country"]],[3,"w",["k",[15,"w"],[15,"y"],"postal_code"]]]]]]]],[22,[1,[15,"w"],[28,[16,[15,"v"],"address"]]],[46,[43,[15,"v"],"address",[15,"w"]]]]]]],[2,[15,"r"],"setMetadata",[7,"user_data_from_automatic",[15,"v"]]],[36,[15,"v"]]]],["h",[15,"n"],[51,"",[7,"r"],[2,[15,"r"],"setMetadata",[7,"user_data_from_automatic_getter",[15,"q"]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ogt_ga_send",[46,"a"],[50,"g",[46,"h","i","j","k"],[22,[21,[16,[15,"h"],[15,"i"]],[44]],[46,[43,[15,"j"],[15,"k"],[16,[15,"h"],[15,"i"]]]]]],[22,[28,[17,[15,"a"],"value"]],[46,[2,[15,"a"],"gtmOnSuccess",[7]],[36]]],[52,"b",["require","getContainerVersion"]],[52,"c",["require","internal.getDestinationIds"]],[52,"d",["require","internal.sendGtagEvent"]],[52,"e",["require","internal.addGaSendListener"]],[41,"f"],[3,"f",["c"]],[22,[30,[28,[15,"f"]],[20,[17,[15,"f"],"length"],0]],[46,[3,"f",[7,[17,["b"],"containerId"]]]]],["e",[51,"",[7,"h","i"],[41,"j"],[41,"k"],[3,"k",[8]],[22,[20,[15,"h"],"event"],[46,[3,"j",[16,[15,"i"],"eventAction"]],["g",[15,"i"],"eventCategory",[15,"k"],"event_category"],["g",[15,"i"],"eventLabel",[15,"k"],"event_label"],["g",[15,"i"],"eventValue",[15,"k"],"value"]],[46,[22,[20,[15,"h"],"exception"],[46,[3,"j","exception"],["g",[15,"i"],"exDescription",[15,"k"],"description"],["g",[15,"i"],"exFatal",[15,"k"],"fatal"]],[46,[22,[20,[15,"h"],"timing"],[46,[22,[30,[30,[20,[16,[15,"i"],"timingCategory"],[44]],[20,[16,[15,"i"],"timingVar"],[44]]],[20,[16,[15,"i"],"timingValue"],[44]]],[46,[36]]],[3,"j","timing_complete"],["g",[15,"i"],"timingCategory",[15,"k"],"event_category"],["g",[15,"i"],"timingVar",[15,"k"],"name"],["g",[15,"i"],"timingValue",[15,"k"],"value"],["g",[15,"i"],"timingLabel",[15,"k"],"event_label"]]]]]]],[22,[21,[15,"j"],[44]],[46,[53,[52,"l",[8,"eventMetadata",[8,"event_usage",[7,7]],"eventId",[17,[15,"a"],"gtmEventId"],"noGtmEvent",true]],[65,"m",[15,"f"],[46,[22,[20,[2,[15,"m"],"indexOf",[7,"G-"]],0],[46,["d",[15,"m"],[15,"j"],[15,"k"],[15,"l"]]]]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ogt_google_signals",[46,"a"],[52,"b",["require","internal.setProductSettingsParameter"]],[52,"c",["require","getContainerVersion"]],[52,"d",[30,[17,[15,"a"],"instanceDestinationId"],[17,["c"],"containerId"]]],["b",[15,"d"],"google_signals",[20,[17,[15,"a"],"googleSignals"],"ENABLED"]],["b",[15,"d"],"google_ng",[20,[17,[15,"a"],"googleSignals"],"NON_GAIA_REMARKETING"]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ogt_referral_exclusion",[46,"a"],[52,"b",[15,"__module_convertDomainConditions"]],[52,"c",["require","internal.getDestinationIds"]],[52,"d",["require","internal.setRemoteConfigParameter"]],[52,"e",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[22,[17,[15,"a"],"includeConditions"],[46,[53,[41,"f"],[3,"f",[30,["c"],[7]]],[65,"g",[15,"f"],[46,[53,[41,"h"],[3,"h",[17,[15,"a"],"includeConditions"]],[22,[17,[15,"h"],"length"],[46,[3,"h",[2,[15,"b"],"convertDomainConditions",[7,[15,"h"]]]],["d",[15,"g"],"referral_exclusion_definition",[8,"include_conditions",[15,"h"]]]]]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__ogt_session_timeout",[46,"a"],[52,"b",["require","internal.getDestinationIds"]],[52,"c",["require","makeNumber"]],[52,"d",["require","internal.setRemoteConfigParameter"]],[41,"e"],[3,"e",[30,["b"],[7]]],[52,"f",[30,["c",[17,[15,"a"],"sessionHours"]],0]],[52,"g",[30,["c",[17,[15,"a"],"sessionMinutes"]],0]],[22,[30,[15,"f"],[15,"g"]],[46,[53,[52,"i",[0,[26,[15,"f"],60],[15,"g"]]],[65,"j",[15,"e"],[46,["d",[15,"j"],"session_duration",[15,"i"]]]]]]],[52,"h",[30,["c",[17,[15,"a"],"engagementSeconds"]],0]],[22,[15,"h"],[46,[53,[52,"i",[26,[15,"h"],1000]],[65,"j",[15,"e"],[46,["d",[15,"j"],"session_engaged_time",[15,"i"]]]]]]],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[50,"__set_product_settings",[46,"a"],[2,[15,"a"],"gtmOnSuccess",[7]]]
,[52,"__module_convertDomainConditions",[13,[41,"$0"],[3,"$0",[51,"",[7],[50,"a",[46],[50,"e",[46,"g"],[36,[2,[15,"g"],"replace",[7,[15,"d"],"\\$&"]]]],[50,"f",[46,"g"],[52,"h",[7]],[53,[41,"i"],[3,"i",0],[63,[7,"i"],[23,[15,"i"],[17,[15,"g"],"length"]],[33,[15,"i"],[3,"i",[0,[15,"i"],1]]],[46,[53,[41,"j"],[22,[20,["c",[16,[15,"g"],[15,"i"]]],"object"],[46,[53,[52,"l",[16,[16,[15,"g"],[15,"i"]],"matchType"]],[52,"m",[16,[16,[15,"g"],[15,"i"]],"matchValue"]],[38,[15,"l"],[46,"BEGINS_WITH","ENDS_WITH","EQUALS","REGEX","CONTAINS"],[46,[5,[46,[3,"j",[0,"^",["e",[15,"m"]]]],[4]]],[5,[46,[3,"j",[0,["e",[15,"m"]],"$"]],[4]]],[5,[46,[3,"j",[0,[0,"^",["e",[15,"m"]]],"$"]],[4]]],[5,[46,[3,"j",[15,"m"]],[4]]],[5,[46]],[9,[46,[3,"j",["e",[15,"m"]]],[4]]]]]]],[46,[3,"j",[16,[15,"g"],[15,"i"]]]]],[41,"k"],[22,[15,"j"],[46,[3,"k",["b",[15,"j"]]]]],[22,[15,"k"],[46,[2,[15,"h"],"push",[7,[15,"k"]]]]]]]]],[36,[15,"h"]]],[52,"b",["require","internal.createRegex"]],[52,"c",["require","getType"]],[52,"d",["b","[.*+\\-?^${}()|[\\]\\\\]","g"]],[36,[8,"convertDomainConditions",[15,"f"]]]],[36,["a"]]]],["$0"]]]
,[52,"__module_activities",[13,[41,"$0"],[3,"$0",[51,"",[7],[50,"a",[46],[50,"b",[46,"c","d"],[36,[39,[15,"d"],["d",[15,"c"]],[15,"c"]]]],[36,[8,"withRequestContext",[15,"b"]]]],[36,["a"]]]],["$0"]]]
,[52,"__module_ccdGaRegionScopedSettings",[13,[41,"$0"],[3,"$0",[51,"",[7],[50,"a",[46],[50,"n",[46,"q","r","s"],[50,"x",[46,"z"],[52,"ba",[16,[15,"m"],[15,"z"]]],[22,[28,[15,"ba"]],[46,[36]]],[53,[41,"bb"],[3,"bb",0],[63,[7,"bb"],[23,[15,"bb"],[17,[15,"ba"],"length"]],[33,[15,"bb"],[3,"bb",[0,[15,"bb"],1]]],[46,[53,[52,"bc",[16,[15,"ba"],[15,"bb"]]],["u",[15,"t"],[17,[15,"bc"],"name"],[17,[15,"bc"],"value"]]]]]]],[50,"y",[46,"z"],[22,[30,[28,[15,"v"]],[21,[17,[15,"v"],"length"],2]],[46,[36,false]]],[41,"ba"],[3,"ba",[16,[15,"z"],[15,"w"]]],[22,[20,[15,"ba"],[44]],[46,[3,"ba",[16,[15,"z"],[15,"v"]]]]],[36,[28,[28,[15,"ba"]]]]],[22,[28,[15,"r"]],[46,[36]]],[52,"t",[30,[17,[15,"q"],"instanceDestinationId"],[17,["d"],"containerId"]]],[52,"u",["i",[15,"g"],[15,"s"]]],[52,"v",[13,[41,"$0"],[3,"$0",["i",[15,"e"],[15,"s"]]],["$0"]]],[52,"w",[13,[41,"$0"],[3,"$0",["i",[15,"f"],[15,"s"]]],["$0"]]],[53,[41,"z"],[3,"z",0],[63,[7,"z"],[23,[15,"z"],[17,[15,"r"],"length"]],[33,[15,"z"],[3,"z",[0,[15,"z"],1]]],[46,[53,[52,"ba",[16,[15,"r"],[15,"z"]]],[22,[30,[17,[15,"ba"],"disallowAllRegions"],["y",[17,[15,"ba"],"disallowedRegions"]]],[46,["x",[17,[15,"ba"],"redactFieldGroup"]]]]]]]]],[50,"o",[46,"q"],[52,"r",[8]],[22,[28,[15,"q"]],[46,[36,[15,"r"]]]],[52,"s",[2,[15,"q"],"split",[7,","]]],[53,[41,"t"],[3,"t",0],[63,[7,"t"],[23,[15,"t"],[17,[15,"s"],"length"]],[33,[15,"t"],[3,"t",[0,[15,"t"],1]]],[46,[53,[52,"u",[2,[16,[15,"s"],[15,"t"]],"trim",[7]]],[22,[28,[15,"u"]],[46,[6]]],[52,"v",[2,[15,"u"],"split",[7,"-"]]],[52,"w",[16,[15,"v"],0]],[52,"x",[39,[20,[17,[15,"v"],"length"],2],[15,"u"],[44]]],[22,[30,[28,[15,"w"]],[21,[17,[15,"w"],"length"],2]],[46,[6]]],[22,[1,[21,[15,"x"],[44]],[30,[23,[17,[15,"x"],"length"],4],[18,[17,[15,"x"],"length"],6]]],[46,[6]]],[43,[15,"r"],[15,"u"],true]]]]],[36,[15,"r"]]],[50,"p",[46,"q"],[22,[28,[17,[15,"q"],"settingsTable"]],[46,[36,[7]]]],[52,"r",[8]],[53,[41,"s"],[3,"s",0],[63,[7,"s"],[23,[15,"s"],[17,[17,[15,"q"],"settingsTable"],"length"]],[33,[15,"s"],[3,"s",[0,[15,"s"],1]]],[46,[53,[52,"t",[16,[17,[15,"q"],"settingsTable"],[15,"s"]]],[52,"u",[17,[15,"t"],"redactFieldGroup"]],[22,[28,[16,[15,"m"],[15,"u"]]],[46,[6]]],[43,[15,"r"],[15,"u"],[8,"redactFieldGroup",[15,"u"],"disallowAllRegions",false,"disallowedRegions",[8]]],[52,"v",[16,[15,"r"],[15,"u"]]],[22,[17,[15,"t"],"disallowAllRegions"],[46,[43,[15,"v"],"disallowAllRegions",true],[6]]],[43,[15,"v"],"disallowedRegions",["o",[17,[15,"t"],"disallowedRegions"]]]]]]],[36,[2,[15,"b"],"values",[7,[15,"r"]]]]],[52,"b",["require","Object"]],[52,"c",[13,[41,"$0"],[3,"$0",["require","internal.getFlags"]],["$0"]]],[52,"d",["require","getContainerVersion"]],[52,"e",["require","internal.getCountryCode"]],[52,"f",["require","internal.getRegionCode"]],[52,"g",["require","internal.setRemoteConfigParameter"]],[52,"h",[15,"__module_activities"]],[52,"i",[17,[15,"h"],"withRequestContext"]],[41,"j"],[41,"k"],[41,"l"],[52,"m",[8,"GOOGLE_SIGNALS",[7,[8,"name","allow_google_signals","value",false]],"DEVICE_AND_GEO",[7,[8,"name","geo_granularity","value",true],[8,"name","redact_device_info","value",true]]]],[36,[8,"applyRegionScopedSettings",[15,"n"],"extractRedactedLocations",[15,"p"]]]],[36,["a"]]]],["$0"]]]
]
,"entities":{
"__c":{"2":true,"4":true}
,
"__ccd_auto_redact":{"2":true,"4":true}
,
"__ccd_conversion_marking":{"2":true,"4":true}
,
"__ccd_ga_ads_link":{"2":true,"4":true}
,
"__ccd_ga_first":{"2":true,"4":true}
,
"__ccd_ga_last":{"2":true,"4":true}
,
"__ccd_ga_regscope":{"2":true,"4":true}
,
"__e":{"2":true,"4":true}
,
"__ogt_1p_data_v2":{"2":true}
,
"__ogt_ga_send":{"2":true}
,
"__ogt_google_signals":{"2":true,"4":true}
,
"__ogt_referral_exclusion":{"2":true}
,
"__ogt_session_timeout":{"2":true}
,
"__set_product_settings":{"2":true,"4":true}
}
,"blob":{"1":"2"}
,"permissions":{
"__c":{}
,
"__ccd_auto_redact":{}
,
"__ccd_conversion_marking":{}
,
"__ccd_ga_ads_link":{}
,
"__ccd_ga_first":{}
,
"__ccd_ga_last":{}
,
"__ccd_ga_regscope":{"read_container_data":{}}
,
"__e":{"read_event_data":{"eventDataAccess":"specific","keyPatterns":["event"]}}
,
"__ogt_1p_data_v2":{"detect_user_provided_data":{"limitDataSources":true,"allowAutoDataSources":true,"allowManualDataSources":false,"allowCodeDataSources":false}}
,
"__ogt_ga_send":{"access_globals":{"keys":[{"key":"ga.q","read":true,"write":true,"execute":true},{"key":"GoogleAnalyticsObject","read":true,"write":false,"execute":false}]},"read_container_data":{}}
,
"__ogt_google_signals":{"read_container_data":{}}
,
"__ogt_referral_exclusion":{}
,
"__ogt_session_timeout":{}
,
"__set_product_settings":{}
}
,"security_groups":{
"google":[
"__c"
,
"__ccd_auto_redact"
,
"__ccd_conversion_marking"
,
"__ccd_ga_ads_link"
,
"__ccd_ga_first"
,
"__ccd_ga_last"
,
"__ccd_ga_regscope"
,
"__e"
,
"__ogt_1p_data_v2"
,
"__ogt_ga_send"
,
"__ogt_google_signals"
,
"__ogt_referral_exclusion"
,
"__ogt_session_timeout"
,
"__set_product_settings"
]
}
};
var aa,ba=function(a){var b=0;return function(){return b>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(f||"")+"_"+d++,f)};return e});
var ja=function(a){return ha(a,a)},ha=function(a,b){a.raw=b;Object.freeze&&(Object.freeze(a),Object.freeze(b));return a},ka=function(a){var b=typeof Symbol!="undefined"&&Symbol.iterator&&a[Symbol.iterator];if(b)return b.call(a);if(typeof a.length=="number")return{next:ba(a)};throw Error(String(a)+" is not an iterable or ArrayLike");},ma=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c},oa=function(a){return a instanceof Array?a:ma(ka(a))},pa=typeof Object.assign=="function"?
Object.assign:function(a,b){for(var c=1;c=0&&isFinite(a)&&a%1===0||typeof a==="string"&&a[0]!=="-"&&a===""+parseInt(a)};var Va=function(a){a=a===void 0?[]:a;this.values=[];this.C=!1;this.j=new Ka;for(var b in a)a.hasOwnProperty(b)&&(Ua(b)?this.values[Number(b)]=a[Number(b)]:this.j.set(b,a[b]))};aa=Va.prototype;aa.toString=function(a){if(a&&a.indexOf(this)>=0)return"";for(var b=[],c=0;c>2,n=(f&3)<<4|g>>4,p=(g&15)<<2|k>>6,q=k&63;e||(q=64,d||(p=64));b.push(Za[m],Za[n],Za[p],Za[q])}return b.join("")}
function db(a){function b(m){for(;d>4);g!==64&&(c+=String.fromCharCode(f<<4&240|g>>2),k!==64&&(c+=String.fromCharCode(g<<6&192|k)))}};var eb={};function fb(a,b){eb[a]=eb[a]||[];eb[a][b]=!0}function gb(a){var b=eb[a];if(!b||b.length===0)return"";for(var c=[],d=0,e=0;e0&&(c.push(String.fromCharCode(d)),d=0),b[e]&&(d|=1<0&&c.push(String.fromCharCode(d));return cb(c.join("")).replace(/\.+$/,"")}function hb(){for(var a=[],b=eb.fdr||[],c=0;c0?a:void 0};var ib=[],jb={};function kb(a){return ib[a]===void 0?!1:ib[a]};function lb(){}function mb(a){return typeof a==="function"}function h(a){return typeof a==="string"}function nb(a){return typeof a==="number"&&!isNaN(a)}function ob(a){return Array.isArray(a)?a:[a]}function pb(a,b){if(a&&Array.isArray(a))for(var c=0;cb)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)}
function rb(a,b){for(var c=new sb,d=0;d=b.length&&a.substring(0,b.length)===b}function Fb(a,b){return a.length>=b.length&&a.substring(a.length-b.length,a.length)===b}
function Gb(a,b){var c=z;b=b||[];for(var d=c,e=0;e=0)return}return d}function Hb(a,b){for(var c={},d=c,e=a.split("."),f=0;f=0&&isFinite(a)&&a%1===0||typeof a==="string"&&a[0]!=="-"&&a===""+parseInt(a)};var Va=function(a){a=a===void 0?[]:a;this.values=[];this.C=!1;this.j=new Ka;for(var b in a)a.hasOwnProperty(b)&&(Ua(b)?this.values[Number(b)]=a[Number(b)]:this.j.set(b,a[b]))};aa=Va.prototype;aa.toString=function(a){if(a&&a.indexOf(this)>=0)return"";for(var b=[],c=0;c>2,n=(f&3)<<4|g>>4,p=(g&15)<<2|k>>6,q=k&63;e||(q=64,d||(p=64));b.push(Za[m],Za[n],Za[p],Za[q])}return b.join("")}
function db(a){function b(m){for(;d>4);g!==64&&(c+=String.fromCharCode(f<<4&240|g>>2),k!==64&&(c+=String.fromCharCode(g<<6&192|k)))}};var eb={};function fb(a,b){eb[a]=eb[a]||[];eb[a][b]=!0}function gb(a){var b=eb[a];if(!b||b.length===0)return"";for(var c=[],d=0,e=0;e0&&(c.push(String.fromCharCode(d)),d=0),b[e]&&(d|=1<0&&c.push(String.fromCharCode(d));return cb(c.join("")).replace(/\.+$/,"")}function hb(){for(var a=[],b=eb.fdr||[],c=0;c0?a:void 0};var ib=[],jb={};function kb(a){return ib[a]===void 0?!1:ib[a]};function lb(){}function mb(a){return typeof a==="function"}function h(a){return typeof a==="string"}function nb(a){return typeof a==="number"&&!isNaN(a)}function ob(a){return Array.isArray(a)?a:[a]}function pb(a,b){if(a&&Array.isArray(a))for(var c=0;cb)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)}
function rb(a,b){for(var c=new sb,d=0;d=b.length&&a.substring(0,b.length)===b}function Fb(a,b){return a.length>=b.length&&a.substring(a.length-b.length,a.length)===b}
function Gb(a,b){var c=z;b=b||[];for(var d=c,e=0;e=0)return}return d}function Hb(a,b){for(var c={},d=c,e=a.split("."),f=0;f=0;f--)if(this.has(f)&&this.get(f)===b)return f;return-1},map:function(a,b){for(var c=this.length(),d=[],e=0;ed)throw Error("TypeError: ReduceRight on List with no elements.");}for(var k=f;k>=0;k--)this.has(k)&&(e=b.invoke(a,e,this.get(k),k,this));return e},reverse:function(){for(var a=Wa(this),b=a.length-1,c=0;b>=0;b--,c++)a.hasOwnProperty(b)?this.set(c,a[b]):this.remove(c);return this},shift:function(){return this.shift()},slice:function(a,b,c){var d=this.length();b===void 0&&(b=0);b=b<0?Math.max(d+b,0):Math.min(b,d);c=c===void 0?
d:c<0?Math.max(d+c,0):Math.min(c,d);c=Math.max(b,c);for(var e=[],f=b;f=0){var t=Wa(c);t.unshift(this.D);return ed[b].apply(a,t)}}if(a instanceof Vc||a instanceof Xa){if(a.has(b)){var u=a.get(b);if(u instanceof Vc){var v=Wa(c);v.unshift(this.D);return u.invoke.apply(u,v)}var w="TypeError: "+b+" is not a function";if(dd())throw new fd(w);throw Error(w);}if(b==="toString")return a instanceof Vc?a.getName():a.toString();if(b==="hasOwnProperty")return a.has.apply(a,
Wa(c))}if(a instanceof $c&&b==="toString")return a.toString();var x="TypeError: Object has no '"+b+"' property.";if(dd())throw new fd(x);throw Error(x);}function md(a,b){a=this.evaluate(a);if(typeof a!=="string")throw Error("Invalid key name given for assignment.");var c=this.D;if(!c.has(a))throw Error("Attempting to assign to undefined value "+b);var d=this.evaluate(b);c.set(a,d);return d}function nd(){var a=Ga(this.D),b=Ha(a,Array.prototype.slice.apply(arguments));if(b instanceof Aa)return b}
function od(){return hd}function pd(a){for(var b=this.evaluate(a),c=0;c=0;f--)if(this.has(f)&&this.get(f)===b)return f;return-1},map:function(a,b){for(var c=this.length(),d=[],e=0;ed)throw Error("TypeError: ReduceRight on List with no elements.");}for(var k=f;k>=0;k--)this.has(k)&&(e=b.invoke(a,e,this.get(k),k,this));return e},reverse:function(){for(var a=Wa(this),b=a.length-1,c=0;b>=0;b--,c++)a.hasOwnProperty(b)?this.set(c,a[b]):this.remove(c);return this},shift:function(){return this.shift()},slice:function(a,b,c){var d=this.length();b===void 0&&(b=0);b=b<0?Math.max(d+b,0):Math.min(b,d);c=c===void 0?
d:c<0?Math.max(d+c,0):Math.min(c,d);c=Math.max(b,c);for(var e=[],f=b;f=0){var t=Wa(c);t.unshift(this.D);return ed[b].apply(a,t)}}if(a instanceof Vc||a instanceof Xa){if(a.has(b)){var u=a.get(b);if(u instanceof Vc){var v=Wa(c);v.unshift(this.D);return u.invoke.apply(u,v)}var w="TypeError: "+b+" is not a function";if(dd())throw new fd(w);throw Error(w);}if(b==="toString")return a instanceof Vc?a.getName():a.toString();if(b==="hasOwnProperty")return a.has.apply(a,
Wa(c))}if(a instanceof $c&&b==="toString")return a.toString();var x="TypeError: Object has no '"+b+"' property.";if(dd())throw new fd(x);throw Error(x);}function md(a,b){a=this.evaluate(a);if(typeof a!=="string")throw Error("Invalid key name given for assignment.");var c=this.D;if(!c.has(a))throw Error("Attempting to assign to undefined value "+b);var d=this.evaluate(b);c.set(a,d);return d}function nd(){var a=Ga(this.D),b=Ha(a,Array.prototype.slice.apply(arguments));if(b instanceof Aa)return b}
function od(){return hd}function pd(a){for(var b=this.evaluate(a),c=0;cthis.evaluate(b)}function Od(a,b){return this.evaluate(a)>=this.evaluate(b)}
function Pd(a,b){a=this.evaluate(a);b=this.evaluate(b);a instanceof $c&&(a=a.getValue());b instanceof $c&&(b=b.getValue());return a===b}function Qd(a,b){return!Pd.call(this,a,b)}function Rd(a,b,c){var d=[];this.evaluate(a)?d=this.evaluate(b):c&&(d=this.evaluate(c));var e=Ha(this.D,d);if(e instanceof Aa)return e}var Ld=!1;
function Sd(a,b){return this.evaluate(a)>Number(this.evaluate(b))}
function qe(a,b){return Number(this.evaluate(a))>>>Number(this.evaluate(b))}function re(a,b){return Number(this.evaluate(a))&Number(this.evaluate(b))}function se(a,b){return Number(this.evaluate(a))^Number(this.evaluate(b))}function te(a,b){return Number(this.evaluate(a))|Number(this.evaluate(b))}function ue(){}
function ve(a,b,c,d,e){var f=!0;try{var g=this.evaluate(c);if(g instanceof Aa)return g}catch(r){if(!(r instanceof fd&&a))throw f=r instanceof fd,r;var k=Ga(this.D),m=new $c(r);k.add(b,m);var n=this.evaluate(d),p=Ha(k,n);if(p instanceof Aa)return p}finally{if(f&&e!==void 0){var q=this.evaluate(e);if(q instanceof Aa)return q}}};var xe=function(){this.j=new Ja;we(this)};xe.prototype.execute=function(a){return this.j.Ih(a)};var we=function(a){var b=function(c,d){var e=new Vc(String(c),d);e.Ja();a.j.j.set(String(c),e)};b("map",Vd);b("and",Pc);b("contains",Sc);b("equals",Qc);b("or",Rc);b("startsWith",Tc);b("variable",Uc)};var ze=function(){this.C=!1;this.j=new Ja;ye(this);this.C=!0};ze.prototype.execute=function(a){return Ae(this.j.Ih(a))};var Be=function(a,b,c){return Ae(a.j.Ik(b,c))};ze.prototype.Ja=function(){this.j.Ja()};
var ye=function(a){var b=function(c,d){var e=String(c),f=new Vc(e,d);f.Ja();a.j.j.set(e,f)};b(0,jd);b(1,kd);b(2,ld);b(3,md);b(56,re);b(57,oe);b(58,ne);b(59,te);b(60,pe);b(61,qe);b(62,se);b(53,nd);b(4,od);b(5,pd);b(52,qd);b(6,rd);b(49,ud);b(7,Ud);b(8,Vd);b(9,pd);b(50,vd);b(10,wd);b(12,xd);b(13,yd);b(51,Jd);b(47,Bd);b(54,Cd);b(55,Dd);b(63,Id);b(64,Ed);b(65,Gd);b(66,Hd);b(15,Kd);b(16,Md);b(17,Md);b(18,Nd);b(19,Od);b(20,Pd);b(21,Qd);b(22,Rd);b(23,Sd);b(24,Td);b(25,Wd);b(26,Xd);b(27,Yd);b(28,Zd);b(29,
$d);b(45,ae);b(30,be);b(32,ce);b(33,ce);b(34,de);b(35,de);b(46,ee);b(36,fe);b(43,ge);b(37,he);b(38,ie);b(39,je);b(67,ve);b(40,ke);b(44,ue);b(41,le);b(42,me)};ze.prototype.od=function(){return this.j.od()};function Ae(a){if(a instanceof Aa||a instanceof Vc||a instanceof Va||a instanceof Xa||a instanceof $c||a===null||a===void 0||typeof a==="string"||typeof a==="number"||typeof a==="boolean")return a};var Ce=function(a){this.message=a};function De(a){var b="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"[a];return b===void 0?new Ce("Value "+a+" can not be encoded in web-safe base64 dictionary."):b};function Ee(a){switch(a){case 1:return"1";case 2:case 4:return"0";default:return"-"}};var Fe=/^[1-9a-zA-Z_-][1-9a-c][1-9a-v]\d$/;function Ge(a,b){for(var c="",d=!0;a>7;){var e=a&31;a>>=5;d?d=!1:e|=32;c=""+De(e)+c}a<<=2;d||(a|=32);return c=""+De(a|b)+c};var He=function(){function a(b){return{toString:function(){return b}}}return{kk:a("consent"),Th:a("convert_case_to"),Uh:a("convert_false_to"),Vh:a("convert_null_to"),Wh:a("convert_true_to"),Xh:a("convert_undefined_to"),fn:a("debug_mode_metadata"),la:a("function"),Mg:a("instance_name"),Lk:a("live_only"),Mk:a("malware_disabled"),METADATA:a("metadata"),Pk:a("original_activity_id"),pn:a("original_vendor_template_id"),on:a("once_on_load"),Ok:a("once_per_event"),gj:a("once_per_load"),rn:a("priority_override"),
sn:a("respected_consent_types"),pj:a("setup_tags"),qe:a("tag_id"),uj:a("teardown_tags")}}();var ef;var ff=[],gf=[],hf=[],jf=[],kf=[],lf={},mf,nf;function of(a){nf=nf||a}
function pf(a){}var qf,rf=[],sf=[];function tf(a,b){var c={};c[He.la]="__"+a;for(var d in b)b.hasOwnProperty(d)&&(c["vtp_"+d]=b[d]);return c}
function uf(a,b,c){try{return mf(vf(a,b,c))}catch(d){JSON.stringify(a)}return 2}function wf(a){var b=a[He.la];if(!b)throw Error("Error: No function name given for function call.");return!!lf[b]}
var vf=function(a,b,c){c=c||[];var d={},e;for(e in a)a.hasOwnProperty(e)&&(d[e]=xf(a[e],b,c));return d},xf=function(a,b,c){if(Array.isArray(a)){var d;switch(a[0]){case "function_id":return a[1];case "list":d=[];for(var e=1;e16384)throw Error("EVENT_TOO_LARGE");};
var hg=function(a,b){for(var c=0;cd.length||!g&&d.length!==e.length?0:g?Eb(d,k)&&(d===k||d.charAt(k.length)==="."):d===k)return!0}return!1},gg=/^[a-z$_][\w$]*$/i,fg=/^(?:[a-z_$][a-z_$0-9]*\.)*[a-z_$][a-z_$0-9]*(?:\.\*)?$/i;
var ig=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"];function jg(a,b){var c=String(a),d=String(b),e=c.length-d.length;return e>=0&&c.indexOf(d,e)===e}var kg=new sb;function lg(a,b,c){var d=c?"i":void 0;try{var e=String(b)+String(d),f=kg.get(e);f||(f=new RegExp(b,d),kg.set(e,f));return f.test(a)}catch(g){return!1}}function mg(a,b){return String(a).indexOf(String(b))>=0}function ng(a,b){return String(a)===String(b)}
function og(a,b){return Number(a)>=Number(b)}function pg(a,b){return Number(a)<=Number(b)}function qg(a,b){return Number(a)>Number(b)}function rg(a,b){return Number(a)0;case 3:return!d(c[0]);
case 4:return lg(d(c[0]),d(c[1]),!1);case 5:return ng(d(c[0]),d(c[1]));case 6:return sg(d(c[0]),d(c[1]));case 7:return jg(d(c[0]),d(c[1]));case 8:return mg(d(c[0]),d(c[1]));case 9:return rg(d(c[0]),d(c[1]));case 10:return pg(d(c[0]),d(c[1]));case 11:return qg(d(c[0]),d(c[1]));case 12:return og(d(c[0]),d(c[1]));default:throw Error('Invalid boolean expression format. Expected "type" property tobe a positive integer which is less than 13.');}};function Sg(a){J(this.getName(),["message:?string"],arguments);};function Tg(a,b){J(this.getName(),["min:!number","max:!number"],arguments);return qb(a,b)};function Ug(){return(new Date).getTime()};function Vg(a){if(a===null)return"null";if(a instanceof Va)return"array";if(a instanceof Vc)return"function";if(a instanceof $c){var b;a=(b=a)==null?void 0:b.getValue();var c;if(((c=a)==null?void 0:c.constructor)===void 0||a.constructor.name===void 0){var d=String(a);return d.substring(8,d.length-1)}return String(a.constructor.name)}return typeof a};function Wg(a){function b(c){return function(d){try{return c(d)}catch(e){(Sf||Tf.bk)&&a.call(this,e.message)}}}return{parse:b(function(c){return cd(JSON.parse(c))}),stringify:b(function(c){return JSON.stringify(G(c))})}};function Xg(a){return ub(G(a,this.D))};function Yg(a){return Number(G(a,this.D))};function Zg(a){return a===null?"null":a===void 0?"undefined":a.toString()};function $g(a,b,c){var d=null,e=!1;return e?d:null};var Jg="floor ceil round max min abs pow sqrt".split(" ");function ah(){var a={};return{Dl:function(b){return a.hasOwnProperty(b)?a[b]:void 0},Xj:function(b,c){a[b]=c},reset:function(){a={}}}}function bh(a,b){return function(){var c=Array.prototype.slice.call(ya.apply(0,arguments),0);c.unshift(b);return Vc.prototype.invoke.apply(a,c)}}
function ch(a,b){J(this.getName(),["apiName:!string","mock:?*"],arguments);}
function dh(a,b){J(this.getName(),["apiName:!string","mock:!PixieMap"],arguments);};var eh={};var fh=function(a){var b=new Xa;if(a instanceof Va)for(var c=a.Mb(),d=0;d16384)throw Error("EVENT_TOO_LARGE");};
var hg=function(a,b){for(var c=0;cd.length||!g&&d.length!==e.length?0:g?Eb(d,k)&&(d===k||d.charAt(k.length)==="."):d===k)return!0}return!1},gg=/^[a-z$_][\w$]*$/i,fg=/^(?:[a-z_$][a-z_$0-9]*\.)*[a-z_$][a-z_$0-9]*(?:\.\*)?$/i;
var ig=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"];function jg(a,b){var c=String(a),d=String(b),e=c.length-d.length;return e>=0&&c.indexOf(d,e)===e}var kg=new sb;function lg(a,b,c){var d=c?"i":void 0;try{var e=String(b)+String(d),f=kg.get(e);f||(f=new RegExp(b,d),kg.set(e,f));return f.test(a)}catch(g){return!1}}function mg(a,b){return String(a).indexOf(String(b))>=0}function ng(a,b){return String(a)===String(b)}
function og(a,b){return Number(a)>=Number(b)}function pg(a,b){return Number(a)<=Number(b)}function qg(a,b){return Number(a)>Number(b)}function rg(a,b){return Number(a)0;case 3:return!d(c[0]);
case 4:return lg(d(c[0]),d(c[1]),!1);case 5:return ng(d(c[0]),d(c[1]));case 6:return sg(d(c[0]),d(c[1]));case 7:return jg(d(c[0]),d(c[1]));case 8:return mg(d(c[0]),d(c[1]));case 9:return rg(d(c[0]),d(c[1]));case 10:return pg(d(c[0]),d(c[1]));case 11:return qg(d(c[0]),d(c[1]));case 12:return og(d(c[0]),d(c[1]));default:throw Error('Invalid boolean expression format. Expected "type" property tobe a positive integer which is less than 13.');}};function Sg(a){J(this.getName(),["message:?string"],arguments);};function Tg(a,b){J(this.getName(),["min:!number","max:!number"],arguments);return qb(a,b)};function Ug(){return(new Date).getTime()};function Vg(a){if(a===null)return"null";if(a instanceof Va)return"array";if(a instanceof Vc)return"function";if(a instanceof $c){var b;a=(b=a)==null?void 0:b.getValue();var c;if(((c=a)==null?void 0:c.constructor)===void 0||a.constructor.name===void 0){var d=String(a);return d.substring(8,d.length-1)}return String(a.constructor.name)}return typeof a};function Wg(a){function b(c){return function(d){try{return c(d)}catch(e){(Sf||Tf.bk)&&a.call(this,e.message)}}}return{parse:b(function(c){return cd(JSON.parse(c))}),stringify:b(function(c){return JSON.stringify(G(c))})}};function Xg(a){return ub(G(a,this.D))};function Yg(a){return Number(G(a,this.D))};function Zg(a){return a===null?"null":a===void 0?"undefined":a.toString()};function $g(a,b,c){var d=null,e=!1;return e?d:null};var Jg="floor ceil round max min abs pow sqrt".split(" ");function ah(){var a={};return{Dl:function(b){return a.hasOwnProperty(b)?a[b]:void 0},Xj:function(b,c){a[b]=c},reset:function(){a={}}}}function bh(a,b){return function(){var c=Array.prototype.slice.call(ya.apply(0,arguments),0);c.unshift(b);return Vc.prototype.invoke.apply(a,c)}}
function ch(a,b){J(this.getName(),["apiName:!string","mock:?*"],arguments);}
function dh(a,b){J(this.getName(),["apiName:!string","mock:!PixieMap"],arguments);};var eh={};var fh=function(a){var b=new Xa;if(a instanceof Va)for(var c=a.Mb(),d=0;d0){g=[];for(var t=0;t0){g=[];for(var t=0;t0&&n.update===void 0),t={region:q,declare_region:n.declare_region,implicit:n.implicit,default:c!==void 0?c:n.default,declare:n.declare,update:n.update,quiet:r};if(e!==""||n.default!==!1)m[b]=t;r&&z.setTimeout(function(){m[b]===t&&t.quiet&&(fb("TAGGING",2),a.waitPeriodTimedOut=!0,a.clearTimeout(b,void 0,k),
a.notifyListeners())},g)}};aa=ok.prototype;aa.clearTimeout=function(a,b,c){var d=[a],e=c.delegatedConsentTypes,f;for(f in e)e.hasOwnProperty(f)&&e[f]===a&&d.push(f);var g=this.entries[a]||{},k=this.getConsentState(a,c);if(g.quiet){g.quiet=!1;for(var m=ka(d),n=m.next();!n.done;n=m.next())qk(this,n.value)}else if(b!==void 0&&k!==b)for(var p=ka(d),q=p.next();!q.done;q=p.next())qk(this,q.value)};
aa.update=function(a,b,c){this.usedDefault||this.usedDeclare||this.usedUpdate||!this.accessedAny||(this.wasSetLate=!0);this.usedUpdate=this.active=!0;if(b!=null){var d=this.getConsentState(a,c),e=this.entries;(e[a]=e[a]||{}).update=b==="granted";this.clearTimeout(a,d,c)}};
aa.declare=function(a,b,c,d,e){this.usedDeclare=this.active=!0;var f=this.entries,g=f[a]||{},k=g.declare_region,m=c&&h(c)?c.toUpperCase():void 0;d=d.toUpperCase();e=e.toUpperCase();if(d===""||m===e||(m===d?k!==e:!m&&!k)){var n={region:g.region,declare_region:m,declare:b==="granted",implicit:g.implicit,default:g.default,update:g.update,quiet:g.quiet};if(d!==""||g.declare!==!1)f[a]=n}};
aa.implicit=function(a,b){this.usedImplicit=!0;var c=this.entries,d=c[a]=c[a]||{};d.implicit!==!1&&(d.implicit=b==="granted")};
aa.getConsentState=function(a,b){var c=this.entries,d=c[a]||{},e=d.update;if(e!==void 0)return e?1:2;if(kb(8)&&b.usedContainerScopedDefaults){var f=b.containerScopedDefaults[a];if(f===3)return 1;if(f===2)return 2}else if(e=d.default,e!==void 0)return e?1:2;if(b==null?0:b.delegatedConsentTypes.hasOwnProperty(a)){var g=b.delegatedConsentTypes[a],k=c[g]||{};e=k.update;if(e!==void 0)return e?1:2;if(kb(8)&&b.usedContainerScopedDefaults){var m=b.containerScopedDefaults[g];if(m===3)return 1;if(m===2)return 2}else if(e=
k.default,e!==void 0)return e?1:2}e=d.declare;if(e!==void 0)return e?1:2;e=d.implicit;return e!==void 0?e?3:4:0};aa.addListener=function(a,b){this.j.push({consentTypes:a,yl:b})};var qk=function(a,b){for(var c=0;c=e.length?m(n):z.setTimeout(function(){m(c())},500)}}))};var Ek=["ad_storage","analytics_storage","ad_user_data","ad_personalization"],Fk=!1,Gk=!1;function Hk(){P(50)&&!Gk&&Fk&&(Ek.some(function(a){return uk.containerScopedDefaults[a]!==1})||Ik("mbc"));Gk=!0}function Ik(a){qj&&(ek(a,"1"),ik())}function Jk(a){fb("HEALTH",a)};var Kk;try{Kk=JSON.parse(db("eyIwIjoiRVMiLCIxIjoiIiwiMiI6ZmFsc2UsIjMiOiJnb29nbGUuZXMiLCI0IjoicmVnaW9uMSIsIjUiOmZhbHNlLCI2Ijp0cnVlLCI3IjoiYWRfc3RvcmFnZXxhbmFseXRpY3Nfc3RvcmFnZXxhZF91c2VyX2RhdGF8YWRfcGVyc29uYWxpemF0aW9uIn0"))}catch(a){M(123),Jk(2),Kk={}}function Lk(){return Kk["0"]||""}function Mk(){return Kk["1"]||""}function Nk(){var a=!1;a=!!Kk["2"];return a}function Ok(){return Kk["6"]!==!1}function Pk(){var a="";a=Kk["4"]||"";return a}
function Qk(){var a=!1;a=!!Kk["5"];return a}function Rk(){var a="";a=Kk["3"]||"";return a}var Sk=[Q.g.O,Q.g.T,Q.g.N,Q.g.sa],Tk,Uk;function Vk(a){for(var b=a[Q.g.Bb],c=Array.isArray(b)?b:[b],d={Ge:0};d.Ge0&&ik(!0)}var kk=qb();function lk(){kk=qb()}function mk(){ek("v","3");ek("t","t");ek("pid",function(){return String(kk)});Bc(z,"pagehide",jk);z.setInterval(lk,864E5)}function nk(){var a=rc("google_tag_data",{});return a.ics=a.ics||new ok}var ok=function(){this.entries={};this.waitPeriodTimedOut=this.wasSetLate=this.accessedAny=this.accessedDefault=this.usedImplicit=this.usedUpdate=this.usedDefault=this.usedDeclare=this.active=!1;this.j=[]};
ok.prototype.default=function(a,b,c,d,e,f,g){this.usedDefault||this.usedDeclare||!this.accessedDefault&&!this.accessedAny||(this.wasSetLate=!0);this.usedDefault=this.active=!0;fb("TAGGING",19);b==null?fb("TAGGING",18):pk(this,a,b==="granted",c,d,e,f,g)};ok.prototype.waitForUpdate=function(a,b,c){for(var d=0;d0&&n.update===void 0),t={region:q,declare_region:n.declare_region,implicit:n.implicit,default:c!==void 0?c:n.default,declare:n.declare,update:n.update,quiet:r};if(e!==""||n.default!==!1)m[b]=t;r&&z.setTimeout(function(){m[b]===t&&t.quiet&&(fb("TAGGING",2),a.waitPeriodTimedOut=!0,a.clearTimeout(b,void 0,k),
a.notifyListeners())},g)}};aa=ok.prototype;aa.clearTimeout=function(a,b,c){var d=[a],e=c.delegatedConsentTypes,f;for(f in e)e.hasOwnProperty(f)&&e[f]===a&&d.push(f);var g=this.entries[a]||{},k=this.getConsentState(a,c);if(g.quiet){g.quiet=!1;for(var m=ka(d),n=m.next();!n.done;n=m.next())qk(this,n.value)}else if(b!==void 0&&k!==b)for(var p=ka(d),q=p.next();!q.done;q=p.next())qk(this,q.value)};
aa.update=function(a,b,c){this.usedDefault||this.usedDeclare||this.usedUpdate||!this.accessedAny||(this.wasSetLate=!0);this.usedUpdate=this.active=!0;if(b!=null){var d=this.getConsentState(a,c),e=this.entries;(e[a]=e[a]||{}).update=b==="granted";this.clearTimeout(a,d,c)}};
aa.declare=function(a,b,c,d,e){this.usedDeclare=this.active=!0;var f=this.entries,g=f[a]||{},k=g.declare_region,m=c&&h(c)?c.toUpperCase():void 0;d=d.toUpperCase();e=e.toUpperCase();if(d===""||m===e||(m===d?k!==e:!m&&!k)){var n={region:g.region,declare_region:m,declare:b==="granted",implicit:g.implicit,default:g.default,update:g.update,quiet:g.quiet};if(d!==""||g.declare!==!1)f[a]=n}};
aa.implicit=function(a,b){this.usedImplicit=!0;var c=this.entries,d=c[a]=c[a]||{};d.implicit!==!1&&(d.implicit=b==="granted")};
aa.getConsentState=function(a,b){var c=this.entries,d=c[a]||{},e=d.update;if(e!==void 0)return e?1:2;if(kb(8)&&b.usedContainerScopedDefaults){var f=b.containerScopedDefaults[a];if(f===3)return 1;if(f===2)return 2}else if(e=d.default,e!==void 0)return e?1:2;if(b==null?0:b.delegatedConsentTypes.hasOwnProperty(a)){var g=b.delegatedConsentTypes[a],k=c[g]||{};e=k.update;if(e!==void 0)return e?1:2;if(kb(8)&&b.usedContainerScopedDefaults){var m=b.containerScopedDefaults[g];if(m===3)return 1;if(m===2)return 2}else if(e=
k.default,e!==void 0)return e?1:2}e=d.declare;if(e!==void 0)return e?1:2;e=d.implicit;return e!==void 0?e?3:4:0};aa.addListener=function(a,b){this.j.push({consentTypes:a,yl:b})};var qk=function(a,b){for(var c=0;c=e.length?m(n):z.setTimeout(function(){m(c())},500)}}))};var Ek=["ad_storage","analytics_storage","ad_user_data","ad_personalization"],Fk=!1,Gk=!1;function Hk(){P(50)&&!Gk&&Fk&&(Ek.some(function(a){return uk.containerScopedDefaults[a]!==1})||Ik("mbc"));Gk=!0}function Ik(a){qj&&(ek(a,"1"),ik())}function Jk(a){fb("HEALTH",a)};var Kk;try{Kk=JSON.parse(db("eyIwIjoiRVMiLCIxIjoiIiwiMiI6ZmFsc2UsIjMiOiJnb29nbGUuZXMiLCI0IjoicmVnaW9uMSIsIjUiOmZhbHNlLCI2Ijp0cnVlLCI3IjoiYWRfc3RvcmFnZXxhbmFseXRpY3Nfc3RvcmFnZXxhZF91c2VyX2RhdGF8YWRfcGVyc29uYWxpemF0aW9uIn0"))}catch(a){M(123),Jk(2),Kk={}}function Lk(){return Kk["0"]||""}function Mk(){return Kk["1"]||""}function Nk(){var a=!1;a=!!Kk["2"];return a}function Ok(){return Kk["6"]!==!1}function Pk(){var a="";a=Kk["4"]||"";return a}
function Qk(){var a=!1;a=!!Kk["5"];return a}function Rk(){var a="";a=Kk["3"]||"";return a}var Sk=[Q.g.O,Q.g.T,Q.g.N,Q.g.sa],Tk,Uk;function Vk(a){for(var b=a[Q.g.Bb],c=Array.isArray(b)?b:[b],d={Ge:0};d.Ge=0||D.location.search.indexOf(">m_diagnostics=")>=0,ul=void 0;
function vl(a,b){if(b.length&&qj){var c;(c=ol)[a]!=null||(c[a]=[]);pl[a]!=null||(pl[a]=[]);var d=b.filter(function(e){return!pl[a].includes(e)});ol[a].push.apply(ol[a],oa(d));pl[a].push.apply(pl[a],oa(d));!ul&&d.length>0&&(fk("tdc",!0),ul=z.setTimeout(function(){ik();ol={};ul=void 0},nl))}}
function wl(a,b,c){if(qj&&a==="config"){var d,e=(d=il(b))==null?void 0:d.ids;if(!(e&&e.length>1)){var f,g=rc("google_tag_data",{});g.td||(g.td={});f=g.td;var k=Ra(c.K);Ra(c.j,k);var m=[],n;for(n in f)if(f.hasOwnProperty(n)){var p=xl(f[n],k);p.length&&(tl&&console.log(p),m.push(n))}m.length&&(vl(b,m),fb("TAGGING",ql[D.readyState]||14));f[b]=k}}}function yl(a,b){var c={},d;for(d in b)b.hasOwnProperty(d)&&(c[d]=!0);for(var e in a)a.hasOwnProperty(e)&&(c[e]=!0);return c}
function xl(a,b,c,d){c=c===void 0?{}:c;d=d===void 0?"":d;if(a===b)return[];var e=function(r,t){var u;Na(t)==="object"?u=t[r]:Na(t)==="array"&&(u=t[r]);return u===void 0?sl[r]:u},f=yl(a,b),g;for(g in f)if(f.hasOwnProperty(g)){var k=(d?d+".":"")+g,m=e(g,a),n=e(g,b),p=Na(m)==="object"||Na(m)==="array",q=Na(n)==="object"||Na(n)==="array";if(p&&q)xl(m,n,c,k);else if(p||q||m!==n)c[k]=!0}return Object.keys(c)}
function zl(){ek("tdc",function(){ul&&(z.clearTimeout(ul),ul=void 0);var a=[],b;for(b in ol)ol.hasOwnProperty(b)&&a.push(b+"*"+ol[b].join("."));return a.length?a.join("!"):void 0},!1)};var Al=function(a,b,c,d,e,f,g,k,m,n,p){this.eventId=a;this.priorityId=b;this.j=c;this.P=d;this.F=e;this.K=f;this.C=g;this.eventMetadata=k;this.onSuccess=m;this.onFailure=n;this.isGtmEvent=p},Bl=function(a,b){var c=[];switch(b){case 3:c.push(a.j);c.push(a.P);c.push(a.F);c.push(a.K);c.push(a.C);break;case 2:c.push(a.j);break;case 1:c.push(a.P);c.push(a.F);c.push(a.K);c.push(a.C);break;case 4:c.push(a.j),c.push(a.P),c.push(a.F),c.push(a.K)}return c},T=function(a,b,c,d){for(var e=ka(Bl(a,d===void 0?3:
d)),f=e.next();!f.done;f=e.next()){var g=f.value;if(g[b]!==void 0)return g[b]}return c},Cl=function(a){for(var b={},c=Bl(a,4),d=ka(c),e=d.next();!e.done;e=d.next())for(var f=Object.keys(e.value),g=ka(f),k=g.next();!k.done;k=g.next())b[k.value]=1;return Object.keys(b)},Dl=function(a,b,c){function d(n){Qa(n)&&l(n,function(p,q){f=!0;e[p]=q})}var e={},f=!1,g=Bl(a,c===void 0?3:c);g.reverse();for(var k=ka(g),m=k.next();!m.done;m=k.next())d(m.value[b]);return f?e:void 0},El=function(a){for(var b=[Q.g.Pc,
Q.g.Lc,Q.g.Mc,Q.g.Nc,Q.g.Oc,Q.g.Qc,Q.g.Rc],c=Bl(a,3),d=ka(c),e=d.next();!e.done;e=d.next()){for(var f=e.value,g={},k=!1,m=ka(b),n=m.next();!n.done;n=m.next()){var p=n.value;f[p]!==void 0&&(g[p]=f[p],k=!0)}var q=k?g:void 0;if(q)return q}return{}},Fl=function(a,b){this.eventId=a;this.priorityId=b;this.C={};this.P={};this.j={};this.F={};this.X={};this.K={};this.eventMetadata={};this.isGtmEvent=!1;this.onSuccess=function(){};this.onFailure=function(){}},Gl=function(a,b){a.C=b;return a},Hl=function(a,
b){a.P=b;return a},Il=function(a,b){a.j=b;return a},Jl=function(a,b){a.F=b;return a},Kl=function(a,b){a.X=b;return a},Ll=function(a,b){a.K=b;return a},Ml=function(a,b){a.eventMetadata=b||{};return a},Nl=function(a,b){a.onSuccess=b;return a},Ol=function(a,b){a.onFailure=b;return a},Pl=function(a,b){a.isGtmEvent=b;return a},Ql=function(a){return new Al(a.eventId,a.priorityId,a.C,a.P,a.j,a.F,a.K,a.eventMetadata,a.onSuccess,a.onFailure,a.isGtmEvent)};var Rl={gk:Number("5"),Jn:Number("")},Sl=[];function Tl(a){Sl.push(a)}var Ul="?id="+Nf.ctid,Vl=void 0,Wl={},Xl=void 0,Yl=new function(){var a=5;Rl.gk>0&&(a=Rl.gk);this.C=a;this.j=0;this.F=[]},Zl=1E3;
function $l(a,b){var c=Vl;if(c===void 0)if(b)c=yi();else return"";for(var d=[ij("https://www.googletagmanager.com"),"/a",Ul],e=ka(Sl),f=e.next();!f.done;f=e.next())for(var g=f.value,k=g({eventId:c,fc:!!a}),m=ka(k),n=m.next();!n.done;n=m.next()){var p=ka(n.value),q=p.next().value,r=p.next().value;d.push("&"+q+"="+r)}d.push("&z=0");return d.join("")}
function am(){Xl&&(z.clearTimeout(Xl),Xl=void 0);if(Vl!==void 0&&bm){var a;(a=Wl[Vl])||(a=Yl.j=2022&&am())}var dm=qb();function em(){dm=qb()}function fm(){return[["v","3"],["t","t"],["pid",String(dm)]]}var gm={};function hm(a,b,c){pj&&a!==void 0&&(gm[a]=gm[a]||[],gm[a].push(c+b),cm(a))}function im(a){var b=a.eventId,c=a.fc,d=[],e=gm[b]||[];e.length&&d.push(["epr",e.join(".")]);c&&delete gm[b];return d};function jm(a,b){var c=il(Gj(a),!0);c&&km.register(c,b)}function lm(a,b,c,d){var e=il(c,d.isGtmEvent);e&&(P(48)&&P(48)&&mi&&!zj&&(d.deferrable=!0),km.push("event",[b,a],e,d))}function mm(a,b,c,d){var e=il(c,d.isGtmEvent);e&&km.push("get",[a,b],e,d)}function nm(a){var b=il(Gj(a),!0),c;b?c=om(km,b).j:c={};return c}function pm(a,b){var c=il(Gj(a),!0);if(c){var d=km,e=Ra(b,null);Ra(om(d,c).j,e);om(d,c).j=e}}
var qm=function(){this.P={};this.j={};this.C={};this.X=null;this.K={};this.F=!1;this.status=1},rm=function(a,b,c,d){this.C=zb();this.j=b;this.args=c;this.messageContext=d;this.type=a},sm=function(){this.destinations={};this.j={};this.commands=[]},om=function(a,b){var c=b.destinationId;return a.destinations[c]=a.destinations[c]||new qm},tm=function(a,b,c,d){if(d.j){var e=om(a,d.j),f=e.X;if(f){var g=Ra(c,null),k=Ra(e.P[d.j.id],null),m=Ra(e.K,null),n=Ra(e.j,null),p=Ra(a.j,null),q={};if(pj)try{q=Ra(Fi)}catch(v){M(72)}var r=
d.j.prefix,t=function(v){hm(d.messageContext.eventId,r,v)},u=Ql(Pl(Ol(Nl(Ml(Kl(Jl(Ll(Il(Hl(Gl(new Fl(d.messageContext.eventId,d.messageContext.priorityId),g),k),m),n),p),q),d.messageContext.eventMetadata),function(){if(t){var v=t;t=void 0;v("2");if(d.messageContext.onSuccess)d.messageContext.onSuccess()}}),function(){if(t){var v=t;t=void 0;v("3");if(d.messageContext.onFailure)d.messageContext.onFailure()}}),!!d.messageContext.isGtmEvent));try{hm(d.messageContext.eventId,r,"1"),wl(d.type,d.j.id,u),
f(d.j.id,b,d.C,u)}catch(v){hm(d.messageContext.eventId,r,"4")}}}};sm.prototype.register=function(a,b,c){var d=om(this,a);d.status!==3&&(d.X=b,d.status=3,c&&(Ra(d.j,c),d.j=c),this.flush())};sm.prototype.push=function(a,b,c,d){c!==void 0&&(om(this,c).status===1&&(om(this,c).status=2,this.push("require",[{}],c,{})),om(this,c).F&&(d.deferrable=!1));this.commands.push(new rm(a,c,b,d));d.deferrable||this.flush()};
sm.prototype.flush=function(a){for(var b=this,c=[],d=!1,e={};this.commands.length;e={Bc:void 0,gh:void 0}){var f=this.commands[0],g=f.j;if(f.messageContext.deferrable)!g||om(this,g).F?(f.messageContext.deferrable=!1,this.commands.push(f)):c.push(f),this.commands.shift();else{switch(f.type){case "require":if(om(this,g).status!==3&&!a){this.commands.push.apply(this.commands,c);return}break;case "set":l(f.args[0],function(r,t){Ra(Hb(r,t),b.j)});break;case "config":var k=om(this,g);e.Bc={};l(f.args[0],
function(r){return function(t,u){Ra(Hb(t,u),r.Bc)}}(e));var m=!!e.Bc[Q.g.Xb];delete e.Bc[Q.g.Xb];var n=g.destinationId===ge!==0)un(a),dl([Q.g.O,Q.g.sa,Q.g.N]),nk().active=!0;else if(a.gdprApplies=c.gdprApplies,a.cmpId=c.cmpId,a.enableAdvertiserConsentMode=c.enableAdvertiserConsentMode,tn()&&(a.active=!0),!vn(c)||sn()||tn()){a.tcfPolicyVersion=c.tcfPolicyVersion;var d;if(c.gdprApplies===
!1){var e={},f;for(f in on)on.hasOwnProperty(f)&&(e[f]=!0);d=e;b.removeEventListener(c)}else if(vn(c)){var g={},k;for(k in on)if(on.hasOwnProperty(k))if(k==="1"){var m,n=c,p={Cl:!0};p=p===void 0?{}:p;m=nn(n)?n.gdprApplies===!1?!0:n.tcString==="tcunavailable"?!p.Hj:(p.Hj||n.gdprApplies!==void 0||p.Cl)&&(p.Hj||typeof n.tcString==="string"&&n.tcString.length)?ln(n,"1",0):!0:!1;g["1"]=m}else g[k]=ln(c,k,on[k]);d=g}if(d){a.tcString=c.tcString||"tcempty";a.bc=d;var q={},r=(q[Q.g.O]=a.bc["1"]?"granted":
"denied",q);a.gdprApplies!==!0?(dl([Q.g.O,Q.g.sa,Q.g.N]),nk().active=!0):(r[Q.g.sa]=a.bc["3"]&&a.bc["4"]?"granted":"denied",typeof a.tcfPolicyVersion==="number"&&a.tcfPolicyVersion>=4?r[Q.g.N]=a.bc["1"]&&a.bc["7"]?"granted":"denied":dl([Q.g.N]),Yk(r,{eventId:0},{gdprApplies:a?a.gdprApplies:void 0,tcString:wn()||""}))}}else dl([Q.g.O,Q.g.sa,Q.g.N])})}catch(c){un(a),dl([Q.g.O,Q.g.sa,Q.g.N]),nk().active=!0}}}function un(a){a.type="e";a.tcString="tcunavailable"}
function vn(a){return a.eventStatus==="tcloaded"||a.eventStatus==="useractioncomplete"||a.eventStatus==="cmpuishown"}function sn(){return z.gtag_enable_tcf_support===!0}function tn(){return pn().enableAdvertiserConsentMode===!0}function wn(){var a=pn();if(a.active)return a.tcString}function xn(){var a=pn();if(a.active&&a.gdprApplies!==void 0)return a.gdprApplies?"1":"0"}function yn(a){if(!on.hasOwnProperty(String(a)))return!0;var b=pn();return b.active&&b.bc?!!b.bc[String(a)]:!0}var zn=[Q.g.O,Q.g.T,Q.g.N,Q.g.sa],An={},Bn=(An[Q.g.O]=1,An[Q.g.T]=2,An);function Cn(a){if(a===void 0)return 0;switch(T(a,Q.g.ja)){case void 0:return 1;case !1:return 3;default:return 2}}function Dn(a){if(Mk()==="US-CO"&&nc.globalPrivacyControl===!0)return!1;var b=Cn(a);if(b===3)return!1;switch(wk(Q.g.sa)){case 1:case 3:return!0;case 2:return!1;case 4:return b===2;case 0:return!0;default:return!1}}function En(){return zk()||!vk(Q.g.O)||!vk(Q.g.T)}
function Fn(){var a={},b;for(b in Bn)Bn.hasOwnProperty(b)&&(a[Bn[b]]=wk(b));return"G1"+Ee(a[1]||0)+Ee(a[2]||0)}var Gn={},Hn=(Gn[Q.g.O]=0,Gn[Q.g.T]=1,Gn[Q.g.N]=2,Gn[Q.g.sa]=3,Gn);function In(a){switch(a){case void 0:return 1;case !0:return 3;case !1:return 2;default:return 0}}
function Jn(a){for(var b="1",c=0;c=0&&c<=4095&&(a="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"[c>>6&63],b="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"[c&63]);var e="0",f;var g=pn();f=g.active?g.tcfPolicyVersion:void 0;typeof f==="number"&&f>=0&&f<=63&&(e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"[f]);var k=0;Ok()&&(k|=1);xn()==="1"&&(k|=2);sn()&&(k|=4);var m;var n=pn();m=n.enableAdvertiserConsentMode!==
void 0?n.enableAdvertiserConsentMode?"1":"0":void 0;m==="1"&&(k|=8);nk().waitPeriodTimedOut&&(k|=16);return"1"+a+b+e+"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"[k]}function Un(){return Mk()==="US-CO"};function Vn(){var a=!1;return a};var Wn={UA:1,AW:2,DC:3,G:4,GF:5,GT:12,GTM:14,HA:6,MC:7};
function Xn(a){a=a===void 0?{}:a;var b=Nf.ctid.split("-")[0].toUpperCase(),c={};c.ctid=Nf.ctid;c.Dm=gi.ne;c.Hm=gi.Og;c.dm=yj.je?2:1;c.Nm=a.Wj;c.ve=Nf.canonicalContainerId;c.ve!==a.ra&&(c.ra=a.ra);var d=Ij();c.sm=d?d.canonicalContainerId:void 0;ni?(c.Of=Wn[b],c.Of||(c.Of=0)):c.Of=ri?13:10;Ai.F?(c.Mf=0,c.al=2):pi?c.Mf=1:Vn()?c.Mf=2:c.Mf=3;var e={};e[6]=zj;Ai.C===2?e[7]=!0:Ai.C===1&&(e[2]=!0);c.il=e;var f=a.Ff,g;var k=c.Of,m=c.Mf;k===void 0?g="":(m||(m=0),g=""+Ge(1,1)+De(k<<2|m));var n=c.al,p="4"+g+
(n?""+Ge(2,1)+De(n):""),q,r=c.Hm;q=r&&Fe.test(r)?""+Ge(3,2)+r:"";var t,u=c.Dm;t=u?""+Ge(4,1)+De(u):"";var v;var w=c.ctid;if(w&&f){var x=w.split("-"),y=x[0].toUpperCase();if(y!=="GTM"&&y!=="OPT")v="";else{var A=x[1];v=""+Ge(5,3)+De(1+A.length)+(c.dm||0)+A}}else v="";var B=c.Nm,C=c.ve,H=c.ra,I=c.Hn,F=p+q+t+v+(B?""+Ge(6,1)+De(B):"")+(C?""+Ge(7,3)+De(C.length)+C:"")+(H?""+Ge(8,3)+De(H.length)+H:"")+(I?""+Ge(9,3)+De(I.length)+I:""),L;var N=c.il;N=N===void 0?{}:N;for(var S=[],V=ka(Object.keys(N)),Z=V.next();!Z.done;Z=
V.next()){var W=Z.value;S[Number(W)]=N[W]}if(S.length){var R=Ge(10,3),la;if(S.length===0)la=De(0);else{for(var na=[],ia=0,xa=!1,Oa=0;Oa=0;d--)e=a.charCodeAt(d),b=(b<<6&268435455)+e+(e<<14),c=b&266338304,b=c!==0?b^c>>21:b;return b};function ho(a){return a.origin!=="null"};function io(a,b,c,d){var e;if(jo(d)){for(var f=[],g=String(b||ko()).split(";"),k=0;k=0}
function po(a,b,c,d){function e(w,x,y){if(y==null)return delete k[x],w;k[x]=y;return w+"; "+x+"="+y}function f(w,x){if(x==null)return w;k[x]=!0;return w+"; "+x}if(!jo(c.zb))return 2;var g;b==null?g=a+"=deleted; expires="+(new Date(0)).toUTCString():(c.encode&&(b=encodeURIComponent(b)),b=qo(b),g=a+"="+b);var k={};g=e(g,"path",c.path);var m;c.expires instanceof Date?m=c.expires.toUTCString():c.expires!=null&&(m=""+c.expires);g=e(g,"expires",m);g=e(g,"max-age",c.im);g=e(g,"samesite",c.Im);c.secure&&
(g=f(g,"secure"));var n=c.domain;if(n&&n.toLowerCase()==="auto"){for(var p=ro(),q=void 0,r=!1,t=0;t0?d:e}function mo(a,b,c){for(var d=[],e=io(a,void 0,void 0,c),f=0;f1200&&(a=a.substring(0,1200));return a}
var uo=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,vo=/(^|\.)doubleclick\.net$/i;function so(a,b){return a!==void 0&&(vo.test(window.document.location.hostname)||b==="/"&&uo.test(a))}function wo(a){if(!a)return 1;var b=a;kb(11)&&a==="none"&&(b=window.document.location.hostname);b=b.indexOf(".")===0?b.substring(1):b;return b.split(".").length}function xo(a){if(!a||a==="/")return 1;a[0]!=="/"&&(a="/"+a);a[a.length-1]!=="/"&&(a+="/");return a.split("/").length-1}
function yo(a,b){var c=""+wo(a),d=xo(b);d>1&&(c+="-"+d);return c}
var ko=function(){return ho(window)?window.document.cookie:""},jo=function(a){return a&&kb(12)?(Array.isArray(a)?a:[a]).every(function(b){return yk(b)&&vk(b)}):!0},ro=function(){var a=[],b=window.document.location.hostname.split(".");if(b.length===4){var c=b[b.length-1];if(Number(c).toString()===c)return["none"]}for(var d=b.length-2;d>=0;d--)a.push(b.slice(d).join("."));var e=window.document.location.hostname;vo.test(e)||uo.test(e)||a.push("none");return a};function zo(a){var b=Math.round(Math.random()*2147483647);return a?String(b^go(a)&2147483647):String(b)}function Ao(a){return[zo(a),Math.round(zb()/1E3)].join(".")}function Bo(a,b,c,d,e){var f=wo(b);return lo(a,f,xo(c),d,e)}function Co(a,b,c,d){return[b,yo(c,d),a].join(".")};function Do(a,b,c,d){var e,f=Number(a.yb!=null?a.yb:void 0);f!==0&&(e=new Date((b||zb())+1E3*(f||7776E3)));return{path:a.path,domain:a.domain,flags:a.flags,encode:!!c,expires:e,zb:d}};var Eo;function Fo(){function a(g){c(g.target||g.srcElement||{})}function b(g){d(g.target||g.srcElement||{})}var c=Go,d=Ho,e=Io();if(!e.init){Bc(D,"mousedown",a);Bc(D,"keyup",a);Bc(D,"submit",b);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){d(this);f.call(this)};e.init=!0}}function Jo(a,b,c,d,e){var f={callback:a,domains:b,fragment:c===2,placement:c,forms:d,sameHost:e};Io().decorators.push(f)}
function Ko(a,b,c){for(var d=Io().decorators,e={},f=0;f=0||p&&m[q].indexOf(n)>=0){k=!0;break a}k=!1}if(k){var r=g.placement;r===void 0&&(r=g.fragment?2:1);r===b&&Cb(e,g.callback())}}return e}
function Io(){var a=rc("google_tag_data",{}),b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var Lo=/(.*?)\*(.*?)\*(.*)/,Mo=/^https?:\/\/([^\/]*?)\.?cdn\.ampproject\.org\/?(.*)/,No=/^(?:www\.|m\.|amp\.)+/,Oo=/([^?#]+)(\?[^#]*)?(#.*)?/;function Po(a){var b=Oo.exec(a);if(b)return{yh:b[1],query:b[2],fragment:b[3]}}
function Qo(a,b){var c=[nc.userAgent,(new Date).getTimezoneOffset(),nc.userLanguage||nc.language,Math.floor(zb()/60/1E3)-(b===void 0?0:b),a].join("*"),d;if(!(d=Eo)){for(var e=Array(256),f=0;f<256;f++){for(var g=f,k=0;k<8;k++)g=g&1?g>>>1^3988292384:g>>>1;e[f]=g}d=e}Eo=d;for(var m=4294967295,n=0;n>>8^Eo[(m^c.charCodeAt(n))&255];return((m^-1)>>>0).toString(36)}
function Ro(){return function(a){var b=$i(z.location.href),c=b.search.replace("?",""),d=Ti(c,"_gl",!1,!0)||"";a.query=So(d)||{};var e=Ui(b,"fragment"),f;var g=-1;if(Eb(e,"_gl="))g=4;else{var k=e.indexOf("&_gl=");k>0&&(g=k+3+2)}if(g<0)f=void 0;else{var m=e.indexOf("&",g);f=m<0?e.substring(g):e.substring(g,m)}a.fragment=So(f||"")||{}}}function To(a){var b=Ro(),c=Io();c.data||(c.data={query:{},fragment:{}},b(c.data));var d={},e=c.data;e&&(Cb(d,e.query),a&&Cb(d,e.fragment));return d}
var So=function(a){try{var b=Uo(a,3);if(b!==void 0){for(var c={},d=b?b.split("*"):[],e=0;e+10;){if(c.href&&c.nodeName.match(/^a(?:rea)?$/i)){b=c;break a}c=c.parentNode;d--}b=null}var e=b;if(e){var f=e.protocol;f!=="http:"&&f!=="https:"||Wo(e,e.hostname)}}catch(g){}}function Ho(a){try{if(a.action){var b=Ui($i(a.action),"host");Wo(a,b)}}catch(c){}}function $o(a,b,c,d){Fo();var e=c==="fragment"?2:1;d=!!d;Jo(a,b,e,d,!1);e===2&&fb("TAGGING",23);d&&fb("TAGGING",24)}function ap(a,b){Fo();Jo(a,[Wi(z.location,"host",!0)],b,!0,!0)}
function bp(){var a=D.location.hostname,b=Mo.exec(D.referrer);if(!b)return!1;var c=b[2],d=b[1],e="";if(c){var f=c.split("/"),g=f[1];e=g==="s"?decodeURIComponent(f[2]):decodeURIComponent(g)}else if(d){if(d.indexOf("xn--")===0)return!1;e=d.replace(/-/g,".").replace(/\.\./g,"-")}var k=a.replace(No,""),m=e.replace(No,"");return k===m||Fb(k,"."+m)}function cp(a,b){return a===!1?!1:a||b||bp()};var dp=["1"],ep={},fp={};function gp(a,b){b=b===void 0?!0:b;var c=hp(a.prefix);if(!ep[c])if(ip(c,a.path,a.domain)){var d=fp[hp(a.prefix)];jp(a,d?d.id:void 0,d?d.th:void 0)}else{var e=bj("auiddc");if(e)fb("TAGGING",17),ep[c]=e;else if(b){var f=hp(a.prefix),g=Ao();kp(f,g,a);ip(c,a.path,a.domain)}}}function jp(a,b,c){var d=hp(a.prefix),e=ep[d];if(e){var f=e.split(".");if(f.length===2){var g=Number(f[1])||0;if(g){var k=e;b&&(k=e+"."+b+"."+(o();return e!==g||c!==void 0&&io(b,g,!1,d).indexOf(c)>=0}
function po(a,b,c,d){function e(w,x,y){if(y==null)return delete k[x],w;k[x]=y;return w+"; "+x+"="+y}function f(w,x){if(x==null)return w;k[x]=!0;return w+"; "+x}if(!jo(c.zb))return 2;var g;b==null?g=a+"=deleted; expires="+(new Date(0)).toUTCString():(c.encode&&(b=encodeURIComponent(b)),b=qo(b),g=a+"="+b);var k={};g=e(g,"path",c.path);var m;c.expires instanceof Date?m=c.expires.toUTCString():c.expires!=null&&(m=""+c.expires);g=e(g,"expires",m);g=e(g,"max-age",c.im);g=e(g,"samesite",c.Im);c.secure&&
(g=f(g,"secure"));var n=c.domain;if(n&&n.toLowerCase()==="auto"){for(var p=ro(),q=void 0,r=!1,t=0;t0?d:e}function mo(a,b,c){for(var d=[],e=io(a,void 0,void 0,c),f=0;f1200&&(a=a.substring(0,1200));return a}
var uo=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,vo=/(^|\.)doubleclick\.net$/i;function so(a,b){return a!==void 0&&(vo.test(window.document.location.hostname)||b==="/"&&uo.test(a))}function wo(a){if(!a)return 1;var b=a;kb(11)&&a==="none"&&(b=window.document.location.hostname);b=b.indexOf(".")===0?b.substring(1):b;return b.split(".").length}function xo(a){if(!a||a==="/")return 1;a[0]!=="/"&&(a="/"+a);a[a.length-1]!=="/"&&(a+="/");return a.split("/").length-1}
function yo(a,b){var c=""+wo(a),d=xo(b);d>1&&(c+="-"+d);return c}
var ko=function(){return ho(window)?window.document.cookie:""},jo=function(a){return a&&kb(12)?(Array.isArray(a)?a:[a]).every(function(b){return yk(b)&&vk(b)}):!0},ro=function(){var a=[],b=window.document.location.hostname.split(".");if(b.length===4){var c=b[b.length-1];if(Number(c).toString()===c)return["none"]}for(var d=b.length-2;d>=0;d--)a.push(b.slice(d).join("."));var e=window.document.location.hostname;vo.test(e)||uo.test(e)||a.push("none");return a};function zo(a){var b=Math.round(Math.random()*2147483647);return a?String(b^go(a)&2147483647):String(b)}function Ao(a){return[zo(a),Math.round(zb()/1E3)].join(".")}function Bo(a,b,c,d,e){var f=wo(b);return lo(a,f,xo(c),d,e)}function Co(a,b,c,d){return[b,yo(c,d),a].join(".")};function Do(a,b,c,d){var e,f=Number(a.yb!=null?a.yb:void 0);f!==0&&(e=new Date((b||zb())+1E3*(f||7776E3)));return{path:a.path,domain:a.domain,flags:a.flags,encode:!!c,expires:e,zb:d}};var Eo;function Fo(){function a(g){c(g.target||g.srcElement||{})}function b(g){d(g.target||g.srcElement||{})}var c=Go,d=Ho,e=Io();if(!e.init){Bc(D,"mousedown",a);Bc(D,"keyup",a);Bc(D,"submit",b);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){d(this);f.call(this)};e.init=!0}}function Jo(a,b,c,d,e){var f={callback:a,domains:b,fragment:c===2,placement:c,forms:d,sameHost:e};Io().decorators.push(f)}
function Ko(a,b,c){for(var d=Io().decorators,e={},f=0;f=0||p&&m[q].indexOf(n)>=0){k=!0;break a}k=!1}if(k){var r=g.placement;r===void 0&&(r=g.fragment?2:1);r===b&&Cb(e,g.callback())}}return e}
function Io(){var a=rc("google_tag_data",{}),b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var Lo=/(.*?)\*(.*?)\*(.*)/,Mo=/^https?:\/\/([^\/]*?)\.?cdn\.ampproject\.org\/?(.*)/,No=/^(?:www\.|m\.|amp\.)+/,Oo=/([^?#]+)(\?[^#]*)?(#.*)?/;function Po(a){var b=Oo.exec(a);if(b)return{yh:b[1],query:b[2],fragment:b[3]}}
function Qo(a,b){var c=[nc.userAgent,(new Date).getTimezoneOffset(),nc.userLanguage||nc.language,Math.floor(zb()/60/1E3)-(b===void 0?0:b),a].join("*"),d;if(!(d=Eo)){for(var e=Array(256),f=0;f<256;f++){for(var g=f,k=0;k<8;k++)g=g&1?g>>>1^3988292384:g>>>1;e[f]=g}d=e}Eo=d;for(var m=4294967295,n=0;n>>8^Eo[(m^c.charCodeAt(n))&255];return((m^-1)>>>0).toString(36)}
function Ro(){return function(a){var b=$i(z.location.href),c=b.search.replace("?",""),d=Ti(c,"_gl",!1,!0)||"";a.query=So(d)||{};var e=Ui(b,"fragment"),f;var g=-1;if(Eb(e,"_gl="))g=4;else{var k=e.indexOf("&_gl=");k>0&&(g=k+3+2)}if(g<0)f=void 0;else{var m=e.indexOf("&",g);f=m<0?e.substring(g):e.substring(g,m)}a.fragment=So(f||"")||{}}}function To(a){var b=Ro(),c=Io();c.data||(c.data={query:{},fragment:{}},b(c.data));var d={},e=c.data;e&&(Cb(d,e.query),a&&Cb(d,e.fragment));return d}
var So=function(a){try{var b=Uo(a,3);if(b!==void 0){for(var c={},d=b?b.split("*"):[],e=0;e+10;){if(c.href&&c.nodeName.match(/^a(?:rea)?$/i)){b=c;break a}c=c.parentNode;d--}b=null}var e=b;if(e){var f=e.protocol;f!=="http:"&&f!=="https:"||Wo(e,e.hostname)}}catch(g){}}function Ho(a){try{if(a.action){var b=Ui($i(a.action),"host");Wo(a,b)}}catch(c){}}function $o(a,b,c,d){Fo();var e=c==="fragment"?2:1;d=!!d;Jo(a,b,e,d,!1);e===2&&fb("TAGGING",23);d&&fb("TAGGING",24)}function ap(a,b){Fo();Jo(a,[Wi(z.location,"host",!0)],b,!0,!0)}
function bp(){var a=D.location.hostname,b=Mo.exec(D.referrer);if(!b)return!1;var c=b[2],d=b[1],e="";if(c){var f=c.split("/"),g=f[1];e=g==="s"?decodeURIComponent(f[2]):decodeURIComponent(g)}else if(d){if(d.indexOf("xn--")===0)return!1;e=d.replace(/-/g,".").replace(/\.\./g,"-")}var k=a.replace(No,""),m=e.replace(No,"");return k===m||Fb(k,"."+m)}function cp(a,b){return a===!1?!1:a||b||bp()};var dp=["1"],ep={},fp={};func Rp(a,b){var c=Ip[a];if(c!==void 0)return b+c}
function eq(a){return gq(a.split(".")).length!==0?(Number(a.split(".")[1])||0)*1E3:0}function Vp(a){return a?(Number(a.i)||0)*1E3:0}function Wp(a){var b=gq(a.split("."));return b.length===0?null:{version:b[0],Z:b[2],timestamp:(Number(b[1])||0)*1E3,labels:b.slice(3)}}function gq(a){return a.length<3||a[0]!=="GCL"&&a[0]!=="1"||!/^\d+$/.test(a[1])||!Gp.test(a[2])?[]:a}
function hq(a,b,c,d,e){if(Array.isArray(b)&&ho(z)){var f=Qp(e),g=function(){for(var k={},m=0;mc};
var vq=function(a,b){var c=hi.ads_pageview=hi.ads_pageview||{};if(c[a])return!1;(b===void 0?0:b)||(c[a]=!0);return!0},Fq=function(a,b,c,d,e){var f=Qp(a.prefix);if(!P(39)||vq(f,!0)){var g=$p(),k=[],m=g.gclid,n=g.dclid,p=g.gclsrc||"aw",q=wq(),r,t;if(P(69)){var u=xq();r=u.De;t=u.Bj}else r=yq();!m||p!=="aw.ds"&&p!=="aw"&&p!=="ds"&&p!=="3p.ds"||k.push({Z:m,Ee:p});n&&k.push({Z:n,Ee:"ds"});k.length===2&&M(147);k.length===0&&g.wbraid&&k.push({Z:g.wbraid,Ee:"gb"});k.length===0&&p==="aw.ds"&&k.push({Z:"",Ee:"aw.ds"});
zq(function(){var v=U(Aq());if(v){gp(a);var w=[],x=v?ep[hp(a.prefix)]:void 0;x&&w.push("auid="+x);if(U(Q.g.N)){e&&w.push("userId="+e);var y=co(Yn.Qg);if(y===void 0)bo(Yn.Rg,!0);else{var A=co(Yn.pe);w.push("ga_uid="+A+"."+y)}}var B=D.referrer?Ui($i(D.referrer),"host"):"",C=v||!d?k:[];C.length===0&&(Bq.test(B)||Cq.test(B))&&C.push({Z:"",Ee:""});if(C.length!==0||q||r!==void 0){B&&w.push("ref="+encodeURIComponent(B));var H=Dq();w.push("url="+encodeURIComponent(H));w.push("tft="+zb());var I=Nc();I!==void 0&&
w.push("tfd="+Math.round(I));var F=Zm(!0);w.push("frm="+F);q&&w.push("gad=1");r!==void 0&&w.push("gad_source="+encodeURIComponent(r));t!==void 0&&w.push("gad_source_src="+encodeURIComponent(t.toString()));if(!c){var L={};c=Ql(Gl(new Fl(0),(L[Q.g.ja]=km.j[Q.g.ja],L)))}w.push("gtm="+Xn({ra:b}));En()&&w.push("gcs="+Fn());w.push("gcd="+Jn(c));Mn()&&w.push("dma_cps="+Kn());w.push("dma="+Ln());Dn(c)?w.push("npa=0"):w.push("npa=1");Un()&&w.push("_ng=1");hn(qn())&&w.push("tcfd="+Tn());var N=xn();N&&w.push("gdpr="+
N);var S=wn();S&&w.push("gdpr_consent="+S);P(18)&&w.push("apve="+(P(19)?1:0));Ai.j&&w.push("tag_exp="+Ai.j);if(C.length>0)for(var V=0;V0)return f?["0"]:g}var k=Rp(a,e);return k?Mp(k):[]},zq=function(a){var b=Aq();bl(function(){a();U(b)||Dk(a,b)},b)},Aq=function(){return[Q.g.O,Q.g.N]},Bq=/^(www\.)?google(\.com?)?(\.[a-z]{2}t?)?$/,Cq=/^www.googleadservices.com$/,Hq=/^gad_source[_=](\d+)$/;function Mq(){hi.dedupe_gclid||(hi.dedupe_gclid=Ao());return hi.dedupe_gclid};var Nq=/^(www\.)?google(\.com?)?(\.[a-z]{2}t?)?$/,Oq=/^www.googleadservices.com$/;function Pq(a){a||(a=Qq());return a.Xm?!1:a.Nl||a.Ol||a.Rl||a.Pl||a.lh||a.De||a.Bl||a.Ql||a.Fl?!0:!1}
function Qq(){var a={},b=To(!0);a.Xm=!!b._up;var c=$p();a.Nl=c.aw!==void 0;a.Ol=c.dc!==void 0;a.Rl=c.wbraid!==void 0;a.Pl=c.gbraid!==void 0;a.Ql=c.gclsrc==="aw.ds";var d=$i(z.location.href),e=Ui(d,"query",!1,void 0,"gad");a.lh=e!==void 0;if(!a.lh){var f=d.hash.replace("#",""),g=Ti(f,"gad",!1);a.lh=g!==void 0}a.De=xq().De;var k=D.referrer?Ui($i(D.referrer),"host"):"";a.Fl=Nq.test(k);a.Bl=Oq.test(k);return a};var Rq=RegExp("^UA-\\d+-\\d+%3A[\\w-]+(?:%2C[\\w-]+)*(?:%3BUA-\\d+-\\d+%3A[\\w-]+(?:%2C[\\w-]+)*)*$"),Sq=/^~?[\w-]+(?:\.~?[\w-]+)*$/,Tq=/^\d+\.fls\.doubleclick\.net$/,Uq=/;gac=([^;?]+)/,Vq=/;gacgb=([^;?]+)/;
function Wq(a,b){if(Tq.test(D.location.host)){var c=D.location.href.match(b);return c&&c.length===2&&c[1].match(Rq)?decodeURIComponent(c[1]):""}for(var d=[],e=ka(Object.keys(a)),f=e.next();!f.done;f=e.next()){for(var g=f.value,k=[],m=a[g],n=0;n0?d.join(";"):""}
function Xq(a,b,c){for(var d=Kp(Jp())?Ep("_gac_gb",!0):{},e=[],f=!1,g=ka(Object.keys(d)),k=g.next();!k.done;k=g.next()){var m=k.value,n=qq("_gac_gb_"+m,a,b,c);f=f||n.length!==0&&n.some(function(p){return p===1});e.push(m+":"+n.join(","))}return{Al:f?e.join(";"):"",zl:Wq(d,Vq)}}function Yq(a){var b=D.location.href.match(new RegExp(";"+a+"=([^;?]+)"));return b&&b.length===2&&b[1].match(Sq)?b[1]:void 0}
function Zq(a){var b=kb(13),c={},d,e,f;Tq.test(D.location.host)&&(d=Yq("gclgs"),e=Yq("gclst"),b&&(f=Yq("gcllp")));if(d&&e&&(!b||f))c.Cj=d,c.Ej=e,c.Dj=f;else{var g=zb(),k=Sp((a||"_gcl")+"_gs"),m=k.map(function(q){return q.Z}),n=k.map(function(q){return g-q.timestamp}),p=[];b&&(p=k.map(function(q){return q.Jj}));m.length>0&&n.length>0&&(!b||p.length>0)&&(c.Cj=m.join("."),c.Ej=n.join("."),b&&p.length>0&&(c.Dj=p.join(".")))}return c}
function $q(a,b,c){if(Tq.test(D.location.host)){var d=Yq(c);if(d)return[{Z:d}]}else{if(b==="gclid")return Np((a||"_gcl")+"_aw");if(b==="wbraid")return Np((a||"_gcl")+"_gb");if(b==="braids")return Pp({prefix:a})}return[]}function ar(a){return $q(a,"gclid","gclaw").map(function(b){return b.Z}).join(".")}function br(a){return $q(a,"wbraid","gclgb").map(function(b){return b.Z}).join(".")}function cr(a){return $q(a,"braids","gclgb").map(function(b){return b.Z}).join(".")}
function dr(a,b){return Tq.test(D.location.host)?!(Yq("gclaw")||Yq("gac")):uq(a,b)}function er(a,b,c){var d;d=c?rq(a,b):qq((b&&b.prefix||"_gcl")+"_gb",a,b);return d.length===0||d.every(function(e){return e===0})?"":d.join(".")};function fr(){var a=z.__uspapi;if(mb(a)){var b="";try{a("getUSPData",1,function(c,d){if(d&&c){var e=c.uspString;e&&RegExp("^[\\da-zA-Z-]{1,20}$").test(e)&&(b=e)}})}catch(c){}return b}};
var jr=function(a){if(a.eventName===Q.g.aa&&a.metadata.hit_type==="page_view")if(P(19)){a.metadata.redact_click_ids=T(a.m,Q.g.da)!=null&&T(a.m,Q.g.da)!==!1&&!U([Q.g.O,Q.g.N]);var b=gr(a),c=T(a.m,Q.g.na)!==!1;c||(a.j[Q.g.wi]="1");var d=Qp(b.prefix),e=a.metadata.is_server_side_destination;if(!a.metadata.consent_updated&&!a.metadata.user_id_updated){var f=T(a.m,Q.g.Va),g=T(a.m,Q.g.oa)||{};hr({md:c,ud:g,yd:f,ac:b});if(!e&&!vq(d)){a.isAborted=!0;return}}if(e)a.isAborted=!0;else{a.j[Q.g.rc]=Q.g.Rb;if(a.metadata.consent_updated)a.j[Q.g.rc]=
Q.g.nk,a.j[Q.g.Pb]="1";else if(a.metadata.user_id_updated)a.j[Q.g.rc]=Q.g.tk;else{var k=$p();a.j[Q.g.Cd]=k.gclid;a.j[Q.g.Kd]=k.dclid;a.j[Q.g.oi]=k.gclsrc;a.j[Q.g.Cd]||a.j[Q.g.Kd]||(a.j[Q.g.Ze]=k.wbraid,a.j[Q.g.Zf]=k.gbraid);a.j[Q.g.Aa]=D.referrer?Ui($i(D.referrer),"host"):"";a.j[Q.g.qa]=Dq();P(22)&&(a.j[Q.g.Ya]=ir());var m;if(P(69)){var n=xq();m=n.De;a.j[Q.g.ni]=n.Bj}else m=yq();a.j[Q.g.mi]=m;a.j[Q.g.Gb]=Zm(!0);var p=Qq();Pq(p)&&(a.j[Q.g.Zc]="1");a.j[Q.g.si]=Mq();To(!1)._up==="1"&&(a.j[Q.g.Ji]="1")}Fk=
!0;var q=U([Q.g.O,Q.g.N]);c&&q&&(gp(b),a.j[Q.g.Db]=ep[hp(b.prefix)]);a.j[Q.g.jb]=void 0;a.j[Q.g.Ta]=void 0;var r=P(71);if(!a.j[Q.g.Cd]&&!a.j[Q.g.Kd]&&dr(d,r)){var t=r?Op(b):Mp(d+"_gb");t.length>0&&(a.j[Q.g.jb]=t.join("."))}else if(!a.j[Q.g.Ze]&&q){var u=Mp(d+"_aw");u.length>0&&(a.j[Q.g.Ta]=u.join("."))}a.m.isGtmEvent&&(a.m.j[Q.g.ja]=km.j[Q.g.ja]);Dn(a.m)?a.j[Q.g.Lb]=!1:a.j[Q.g.Lb]=!0;a.metadata.add_tag_timing=!0;var v=fr();v!==void 0&&(a.j[Q.g.be]=v||"error");var w=xn();w&&(a.j[Q.g.vc]=w);var x=wn();
x&&(a.j[Q.g.zc]=x);a.metadata.speculative=!1}}else a.isAborted=!0},gr=function(a){var b={prefix:T(a.m,Q.g.Wa)||T(a.m,Q.g.Ma),domain:T(a.m,Q.g.Ua),yb:T(a.m,Q.g.La),flags:T(a.m,Q.g.Xa)};a.m.isGtmEvent&&(b.path=T(a.m,Q.g.Eb));return b},kr=function(a,b){var c,d,e,f,g,k,m,n;c=a.md;d=a.ud;e=a.yd;f=a.ra;g=a.m;k=a.vd;m=a.Bn;n=a.ek;hr({md:c,ud:d,yd:e,ac:b});c&&m!==!0&&(n!=null?n=String(n):n=void 0,Fq(b,f,g,k,n))},hr=function(a){var b,c,d,e;b=a.md;c=a.ud;d=a.yd;e=a.ac;b&&(cp(c[Q.g.yc],!!c[Q.g.U])&&(dq(lr,e),
fq(e),op(e)),aq(e),jq(lr,e),kq(e));c[Q.g.U]&&(hq(lr,c[Q.g.U],c[Q.g.Ib],!!c[Q.g.sb],e.prefix),iq(c[Q.g.U],c[Q.g.Ib],!!c[Q.g.sb],e.prefix),pp(hp(e.prefix),c[Q.g.U],c[Q.g.Ib],!!c[Q.g.sb],e),pp("FPAU",c[Q.g.U],c[Q.g.Ib],!!c[Q.g.sb],e));d&&mq(mr);oq(mr)},nr=function(a,b,c,d){var e,f,g;e=a.fk;f=a.callback;g=a.Kj;if(typeof f==="function")if(e===Q.g.Ta&&g===void 0){var k=d(b.prefix,c);k.length===0?f(void 0):k.length===1?f(k[0]):f(k)}else e===Q.g.Db?(M(65),gp(b,!1),f(ep[hp(b.prefix)])):f(g)},lr=["aw","dc",
"gb"],mr=["aw","dc","gb","ag"];function or(a){var b=T(a.m,Q.g.Hb),c=T(a.m,Q.g.Ub);b&&!c?(a.eventName!==Q.g.aa&&a.eventName!==Q.g.Kc&&M(131),a.isAborted=!0):!b&&c&&(M(132),a.isAborted=!0)}function pr(a){var b=U(Q.g.O)?hi.pscdl:"denied";b!=null&&(a.j[Q.g.df]=b)}function qr(a){var b=Zm(!0);a.j[Q.g.Gb]=b}function rr(a){Un()&&(a.j[Q.g.wc]=1)}
function ir(){var a=D.title;if(a===void 0||a==="")return"";var b=function(d){try{return decodeURIComponent(d),!0}catch(e){return!1}};a=encodeURIComponent(a);for(var c=256;c>0&&!b(a.substring(0,c));)c--;return decodeURIComponent(a.substring(0,c))}function sr(a){if(P(13)){var b=T(a.m,Q.g.La);a.j[Q.g.fe]||(a.j[Q.g.fe]={});a.j[Q.g.fe].ce=b}};function zr(a,b,c,d){var e=xc(),f;if(e===1)a:{var g=ti;g=g.toLowerCase();for(var k="https://"+g,m="http://"+g,n=1,p=D.getElementsByTagName("script"),q=0;q=0&&(g=g.substring(k+8,g.indexOf(")",k)),g.charAt(g.length-1)==="%"&&(g=g.substring(0,g.length-1)),f=String(Math.min(Number(g),Number(f))))}if(f!==void 0&&Number(f)<=0)return!0;(d=d.parentElement)&&
(e=z.getComputedStyle(d,null))}return!1}
var gs=function(a){return a.tagName+":"+a.isVisible+":"+a.W.length+":"+fs.test(a.W)},us=function(a){a=a||{rd:!0,sd:!0,Pf:void 0};a.vb=a.vb||{email:!0,phone:!1,address:!1};var b=hs(a),c=is[b];if(c&&zb()-c.timestamp<200)return c.result;var d=js(),e=d.status,f=[],g,k,m=[];if(!P(26)){if(a.vb&&a.vb.email){var n=ks(d.elements);f=ls(n,a&&a.ye);g=ms(f);n.length>10&&(e="3")}!a.Pf&&g&&(f=[g]);for(var p=0;p:nth-child("+e.toString()+")"}else d="";c=d}b=c}return b},ks=function(a){for(var b=[],c=0;c=0}else k=!1;k||b.push({element:d,W:g})}}}return b},
js=function(){var a=[],b=D.body;if(!b)return{elements:a,status:"4"};for(var c=b.querySelectorAll("*"),d=0;d=0)&&e.children instanceof HTMLCollection){for(var f=!1,g=0;g=0)){f=!0;break}(!f||P(26)&&Bs.indexOf(e.tagName)!==-1)&&a.push(e)}}return{elements:a,status:c.length>1E4?"2":"1"}},Cs=!1;var ys=/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/i,fs=/@(gmail|googlemail)\./i,xs=/support|noreply/i,zs="SCRIPT STYLE IMG SVG PATH BR NOSCRIPT TEXTAREA".split(" "),As=["BR"],ss={hc:"1",me:"2",ee:"3",ie:"4",Tf:"5",Ng:"6",Ef:"7"},is={},Bs=["INPUT","SELECT"];var Rs=function(a,b,c){a.j[Q.g.oe]||(a.j[Q.g.oe]={});a.j[Q.g.oe][b]=c},Ts=function(a,b){var c=Ss(a,Q.g.Qd,a.m.C[Q.g.Qd]);if(c&&c[b||a.eventName]!==void 0)return c[b||a.eventName]},Us=function(a){var b=a.metadata.user_data;if(Qa(b))return b},Vs=function(a){if(a.metadata.is_merchant_center||!hj(a.m))return!1;if(!T(a.m,Q.g.fd)){var b=T(a.m,Q.g.sc);return b===!0||b==="true"}return!0},Ws=function(a){return Ss(a,Q.g.xc,T(a.m,Q.g.xc))||!!Ss(a,"google_ng",!1)};var Jf;var Xs=Number('')||5,Ys=Number('')||50,Zs=qb();var dt={Uk:Number('')||500,Hk:Number('')||5E3,dj:Number('20')||10,mk:Number('')||5E3};function et(a){return a.performance&&a.performance.now()||Date.now()}
var ft=function(a,b){var c;return c};var gt;function mt(){var a=Mf(Jf.j,"",function(){return{}});try{return a("internal_sw_allowed"),!0}catch(b){return!1}}
function nt(a,b){}
var ot=function(a,b,c,d){};
function pt(a,b,c,d){}
function qt(a,b,c,d){}var rt=void 0;function st(a){var b=[];return b};var tt=function(a){for(var b=[],c=0,d=0;d>6|192:((e&64512)==55296&&d+1>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};Mm();Pm()||Jm("iPod");Jm("iPad");!Jm("Android")||Nm()||Mm()||Lm()||Jm("Silk");Nm();!Jm("Safari")||Nm()||(Km()?0:Jm("Coast"))||Lm()||(Km()?0:Jm("Edge"))||(Km()?Im("Microsoft Edge"):Jm("Edg/"))||(Km()?Im("Opera"):Jm("OPR"))||Mm()||Jm("Silk")||Jm("Android")||Qm();var ut={},vt=null,wt=function(a){for(var b=[],c=0,d=0;d255&&(b[c++]=e&255,e>>=8);b[c++]=e}var f=4;f===void 0&&(f=0);if(!vt){vt={};for(var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),k=["+/=","+/","-_=","-_.","-_"],m=0;m<5;m++){var n=g.concat(k[m].split(""));ut[m]=n;for(var p=0;p>2],C=r[(x&3)<<4|y>>4],H=r[(y&15)<<2|A>>6],I=r[A&63];t[w++]=""+B+C+H+I}var F=0,L=u;switch(b.length-v){case 2:F=b[v+1],L=r[(F&15)<<2]||u;case 1:var N=b[v];t[w]=""+r[N>>2]+r[(N&3)<<4|F>>4]+L+u}return t.join("")};var xt="platform platformVersion architecture model uaFullVersion bitness fullVersionList wow64".split(" ");function zt(a){var b;return(b=a.google_tag_data)!=null?b:a.google_tag_data={}}function At(){var a=z.google_tag_data,b;if(a!=null&&a.uach){var c=a.uach,d=Object.assign({},c);c.fullVersionList&&(d.fullVersionList=c.fullVersionList.slice(0));b=d}else b=null;return b}function Bt(){var a,b;return(b=(a=z.google_tag_data)==null?void 0:a.uach_promise)!=null?b:null}
function Ct(a){var b,c;return typeof((b=a.navigator)==null?void 0:(c=b.userAgentData)==null?void 0:c.getHighEntropyValues)==="function"}function Dt(){var a=z;if(!Ct(a))return null;var b=zt(a);if(b.uach_promise)return b.uach_promise;var c=a.navigator.userAgentData.getHighEntropyValues(xt).then(function(d){b.uach!=null||(b.uach=d);return d});return b.uach_promise=c};
var Et=function(a,b){a&&(b.j[Q.g.vf]=a.architecture,b.j[Q.g.wf]=a.bitness,a.fullVersionList&&(b.j[Q.g.xf]=a.fullVersionList.map(function(c){return encodeURIComponent(c.brand||"")+";"+encodeURIComponent(c.version||"")}).join("|")),b.j[Q.g.yf]=a.mobile?"1":"0",b.j[Q.g.zf]=a.model,b.j[Q.g.Af]=a.platform,b.j[Q.g.Bf]=a.platformVersion,b.j[Q.g.Cf]=a.wow64?"1":"0")},Gt=function(a){var b=Ft.Wm,c=function(g,k){try{a(g,k)}catch(m){}},d=At();if(d)c(d);else{var e=Bt();if(e){b=Math.min(Math.max(isFinite(b)?b:
0,0),1E3);var f=z.setTimeout(function(){c.Ke||(c.Ke=!0,M(106),c(null,Error("Timeout")))},b);e.then(function(g){c.Ke||(c.Ke=!0,M(104),z.clearTimeout(f),c(g))}).catch(function(g){c.Ke||(c.Ke=!0,M(105),z.clearTimeout(f),c(null,g))})}else c(null)}},It=function(){if(Ct(z)&&(Ht=zb(),!Bt())){var a=Dt();a&&(a.then(function(){M(95);}),a.catch(function(){M(96)}))}},Ht;function Jt(a){var b;b=b===void 0?document:b;var c;return!((c=b.featurePolicy)==null||!c.allowedFeatures().includes(a))};function Kt(){return Jt("join-ad-interest-group")&&mb(nc.joinAdInterestGroup)}
function Lt(a,b){var c=jb[3]===void 0?1:jb[3],d='iframe[data-tagging-id="'+b+'"]',e=[];try{if(c===1){var f=D.querySelector(d);f&&(e=[f])}else e=Array.from(D.querySelectorAll(d))}catch(q){}var g;a:{try{g=D.querySelectorAll('iframe[allow="join-ad-interest-group"][data-tagging-id*="-"]');break a}catch(q){}g=void 0}var k=g,m=((k==null?void 0:k.length)||0)>=(jb[2]===void 0?50:jb[2]),n;if(n=e.length>=1){var p=Number(e[e.length-1].dataset.loadTime);p!==void 0&&zb()-p<(jb[1]===void 0?6E4:jb[1])?(fb("TAGGING",
9),n=!0):n=!1}if(!n){if(c===1)if(e.length>=1)Mt(e[0]);else{if(m){fb("TAGGING",10);return}}else e.length>=c?Mt(e[0]):m&&Mt(k[0]);yc(a,void 0,{allow:"join-ad-interest-group"},{taggingId:b,loadTime:zb()})}}function Mt(a){try{a.parentNode.removeChild(a)}catch(b){}}function Nt(){return"https://td.doubleclick.net"};
var Du=function(a,b){var c={},d=function(f,g){var k;k=g===!0?"1":g===!1?"0":encodeURIComponent(String(g));c[f]=k};l(a.j,function(f,g){var k=Cu[f];k&&g!==void 0&&g!==""&&(!a.metadata.redact_click_ids||f!==Q.g.Cd&&f!==Q.g.Kd&&f!==Q.g.Ze&&f!==Q.g.Zf||(g="0"),d(k,g))});d("gtm",Xn({ra:a.metadata.source_canonical_id}));En()&&d("gcs",Fn());d("gcd",Jn(a.m));Mn()&&d("dma_cps",Kn());d("dma",Ln());hn(qn())&&d("tcfd",Tn());Ai.j&&d("tag_exp",Ai.j);if(a.metadata.add_tag_timing){d("tft",zb());var e=Nc();e!==void 0&&
d("tfd",Math.round(e))}P(18)&&d("apve",P(19)?"1":"0");P(20)&&d("apvf",Lc()?P(21)?"f":"sb":"nf");b(c)},Eu=function(a){Du(a,function(b){if(a.metadata.hit_type==="page_view"){var c=[];l(b,function(e,f){c.push(e+"="+f)});var d=ij(U([Q.g.O,Q.g.N])?"https://www.google.com":"https://pagead2.googlesyndication.com",!0)+"/ccm/collect?"+c.join("&");P(20)&&P(21)&&Lc()?Kc(d,void 0,{noFallback:!0}):Hc(d);if(mb(a.m.onSuccess))a.m.onSuccess()}})},Fu={},Cu=(Fu[Q.g.Pb]="gcu",Fu[Q.g.jb]="gclgb",Fu[Q.g.Ta]="gclaw",Fu[Q.g.mi]=
"gad_source",Fu[Q.g.ni]="gad_source_src",Fu[Q.g.Cd]="gclid",Fu[Q.g.oi]="gclsrc",Fu[Q.g.Zf]="gbraid",Fu[Q.g.Ze]="wbraid",Fu[Q.g.Db]="auid",Fu[Q.g.si]="rnd",Fu[Q.g.wi]="ncl",Fu[Q.g.eg]="gcldc",Fu[Q.g.Kd]="dclid",Fu[Q.g.ob]="edid",Fu[Q.g.rc]="en",Fu[Q.g.vc]="gdpr",Fu[Q.g.rb]="gdid",Fu[Q.g.wc]="_ng",Fu[Q.g.Ji]="gtm_up",Fu[Q.g.Gb]="frm",Fu[Q.g.Zc]="lps",Fu[Q.g.Wd]="did",Fu[Q.g.qa]="dl",Fu[Q.g.Aa]="dr",Fu[Q.g.Ya]="dt",Fu[Q.g.rf]="ga_uid",Fu[Q.g.zc]="gdpr_consent",Fu[Q.g.ya]="uid",Fu[Q.g.be]="us_privacy",
Fu[Q.g.Lb]="npa",Fu);var Gu={J:{Oh:"ads_conversion_hit",zd:"container_execute_start",Rh:"container_setup_end",Rf:"container_setup_start",Ph:"container_blocking_end",Qh:"container_execute_end",Sh:"container_yield_end",Sf:"container_yield_start",Ti:"event_execute_end",Si:"event_evaluation_end",Kg:"event_evaluation_start",Ui:"event_setup_end",de:"event_setup_start",Wi:"ga4_conversion_hit",ke:"page_load",qn:"pageview",Yb:"snippet_load",qj:"tag_callback_error",rj:"tag_callback_failure",sj:"tag_callback_success",tj:"tag_execute_end",
kd:"tag_execute_start"}};function Hu(){function a(c,d){var e=gb(d);e&&b.push([c,e])}var b=[];a("u","GTM");a("ut","TAGGING");a("h","HEALTH");return b};var Iu=!1;function qv(a,b){}
function rv(a,b){}function sv(a,b){}
function tv(a,b){}function uv(){var a={};return a}
function iv(a){a=a===void 0?!0:a;var b={};return b}
function vv(){}function wv(a,b){}
function xv(a,b,c){}
function yv(){}function zv(a,b){var c=z,d,e=c.GooglebQhCsO;e||(e={},c.GooglebQhCsO=e);d=e;if(d[a])return!1;d[a]=[];d[a][0]=b;return!0};function Av(a,b,c,d){var e=Um(a,"fmt");if(b){var f=Um(a,"random"),g=Um(a,"label")||"";if(!f)return!1;var k=wt(decodeURIComponent(g.replace(/\+/g," "))+":"+decodeURIComponent(f.replace(/\+/g," ")));if(!zv(k,b))return!1}e&&Number(e)!==4&&(a=Wm(a,"rfmt",e));var m=Wm(a,"fmt",4);wc(m,function(){z.google_noFurtherRedirects&&b&&(z.google_noFurtherRedirects=null,b())},c,d,D.getElementsByTagName("script")[0].parentElement||void 0);return!0};function Tv(a,b){if(data.entities){var c=data.entities[a];if(c)return c[b]}};function Uv(a,b,c){c=c===void 0?!1:c;Vv().addRestriction(0,a,b,c)}function Wv(a,b,c){c=c===void 0?!1:c;Vv().addRestriction(1,a,b,c)}function Xv(){var a=Hj();return Vv().getRestrictions(1,a)}var Yv=function(){this.j={};this.C={}},Zv=function(a,b){var c=a.j[b];c||(c={_entity:{internal:[],external:[]},_event:{internal:[],external:[]}},a.j[b]=c);return c};
Yv.prototype.addRestriction=function(a,b,c,d){d=d===void 0?!1:d;if(!d||!this.C[b]){var e=Zv(this,b);a===0?d?e._entity.external.push(c):e._entity.internal.push(c):a===1&&(d?e._event.external.push(c):e._event.internal.push(c))}};
Yv.prototype.getRestrictions=function(a,b){var c=Zv(this,b);if(a===0){var d,e;return[].concat(oa((c==null?void 0:(d=c._entity)==null?void 0:d.internal)||[]),oa((c==null?void 0:(e=c._entity)==null?void 0:e.external)||[]))}if(a===1){var f,g;return[].concat(oa((c==null?void 0:(f=c._event)==null?void 0:f.internal)||[]),oa((c==null?void 0:(g=c._event)==null?void 0:g.external)||[]))}return[]};
Yv.prototype.getExternalRestrictions=function(a,b){var c=Zv(this,b),d,e;return a===0?(c==null?void 0:(d=c._entity)==null?void 0:d.external)||[]:(c==null?void 0:(e=c._event)==null?void 0:e.external)||[]};Yv.prototype.removeExternalRestrictions=function(a){var b=Zv(this,a);b._event&&(b._event.external=[]);b._entity&&(b._entity.external=[]);this.C[a]=!0};function Vv(){var a=hi.r;a||(a=new Yv,hi.r=a);return a};var $v=new RegExp(/^(.*\.)?(google|youtube|blogger|withgoogle)(\.com?)?(\.[a-z]{2})?\.?$/),aw={cl:["ecl"],customPixels:["nonGooglePixels"],ecl:["cl"],ehl:["hl"],gaawc:["googtag"],hl:["ehl"],html:["customScripts","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],customScripts:["html","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],nonGooglePixels:[],nonGoogleScripts:["nonGooglePixels"],nonGoogleIframes:["nonGooglePixels"]},bw={cl:["ecl"],customPixels:["customScripts",
"html"],ecl:["cl"],ehl:["hl"],gaawc:["googtag"],hl:["ehl"],html:["customScripts"],customScripts:["html"],nonGooglePixels:["customPixels","customScripts","html","nonGoogleScripts","nonGoogleIframes"],nonGoogleScripts:["customScripts","html"],nonGoogleIframes:["customScripts","html","nonGoogleScripts"]},cw="google customPixels customScripts html nonGooglePixels nonGoogleScripts nonGoogleIframes".split(" ");
function dw(){var a=Ii("gtm.allowlist")||Ii("gtm.whitelist");a&&M(9);ni&&(a=["google","gtagfl","lcl","zone"]);$v.test(z.location&&z.location.hostname)&&(ni?M(116):(M(117),ew&&(a=[],window.console&&window.console.log&&window.console.log("GTM blocked. See go/13687728."))));var b=a&&Db(wb(a),aw),c=Ii("gtm.blocklist")||Ii("gtm.blacklist");c||(c=Ii("tagTypeBlacklist"))&&M(3);c?M(8):c=[];$v.test(z.location&&z.location.hostname)&&(c=wb(c),c.push("nonGooglePixels","nonGoogleScripts","sandboxedScripts"));
wb(c).indexOf("google")>=0&&M(2);var d=c&&Db(wb(c),bw),e={};return function(f){var g=f&&f[He.la];if(!g||typeof g!=="string")return!0;g=g.replace(/^_*/,"");if(e[g]!==void 0)return e[g];var k=xi[g]||[],m=!0;if(a){var n;if(n=m)a:{if(b.indexOf(g)<0)if(k&&k.length>0)for(var p=0;p=0;if(r)q=r;else{var t=rb(d,k||[]);t&&M(10);q=t}}var u=!m||q;u||!(k.indexOf("sandboxedScripts")>=0)||b&&b.indexOf("sandboxedScripts")!==
-1||(u=rb(d,cw));return e[g]=u}}var ew=!1;ew=!0;function fw(){zj&&Uv(Hj(),function(a){var b=tf(a.entityId),c;if(wf(b)){var d=b[He.la];if(!d)throw Error("Error: No function name given for function call.");var e=lf[d];c=!!e&&!!e.runInSiloedMode}else c=!!Tv(b[He.la],4);return c})}function gw(a,b,c,d,e){if(!hw()){var f=d.siloed?Cj(a):a;if(!Tj(f)){var g=iw(a),k=Eb(a,"GTM-"),m=gj(),n=c?"/gtag/js":"/gtm.js",p=fj(b,n+g);if(!p){var q=gi.Bd+n;if(m&&qc&&k)q=qc.replace(/^(?:https?:\/\/)?/i,"").split(/[?#]/)[0],p=zr("https://","http://",q+g);else if(Ci()){var r=n;P(63)&&(r="/");p=Bi()+r+g}else p=zr("https://","http://",q+g)}d.siloed&&Vj({ctid:f,isDestination:!1});var t=Nj();wj().container[f]={state:1,context:d,parent:t};vj({ctid:f,isDestination:!1},e);wc(p)}}}
function jw(a,b,c,d){if(!hw()){var e=c.siloed?Cj(a):a;if(!Uj(e))if(!c.siloed&&Wj())wj().destination[e]={state:0,transportUrl:b,context:c,parent:Nj()},vj({ctid:e,isDestination:!0},d),M(91);else{var f="/gtag/destination"+iw(a,!0),g=fj(b,f);g||(Ci()?(P(63)&&(f="/gtd"+iw(a,!0)),g=Bi()+f):g=zr("https://","http://",gi.Bd+f));c.siloed&&Vj({ctid:e,isDestination:!0});wj().destination[e]={state:1,context:c,parent:Nj()};vj({ctid:e,isDestination:!0},d);wc(g)}}}
function iw(a,b){b=b===void 0?!1:b;var c="?id="+encodeURIComponent(a)+"&l="+gi.fb;if(!Eb(a,"GTM-")||b)c+="&cx=c";P(73)&&(c+=">m="+Xn());gj()&&(c+="&sign="+gi.Pg);var d=Ai.C;d===1?c+="&fps=fc":d===2&&(c+="&fps=fe");return c}function hw(){if(Vn()){return!0}return!1};var kw=[];function lw(){var a=Nf.ctid;if(a){var b=yj.je?1:0,c,d=Jj(Nj());c=d&&d.context;return a+";"+Nf.canonicalContainerId+";"+(c&&c.fromContainerExecution?1:0)+";"+(c&&c.source||0)+";"+b}}function mw(){var a=$i(z.location.href);return a.hostname+a.pathname}function nw(){var a=mw();a&&ek("dl",encodeURIComponent(a));if(P(93)){var b=lw();b&&ek("tdp",b)}else ek("tdp",function(){return kw.length>0?kw.join("."):void 0});var c=Zm(!0);c!==void 0&&ek("frm",String(c))};var ow=!1,pw=0,qw=[];function rw(a){if(!ow){var b=D.createEventObject,c=D.readyState==="complete",d=D.readyState==="interactive";if(!a||a.type!=="readystatechange"||c||!b&&d){ow=!0;for(var e=0;e=a.F&&Aw(a)})},Cw=function(a){a.P=!0;a.C>=a.F&&Aw(a)};var Dw={};function Ew(){return z[Fw()]}
function Fw(){return z.GoogleAnalyticsObject||"ga"}function Iw(){var a=Fj();}
function Jw(a,b){return function(){var c=Ew(),d=c&&c.getByName&&c.getByName(a);if(d){var e=d.get("sendHitTask");d.set("sendHitTask",function(f){var g=f.get("hitPayload"),k=f.get("hitCallback"),m=g.indexOf("&tid="+b)<0;m&&(f.set("hitPayload",g.replace(/&tid=UA-[0-9]+-[0-9]+/,"&tid="+b),!0),f.set("hitCallback",void 0,!0));e(f);m&&(f.set("hitPayload",g,!0),f.set("hitCallback",k,!0),f.set("_x_19",void 0,!0),e(f))})}}}var Ow=["es","1"],Pw={},Qw={};function Rw(a,b){if(pj){var c;c=b.match(/^(gtm|gtag)\./)?encodeURIComponent(b):"*";Pw[a]=[["e",c],["eid",a]];cm(a)}}function Sw(a){var b=a.eventId,c=a.fc;if(!Pw[b])return[];var d=[];Qw[b]||d.push(Ow);d.push.apply(d,oa(Pw[b]));c&&(Qw[b]=!0);return d};var Tw={},Uw={},Vw={};function Ww(a,b,c,d){pj&&P(83)&&((d===void 0?0:d)?(Vw[b]=Vw[b]||0,++Vw[b]):c!==void 0?(Uw[a]=Uw[a]||{},Uw[a][b]=Math.round(c)):(Tw[a]=Tw[a]||{},Tw[a][b]=(Tw[a][b]||0)+1))}function Xw(a){var b=a.eventId,c=a.fc,d=Tw[b]||{},e=[],f;for(f in d)d.hasOwnProperty(f)&&e.push(""+f+d[f]);c&&delete Tw[b];return e.length?[["md",e.join(".")]]:[]}
function Yw(a){var b=a.eventId,c=a.fc,d=Uw[b]||{},e=[],f;for(f in d)d.hasOwnProperty(f)&&e.push(""+f+d[f]);c&&delete Uw[b];return e.length?[["mtd",e.join(".")]]:[]}function Zw(){for(var a=[],b=ka(Object.keys(Vw)),c=b.next();!c.done;c=b.next()){var d=c.value;a.push(""+d+Vw[d])}return a.length?[["mec",a.join(".")]]:[]};var $w={},ax={};function bx(a,b,c){if(pj&&b){var d=jj(b);$w[a]=$w[a]||[];$w[a].push(c+d);var e=(wf(b)?"1":"2")+d;ax[a]=ax[a]||[];ax[a].push(e);cm(a)}}function cx(a){var b=a.eventId,c=a.fc,d=[],e=$w[b]||[];e.length&&d.push(["tr",e.join(".")]);var f=ax[b]||[];f.length&&d.push(["ti",f.join(".")]);c&&(delete $w[b],delete ax[b]);return d};function dx(a,b,c,d){var e=jf[a],f=ex(a,b,c,d);if(!f)return null;var g=xf(e[He.pj],c,[]);if(g&&g.length){var k=g[0];f=dx(k.index,{onSuccess:f,onFailure:k.Aj===1?b.terminate:f,terminate:b.terminate},c,d)}return f}
function ex(a,b,c,d){function e(){function w(){Jk(3);var I=zb()-H;bx(c.id,f,"7");zw(c.Zb,B,"exception",I);P(74)&&xv(c,f,Gu.J.qj);C||(C=!0,k())}if(f[He.Mk])k();else{var x=vf(f,c,[]),y=x[He.kk];if(y!=null)for(var A=0;A
0};function kx(a,b){var c,d=b.Qj,e=a.Qj;c=d>e?1:dk?1:g=0){if(e.Bh=il(g,b),e.Bh){var k=Dj();pb(k,function(r){return function(t){return r.Bh.destinationId===t}}(e))?c.push(g):d.push(g)}}else{var m=Kx[g]||[];e.kh={};m.forEach(function(r){return function(t){r.kh[t]=!0}}(e));for(var n=Aj(),p=0;p=0&&c.splice(d,1)})}function Ox(a){l(Lx,function(b,c){var d=c.indexOf(a);d>=0&&c.splice(d,1)})}var Px="HA GF G UA AW DC MC".split(" "),Qx=!1,Rx=!1,Sx=!1,Tx=!1;function Ux(a,b){a.hasOwnProperty("gtm.uniqueEventId")||Object.defineProperty(a,"gtm.uniqueEventId",{value:yi()});b.eventId=a["gtm.uniqueEventId"];b.priorityId=a["gtm.priorityId"];return{eventId:b.eventId,priorityId:b.priorityId}}var Vx=void 0,Wx=void 0;
function Xx(a,b,c){var d=Ra(a,null);d.eventId=void 0;d.inheritParentConfig=void 0;Object.keys(b).some(function(f){return b[f]!==void 0})&&M(136);var e=Ra(b,null);Ra(c,e);Gx(yx(Aj()[0],e),a.eventId,d)}function Yx(a){for(var b=ka([Q.g.fd,Q.g.Kb]),c=b.next();!c.done;c=b.next()){var d=c.value,e=a&&a[d]||km.j[d];if(e)return e}}
var Zx=[Q.g.fd,Q.g.Kb,Q.g.sc,Q.g.lb,Q.g.tb,Q.g.ya,Q.g.oa,Q.g.Ma,Q.g.Ua,Q.g.Eb],$x={config:function(a,b){var c=Ux(a,b);if(!(a.length<2)&&h(a[1])){var d={};if(a.length>2){if(a[2]!==void 0&&!Qa(a[2])||a.length>3)return;d=a[2]}var e=il(a[1],b.isGtmEvent);if(e){var f,g,k;a:{if(!yj.je){var m=Jj(Nj());if(Yj(m)){var n=m.parent,p=n.isDestination;k={tm:Jj(n),fm:p};break a}}k=void 0}var q=k;q&&(f=q.tm,g=q.fm);Rw(c.eventId,"gtag.config");var r=e.destinationId,t=e.id!==r;if(t?Dj().indexOf(r)===-1:Aj().indexOf(r)===
-1){if(!b.inheritParentConfig&&!d[Q.g.Hb]){var u=Yx(d);if(t)jw(r,u,{source:2,fromContainerExecution:b.fromContainerExecution});else if(f!==void 0&&f.containers.indexOf(r)!==-1){var v=d;Vx?Xx(b,v,Vx):Wx||(Wx=Ra(v,null))}else gw(r,u,!0,{source:2,fromContainerExecution:b.fromContainerExecution})}}else{if(f&&(M(128),g&&M(130),b.inheritParentConfig)){var w;var x=d;Wx?(Xx(b,Wx,x),w=!1):(!x[Q.g.Xb]&&li&&Vx||(Vx=Ra(x,null)),w=!0);w&&f.containers&&f.containers.join(",");return}var y=d;if(!Sx&&(Sx=!0,Rx))for(var A=
ka(Zx),B=A.next();!B.done;B=A.next())if(y.hasOwnProperty(B.value)){Ik("erc");break}qj&&!zj&&(vx===1&&(ck.mcc=!1),vx=2);Fk=!0;if(li&&!t&&!d[Q.g.Xb]){var C=Tx;Tx=!0;if(C)return}Qx||M(43);if(!b.noTargetGroup)if(t){Ox(e.id);var H=e.id,I=d[Q.g.Ud]||"default";I=String(I).split(",");for(var F=0;F2){if(!Qa(a[2])&&a[2]!==void 0||a.length>3)return;d=a[2]}var e=d,f={},g=(f.event=c,f);e&&(g.eventModel=Ra(e,null),e[Q.g.Xc]&&(g.eventCallback=e[Q.g.Xc]),e[Q.g.Rd]&&(g.eventTimeout=e[Q.g.Rd]));var k=Ux(a,b),m=k.eventId,n=k.priorityId;g["gtm.uniqueEventId"]=m;n&&(g["gtm.priorityId"]=n);if(c==="optimize.callback")return g.eventModel=g.eventModel||{},g;var p;var q=d,r=q&&q[Q.g.Wb];
r===void 0&&(r=Ii(Q.g.Wb,2),r===void 0&&(r="default"));if(h(r)||Array.isArray(r)){var t;t=b.isGtmEvent?h(r)?[r]:r:r.toString().replace(/\s+/g,"").split(",");var u=Mx(t,b.isGtmEvent),v=u.gm,w=u.jm;if(w.length)for(var x=Yx(q),y=0;y0?g.eventModel[Q.g.Wb]=H.join():delete g.eventModel[Q.g.Wb];Qx||M(43);b.noGtmEvent===void 0&&b.eventMetadata&&b.eventMetadata.syn_or_mod&&(b.noGtmEvent=!0);g.eventModel[Q.g.Ub]&&
(b.noGtmEvent=!0);return b.noGtmEvent?void 0:g}}},get:function(a,b){M(53);if(a.length===4&&h(a[1])&&h(a[2])&&mb(a[3])){var c=il(a[1],b.isGtmEvent),d=String(a[2]),e=a[3];if(c){Qx||M(43);var f=Yx();if(!pb(Dj(),function(k){return c.destinationId===k}))jw(c.destinationId,f,{source:4,fromContainerExecution:b.fromContainerExecution});else if(Px.indexOf(Oj(c.prefix))!==-1){Fk=!0;Ux(a,b);var g={};Ra((g[Q.g.qb]=d,g[Q.g.Fb]=e,g),null);mm(d,function(k){E(function(){e(k)})},c.id,b)}}}},js:function(a,b){if(a.length===
2&&a[1].getTime){Qx=!0;var c=Ux(a,b),d=c.eventId,e=c.priorityId,f={};return f.event="gtm.js",f["gtm.start"]=a[1].getTime(),f["gtm.uniqueEventId"]=d,f["gtm.priorityId"]=e,f}},policy:function(a){if(a.length===3&&h(a[1])&&mb(a[2])){if(Kf(a[1],a[2]),M(74),a[1]==="all"){M(75);var b=!1;try{b=a[2](Fj(),"unknown",{})}catch(c){}b||M(76)}}else M(73)},set:function(a,b){var c=void 0;a.length===2&&Qa(a[1])?c=Ra(a[1],null):a.length===3&&h(a[1])&&(c={},Qa(a[2])||Array.isArray(a[2])?c[a[1]]=Ra(a[2],null):c[a[1]]=
a[2]);if(c){var d=Ux(a,b),e=d.eventId,f=d.priorityId;Ra(c,null);var g=Ra(c,null);km.push("set",[g],void 0,b);c["gtm.uniqueEventId"]=e;f&&(c["gtm.priorityId"]=f);delete c.event;b.overwriteModelFields=!0;return c}}},ay={policy:!0};var cy=function(a){if(by(a))return a;this.value=a};cy.prototype.getUntrustedMessageValue=function(){return this.value};var by=function(a){return!a||Na(a)!=="object"||Qa(a)?!1:"getUntrustedMessageValue"in a};cy.prototype.getUntrustedMessageValue=cy.prototype.getUntrustedMessageValue;var dy=!1,ey=[];function fy(){if(!dy){dy=!0;for(var a=0;ahy&&(hy=q)}my=!1}}}return!a}
function wy(){if(P(74)){var a=xy();}var b=uy();if(P(74)){}try{var c=Fj(),d=z[gi.fb].hide;if(d&&d[c]!==void 0&&d.end){d[c]=!1;var e=!0,f;for(f in d)if(d.hasOwnProperty(f)&&d[f]===
!0){e=!1;break}e&&(d.end(),d.end=null)}}catch(g){}return b}function Jx(a){if(hy
0){f=[];for(var g=0;gn)for(M(4),c.pruned=!0;this.length>n;)this.shift();var p=typeof m!=="boolean"||m;return uy()&&p};var e=b.slice(0).map(function(f){return a(f)});jy.push.apply(jy,e);if(xy()){if(P(74)){}E(wy)}}var xy=function(){var a=!0;return a},py=function(a){return z[gi.fb].push(a)};function zy(a){if(a==null||a.length===0)return!1;var b=Number(a),c=zb();return bc-9E5}function Ay(a){return a&&a.indexOf("pending:")===0?zy(a.substr(8)):!1};
function Vy(){};var Wy=function(){};Wy.prototype.toString=function(){return"undefined"};var Xy=new Wy;function dz(a,b){function c(g){var k=$i(g),m=Ui(k,"protocol"),n=Ui(k,"host",!0),p=Ui(k,"port"),q=Ui(k,"path").toLowerCase().replace(/\/$/,"");if(m===void 0||m==="http"&&p==="80"||m==="https"&&p==="443")m="web",p="default";return[m,n,p,q]}for(var d=c(String(a)),e=c(String(b)),f=0;f=
0;case "_le":return pg(b,c);case "_lt":return rg(b,c);case "_re":return lg(b,c,a.ignore_case);case "_sw":return sg(b,c);case "_um":return dz(b,c)}return!1};function gz(){var a;a=a===void 0?"":a;var b,c;return((b=data)==null?0:(c=b.blob)==null?0:c.hasOwnProperty(1))?String(data.blob[1]):a};function hz(){var a=[["cv",P(102)?gz():"2"],["rv",gi.Og],["tc",jf.filter(function(b){return b}).length]];gi.ne&&a.push(["x",gi.ne]);Ai.j&&a.push(["tag_exp",Ai.j]);return a};var iz={},jz={};function kz(){var a=0;return function(b){switch(b){case 1:a|=1;break;case 2:a|=2;break;case 3:a|=4}return a}}function lz(a,b,c,d){if(pj){var e=String(c)+b;iz[a]=iz[a]||[];iz[a].push(e);jz[a]=jz[a]||[];jz[a].push(d+b)}}function mz(a){var b=a.eventId,c=a.fc,d=[],e=iz[b]||[];e.length&&d.push(["hf",e.join(".")]);var f=jz[b]||[];f.length&&d.push(["ht",f.join(".")]);c&&(delete iz[b],delete jz[b]);return d};function nz(){return!1}function oz(){var a={};return function(b,c,d){}};function pz(){var a=qz;return function(b,c,d){var e=d&&d.event;rz(c);var f=Eb(b,"__cvt_")?void 0:1,g=new Xa;l(c,function(r,t){if(b!=="__html"||r!=="gtmOnSuccess"&&r!=="gtmOnFailure"||!P(78)){var u=cd(t,void 0,f);u===void 0&&t!==void 0&&M(44);g.set(r,u)}else g.set(r,new Vc(r,t))});a.j.j.C=Cf();var k={xj:Rf(b),eventId:e==null?void 0:e.id,priorityId:e!==void 0?e.priorityId:void 0,se:e!==void 0?function(r){e.Zb.se(r)}:void 0,ab:function(){return b},log:function(){},xl:{index:d==null?void 0:d.index,type:d==
null?void 0:d.type,name:d==null?void 0:d.name},Em:!!Tv(b,3),originalEventData:e==null?void 0:e.originalEventData};e&&e.cachedModelValues&&(k.cachedModelValues={gtm:e.cachedModelValues.gtm,ecommerce:e.cachedModelValues.ecommerce});if(nz()){var m=oz(),n,p;k.Ra={Lh:[],te:{},wb:function(r,t,u){t===1&&(n=r);t===7&&(p=u);m(r,t,u)},Nf:ah()};k.log=function(r){var t=ya.apply(1,arguments);n&&m(n,4,{level:r,source:p,message:t})}}var q=Be(a,k,[b,g]);a.j.j.C=void 0;q instanceof Aa&&q.type==="return"&&(q=q.data);
return G(q,void 0,f)}}function rz(a){var b=a.gtmOnSuccess,c=a.gtmOnFailure;mb(b)&&(a.gtmOnSuccess=function(){E(b)});mb(c)&&(a.gtmOnFailure=function(){E(c)})};function sz(a,b){var c=this;}sz.R="addConsentListener";var tz=!1;function uz(a){for(var b=0;b=m.q.length+
(m.qd||0))return 0;var p=mA.apply(this,n);b++;if(p===null)return 0;c(p.Fe,p.Be);return 0}}});}nA.H="internal.addGaSendListener";function oA(a){if(!a)return{};var b=a.xl;return vw(b.type,b.index,b.name)}function pA(a){return a?{originatingEntity:oA(a)}:{}};function xA(a){var b=hi.zones;return b?b.getIsAllowedFn(Aj(),a):function(){return!0}}
function yA(){Wv(Hj(),function(a){var b=a.originalEventData["gtm.uniqueEventId"],c=hi.zones;return c?c.isActive(Aj(),b):!0});Uv(Hj(),function(a){var b,c;b=a.entityId;c=a.securityGroups;return xA(Number(a.originalEventData["gtm.uniqueEventId"]))(b,c)})};var zA=function(a,b){this.tagId=a;this.ve=b};
function AA(a,b){var c=this,d;return d}
AA.H="internal.loadGoogleTag";function BA(a){return new Vc("",function(b){var c=this.evaluate(b);if(c instanceof Vc)return new Vc("",function(){var d=ya.apply(0,arguments),e=this,f=Ra(yz(this),null);f.eventId=a.eventId;f.priorityId=a.priorityId;f.originalEventData=a.originalEventData;var g=d.map(function(m){return e.evaluate(m)}),k=Ga(this.D);k.j=f;return c.eb.apply(c,[k].concat(oa(g)))})})};function CA(a,b,c){var d=this;}CA.H="internal.addGoogleTagRestriction";var DA={},EA=[];
function LA(a,b){}
LA.H="internal.addHistoryChangeListener";function MA(a,b,c){}MA.R="addWindowEventListener";function NA(a,b){return!0}NA.R="aliasInWindow";function OA(a,b,c){}OA.H="internal.appendRemoteConfigParameter";function PA(a){var b;return b}PA.R="callInWindow";function QA(a){}QA.R="callLater";function RA(a){}RA.H="callOnDomReady";function SA(a){}SA.H="callOnWindowLoad";function TA(a,b){var c;return c}TA.H="internal.computeGtmParameter";function UA(a){var b;J(this.getName(),["key:!string"],arguments);if(!$n(a))throw Error("copyFromCrossContainerData requires valid CrossContainerSchema key.");var c=co(a);b=cd(c,this.D,1);return b}UA.H="internal.copyFromCrossContainerData";function VA(a,b){var c;var d=cd(c,this.D,Eb(yz(this).ab(),"__cvt_")?2:1);d===void 0&&c!==void 0&&M(45);return d}VA.R="copyFromDataLayer";
function WA(a){var b=void 0;return b}WA.H="internal.copyFromDataLayerCache";function XA(a){var b;return b}XA.R="copyFromWindow";function YA(a){var b=void 0;return cd(b,this.D,1)}YA.H="internal.copyKeyFromWindow";var ZA=function(a,b,c){this.eventName=b;this.m=c;this.j={};this.isAborted=!1;this.target=a;this.metadata=Ra(c.eventMetadata||{},{})};ZA.prototype.copyToHitData=function(a,b,c){var d=T(this.m,a);d===void 0&&(d=b);if(d!==void 0&&c!==void 0&&h(d)&&P(67))try{d=c(d)}catch(e){}d!==void 0&&(this.j[a]=d)};var Ss=function(a,b,c){var d=Vr(a.target.destinationId);return d&&d[b]!==void 0?d[b]:c};function $A(a,b){var c;J(this.getName(),["preHit:!PixieMap","dustOptions:?PixieMap"],arguments);var d=G(b)||{},e=G(a,this.D,1).Fj(),f=e.m;d.omitEventContext&&(f=Ql(new Fl(e.m.eventId,e.m.priorityId)));var g=new ZA(e.target,e.eventName,f);d.omitHitData||Ra(e.j,g.j);d.omitMetadata?g.metadata={}:Ra(e.metadata,g.metadata);g.isAborted=e.isAborted;c=cd(Lr(g),this.D,1);return c}$A.H="internal.copyPreHit";function aB(a,b){var c=null;return cd(c,this.D,2)}aB.R="createArgumentsQueue";function bB(a){return cd(function(c){var d=Ew();if(typeof c==="function")d(function(){c(function(f,g,k){var m=Ew(),n=m&&m.getByName&&
m.getByName(f);return vm(z.gaplugins.Linker,n).decorate(g,k)})});else if(Array.isArray(c)){var e=String(c[0]).split(".");b[e.length===1?e[0]:e[1]]&&d.apply(null,c)}else if(c==="isLoaded")return!!d.loaded},this.D,1)}bB.H="internal.createGaCommandQueue";function cB(a){return cd(function(){if(!mb(e.push))throw Error("Object at "+a+" in window is not an array.");e.push.apply(e,Array.prototype.slice.call(arguments,0))},this.D,Eb(yz(this).ab(),
"__cvt_")?2:1)}cB.R="createQueue";function dB(a,b){var c=null;J(this.getName(),["pattern:!string","flags:?string"],arguments);try{var d=(b||"").split("").filter(function(e){return"ig".indexOf(e)>=0}).join("");c=new $c(new RegExp(a,d))}catch(e){}return c}dB.H="internal.createRegex";function eB(){var a={};a={SHARED_USER_ID:Yn.Qg,SHARED_USER_ID_REQUESTED:Yn.Rg,SHARED_USER_ID_SOURCE:Yn.pe};return a};function fB(a){}fB.H="internal.declareConsentState";function gB(a){var b="";return b}gB.H="internal.decodeUrlHtmlEntities";function hB(a,b,c){var d;return d}hB.H="internal.decorateUrlWithGaCookies";function iB(a){var b;K(this,"detect_user_provided_data","auto");var c=G(a)||{},d=us({rd:!!c.includeSelector,sd:!!c.includeVisibility,ye:c.excludeElementSelectors,vb:c.fieldFilters,Pf:!!c.selectMultipleElements});b=new Xa;var e=new Va;b.set("elements",e);for(var f=d.elements,g=0;g=a.limit)a.Lf&&z.clearInterval(a.Lf);else{a.vh++;var b=zb();py({event:a.eventName,"gtm.timerId":a.Lf,"gtm.timerEventNumber":a.vh,"gtm.timerInterval":a.interval,"gtm.timerLimit":a.limit,"gtm.timerStartTime":a.Yj,"gtm.timerCurrentTime":b,"gtm.timerElapsedTime":b-a.Yj,"gtm.triggers":a.Vm})}}}
function tC(a,b){
return b}tC.H="internal.enableAutoEventOnTimer";var gc=ja(["data-gtm-yt-inspected-"]),vC=["www.youtube.com","www.youtube-nocookie.com"],wC,xC=!1;
function HC(a,b){var c=this;return b}HC.H="internal.enableAutoEventOnYouTubeActivity";function IC(a,b){J(this.getName(),["booleanExpression:!string","context:?PixieMap"],arguments);var c=b?G(b):{},d=a,e=!1;var f=JSON.parse(d);if(!f)throw Error("Invalid boolean expression string was given.");e=Qg(f,c);return e}IC.H="internal.evaluateBooleanExpression";var JC;function KC(a){var b=!1;return b}KC.H="internal.evaluateMatchingRules";function rD(){return yn(7)&&yn(9)&&yn(10)};function mE(a,b,c,d){}mE.H="internal.executeEventProcessor";function nE(a){var b;return cd(b,this.D,1)}nE.H="internal.executeJavascriptString";function oE(a){var b;return b};var pE=null;
function qE(){var a=new Xa;K(this,"read_container_data"),P(41)&&pE?a=pE:(a.set("containerId",'G-WP2Y5CS0D6'),a.set("version",'2'),a.set("environmentName",''),a.set("debugMode",Sf),a.set("previewMode",Tf.bk),a.set("environmentMode",Tf.sl),a.set("firstPartyServing",Ci()||pi),a.set("containerUrl",qc),a.Ja(),P(41)&&(pE=a));return a}
qE.R="getContainerVersion";function rE(a,b){b=b===void 0?!0:b;var c;return c}rE.R="getCookieValues";function sE(){return Lk()}sE.H="internal.getCountryCode";function tE(){var a=[];a=Dj();return cd(a)}tE.H="internal.getDestinationIds";function uE(a,b){var c=null;return c}uE.H="internal.getElementAttribute";function vE(a){var b=null;return b}vE.H="internal.getElementById";function wE(a){var b="";return b}wE.H="internal.getElementInnerText";function xE(a,b){var c=null;return c}xE.H="internal.getElementProperty";function yE(a){var b;return b}yE.H="internal.getElementValue";function zE(a){var b=0;return b}zE.H="internal.getElementVisibilityRatio";function AE(a){var b=null;return b}AE.H="internal.getElementsByCssSelector";
function BE(a){var b;J(this.getName(),["keyPath:!string"],arguments);K(this,"read_event_data",a);var c;a:{var d=a,e=yz(this).originalEventData;if(e){for(var f=e,g={},k={},m={},n=[],p=d.split("\\\\"),q=0;q0&&(a.j[Q.g.Md]=b)};aa.Ml=function(a){a.j[Q.g.Md]=void 0;this.Hh();this.C=0};aa.oh=function(){return this.F&&
this.isVisible&&this.isActive};aa.El=function(){return this.C+this.If()};aa.If=function(){return this.j&&this.j.get()||0};aa.Cm=function(a){this.K=a};aa.Tj=function(a){this.P=a};var SE=function(a){var b=a.metadata.event_usage;if(Array.isArray(b))for(var c=0;cd.Ne+f*60))return a;var g=bF(b);if(!g)return a;g.Ic=d.Ic+1;var k;return(k=cF(g.sessionId,g.Ic,g.wd,g.Ne,g.sh,g.Ec,g.nd))!=null?k:b},gF=function(a,b){var c=b.metadata.cookie_options,d=eF(b,c),e=Co(a,fF[0],c.domain,c.path),f={zb:Q.g.T,domain:c.domain,path:c.path,expires:c.yb?new Date(zb()+Number(c.yb)*1E3):void 0,flags:c.flags};
to(d,void 0,f);return to(d,e,f)!==1},hF=function(a){var b=a.metadata.cookie_options,c=eF(a,b),d=Bo(c,b.domain,b.path,fF,Q.g.T);if(!d)return d;var e=io(c,void 0,void 0,Q.g.T);if(d&&e.length>1){M(114);for(var f=void 0,g=void 0,k=0;kg)&&(g=n,f=e[k])}}f&&!Fb(f,d)&&(M(115),d=f.split(".").slice(2).join("."))}return d},iF=function(a){return cF(a.j[Q.g.tb],a.j[Q.g.Zd],a.j[Q.g.Yd],Math.floor(a.metadata.event_start_timestamp_ms/
1E3),a.metadata.join_timer_sec||0,!!a.metadata[Q.g.jf],a.j[Q.g.Nd])},cF=function(a,b,c,d,e,f,g){if(a&&b){var k=[a,b,ub(c),d,e];k.push(f?"1":"0");k.push(g||"0");return k.join(".")}},eF=function(a,b){return b.prefix+"_ga_"+a.target.ids[ll[0]]},fF=["GS1"],bF=function(a){if(a){var b=a.split(".");if(!(b.length<5||b.length>7)){b.length<7&&M(67);var c=Number(b[1]),d=Number(b[3]),e=Number(b[4]||0);c||M(118);d||M(119);isNaN(e)&&M(120);if(c&&d&&!isNaN(e))return{sessionId:b[0],Ic:c,wd:!!Number(b[2]),Ne:d,sh:e,
Ec:b[5]==="1",nd:b[6]!=="0"?b[6]:void 0}}}};
var jF=function(a){var b=T(a.m,Q.g.oa),c=a.m.C[Q.g.oa];if(c===b)return c;var d=Ra(b,null);c&&c[Q.g.U]&&(d[Q.g.U]=(d[Q.g.U]||[]).concat(c[Q.g.U]));return d},kF=function(a,b){var c=To(!0);return c._up!=="1"?{}:{clientId:c[a],Qa:c[b]}},lF=function(a,b,c){var d=To(!0),e=d[b];e&&(XE(a,e,2),YE(e,a));var f=d[c];f&&gF(f,a);return{clientId:e,Qa:f}},mF=function(){var a=Wi(z.location,"host"),b=Wi($i(D.referrer),"host");return a&&b?a===b||a.indexOf("."+b)>=0||b.indexOf("."+a)>=0?!0:!1:!1},nF=function(a){if(!T(a.m,
Q.g.Va))return{};var b=a.metadata.cookie_options,c=b.prefix+"_ga",d=eF(a,b);ap(function(){var e;if(U("analytics_storage"))e={};else{var f={};e=(f._up="1",f[c]=a.j[Q.g.lb],f[d]=iF(a),f)}return e},1);return!U("analytics_storage")&&mF()?kF(c,d):{}},pF=function(a){var b=jF(a)||{},c=a.metadata.cookie_options,d=c.prefix+"_ga",e=eF(a,c),f={};cp(b[Q.g.yc],!!b[Q.g.U])&&(f=lF(a,d,e),f.clientId&&f.Qa&&(oF=!0));b[Q.g.U]&&$o(function(){var g={},k=aF(a);k&&(g[d]=k);var m=hF(a);m&&(g[e]=m);var n=io("FPLC",void 0,
void 0,Q.g.T);n.length&&(g._fplc=n[0]);return g},b[Q.g.U],b[Q.g.Ib],!!b[Q.g.sb]);return f},oF=!1;var qF=function(a){if(!a.metadata.is_merchant_center&&hj(a.m)){var b=jF(a)||{},c=(cp(b[Q.g.yc],!!b[Q.g.U])?To(!0)._fplc:void 0)||(io("FPLC",void 0,void 0,Q.g.T).length>0?void 0:"0");a.j._fplc=c}};function rF(a){if(Vs(a)||Ci())a.j[Q.g.Ri]=Mk()||Lk(),P(64)&&(a.j[Q.g.aj]="::")};var tF=function(a,b){var c=hi.grl;c||(c=sF(),hi.grl=c);c(b)||(M(35),a.isAborted=!0)},sF=function(){var a=zb(),b=a+864E5,c=20,d=5E3;return function(e){var f=zb();f>=b&&(b=f+864E5,d=5E3);c=Math.min(c+(f-a)/1E3*5,20);a=f;var g=!1;d<1||c<1||(g=!0,d--,c--);e&&(e.ol=d,e.fl=c);return g}};
var uF=function(a){if(T(a.m,Q.g.Yc)!==void 0)a.copyToHitData(Q.g.Yc);else{var b=T(a.m,Q.g.nf),c,d;a:{if(oF){var e=jF(a)||{};if(e&&e[Q.g.U])for(var f=Ui($i(a.j[Q.g.Aa]),"host",!0),g=e[Q.g.U],k=0;k=0){d=!0;break a}}d=!1}if(!(c=d)){var m;if(m=b)a:{for(var n=b.include_conditions||[],p=Ui($i(a.j[Q.g.Aa]),"host",!0),q=0;q=0&&(c=a.pathname.substring(0,d));b.transport_url=a.protocol+"//"+a.hostname+c;return b},NF=function(a,b,c){var d=0,e=new z.XMLHttpRequest;e.withCredentials=!0;e.onprogress=function(f){if(e.status===200){var g=e.responseText.substring(d);d=f.loaded;JF(c,g)}};e.open(b?"POST":"GET",a);e.setAttributionReporting&&e.setAttributionReporting({eventSourceEligible:!1,triggerEligible:!0});
e.send(b)},PF=function(a,b,c){var d=Object.assign({},OF);b&&(d.body=b,d.method="POST");z.fetch(a,d).then(function(e){if(e.ok&&e.body){var f=e.body.getReader();return new Promise(function(g){function k(){f.read().then(function(m){var n,p;n=m.done;p=m.value;if(n)g();else{var q=(new TextDecoder).decode(p);JF(c,q);k()}}).catch(function(){g()})}k()})}}).catch(function(){P(88)&&(a+="&_z=retryFetch",b?Ic(a,b):Hc(a))})},QF=function(a,b){return IF(new HF(function(c,d){var e=LF(c,a);b&&(e=e.replace("_is_sw=0",
b));var f={};d.attribution_reporting&&(f.attributionsrc="");zc(e,void 0,void 0,f)}),function(c,d){var e=LF(c,a),f=d.dedupe_key;f&&Lt(e,f)})},RF=function(a,b,c,d){var e=QF(c,d);P(87)&&Lc()?PF(a,b,e):NF(a,b,e)},SF=function(a,b){var c=$i(a),d=MF(c),e=KF(c);P(91)?qt(e,b,d,function(f){RF(e,b,d,f)}):RF(e,b,d)},OF=Object.freeze({cache:"no-store",credentials:"include",method:"GET",keepalive:!0,redirect:"follow"});
var TF=function(a,b){return a?[a,b].join("&"):b},UF=function(a,b,c){var d=a+"?"+b;c?Ic(d,c):Hc(d)},WF=function(a,b,c,d){var e=b,f=Nc();f!==void 0&&(e+="&tfd="+Math.round(f));b=e;var g=a+"?"+b;VF&&(d=!Eb(g,xF())&&!Eb(g,wF()));if(d&&!NE)SF(g,c);else{var k=b;Lc()?Kc(a+"?"+k,c,{noFallback:!0})||UF(a,TF(k,"_z=failedfetch"),c):UF(a,TF(k,"_z=nofetch"),c)}},XF=function(a,b){function c(u){n.push(u+"="+encodeURIComponent(""+a.fa[u]))}var d=b.Km,e=b.Lm,f=b.Gl,g=b.Xl,k=b.Wl,m=b.Bm;if(d||e){var n=[];a.fa._ng&&
c("_ng");c("tid");c("cid");c("gtm");n.push("aip=1");a.Jc.uid&&!k&&n.push("uid="+encodeURIComponent(""+a.Jc.uid));var p=function(){c("dma");a.fa.dma_cps!=null&&c("dma_cps");a.fa.gcs!=null&&c("gcs");c("gcd");a.fa.npa!=null&&c("npa")};p();a.fa.frm!=null&&c("frm");d&&(Ai.j&&n.push("tag_exp="+Ai.j),UF("https://stats.g.doubleclick.net/g/collect","v=2&"+n.join("&")),n.join("&"));if(e){var q=function(){var u=Nt()+"/td/ga/rul?";n=[];c("tid");n.push("gacid="+encodeURIComponent(String(a.fa.cid)));c("gtm");p();
c("pscdl");a.fa._ng!=null&&c("_ng");n.push("aip=1");n.push("fledge=1");a.fa.frm!=null&&c("frm");Ai.j&&n.push("tag_exp="+Ai.j);n.push("z="+qb());var v=u+n.join("&");Lt(v,a.fa.tid)};Ai.j&&n.push("tag_exp="+Ai.j);n.push("z="+qb());if(!g){var r=f&&Eb(f,"google.")&&f!=="google.com"?"https://www.%/ads/ga-audiences?v=1&t=sr&slf_rd=1&_r=4&".replace("%",f):void 0;if(r){var t=r+n.join("&");zc(t)}}P(75)&&m&&!NE&&q()}}},VF=!1;
var YF=function(){this.K=1;this.P={};this.C=-1;this.j=new Yf};YF.prototype.F=function(a,b){var c=this,d=new GF(a,this.P,b),e=OE(a);e&&this.j.P(d)||this.flush();if(e&&this.j.add(d)){if(this.C<0){var f=z.setTimeout,g;Vs(a)?ZF?(ZF=!1,g=$F):g=aG:g=5E3;this.C=f.call(z,function(){c.flush()},g)}}else{var k=ag(d,this.K++);WF(d.baseUrl,k.params,k.body,d.F);var m=a.metadata.create_dc_join,n=a.metadata.create_google_join,p=T(a.m,Q.g.za)!==!1,q=Dn(a.m),r={eventId:a.m.eventId,priorityId:a.m.priorityId},t=a.j[Q.g.Cg],
u={Km:m,Lm:n,Gl:Rk(),yn:p,xn:q,Xl:Nk(),Wl:a.metadata.euid_mode_enabled,Cn:r,Bm:t,m:a.m};XF(d,u)}qv(a.m.eventId,a.eventName)};YF.prototype.add=function(a){a.metadata.euid_mode_enabled&&!NE?this.X(a):this.F(a)};YF.prototype.flush=function(){if(this.j.events.length){var a=cg(this.j,this.K++);WF(this.j.baseUrl,a.params,a.body,this.j.C);this.j=new Yf;this.C>=0&&(z.clearTimeout(this.C),this.C=-1)}};YF.prototype.X=function(a){var b=this,c=Us(a),d=P(68)&&!(c!=null&&Object.keys(c).length>0);!c||d?this.F(a):
vh(c,function(e){b.F(a,e.split("~").length===1?void 0:e)})};var $F=Oh('',500),aG=Oh('',5E3),ZF=!0;
var bG=function(a,b,c){c===void 0&&(c={});if(b==null)return c;if(typeof b==="object")for(var d=ka(Object.keys(b)),e=d.next();!e.done;e=d.next()){var f=e.value;bG(a+"."+f,b[f],c)}else c[a]=b;return c},cG=function(a){for(var b={},c=ka(a),d=c.next();!d.done;d=c.next()){var e=d.value;b[e]=!!U(e)}return b},eG=function(a,b){var c=dG.filter(function(e){return!U(e)});if(c.length){var d=cG(c);$k(c,function(){for(var e=cG(c),f=[],g=ka(c),k=g.next();!k.done;k=g.next()){var m=k.value;!d[m]&&e[m]&&f.push(m);e[m]&&
(d[m]=!0)}if(f.length){b.metadata.is_consent_update=!0;var n=f.map(function(p){return bi[p]}).join(".");n&&Rs(b,"gcut",n);a(b)}})}},fG=function(a){P(108)&&Vs(a)&&T(a.m,Q.g.Dd,!0)===!1&&(a.j[Q.g.Dd]=0)},gG=function(a,b){if(Vs(b)){var c=b.metadata.is_conversion;(b.eventName==="page_view"||c)&&eG(a,b)}},hG=function(a){if(Vs(a)&&a.eventName===Q.g.Kc&&a.metadata.is_consent_update){var b=a.j[Q.g.dg];b&&(Rs(a,"gcut",b),Rs(a,"syn",1))}},iG=function(a){P(109)&&Vs(a)&&T(a.m,Q.g.za)!==!1&&Jt("join-ad-interest-group")&&
mb(nc.joinAdInterestGroup)&&Rs(a,"flg",1)},jG=function(a){Vs(a)&&(a.metadata.speculative=!1)},kG=function(a){Vs(a)&&(a.metadata.speculative&&Rs(a,"sp",1),a.metadata.is_syn&&Rs(a,"syn",1),a.metadata.em_event&&(Rs(a,"em_event",1),Rs(a,"sp",1)))},lG=function(a){if(Vs(a)){var b=ui;b&&Rs(a,"tft",Number(b))}},mG=function(a){function b(e){var f=bG(Q.g.Ba,e);l(f,function(g,k){a.j[g]=k})}if(Vs(a)){var c=Ss(a,"ccd_add_1p_data",!1)?1:0;Rs(a,"ude",c);var d=T(a.m,Q.g.Ba);d!==void 0?(b(d),a.j[Q.g.jd]="c"):b(a.metadata.user_data);
a.metadata.user_data=void 0}},nG=function(a){if(Vs(a)){var b=fr();b&&Rs(a,"us_privacy",b);var c=xn();c&&Rs(a,"gdpr",c);var d=wn();d&&Rs(a,"gdpr_consent",d)}},oG=function(a){Vs(a)&&zk()&&T(a.m,Q.g.da)&&Rs(a,"adr",1)},pG=function(a){if(Vs(a)){var b=zF?Pk():"";b&&Rs(a,"gcsub",b)}},qG=function(a){if(Vs(a)){T(a.m,Q.g.kb,void 0,4)===!1&&Rs(a,"ngs",1);Nk()&&Rs(a,"ga_rd",1);rD()||Rs(a,"ngst",1);var b=Rk();b&&Rs(a,"etld",b)}},rG=function(a){},sG=function(a){Vs(a)&&zk()&&Rs(a,"rnd",Mq())},dG=[Q.g.O,Q.g.N];
var tG=function(a,b){var c;a:{var d=iF(a);if(d){if(gF(d,a)){c=d;break a}M(25);a.isAborted=!0}c=void 0}var e=c;return{clientId:ZE(a,b),Qa:e}},uG=function(a,b,c,d,e){var f=T(a.m,Q.g.lb);if(T(a.m,Q.g.Hb)&&T(a.m,Q.g.Ub))f?XE(a,f,1):(M(127),a.isAborted=!0);else{var g=f?1:8;a.metadata.is_new_to_site=!1;f||(f=aF(a),g=3);f||(f=b,g=5);if(!f){var k=U(Q.g.T),m=UE();f=!m.from_cookie||k?m.vid:void 0;g=6}f?f=""+f:(f=Ao(),g=7,a.metadata.is_first_visit=a.metadata.is_new_to_site=!0);XE(a,f,g)}var n=Math.floor(a.metadata.event_start_timestamp_ms/
1E3),p=void 0;a.metadata.is_new_to_site||(p=hF(a)||c);var q=ub(T(a.m,Q.g.gd,30));q=Math.min(475,q);q=Math.max(5,q);var r=ub(T(a.m,Q.g.qf,1E4)),t=bF(p);a.metadata.is_first_visit=!1;a.metadata.is_session_start=!1;a.metadata.join_timer_sec=0;t&&t.sh&&(a.metadata.join_timer_sec=Math.max(0,t.sh-Math.max(0,n-t.Ne)));var u=!1;t||(u=a.metadata.is_first_visit=!0,t={sessionId:String(n),Ic:1,wd:!1,Ne:n,Ec:!1,nd:void 0});n>t.Ne+q*60&&(u=!0,t.sessionId=String(n),t.Ic++,t.wd=!1,t.nd=void 0);if(u)a.metadata.is_session_start=
!0,d.Ml(a);else if(d.El()>r||a.eventName===Q.g.Rb)t.wd=!0;a.metadata.euid_mode_enabled?T(a.m,Q.g.ya)?t.Ec=!0:(t.Ec&&!P(12)&&(t.nd=void 0),t.Ec=!1):t.Ec=!1;var v=t.nd;if(a.metadata.euid_mode_enabled||Vs(a)){var w=T(a.m,Q.g.Nd),x=w?1:8;w||(w=v,x=4);w||(w=zo(),x=7);var y=w.toString(),A=x,B=a.metadata.enhanced_client_id_source;if(B===void 0||A<=B)a.j[Q.g.Nd]=y,a.metadata.enhanced_client_id_source=A}e?(a.copyToHitData(Q.g.tb,t.sessionId),a.copyToHitData(Q.g.Zd,t.Ic),a.copyToHitData(Q.g.Yd,t.wd?1:0)):(a.j[Q.g.tb]=
t.sessionId,a.j[Q.g.Zd]=t.Ic,a.j[Q.g.Yd]=t.wd?1:0);a.metadata[Q.g.jf]=t.Ec?1:0};var vG=window,wG=document,xG=function(a){var b=vG._gaUserPrefs;if(b&&b.ioo&&b.ioo()||wG.documentElement.hasAttribute("data-google-analytics-opt-out")||a&&vG["ga-disable-"+a]===!0)return!0;try{var c=vG.external;if(c&&c._gaUserPrefs&&c._gaUserPrefs=="oo")return!0}catch(p){}for(var d=[],e=String(wG.cookie).split(";"),f=0;f0&&RE(17);TG(a);uG(a,this.clientId,this.Qa,this.C,!this.Oa);UG(a);VG(a);WG(a);
XG(a);YG(a);ZG(a);$G(a);qF(a);uF(a);sG(a);rG(a);qG(a);pG(a);oG(a);nG(a);lG(a);kG(a);iG(a);hG(a);fG(a);rF(a);aH(a);bH(a);cH(a);qr(a);pr(a);dH(a);eH(a);Nr(a);mG(a);jG(a);fH(a);!this.K&&a.metadata.em_event&&RE(18);SE(a);if(a.metadata.speculative||a.isAborted){a.m.onFailure();TE();return}this.Sj(tG(a,this.clientId));this.Oa=!0;this.Pm(a);gH(a);gG(function(f){b.vj(f)},a);this.C.Hh();hH(a);if(a.isAborted){a.m.onFailure();TE();return}this.vj(a);a.m.onSuccess()}catch(f){a.m.onFailure()}TE()};aa.vj=function(a){this.X.add(a)};
aa.Sj=function(a){var b=a.clientId,c=a.Qa;b&&c&&(this.clientId=b,this.Qa=c)};aa.flush=function(){this.X.flush()};aa.Pm=function(a){var b=this;if(!this.P){var c=U(Q.g.N),d=U(Q.g.T);$k([Q.g.N,Q.g.T],function(){var e=U(Q.g.N),f=U(Q.g.T),g=!1,k={},m={};if(d!==f&&b.j&&b.Qa&&b.clientId){var n=b.clientId,p;var q=bF(b.Qa);p=q?q.nd:void 0;if(f){var r=aF(b.j);if(r){b.clientId=r;var t=hF(b.j);t&&(b.Qa=dF(t,b.Qa,b.j))}else YE(b.clientId,b.j),WE(b.clientId,!0);gF(b.Qa,b.j);g=!0;k[Q.g.qg]=n;P(57)&&p&&(k[Q.g.Ck]=
p)}else b.Qa=void 0,b.clientId=void 0,z.gaGlobal={}}e&&!c&&(g=!0,m.is_consent_update=!0,k[Q.g.dg]=bi[Q.g.N]);if(g){var u=zx(b.F,Q.g.Kc,k);Gx(u,a.m.eventId,{eventMetadata:m})}d=f;c=e});this.P=!0}};aa.Kk=function(a){a.eventName!==Q.g.Sa&&this.C.Jk(a)};var LG=function(a){var b=D.location.protocol;b!=="http:"&&b!=="https:"&&(M(29),a.isAborted=!0)},MG=function(a){nc&&nc.loadPurpose==="preview"&&(M(30),a.isAborted=!0)},NG=function(a){var b={prefix:String(T(a.m,Q.g.Ma,"")),path:String(T(a.m,Q.g.Eb,"/")),
flags:String(T(a.m,Q.g.Xa,"")),domain:String(T(a.m,Q.g.Ua,"auto")),yb:Number(T(a.m,Q.g.La,63072E3))};a.metadata.cookie_options=b},PG=function(a){if(a.metadata.is_merchant_center)a.metadata.euid_mode_enabled=!1;else if(Ss(a,"ccd_add_1p_data",!1)||Ss(a,"ccd_add_ec_stitching",!1))a.metadata.euid_mode_enabled=!0},QG=function(a){if(a.metadata.euid_mode_enabled&&Ss(a,"ccd_add_1p_data",!1)){var b=a.m.C[Q.g.ae];if(Qi(b)){var c=T(a.m,Q.g.Ba);c===null?a.metadata.user_data_from_code=null:(b.enable_code&&Qa(c)&&
(a.metadata.user_data_from_code=c),Qa(b.selectors)&&!a.metadata.user_data_from_manual&&(a.metadata.user_data_from_manual=Pi(b.selectors)))}}},RG=function(a){if(P(66)&&!P(65)&&Ss(a,"ga4_ads_linked",!1)&&a.eventName===Q.g.aa){var b=T(a.m,Q.g.na)!==!1;if(b){var c=gr(a);c.yb&&(c.yb=Math.min(c.yb,7776E3));hr({md:b,ud:T(a.m,Q.g.oa)||{},yd:T(a.m,Q.g.Va),ac:c})}}},aH=function(a){if(!Ct(z))M(87);else if(Ht!==void 0){M(85);var b=At();b?T(a.m,Q.g.Xd)&&!Vs(a)||Et(b,a):M(86)}},SG=function(a){a.eventName===Q.g.aa&&
(T(a.m,Q.g.Ha,!0)?(a.m.j[Q.g.ia]&&(a.m.F[Q.g.ia]=a.m.j[Q.g.ia],a.m.j[Q.g.ia]=void 0,a.j[Q.g.ia]=void 0),a.eventName=Q.g.Rb):a.isAborted=!0)},OG=function(a){function b(c,d){Sh[c]||d===void 0||(a.j[c]=d)}l(a.m.F,b);l(a.m.j,b)},UG=function(a){var b=El(a.m),c=function(d,e){FG[d]&&(a.j[d]=e)};Qa(b[Q.g.Pc])?l(b[Q.g.Pc],function(d,e){c((Q.g.Pc+"_"+d).toLowerCase(),e)}):l(b,c)},TG=DG,gH=function(a){if(P(91)&&U(Q.g.T)){Vs(a)&&(a.metadata.is_sgtm_service_worker=!0,Vs(a)&&Rs(a,"sw_exp",1));a:{}}},dH=function(a){if(a.eventName===Q.g.Sa){var b=T(a.m,Q.g.qb);T(a.m,Q.g.Fb)(a.j[b]||T(a.m,b));a.isAborted=!0}},VG=function(a){if(!T(a.m,Q.g.Ub)||!T(a.m,Q.g.Hb)){var b=a.copyToHitData,c=Q.g.qa,d="",e=D.location;if(e){var f=e.pathname||"";f.charAt(0)!=="/"&&(f="/"+f);var g=e.search||"";if(g&&g[0]==="?")for(var k=
g.substring(1).split("&"),m=0;m=0)a.isAborted=!0;else{var b=Ts(a);b&&b.blacklisted&&(a.isAborted=!0)}},YG=function(a){var b=function(c){return!!c&&c.conversion};a.metadata.is_conversion=b(Ts(a));a.metadata.is_first_visit&&(a.metadata.is_first_visit_conversion=b(Ts(a,"first_visit")));a.metadata.is_session_start&&(a.metadata.is_session_start_conversion=b(Ts(a,"session_start")))},
ZG=function(a){Wh.hasOwnProperty(a.eventName)&&(a.metadata.is_ecommerce=!0,a.copyToHitData(Q.g.ba),a.copyToHitData(Q.g.wa))};function IG(a){l(a,function(c){c.charAt(0)==="_"&&delete a[c]});var b=a[Q.g.Za]||{};l(b,function(c){c.charAt(0)==="_"&&delete b[c]})}var jH=function(a){if(!iH(a)){var b=!1,c=function(){!b&&iH(a)&&(b=!0,Cc(D,"visibilitychange",c),P(4)&&Cc(D,"prerenderingchange",c),M(55))};Bc(D,"visibilitychange",c);P(4)&&Bc(D,"prerenderingchange",c);M(54)}},iH=function(a){if(P(4)&&"prerendering"in D?D.prerendering:D.visibilityState==="prerender")return!1;a();return!0};function kH(a,b){jH(function(){var c=il(a);if(c){var d=lH(c,b);jm(a,d)}});}function lH(a,b){var c=function(){};var d=new HG(a.id),e=a.prefix==="MC";c=function(f,g,k,m){e&&(m.eventMetadata.is_merchant_center=!0);d.zm(g,k,m)};zj||mH(a,d,b);return c}
function mH(a,b,c){var d=b.C,e={},f={eventId:c,eventMetadata:(e.batch_on_navigation=!0,e)};P(47)&&(f.deferrable=!0);d.Cm(function(){NE=!0;km.flush();d.If()>=1E3&&nc.sendBeacon!==void 0&&lm(Q.g.Kc,{},a.id,f);b.flush();d.Tj(function(){NE=!1;d.Tj()})});};var nH=lH;function pH(a,b,c){var d=this;}pH.H="internal.gtagConfig";function qH(){var a={};a={EventNames:{APP_REMOVE:Q.g.Zh,APP_STORE_REFUND:Q.g.ai,APP_STORE_SUBSCRIPTION_CANCEL:Q.g.bi,APP_STORE_SUBSCRIPTION_CONVERT:Q.g.di,APP_STORE_SUBSCRIPTION_RENEW:Q.g.ei,ECOMMERCE_ADD_PAYMENT:Q.g.Vf,ECOMMERCE_ADD_SHIPPING:Q.g.Wf,ECOMMERCE_CART_ADD:Q.g.ic,ECOMMERCE_CART_REMOVE:Q.g.jc,ECOMMERCE_CART_VIEW:Q.g.Xf,ECOMMERCE_CHECKOUT:Q.g.Qb,ECOMMERCE_ITEM_LIST_CLICK:Q.g.kc,ECOMMERCE_ITEM_LIST_VIEW:Q.g.hb,ECOMMERCE_PROMOTION_CLICK:Q.g.Cb,
ECOMMERCE_PROMOTION_VIEW:Q.g.ib,ECOMMERCE_PURCHASE:Q.g.Ga,ECOMMERCE_REFUND:Q.g.mc,ECOMMERCE_VIEW_ITEM:Q.g.Ka,ECOMMERCE_WISHLIST_ADD:Q.g.Yf,FIRST_OPEN:Q.g.fi,FIRST_VISIT:Q.g.gi,GTAG_CONFIG:Q.g.aa,GTAG_GET:Q.g.Sa,IN_APP_PURCHASE:Q.g.hi,PAGE_VIEW:Q.g.Rb,SESSION_START:Q.g.ii,USER_ENGAGEMENT:Q.g.Kc},EventParameters:{ACCEPT_INCOMING:Q.g.yc,ADS_DATA_REDACTION:Q.g.da,AFFILIATION:Q.g.gg,ALLOW_AD_PERSONALIZATION_SIGNALS:Q.g.ja,ALLOW_CUSTOM_SCRIPTS:Q.g.af,ALLOW_DISPLAY_FEATURES:Q.g.bf,ALLOW_ENHANCED_CONVERSIONS:Q.g.Ed,
ALLOW_GOOGLE_SIGNALS:Q.g.kb,ALLOW_INTEREST_GROUPS:Q.g.za,AUID:Q.g.Db,AUTO_DETECTION_ENABLED:Q.g.ri,AW_BASKET_ITEMS:Q.g.ba,AW_BASKET_TYPE:Q.g.cg,AW_FEED_COUNTRY:Q.g.Gd,AW_FEED_LANGUAGE:Q.g.Hd,AW_MERCHANT_ID:Q.g.Id,AW_REMARKETING:Q.g.Sb,AW_REMARKETING_ONLY:Q.g.cf,CAMPAIGN:Q.g.Pc,CAMPAIGN_CONTENT:Q.g.Lc,CAMPAIGN_ID:Q.g.Mc,CAMPAIGN_MEDIUM:Q.g.Nc,CAMPAIGN_NAME:Q.g.Oc,CAMPAIGN_SOURCE:Q.g.Qc,CAMPAIGN_TERM:Q.g.Rc,CHECKOUT_OPTION:Q.g.Ld,CHECKOUT_STEP:Q.g.ef,CLIENT_ID:Q.g.lb,CONTENT_GROUP:Q.g.ui,CONTENT_TYPE:Q.g.vi,
CONVERSION_API:Q.g.Tb,CONVERSION_COOKIE_PREFIX:Q.g.Wa,CONVERSION_ID:Q.g.Sc,CONVERSION_LABEL:Q.g.nb,CONVERSION_LINKER:Q.g.na,COOKIE_DOMAIN:Q.g.Ua,COOKIE_EXPIRES:Q.g.La,COOKIE_FLAGS:Q.g.Xa,COOKIE_NAME:Q.g.nc,COOKIE_PATH:Q.g.Eb,COOKIE_PREFIX:Q.g.Ma,COOKIE_UPDATE:Q.g.oc,COUNTRY:Q.g.qc,COUPON:Q.g.hg,CURRENCY:Q.g.wa,CUSTOMER_LIFETIME_VALUE:Q.g.Jd,CUSTOM_MAP:Q.g.Tc,DC_CUSTOM_PARAMS:Q.g.Uc,DC_NATURAL_SEARCH:Q.g.zi,DEBUG_MODE:Q.g.xi,DECORATE_FORMS:Q.g.sb,DELIVERY_POSTAL_CODE:Q.g.hd,DEVELOPER_ID:Q.g.ia,DISABLE_MERCHANT_REPORTED_PURCHASES:Q.g.yi,
DISCOUNT:Q.g.Fd,DYNAMIC_EVENT_SETTINGS:Q.g.fg,ENGAGEMENT_TIME_MSEC:Q.g.Md,ENHANCED_CLIENT_ID:Q.g.Nd,ENHANCED_CONVERSIONS:Q.g.Od,ENHANCED_CONVERSIONS_AUTOMATIC_SETTINGS:Q.g.ig,ESTIMATED_DELIVERY_DATE:Q.g.Pd,EUID_LOGGED_IN_STATE:Q.g.jf,EVENT:Q.g.rc,EVENT_CALLBACK:Q.g.Xc,EVENT_DEVELOPER_ID_STRING:Q.g.ob,EVENT_SETTINGS:Q.g.Qd,EVENT_TIMEOUT:Q.g.Rd,EXPERIMENTS:Q.g.Bi,FIREBASE_ID:Q.g.kf,FIRST_PARTY_COLLECTION:Q.g.sc,FIRST_PARTY_DUAL_TAGGING_ID:Q.g.Sd,FIRST_PARTY_URL:Q.g.pb,FLEDGE:Q.g.jg,FLIGHT_ERROR_CODE:Q.g.kg,
FLIGHT_ERROR_MESSAGE:Q.g.lg,GAC_GCLID:Q.g.Td,GAC_WBRAID:Q.g.uc,GAC_WBRAID_MULTIPLE_CONVERSIONS:Q.g.og,GA_RESTRICT_DOMAIN:Q.g.pg,GA_TEMP_CLIENT_ID:Q.g.qg,GCLID:Q.g.Ta,GDPR_APPLIES:Q.g.vc,GEO_GRANULARITY:Q.g.rg,GLOBAL_DEVELOPER_ID_STRING:Q.g.rb,GOOGLE_NG:Q.g.wc,GOOGLE_SIGNALS:Q.g.xc,GOOGLE_TLD:Q.g.sg,GROUPS:Q.g.Ud,GSA_EXPERIMENT_ID:Q.g.ug,IFRAME_STATE:Q.g.Gb,IGNORE_REFERRER:Q.g.Yc,INTERNAL_TRAFFIC_RESULTS:Q.g.lf,IS_LEGACY_LOADED:Q.g.Hb,IS_PASSTHROUGH:Q.g.Vd,ITEM_LIST_NAME:Q.g.Vc,LANGUAGE:Q.g.Na,LEGACY_DEVELOPER_ID_STRING:Q.g.Wd,
LINKER:Q.g.oa,LINKER_DOMAINS:Q.g.U,LINKER_URL_POSITION:Q.g.Ib,LIST_NAME:Q.g.ff,METHOD:Q.g.vg,NEW_CUSTOMER:Q.g.bd,NON_INTERACTION:Q.g.wg,OPTIMIZE_ID:Q.g.Ki,PAGE_HOSTNAME:Q.g.Li,PAGE_LOCATION:Q.g.qa,PAGE_PATH:Q.g.dd,PAGE_REFERRER:Q.g.Aa,PAGE_TITLE:Q.g.Ya,PASSENGERS:Q.g.xg,PHONE_CONVERSION_CALLBACK:Q.g.yg,PHONE_CONVERSION_COUNTRY_CODE:Q.g.Mi,PHONE_CONVERSION_CSS_CLASS:Q.g.zg,PHONE_CONVERSION_IDS:Q.g.Ni,PHONE_CONVERSION_NUMBER:Q.g.Ag,PHONE_CONVERSION_OPTIONS:Q.g.Bg,PROMOTIONS:Q.g.Ai,QUANTITY:Q.g.ed,REDACT_DEVICE_INFO:Q.g.Xd,
REFERRAL_EXCLUSION_DEFINITION:Q.g.nf,RESTRICTED_DATA_PROCESSING:Q.g.Vb,RETOKEN:Q.g.Oi,SCREEN_NAME:Q.g.pf,SCREEN_RESOLUTION:Q.g.Jb,SEARCH_TERM:Q.g.Pi,SEND_PAGE_VIEW:Q.g.Ha,SEND_TO:Q.g.Wb,SESSION_DURATION:Q.g.gd,SESSION_ENGAGED:Q.g.Yd,SESSION_ENGAGED_TIME:Q.g.qf,SESSION_ID:Q.g.tb,SESSION_NUMBER:Q.g.Zd,SHIPPING:Q.g.Wc,TAX:Q.g.hf,TC_PRIVACY_STRING:Q.g.zc,TEMPORARY_CLIENT_ID:Q.g.Fk,TOPMOST_URL:Q.g.tf,TRACKING_ID:Q.g.Qi,TRAFFIC_TYPE:Q.g.uf,TRANSACTION_ID:Q.g.xa,TRANSPORT_URL:Q.g.Kb,TRIP_TYPE:Q.g.Dg,UPDATE:Q.g.Xb,
URL_PASSTHROUGH:Q.g.Va,USER_DATA:Q.g.Ba,USER_DATA_AUTO_LATENCY:Q.g.Eg,USER_DATA_AUTO_META:Q.g.Fg,USER_DATA_AUTO_MULTI:Q.g.Gg,USER_DATA_AUTO_SELECTORS:Q.g.Hg,USER_DATA_AUTO_STATUS:Q.g.Ig,USER_DATA_MODE:Q.g.jd,USER_DATA_SETTINGS:Q.g.ae,USER_ID:Q.g.ya,USER_PROPERTIES:Q.g.Za,US_PRIVACY_STRING:Q.g.be,VALUE:Q.g.ka,VALUE_CALLBACK:Q.g.Fb,VALUE_KEY:Q.g.qb,WBRAID:Q.g.jb,WBRAID_MULTIPLE_CONVERSIONS:Q.g.Jg},Consent:{AD_STORAGE:Q.g.O,ANALYTICS_STORAGE:Q.g.T,CONSENT_UPDATED:Q.g.Pb,REGION:Q.g.Bb,WAIT_FOR_UPDATE:Q.g.Ye}};
return a};
function sH(a,b){}sH.R="gtagSet";function tH(a,b){}tH.R="injectHiddenIframe";var uH=kz();
function vH(a,b,c,d,e){var f=this;}vH.H="internal.injectHtml";var zH={};
function BH(a,b,c,d){}var CH={dl:1,id:1},DH={};
function EH(a,b,c,d){}BH.R="injectScript";EH.H="internal.injectScript";function FH(a){var b=!0;return b}FH.R="isConsentGranted";function GH(){return Ok()}GH.H="internal.isDmaRegion";function HH(a){var b=!1;return b}HH.H="internal.isEntityInfrastructure";function IH(){var a=Wg(function(b){yz(this).log("error",b)});a.R="JSON";return a};function JH(a){var b=void 0;return cd(b)}JH.H="internal.legacyParseUrl";function KH(){return!1}
var LH={getItem:function(a){var b=null;return b},setItem:function(a,b){return!1},removeItem:function(a){}};function MH(){}MH.R="logToConsole";function NH(a,b){}NH.H="internal.mergeRemoteConfig";function OH(a,b,c){c=c===void 0?!0:c;var d=[];return cd(d)}OH.H="internal.parseCookieValuesFromString";function PH(a){var b=void 0;if(typeof a!=="string")return;a&&Eb(a,"//")&&(a=D.location.protocol+a);if(typeof URL==="function"){var c;a:{var d;try{d=new URL(a)}catch(w){c=void 0;break a}for(var e={},f=Array.from(d.searchParams),g=0;g0&&e.charAt(0)!=="."&&(f--,e="."+e);if(f>=0&&c.indexOf(e,f)===f)return!0}}return!1}
function LI(a,b,c){for(var d={},e=!1,f=0;a&&f-1)return}else if(q==="write"){if(f.indexOf(r)>-1)return}else if(q==="readwrite"){if(f.indexOf(r)>-1&&e.indexOf(r)>-1)return}else if(q==="execute"){if(g.indexOf(r)>-1)return}else throw d(p,
{},"Operation must be either 'read', 'write', or 'execute', was "+q);throw d(p,{},"Prohibited "+q+" on global variable: "+r+".");},M:a}})}();Y.securityGroups.v=["google"],Y.__v=function(a){var b=a.vtp_name;if(!b||!b.replace)return!1;var c=YI(b.replace(/\\\./g,"."),a.vtp_dataLayerVersion||1);return c!==void 0?c:a.vtp_defaultValue},Y.__v.o="v",Y.__v.isVendorTemplate=!0,Y.__v.priorityOverride=0,Y.__v.isInfrastructure=!0,Y.__v.runInSiloedMode=!1;
Y.securityGroups.read_event_data=["google"],function(){function a(b,c){return{key:c}}(function(b){Y.__read_event_data=b;Y.__read_event_data.o="read_event_data";Y.__read_event_data.isVendorTemplate=!0;Y.__read_event_data.priorityOverride=0;Y.__read_event_data.isInfrastructure=!1;Y.__read_event_data.runInSiloedMode=!1})(function(b){var c=b.vtp_eventDataAccess,d=b.vtp_keyPatterns||[],e=b.vtp_createPermissionError;return{assert:function(f,g){if(g!=null&&!h(g))throw e(f,{key:g},"Key must be a string.");
if(c!=="any"){try{if(c==="specific"&&g!=null&&hg(g,d))return}catch(k){throw e(f,{key:g},"Invalid key filter.");}throw e(f,{key:g},"Prohibited read from event data.");}},M:a}})}();
Y.securityGroups.read_container_data=["google"],Y.__read_container_data=function(){return{assert:function(){},M:function(){return{}}}},Y.__read_container_data.o="read_container_data",Y.__read_container_data.isVendorTemplate=!0,Y.__read_container_data.priorityOverride=0,Y.__read_container_data.isInfrastructure=!1,Y.__read_container_data.runInSiloedMode=!1;
Y.securityGroups.detect_user_provided_data=["google"],function(){function a(b,c){return{dataSource:c}}(function(b){Y.__detect_user_provided_data=b;Y.__detect_user_provided_data.o="detect_user_provided_data";Y.__detect_user_provided_data.isVendorTemplate=!0;Y.__detect_user_provided_data.priorityOverride=0;Y.__detect_user_provided_data.isInfrastructure=!1;Y.__detect_user_provided_data.runInSiloedMode=!1})(function(b){var c=b.vtp_createPermissionError;return{assert:function(d,e){if(e!=="auto"&&e!=="manual"&&
e!=="code")throw c(d,{},"Unknown user provided data source.");if(b.vtp_limitDataSources)if(e!=="auto"||b.vtp_allowAutoDataSources){if(e==="manual"&&!b.vtp_allowManualDataSources)throw c(d,{},"Detection of user provided data via manually specified CSS selectors is not allowed.");if(e==="code"&&!b.vtp_allowCodeDataSources)throw c(d,{},"Detection of user provided data from an in-page variable is not allowed.");}else throw c(d,{},"Automatic detection of user provided data is not allowed.");},M:a}})}();
Y.securityGroups.gct=["google"],function(){function a(b){for(var c=[],d=0;d0&&(c[Q.g.gd]=d);c[Q.g.Qd]=b.vtp_eventSettings;c[Q.g.fg]=b.vtp_dynamicEventSettings;c[Q.g.xc]=b.vtp_googleSignals===1;c[Q.g.sg]=b.vtp_foreignTld;c[Q.g.pg]=b.vtp_restrictDomain===
1;c[Q.g.lf]=b.vtp_internalTrafficResults;var e=Q.g.oa,f=b.vtp_linker;f&&f[Q.g.U]&&(f[Q.g.U]=a(f[Q.g.U]));c[e]=f;var g=Q.g.nf,k=b.vtp_referralExclusionDefinition;k&&k.include_conditions&&(k.include_conditions=a(k.include_conditions));c[g]=k;var m=Oj(b.vtp_trackingId);pm(m,c);kH(m,b.vtp_gtmEventId);E(b.vtp_gtmOnSuccess)})}();
Y.securityGroups.get=["google"],Y.__get=function(a){var b=a.vtp_settings,c=b.eventParameters||{},d=String(a.vtp_eventName),e={};e.eventId=a.vtp_gtmEventId;e.priorityId=a.vtp_gtmPriorityId;a.vtp_deferrable&&(e.deferrable=!0);var f=zx(String(b.streamId),d,c);Gx(f,e.eventId,e);a.vtp_gtmOnSuccess()},Y.__get.o="get",Y.__get.isVendorTemplate=!0,Y.__get.priorityOverride=0,Y.__get.isInfrastructure=!1,Y.__get.runInSiloedMode=!1;
var cJ={};cJ.dataLayer=Ji;cJ.callback=function(a){wi.hasOwnProperty(a)&&mb(wi[a])&&wi[a]();delete wi[a]};cJ.bootstrap=0;cJ._spx=!1;
function dJ(){hi[Fj()]=hi[Fj()]||cJ;Sj();Wj()||l(Xj(),function(d,e){jw(d,e.transportUrl,e.context);M(92)});Cb(xi,Y.securityGroups);var a=Jj(Nj()),b,c=a==null?void 0:(b=a.context)==null?void 0:b.source;c!==2&&c!==4&&c!==3||M(142);qf=Hf}var eJ=!1;
(function(a){function b(){n=D.documentElement.getAttribute("data-tag-assistant-present");zy(n)&&(m=k.Vi)}function c(){m&&qc?g(m):a()}if(!z["__TAGGY_INSTALLED"]){var d=!1;if(D.referrer){var e=$i(D.referrer);d=Wi(e,"host")==="cct.google"}if(!d){var f=io("googTaggyReferrer");d=!(!f.length||!f[0].length)}d&&(z["__TAGGY_INSTALLED"]=!0,wc("https://cct.google/taggy/agent.js"))}var g=function(u){var v="GTM",w="GTM";ni&&(v="OGT",w="GTAG");var x=z["google.tagmanager.debugui2.queue"];x||(x=
[],z["google.tagmanager.debugui2.queue"]=x,wc("https://"+gi.Bd+"/debug/bootstrap?id="+Nf.ctid+"&src="+w+"&cond="+u+">m="+Xn()));var y={messageType:"CONTAINER_STARTING",data:{scriptSource:qc,containerProduct:v,debug:!1,id:Nf.ctid,targetRef:{ctid:Nf.ctid,isDestination:yj.je},aliases:Bj(),destinations:Ej()}};y.data.resume=function(){a()};gi.lk&&(y.data.initialPublish=!0);x.push(y)},k={Gk:1,Xi:2,mj:3,Yh:4,Vi:5};k[k.Gk]="GTM_DEBUG_LEGACY_PARAM";k[k.Xi]="GTM_DEBUG_PARAM";k[k.mj]="REFERRER";k[k.Yh]="COOKIE";k[k.Vi]="EXTENSION_PARAM";
var m=void 0,n=void 0,p=Ui(z.location,"query",!1,void 0,"gtm_debug");zy(p)&&(m=k.Xi);if(!m&&D.referrer){var q=$i(D.referrer);Wi(q,"host")==="tagassistant.google.com"&&(m=k.mj)}if(!m){var r=io("__TAG_ASSISTANT");r.length&&r[0].length&&(m=k.Yh)}m||b();if(!m&&Ay(n)){var t=!1;Bc(D,"TADebugSignal",function(){t||(t=!0,b(),c())},!1);z.setTimeout(function(){t||(t=!0,b(),c())},200)}else c()})(function(){try{var a;if(!(a=!P(58))){var b;if(!(b=eJ)){var c;a:{for(var d=wj().injectedFirstPartyContainers,e=ka(Aj()),
f=e.next();!f.done;f=e.next())if(d[f.value]){c=!0;break a}c=!1}b=!c}a=b}if(a){Qj();if(P(74)){}ib[12]=!0;rn();el();var g=Hj();if(wj().canonical[g]){var k=hi.zones;k&&k.unregisterChild(Aj());Vv().removeExternalRestrictions(Hj());}else{
It();a:{}Ai.j="0";Ai.K="";Ai.Oa="ad_storage|analytics_storage|ad_user_data|ad_personalization";Ai.X="ad_storage|analytics_storage|ad_user_data";Ai.P="4990";
Ai.P="4990";fw();for(var m=data.resource||{},n=m.macros||[],p=0;p