!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("<div/>",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return"left"===c&&b>i-f&&b<i+f?e=a:"right"===c&&b>i-g-f&&b<i-g+f?e=a+1:this.op(b,"<",i)&&this.op(b,">",h[a+1]!==d?h[a+1]:i-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",h[this.minimum()])?e=b=this.minimum():this.op(b,"<",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1,lazyLoadEager:0},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?a("<div/>",{class:"owl-video-tn "+j,srcType:c}):a("<div/>",{class:"owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("<div/>",{class:"owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>'),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('<div class="owl-video-frame" />').insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,
animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;</span>','<span aria-label="Next">&#x203a;</span>'],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('<button role="button">').addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d,e;e=this._core.settings;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)"$relative"===b&&e.navContainer?this._controls[b].html(""):this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
(()=> {
"use strict";
;
function _typeof(o){ "@babel/helpers - typeof"; return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, _typeof(o); }
function _classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); }}
function _createClass(e, r, t){ return r&&_defineProperties(e.prototype, r), t&&_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t){ var i=_toPrimitive(t, "string"); return "symbol"==_typeof(i) ? i:i + ""; }
function _toPrimitive(t, r){ if("object"!=_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var QuantityTable=function (){
function QuantityTable(element){
_classCallCheck(this, QuantityTable);
this.elementDOM=element;
this.mode='classic';
this.table=false;
this.productDOM=this.elementDOM.parents(ywdpd_qty_args.column_product_info_class);
this.qtyDOM=this.productDOM.find(ywdpd_qty_args.product_qty_classes);
this.variationForm=this.productDOM.find(ywdpd_qty_args.variation_form_class);
this.qtyDOM.on('change', this.handleChangeQuantity.bind(this));
this.initTable();
this.defaultTable=this.elementDOM.html();
if(this.variationForm){
this.variationForm.on('show_variation', this.showVariationTable.bind(this));
this.variationForm.on('reset_data', this.resetVariationTable.bind(this));
}}
return _createClass(QuantityTable, [{
key: "initTable",
value: function initTable(){
this.table=this.elementDOM.find('#ywdpd-quantity-table');
if(this.table.length){
this.table.on('click', 'td', this.handleTdClickEvent.bind(this));
}else{
this.table=this.elementDOM.find('#ywdpd-quantity-boxed');
if(this.table.length){
this.table.on('click', '.ywdpd-boxed-item', this.handleBoxItemClickEvent.bind(this));
this.table.on('click', '.ywdpd-boxed-item > *', this.handleBoxItemClickEvent.bind(this));
this.mode='boxed';
}}
this.selectDefaultQty();
}}, {
key: "handleTdClickEvent",
value: function handleTdClickEvent(event){
event.preventDefault();
var td=jQuery(event.target);
this.selectRightInfo(td);
}}, {
key: "handleBoxItemClickEvent",
value: function handleBoxItemClickEvent(event){
event.preventDefault();
event.stopImmediatePropagation();
var item=jQuery(event.target);
if(!item.hasClass('ywdpd-boxed-item')){
item=item.parents('.ywdpd-boxed-item');
}
this.selectRightInfo(item);
}}, {
key: "selectDefaultQty",
value: function selectDefaultQty(){
if('yes'===ywdpd_qty_args.is_default_qty_enabled){
if('classic'===this.mode){
var td;
if('yes'===ywdpd_qty_args.show_minimum_price){
td=this.table.find('td.qty-price-info').last();
}else{
td=this.table.find('td.qty-price-info').first();
}
td.trigger('click');
}else{
var item;
if('yes'===ywdpd_qty_args.show_minimum_price){
item=this.table.find('.ywdpd-boxed-item').last();
}else{
item=this.table.find('.ywdpd-boxed-item').first();
}
item.trigger('click');
}}
}}, {
key: "selectRightInfo",
value: function selectRightInfo(td){
var updateQty=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:true;
if(this.mode==='classic'){
if(this.table.hasClass('vertical')){
var tr=td.parents('tr');
this.toggleRow(tr, updateQty);
}else{
var index=td.index();
this.toggleColumn(index, updateQty);
}}else{
this.toggleItem(td, updateQty);
}}
}, {
key: "toggleRow",
value: function toggleRow(tr, updateQty){
this.table.find('td').removeClass('ywdpd_active');
tr.find('td').addClass('ywdpd_active');
var tdQty=tr.find('td.qty-info');
if(updateQty){
this.updateQuantityField(tdQty);
}
this.updatePriceField(tdQty);
}}, {
key: "toggleItem",
value: function toggleItem(item, updateQty){
this.table.find('.ywdpd-boxed-item').removeClass('ywdpd_active');
item.addClass('ywdpd_active');
if(updateQty){
this.updateQuantityField(item);
}
this.updatePriceField(item);
}}, {
key: "toggleColumn",
value: function toggleColumn(columnIndex, updateQty){
this.table.find('td').removeClass('ywdpd_active');
this.table.find('tr td:nth-of-type(' + columnIndex + ')').addClass('ywdpd_active');
var td=this.table.find('tr td.qty-info:nth-of-type(' + columnIndex + ')');
if(updateQty){
this.updateQuantityField(td);
}
this.updatePriceField(td);
}}, {
key: "handleChangeQuantity",
value: function handleChangeQuantity(event){
event.stopImmediatePropagation();
var qty=parseInt(event.target.value);
if('yes'===ywdpd_qty_args.is_change_qty_enabled&&qty > 0){
var classToCheck='classic'===this.mode ? 'td.qty-info':'.ywdpd-boxed-item';
var td=this.table.find(classToCheck).filter(function (){
var max=jQuery(this).data('qtymax');
if(max!=='*'){
return jQuery(this).data('qtymin') <=qty&&jQuery(this).data('qtymax') >=qty;
}
return jQuery(this).data('qtymin') <=qty;
});
if(td){
this.selectRightInfo(td, false);
}}
}}, {
key: "updateQuantityField",
value: function updateQuantityField(tdQuantity){
var newQty='*'!==tdQuantity.data('qtymax')&&!ywdpd_qty_args.select_minimum_quantity ? tdQuantity.data('qtymax'):tdQuantity.data('qtymin');
this.qtyDOM.val(newQty);
}}, {
key: "updatePriceField",
value: function updatePriceField(tdQuantity){
var productType=this.table.data('product_type');
if('variable'!==productType){
var newPrice='';
if(tdQuantity.length){
newPrice=tdQuantity.data('formatted_price');
}else{
jQuery(document).trigger('ywdpd_pre_update_price_html', [this.table, this.mode, tdQuantity]);
newPrice=this.table.data('price_html');
}
var rawPrice=tdQuantity.data('unformatted_price');
this.updatePriceHtml(newPrice, rawPrice, tdQuantity);
}}
}, {
key: "updatePriceHtml",
value: function updatePriceHtml(newPrice, rawPrice, tdQuantity){
var extra_class='';
if(''!==newPrice){
if(this.productDOM.parents('.yith-quick-view-content').length){
extra_class='.yith-quick-view-content ';
}
var product_container=jQuery(extra_class + ywdpd_qty_args.column_product_info_class);
if(!product_container.find('.woocommerce-variation-price').length){
product_container.find(ywdpd_qty_args.product_price_classes).html(newPrice);
}else{
var variations_price=product_container.find('.woocommerce-variation-price .price');
variations_price.html(newPrice);
}
jQuery(document).trigger('ywdpd_price_html_updated', [newPrice, rawPrice, tdQuantity]);
}}
}, {
key: "showVariationTable",
value: function showVariationTable(event, variation){
if(variation.table_price){
var variationTableWrapper=jQuery(variation.table_price);
var idField=this.mode==='classic' ? '#ywdpd-quantity-table':'#ywdpd-quantity-boxed';
if(variationTableWrapper.find(idField).length){
this.elementDOM.html(variationTableWrapper.html());
this.elementDOM.show();
if('yes'!==ywdpd_qty_args.is_default_qty_enabled){
this.updatePriceHtml(variation.price_html, '');
}}else{
this.elementDOM.html('').hide();
this.updatePriceHtml(variation.price_html, '');
}
this.initTable();
}}
}, {
key: "resetVariationTable",
value: function resetVariationTable(){
if('yes'===ywdpd_qty_args.show_variable_table){
this.elementDOM.html(this.defaultTable);
this.initTable();
}else{
this.elementDOM.hide();
}}
}]);
}();
;
function product_notices_typeof(o){ "@babel/helpers - typeof"; return product_notices_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, product_notices_typeof(o); }
function product_notices_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function product_notices_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, product_notices_toPropertyKey(o.key), o); }}
function product_notices_createClass(e, r, t){ return r&&product_notices_defineProperties(e.prototype, r), t&&product_notices_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function product_notices_toPropertyKey(t){ var i=product_notices_toPrimitive(t, "string"); return "symbol"==product_notices_typeof(i) ? i:i + ""; }
function product_notices_toPrimitive(t, r){ if("object"!=product_notices_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=product_notices_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var ProductNotices=function (){
function ProductNotices(element){
product_notices_classCallCheck(this, ProductNotices);
this.elementDOM=element;
this.productNoticeWrapper=element.html();
this.productDOM=this.elementDOM.parents(ywdpd_qty_args.column_product_info_class);
this.variationForm=this.productDOM.find(ywdpd_qty_args.variation_form_class);
if(this.variationForm){
this.variationForm.on('show_variation', this.showVariationNotices.bind(this));
this.variationForm.on('reset_data', this.resetVariationNotices.bind(this));
}}
return product_notices_createClass(ProductNotices, [{
key: "showVariationNotices",
value: function showVariationNotices(event, variation){
if(variation.ywdpd_notices){
var newNoticesWrapper=jQuery(variation.ywdpd_notices);
if(newNoticesWrapper.length){
this.elementDOM.html(newNoticesWrapper.html()).show();
}else{
this.elementDOM.hide();
}}
}}, {
key: "resetVariationNotices",
value: function resetVariationNotices(){
this.elementDOM.html(this.productNoticeWrapper).show();
}}]);
}();
;
function points_integration_typeof(o){ "@babel/helpers - typeof"; return points_integration_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, points_integration_typeof(o); }
function points_integration_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function points_integration_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, points_integration_toPropertyKey(o.key), o); }}
function points_integration_createClass(e, r, t){ return r&&points_integration_defineProperties(e.prototype, r), t&&points_integration_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function points_integration_toPropertyKey(t){ var i=points_integration_toPrimitive(t, "string"); return "symbol"==points_integration_typeof(i) ? i:i + ""; }
function points_integration_toPrimitive(t, r){ if("object"!=points_integration_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=points_integration_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var PointsIntegration=function (){
function PointsIntegration(){
points_integration_classCallCheck(this, PointsIntegration);
var productWrapper=jQuery(document).find(ywdpd_qty_args.column_product_info_class);
this.pointMessageDiv=productWrapper.find('.yith-par-message-product');
this.defaultMessage=this.pointMessageDiv.length ? this.pointMessageDiv:'';
jQuery(document).on('ywdpd_price_html_updated', this.updatePointsMessage.bind(this));
}
return points_integration_createClass(PointsIntegration, [{
key: "updatePointsMessage",
value: function updatePointsMessage(event, rawPrice, price, tdQuantity){
if(typeof tdQuantity!=='undefined'&&tdQuantity.length > 0){
var type=tdQuantity.parents('table').data('product_type');
var currentMessageDiv='';
if('variation'===type){
currentMessageDiv=jQuery(document).find(ywdpd_qty_args.column_product_info_class).find('.yith-par-message-variation');
}else{
currentMessageDiv=this.pointMessageDiv;
}
if(currentMessageDiv.length){
if(typeof price==='undefined'){
currentMessageDiv.html(this.defaultMessage);
}else{
var data={
action: ywdpd_qty_args.integrations.actions.update_product_points_message,
security: ywdpd_qty_args.integrations.nonces.update_product_points_message,
product_id: tdQuantity.parents('table').data('product_id'),
dynamic_price: price,
qty: jQuery('form.cart .qty').val()
};
jQuery.ajax({
type: 'POST',
url: ywdpd_qty_args.ajax_url,
data: data,
dataType: 'json',
beforeSend: function beforeSend(){},
success: function success(response){
if(response!==null&&response!==void 0&&response.data){
if(response.data.show){
currentMessageDiv.show();
}else{
currentMessageDiv.hide();
}
currentMessageDiv.html(response.data.message);
}},
complete: function complete(){}});
}}
}}
}]);
}();
;
function role_based_integration_typeof(o){ "@babel/helpers - typeof"; return role_based_integration_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, role_based_integration_typeof(o); }
function role_based_integration_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function role_based_integration_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, role_based_integration_toPropertyKey(o.key), o); }}
function role_based_integration_createClass(e, r, t){ return r&&role_based_integration_defineProperties(e.prototype, r), t&&role_based_integration_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function role_based_integration_toPropertyKey(t){ var i=role_based_integration_toPrimitive(t, "string"); return "symbol"==role_based_integration_typeof(i) ? i:i + ""; }
function role_based_integration_toPrimitive(t, r){ if("object"!=role_based_integration_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=role_based_integration_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var RoleBasedIntegration=function (){
function RoleBasedIntegration(){
role_based_integration_classCallCheck(this, RoleBasedIntegration);
jQuery(document).on('ywdpd_pre_update_price_html', this.syncRoleBasedPriceHTML.bind(this));
}
return role_based_integration_createClass(RoleBasedIntegration, [{
key: "syncRoleBasedPriceHTML",
value: function syncRoleBasedPriceHTML(event, table, mode, td){
var priceHTML=jQuery(table.data('price_html'));
if(priceHTML.find('.ywcrbp-role-price-rule').length){
var newPrice=priceHTML.find('.ywcrbp-role-price-rule .role-price .price').html();
table.data('price_html', newPrice);
}}
}]);
}();
;
jQuery(document).ready(function ($){
var tables=$(document).find('.ywdpd-table-discounts-wrapper');
var notices=$(document).find('.ywdpd-notices-wrapper');
tables.each(function (){
new QuantityTable($(this));
});
notices.each(function (){
new ProductNotices($(this));
});
$(document.body).on('payment_method_selected', function (e){
var selectedPaymentMethod=$('.woocommerce-checkout input[name="payment_method"]:checked').attr('id');
var data={
action: ywdpd_popup_args.actions.valid_rule_in_checkout,
security: ywdpd_popup_args.nonces.valid_rule_in_checkout,
payment_method: selectedPaymentMethod,
context: 'frontend'
};
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
beforeSend: function beforeSend(){},
success: function success(response){
$(document.body).trigger('update_checkout');
},
complete: function complete(){}});
});
if('yes'===ywdpd_qty_args.has_points_installed){
new PointsIntegration();
}
if('yes'===ywdpd_qty_args.has_rolebased_installed){
new RoleBasedIntegration();
}});
})()
;
(()=> {
var __webpack_modules__=({
436:
((module, __unused_webpack_exports, __webpack_require__)=> {
"use strict";
module=__webpack_require__.nmd(module);
const wrapAnsi16=(fn, offset)=> (...args)=> {
const code=fn(...args);
return `\u001B[${code + offset}m`;
};
const wrapAnsi256=(fn, offset)=> (...args)=> {
const code=fn(...args);
return `\u001B[${38 + offset};5;${code}m`;
};
const wrapAnsi16m=(fn, offset)=> (...args)=> {
const rgb=fn(...args);
return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
};
const ansi2ansi=n => n;
const rgb2rgb=(r, g, b)=> [r, g, b];
const setLazyProperty=(object, property, get)=> {
Object.defineProperty(object, property, {
get: ()=> {
const value=get();
Object.defineProperty(object, property, {
value,
enumerable: true,
configurable: true
});
return value;
},
enumerable: true,
configurable: true
});
};
let colorConvert;
const makeDynamicStyles=(wrap, targetSpace, identity, isBackground)=> {
if(colorConvert===undefined){
colorConvert=__webpack_require__(734);
}
const offset=isBackground ? 10:0;
const styles={};
for (const [sourceSpace, suite] of Object.entries(colorConvert)){
const name=sourceSpace==='ansi16' ? 'ansi':sourceSpace;
if(sourceSpace===targetSpace){
styles[name]=wrap(identity, offset);
}else if(typeof suite==='object'){
styles[name]=wrap(suite[targetSpace], offset);
}}
return styles;
};
function assembleStyles(){
const codes=new Map();
const styles={
modifier: {
reset: [0, 0],
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
blackBright: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
bgBlackBright: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}};
styles.color.gray=styles.color.blackBright;
styles.bgColor.bgGray=styles.bgColor.bgBlackBright;
styles.color.grey=styles.color.blackBright;
styles.bgColor.bgGrey=styles.bgColor.bgBlackBright;
for (const [groupName, group] of Object.entries(styles)){
for (const [styleName, style] of Object.entries(group)){
styles[styleName]={
open: `\u001B[${style[0]}m`,
close: `\u001B[${style[1]}m`
};
group[styleName]=styles[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles, 'codes', {
value: codes,
enumerable: false
});
styles.color.close='\u001B[39m';
styles.bgColor.close='\u001B[49m';
setLazyProperty(styles.color, 'ansi', ()=> makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));
setLazyProperty(styles.color, 'ansi256', ()=> makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));
setLazyProperty(styles.color, 'ansi16m', ()=> makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));
setLazyProperty(styles.bgColor, 'ansi', ()=> makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));
setLazyProperty(styles.bgColor, 'ansi256', ()=> makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));
setLazyProperty(styles.bgColor, 'ansi16m', ()=> makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));
return styles;
}
Object.defineProperty(module, 'exports', {
enumerable: true,
get: assembleStyles
});
}),
248:
((module, __unused_webpack_exports, __webpack_require__)=> {
"use strict";
const ansiStyles=__webpack_require__(436);
const {stdout: stdoutColor, stderr: stderrColor}=__webpack_require__(747);
const {
stringReplaceAll,
stringEncaseCRLFWithFirstIndex
}=__webpack_require__(58);
const {isArray}=Array;
const levelMapping=[
'ansi',
'ansi',
'ansi256',
'ansi16m'
];
const styles=Object.create(null);
const applyOptions=(object, options={})=> {
if(options.level&&!(Number.isInteger(options.level)&&options.level >=0&&options.level <=3)){
throw new Error('The `level` option should be an integer from 0 to 3');
}
const colorLevel=stdoutColor ? stdoutColor.level:0;
object.level=options.level===undefined ? colorLevel:options.level;
};
class ChalkClass {
constructor(options){
return chalkFactory(options);
}}
const chalkFactory=options=> {
const chalk={};
applyOptions(chalk, options);
chalk.template=(...arguments_)=> chalkTag(chalk.template, ...arguments_);
Object.setPrototypeOf(chalk, Chalk.prototype);
Object.setPrototypeOf(chalk.template, chalk);
chalk.template.constructor=()=> {
throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');
};
chalk.template.Instance=ChalkClass;
return chalk.template;
};
function Chalk(options){
return chalkFactory(options);
}
for (const [styleName, style] of Object.entries(ansiStyles)){
styles[styleName]={
get(){
const builder=createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
Object.defineProperty(this, styleName, {value: builder});
return builder;
}};}
styles.visible={
get(){
const builder=createBuilder(this, this._styler, true);
Object.defineProperty(this, 'visible', {value: builder});
return builder;
}};
const usedModels=['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];
for (const model of usedModels){
styles[model]={
get(){
const {level}=this;
return function (...arguments_){
const styler=createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
return createBuilder(this, styler, this._isEmpty);
};}};}
for (const model of usedModels){
const bgModel='bg' + model[0].toUpperCase() + model.slice(1);
styles[bgModel]={
get(){
const {level}=this;
return function (...arguments_){
const styler=createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
return createBuilder(this, styler, this._isEmpty);
};}};}
const proto=Object.defineProperties(()=> {}, {
...styles,
level: {
enumerable: true,
get(){
return this._generator.level;
},
set(level){
this._generator.level=level;
}}
});
const createStyler=(open, close, parent)=> {
let openAll;
let closeAll;
if(parent===undefined){
openAll=open;
closeAll=close;
}else{
openAll=parent.openAll + open;
closeAll=close + parent.closeAll;
}
return {
open,
close,
openAll,
closeAll,
parent
};};
const createBuilder=(self, _styler, _isEmpty)=> {
const builder=(...arguments_)=> {
if(isArray(arguments_[0])&&isArray(arguments_[0].raw)){
return applyStyle(builder, chalkTag(builder, ...arguments_));
}
return applyStyle(builder, (arguments_.length===1) ? ('' + arguments_[0]):arguments_.join(' '));
};
Object.setPrototypeOf(builder, proto);
builder._generator=self;
builder._styler=_styler;
builder._isEmpty=_isEmpty;
return builder;
};
const applyStyle=(self, string)=> {
if(self.level <=0||!string){
return self._isEmpty ? '':string;
}
let styler=self._styler;
if(styler===undefined){
return string;
}
const {openAll, closeAll}=styler;
if(string.indexOf('\u001B')!==-1){
while (styler!==undefined){
string=stringReplaceAll(string, styler.close, styler.open);
styler=styler.parent;
}}
const lfIndex=string.indexOf('\n');
if(lfIndex!==-1){
string=stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
}
return openAll + string + closeAll;
};
let template;
const chalkTag=(chalk, ...strings)=> {
const [firstString]=strings;
if(!isArray(firstString)||!isArray(firstString.raw)){
return strings.join(' ');
}
const arguments_=strings.slice(1);
const parts=[firstString.raw[0]];
for (let i=1; i < firstString.length; i++){
parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'),
String(firstString.raw[i])
);
}
if(template===undefined){
template=__webpack_require__(991);
}
return template(chalk, parts.join(''));
};
Object.defineProperties(Chalk.prototype, styles);
const chalk=Chalk();
chalk.supportsColor=stdoutColor;
chalk.stderr=Chalk({level: stderrColor ? stderrColor.level:0});
chalk.stderr.supportsColor=stderrColor;
module.exports=chalk;
}),
991:
((module)=> {
"use strict";
const TEMPLATE_REGEX=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
const STYLE_REGEX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
const STRING_REGEX=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
const ESCAPE_REGEX=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
const ESCAPES=new Map([
['n', '\n'],
['r', '\r'],
['t', '\t'],
['b', '\b'],
['f', '\f'],
['v', '\v'],
['0', '\0'],
['\\', '\\'],
['e', '\u001B'],
['a', '\u0007']
]);
function unescape(c){
const u=c[0]==='u';
const bracket=c[1]==='{';
if((u&&!bracket&&c.length===5)||(c[0]==='x'&&c.length===3)){
return String.fromCharCode(parseInt(c.slice(1), 16));
}
if(u&&bracket){
return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
}
return ESCAPES.get(c)||c;
}
function parseArguments(name, arguments_){
const results=[];
const chunks=arguments_.trim().split(/\s*,\s*/g);
let matches;
for (const chunk of chunks){
const number=Number(chunk);
if(!Number.isNaN(number)){
results.push(number);
}else if((matches=chunk.match(STRING_REGEX))){
results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character)=> escape ? unescape(escape):character));
}else{
throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
}}
return results;
}
function parseStyle(style){
STYLE_REGEX.lastIndex=0;
const results=[];
let matches;
while ((matches=STYLE_REGEX.exec(style))!==null){
const name=matches[1];
if(matches[2]){
const args=parseArguments(name, matches[2]);
results.push([name].concat(args));
}else{
results.push([name]);
}}
return results;
}
function buildStyle(chalk, styles){
const enabled={};
for (const layer of styles){
for (const style of layer.styles){
enabled[style[0]]=layer.inverse ? null:style.slice(1);
}}
let current=chalk;
for (const [styleName, styles] of Object.entries(enabled)){
if(!Array.isArray(styles)){
continue;
}
if(!(styleName in current)){
throw new Error(`Unknown Chalk style: ${styleName}`);
}
current=styles.length > 0 ? current[styleName](...styles):current[styleName];
}
return current;
}
module.exports=(chalk, temporary)=> {
const styles=[];
const chunks=[];
let chunk=[];
temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character)=> {
if(escapeCharacter){
chunk.push(unescape(escapeCharacter));
}else if(style){
const string=chunk.join('');
chunk=[];
chunks.push(styles.length===0 ? string:buildStyle(chalk, styles)(string));
styles.push({inverse, styles: parseStyle(style)});
}else if(close){
if(styles.length===0){
throw new Error('Found extraneous } in Chalk template literal');
}
chunks.push(buildStyle(chalk, styles)(chunk.join('')));
chunk=[];
styles.pop();
}else{
chunk.push(character);
}});
chunks.push(chunk.join(''));
if(styles.length > 0){
const errMessage=`Chalk template literal is missing ${styles.length} closing bracket${styles.length===1 ? '':'s'} (\`}\`)`;
throw new Error(errMessage);
}
return chunks.join('');
};
}),
58:
((module)=> {
"use strict";
const stringReplaceAll=(string, substring, replacer)=> {
let index=string.indexOf(substring);
if(index===-1){
return string;
}
const substringLength=substring.length;
let endIndex=0;
let returnValue='';
do {
returnValue +=string.substr(endIndex, index - endIndex) + substring + replacer;
endIndex=index + substringLength;
index=string.indexOf(substring, endIndex);
} while (index!==-1);
returnValue +=string.substr(endIndex);
return returnValue;
};
const stringEncaseCRLFWithFirstIndex=(string, prefix, postfix, index)=> {
let endIndex=0;
let returnValue='';
do {
const gotCR=string[index - 1]==='\r';
returnValue +=string.substr(endIndex, (gotCR ? index - 1:index) - endIndex) + prefix + (gotCR ? '\r\n':'\n') + postfix;
endIndex=index + 1;
index=string.indexOf('\n', endIndex);
} while (index!==-1);
returnValue +=string.substr(endIndex);
return returnValue;
};
module.exports={
stringReplaceAll,
stringEncaseCRLFWithFirstIndex
};
}),
659:
((module, __unused_webpack_exports, __webpack_require__)=> {
const cssKeywords=__webpack_require__(156);
const reverseKeywords={};
for (const key of Object.keys(cssKeywords)){
reverseKeywords[cssKeywords[key]]=key;
}
const convert={
rgb: {channels: 3, labels: 'rgb'},
hsl: {channels: 3, labels: 'hsl'},
hsv: {channels: 3, labels: 'hsv'},
hwb: {channels: 3, labels: 'hwb'},
cmyk: {channels: 4, labels: 'cmyk'},
xyz: {channels: 3, labels: 'xyz'},
lab: {channels: 3, labels: 'lab'},
lch: {channels: 3, labels: 'lch'},
hex: {channels: 1, labels: ['hex']},
keyword: {channels: 1, labels: ['keyword']},
ansi16: {channels: 1, labels: ['ansi16']},
ansi256: {channels: 1, labels: ['ansi256']},
hcg: {channels: 3, labels: ['h', 'c', 'g']},
apple: {channels: 3, labels: ['r16', 'g16', 'b16']},
gray: {channels: 1, labels: ['gray']}};
module.exports=convert;
for (const model of Object.keys(convert)){
if(!('channels' in convert[model])){
throw new Error('missing channels property: ' + model);
}
if(!('labels' in convert[model])){
throw new Error('missing channel labels property: ' + model);
}
if(convert[model].labels.length!==convert[model].channels){
throw new Error('channel and label counts mismatch: ' + model);
}
const {channels, labels}=convert[model];
delete convert[model].channels;
delete convert[model].labels;
Object.defineProperty(convert[model], 'channels', {value: channels});
Object.defineProperty(convert[model], 'labels', {value: labels});
}
convert.rgb.hsl=function (rgb){
const r=rgb[0] / 255;
const g=rgb[1] / 255;
const b=rgb[2] / 255;
const min=Math.min(r, g, b);
const max=Math.max(r, g, b);
const delta=max - min;
let h;
let s;
if(max===min){
h=0;
}else if(r===max){
h=(g - b) / delta;
}else if(g===max){
h=2 + (b - r) / delta;
}else if(b===max){
h=4 + (r - g) / delta;
}
h=Math.min(h * 60, 360);
if(h < 0){
h +=360;
}
const l=(min + max) / 2;
if(max===min){
s=0;
}else if(l <=0.5){
s=delta / (max + min);
}else{
s=delta / (2 - max - min);
}
return [h, s * 100, l * 100];
};
convert.rgb.hsv=function (rgb){
let rdif;
let gdif;
let bdif;
let h;
let s;
const r=rgb[0] / 255;
const g=rgb[1] / 255;
const b=rgb[2] / 255;
const v=Math.max(r, g, b);
const diff=v - Math.min(r, g, b);
const diffc=function (c){
return (v - c) / 6 / diff + 1 / 2;
};
if(diff===0){
h=0;
s=0;
}else{
s=diff / v;
rdif=diffc(r);
gdif=diffc(g);
bdif=diffc(b);
if(r===v){
h=bdif - gdif;
}else if(g===v){
h=(1 / 3) + rdif - bdif;
}else if(b===v){
h=(2 / 3) + gdif - rdif;
}
if(h < 0){
h +=1;
}else if(h > 1){
h -=1;
}}
return [
h * 360,
s * 100,
v * 100
];
};
convert.rgb.hwb=function (rgb){
const r=rgb[0];
const g=rgb[1];
let b=rgb[2];
const h=convert.rgb.hsl(rgb)[0];
const w=1 / 255 * Math.min(r, Math.min(g, b));
b=1 - 1 / 255 * Math.max(r, Math.max(g, b));
return [h, w * 100, b * 100];
};
convert.rgb.cmyk=function (rgb){
const r=rgb[0] / 255;
const g=rgb[1] / 255;
const b=rgb[2] / 255;
const k=Math.min(1 - r, 1 - g, 1 - b);
const c=(1 - r - k) / (1 - k)||0;
const m=(1 - g - k) / (1 - k)||0;
const y=(1 - b - k) / (1 - k)||0;
return [c * 100, m * 100, y * 100, k * 100];
};
function comparativeDistance(x, y){
return (
((x[0] - y[0]) ** 2) +
((x[1] - y[1]) ** 2) +
((x[2] - y[2]) ** 2)
);
}
convert.rgb.keyword=function (rgb){
const reversed=reverseKeywords[rgb];
if(reversed){
return reversed;
}
let currentClosestDistance=Infinity;
let currentClosestKeyword;
for (const keyword of Object.keys(cssKeywords)){
const value=cssKeywords[keyword];
const distance=comparativeDistance(rgb, value);
if(distance < currentClosestDistance){
currentClosestDistance=distance;
currentClosestKeyword=keyword;
}}
return currentClosestKeyword;
};
convert.keyword.rgb=function (keyword){
return cssKeywords[keyword];
};
convert.rgb.xyz=function (rgb){
let r=rgb[0] / 255;
let g=rgb[1] / 255;
let b=rgb[2] / 255;
r=r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4):(r / 12.92);
g=g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4):(g / 12.92);
b=b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4):(b / 12.92);
const x=(r * 0.4124) + (g * 0.3576) + (b * 0.1805);
const y=(r * 0.2126) + (g * 0.7152) + (b * 0.0722);
const z=(r * 0.0193) + (g * 0.1192) + (b * 0.9505);
return [x * 100, y * 100, z * 100];
};
convert.rgb.lab=function (rgb){
const xyz=convert.rgb.xyz(rgb);
let x=xyz[0];
let y=xyz[1];
let z=xyz[2];
x /=95.047;
y /=100;
z /=108.883;
x=x > 0.008856 ? (x ** (1 / 3)):(7.787 * x) + (16 / 116);
y=y > 0.008856 ? (y ** (1 / 3)):(7.787 * y) + (16 / 116);
z=z > 0.008856 ? (z ** (1 / 3)):(7.787 * z) + (16 / 116);
const l=(116 * y) - 16;
const a=500 * (x - y);
const b=200 * (y - z);
return [l, a, b];
};
convert.hsl.rgb=function (hsl){
const h=hsl[0] / 360;
const s=hsl[1] / 100;
const l=hsl[2] / 100;
let t2;
let t3;
let val;
if(s===0){
val=l * 255;
return [val, val, val];
}
if(l < 0.5){
t2=l * (1 + s);
}else{
t2=l + s - l * s;
}
const t1=2 * l - t2;
const rgb=[0, 0, 0];
for (let i=0; i < 3; i++){
t3=h + 1 / 3 * -(i - 1);
if(t3 < 0){
t3++;
}
if(t3 > 1){
t3--;
}
if(6 * t3 < 1){
val=t1 + (t2 - t1) * 6 * t3;
}else if(2 * t3 < 1){
val=t2;
}else if(3 * t3 < 2){
val=t1 + (t2 - t1) * (2 / 3 - t3) * 6;
}else{
val=t1;
}
rgb[i]=val * 255;
}
return rgb;
};
convert.hsl.hsv=function (hsl){
const h=hsl[0];
let s=hsl[1] / 100;
let l=hsl[2] / 100;
let smin=s;
const lmin=Math.max(l, 0.01);
l *=2;
s *=(l <=1) ? l:2 - l;
smin *=lmin <=1 ? lmin:2 - lmin;
const v=(l + s) / 2;
const sv=l===0 ? (2 * smin) / (lmin + smin):(2 * s) / (l + s);
return [h, sv * 100, v * 100];
};
convert.hsv.rgb=function (hsv){
const h=hsv[0] / 60;
const s=hsv[1] / 100;
let v=hsv[2] / 100;
const hi=Math.floor(h) % 6;
const f=h - Math.floor(h);
const p=255 * v * (1 - s);
const q=255 * v * (1 - (s * f));
const t=255 * v * (1 - (s * (1 - f)));
v *=255;
switch (hi){
case 0:
return [v, t, p];
case 1:
return [q, v, p];
case 2:
return [p, v, t];
case 3:
return [p, q, v];
case 4:
return [t, p, v];
case 5:
return [v, p, q];
}};
convert.hsv.hsl=function (hsv){
const h=hsv[0];
const s=hsv[1] / 100;
const v=hsv[2] / 100;
const vmin=Math.max(v, 0.01);
let sl;
let l;
l=(2 - s) * v;
const lmin=(2 - s) * vmin;
sl=s * vmin;
sl /=(lmin <=1) ? lmin:2 - lmin;
sl=sl||0;
l /=2;
return [h, sl * 100, l * 100];
};
convert.hwb.rgb=function (hwb){
const h=hwb[0] / 360;
let wh=hwb[1] / 100;
let bl=hwb[2] / 100;
const ratio=wh + bl;
let f;
if(ratio > 1){
wh /=ratio;
bl /=ratio;
}
const i=Math.floor(6 * h);
const v=1 - bl;
f=6 * h - i;
if((i & 0x01)!==0){
f=1 - f;
}
const n=wh + f * (v - wh);
let r;
let g;
let b;
switch (i){
default:
case 6:
case 0: r=v;  g=n;  b=wh; break;
case 1: r=n;  g=v;  b=wh; break;
case 2: r=wh; g=v;  b=n; break;
case 3: r=wh; g=n;  b=v; break;
case 4: r=n;  g=wh; b=v; break;
case 5: r=v;  g=wh; b=n; break;
}
return [r * 255, g * 255, b * 255];
};
convert.cmyk.rgb=function (cmyk){
const c=cmyk[0] / 100;
const m=cmyk[1] / 100;
const y=cmyk[2] / 100;
const k=cmyk[3] / 100;
const r=1 - Math.min(1, c * (1 - k) + k);
const g=1 - Math.min(1, m * (1 - k) + k);
const b=1 - Math.min(1, y * (1 - k) + k);
return [r * 255, g * 255, b * 255];
};
convert.xyz.rgb=function (xyz){
const x=xyz[0] / 100;
const y=xyz[1] / 100;
const z=xyz[2] / 100;
let r;
let g;
let b;
r=(x * 3.2406) + (y * -1.5372) + (z * -0.4986);
g=(x * -0.9689) + (y * 1.8758) + (z * 0.0415);
b=(x * 0.0557) + (y * -0.2040) + (z * 1.0570);
r=r > 0.0031308
? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)
: r * 12.92;
g=g > 0.0031308
? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)
: g * 12.92;
b=b > 0.0031308
? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)
: b * 12.92;
r=Math.min(Math.max(0, r), 1);
g=Math.min(Math.max(0, g), 1);
b=Math.min(Math.max(0, b), 1);
return [r * 255, g * 255, b * 255];
};
convert.xyz.lab=function (xyz){
let x=xyz[0];
let y=xyz[1];
let z=xyz[2];
x /=95.047;
y /=100;
z /=108.883;
x=x > 0.008856 ? (x ** (1 / 3)):(7.787 * x) + (16 / 116);
y=y > 0.008856 ? (y ** (1 / 3)):(7.787 * y) + (16 / 116);
z=z > 0.008856 ? (z ** (1 / 3)):(7.787 * z) + (16 / 116);
const l=(116 * y) - 16;
const a=500 * (x - y);
const b=200 * (y - z);
return [l, a, b];
};
convert.lab.xyz=function (lab){
const l=lab[0];
const a=lab[1];
const b=lab[2];
let x;
let y;
let z;
y=(l + 16) / 116;
x=a / 500 + y;
z=y - b / 200;
const y2=y ** 3;
const x2=x ** 3;
const z2=z ** 3;
y=y2 > 0.008856 ? y2:(y - 16 / 116) / 7.787;
x=x2 > 0.008856 ? x2:(x - 16 / 116) / 7.787;
z=z2 > 0.008856 ? z2:(z - 16 / 116) / 7.787;
x *=95.047;
y *=100;
z *=108.883;
return [x, y, z];
};
convert.lab.lch=function (lab){
const l=lab[0];
const a=lab[1];
const b=lab[2];
let h;
const hr=Math.atan2(b, a);
h=hr * 360 / 2 / Math.PI;
if(h < 0){
h +=360;
}
const c=Math.sqrt(a * a + b * b);
return [l, c, h];
};
convert.lch.lab=function (lch){
const l=lch[0];
const c=lch[1];
const h=lch[2];
const hr=h / 360 * 2 * Math.PI;
const a=c * Math.cos(hr);
const b=c * Math.sin(hr);
return [l, a, b];
};
convert.rgb.ansi16=function (args, saturation=null){
const [r, g, b]=args;
let value=saturation===null ? convert.rgb.hsv(args)[2]:saturation;
value=Math.round(value / 50);
if(value===0){
return 30;
}
let ansi=30
+ ((Math.round(b / 255) << 2)
| (Math.round(g / 255) << 1)
| Math.round(r / 255));
if(value===2){
ansi +=60;
}
return ansi;
};
convert.hsv.ansi16=function (args){
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
};
convert.rgb.ansi256=function (args){
const r=args[0];
const g=args[1];
const b=args[2];
if(r===g&&g===b){
if(r < 8){
return 16;
}
if(r > 248){
return 231;
}
return Math.round(((r - 8) / 247) * 24) + 232;
}
const ansi=16
+ (36 * Math.round(r / 255 * 5))
+ (6 * Math.round(g / 255 * 5))
+ Math.round(b / 255 * 5);
return ansi;
};
convert.ansi16.rgb=function (args){
let color=args % 10;
if(color===0||color===7){
if(args > 50){
color +=3.5;
}
color=color / 10.5 * 255;
return [color, color, color];
}
const mult=(~~(args > 50) + 1) * 0.5;
const r=((color & 1) * mult) * 255;
const g=(((color >> 1) & 1) * mult) * 255;
const b=(((color >> 2) & 1) * mult) * 255;
return [r, g, b];
};
convert.ansi256.rgb=function (args){
if(args >=232){
const c=(args - 232) * 10 + 8;
return [c, c, c];
}
args -=16;
let rem;
const r=Math.floor(args / 36) / 5 * 255;
const g=Math.floor((rem=args % 36) / 6) / 5 * 255;
const b=(rem % 6) / 5 * 255;
return [r, g, b];
};
convert.rgb.hex=function (args){
const integer=((Math.round(args[0]) & 0xFF) << 16)
+ ((Math.round(args[1]) & 0xFF) << 8)
+ (Math.round(args[2]) & 0xFF);
const string=integer.toString(16).toUpperCase();
return '000000'.substring(string.length) + string;
};
convert.hex.rgb=function (args){
const match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if(!match){
return [0, 0, 0];
}
let colorString=match[0];
if(match[0].length===3){
colorString=colorString.split('').map(char=> {
return char + char;
}).join('');
}
const integer=parseInt(colorString, 16);
const r=(integer >> 16) & 0xFF;
const g=(integer >> 8) & 0xFF;
const b=integer & 0xFF;
return [r, g, b];
};
convert.rgb.hcg=function (rgb){
const r=rgb[0] / 255;
const g=rgb[1] / 255;
const b=rgb[2] / 255;
const max=Math.max(Math.max(r, g), b);
const min=Math.min(Math.min(r, g), b);
const chroma=(max - min);
let grayscale;
let hue;
if(chroma < 1){
grayscale=min / (1 - chroma);
}else{
grayscale=0;
}
if(chroma <=0){
hue=0;
} else
if(max===r){
hue=((g - b) / chroma) % 6;
} else
if(max===g){
hue=2 + (b - r) / chroma;
}else{
hue=4 + (r - g) / chroma;
}
hue /=6;
hue %=1;
return [hue * 360, chroma * 100, grayscale * 100];
};
convert.hsl.hcg=function (hsl){
const s=hsl[1] / 100;
const l=hsl[2] / 100;
const c=l < 0.5 ? (2.0 * s * l):(2.0 * s * (1.0 - l));
let f=0;
if(c < 1.0){
f=(l - 0.5 * c) / (1.0 - c);
}
return [hsl[0], c * 100, f * 100];
};
convert.hsv.hcg=function (hsv){
const s=hsv[1] / 100;
const v=hsv[2] / 100;
const c=s * v;
let f=0;
if(c < 1.0){
f=(v - c) / (1 - c);
}
return [hsv[0], c * 100, f * 100];
};
convert.hcg.rgb=function (hcg){
const h=hcg[0] / 360;
const c=hcg[1] / 100;
const g=hcg[2] / 100;
if(c===0.0){
return [g * 255, g * 255, g * 255];
}
const pure=[0, 0, 0];
const hi=(h % 1) * 6;
const v=hi % 1;
const w=1 - v;
let mg=0;
switch (Math.floor(hi)){
case 0:
pure[0]=1; pure[1]=v; pure[2]=0; break;
case 1:
pure[0]=w; pure[1]=1; pure[2]=0; break;
case 2:
pure[0]=0; pure[1]=1; pure[2]=v; break;
case 3:
pure[0]=0; pure[1]=w; pure[2]=1; break;
case 4:
pure[0]=v; pure[1]=0; pure[2]=1; break;
default:
pure[0]=1; pure[1]=0; pure[2]=w;
}
mg=(1.0 - c) * g;
return [
(c * pure[0] + mg) * 255,
(c * pure[1] + mg) * 255,
(c * pure[2] + mg) * 255
];
};
convert.hcg.hsv=function (hcg){
const c=hcg[1] / 100;
const g=hcg[2] / 100;
const v=c + g * (1.0 - c);
let f=0;
if(v > 0.0){
f=c / v;
}
return [hcg[0], f * 100, v * 100];
};
convert.hcg.hsl=function (hcg){
const c=hcg[1] / 100;
const g=hcg[2] / 100;
const l=g * (1.0 - c) + 0.5 * c;
let s=0;
if(l > 0.0&&l < 0.5){
s=c / (2 * l);
} else
if(l >=0.5&&l < 1.0){
s=c / (2 * (1 - l));
}
return [hcg[0], s * 100, l * 100];
};
convert.hcg.hwb=function (hcg){
const c=hcg[1] / 100;
const g=hcg[2] / 100;
const v=c + g * (1.0 - c);
return [hcg[0], (v - c) * 100, (1 - v) * 100];
};
convert.hwb.hcg=function (hwb){
const w=hwb[1] / 100;
const b=hwb[2] / 100;
const v=1 - b;
const c=v - w;
let g=0;
if(c < 1){
g=(v - c) / (1 - c);
}
return [hwb[0], c * 100, g * 100];
};
convert.apple.rgb=function (apple){
return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];
};
convert.rgb.apple=function (rgb){
return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];
};
convert.gray.rgb=function (args){
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
};
convert.gray.hsl=function (args){
return [0, 0, args[0]];
};
convert.gray.hsv=convert.gray.hsl;
convert.gray.hwb=function (gray){
return [0, 100, gray[0]];
};
convert.gray.cmyk=function (gray){
return [0, 0, 0, gray[0]];
};
convert.gray.lab=function (gray){
return [gray[0], 0, 0];
};
convert.gray.hex=function (gray){
const val=Math.round(gray[0] / 100 * 255) & 0xFF;
const integer=(val << 16) + (val << 8) + val;
const string=integer.toString(16).toUpperCase();
return '000000'.substring(string.length) + string;
};
convert.rgb.gray=function (rgb){
const val=(rgb[0] + rgb[1] + rgb[2]) / 3;
return [val / 255 * 100];
};
}),
734:
((module, __unused_webpack_exports, __webpack_require__)=> {
const conversions=__webpack_require__(659);
const route=__webpack_require__(507);
const convert={};
const models=Object.keys(conversions);
function wrapRaw(fn){
const wrappedFn=function (...args){
const arg0=args[0];
if(arg0===undefined||arg0===null){
return arg0;
}
if(arg0.length > 1){
args=arg0;
}
return fn(args);
};
if('conversion' in fn){
wrappedFn.conversion=fn.conversion;
}
return wrappedFn;
}
function wrapRounded(fn){
const wrappedFn=function (...args){
const arg0=args[0];
if(arg0===undefined||arg0===null){
return arg0;
}
if(arg0.length > 1){
args=arg0;
}
const result=fn(args);
if(typeof result==='object'){
for (let len=result.length, i=0; i < len; i++){
result[i]=Math.round(result[i]);
}}
return result;
};
if('conversion' in fn){
wrappedFn.conversion=fn.conversion;
}
return wrappedFn;
}
models.forEach(fromModel=> {
convert[fromModel]={};
Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
const routes=route(fromModel);
const routeModels=Object.keys(routes);
routeModels.forEach(toModel=> {
const fn=routes[toModel];
convert[fromModel][toModel]=wrapRounded(fn);
convert[fromModel][toModel].raw=wrapRaw(fn);
});
});
module.exports=convert;
}),
507:
((module, __unused_webpack_exports, __webpack_require__)=> {
const conversions=__webpack_require__(659);
function buildGraph(){
const graph={};
const models=Object.keys(conversions);
for (let len=models.length, i=0; i < len; i++){
graph[models[i]]={
distance: -1,
parent: null
};}
return graph;
}
function deriveBFS(fromModel){
const graph=buildGraph();
const queue=[fromModel];
graph[fromModel].distance=0;
while (queue.length){
const current=queue.pop();
const adjacents=Object.keys(conversions[current]);
for (let len=adjacents.length, i=0; i < len; i++){
const adjacent=adjacents[i];
const node=graph[adjacent];
if(node.distance===-1){
node.distance=graph[current].distance + 1;
node.parent=current;
queue.unshift(adjacent);
}}
}
return graph;
}
function link(from, to){
return function (args){
return to(from(args));
};}
function wrapConversion(toModel, graph){
const path=[graph[toModel].parent, toModel];
let fn=conversions[graph[toModel].parent][toModel];
let cur=graph[toModel].parent;
while (graph[cur].parent){
path.unshift(graph[cur].parent);
fn=link(conversions[graph[cur].parent][cur], fn);
cur=graph[cur].parent;
}
fn.conversion=path;
return fn;
}
module.exports=function (fromModel){
const graph=deriveBFS(fromModel);
const conversion={};
const models=Object.keys(graph);
for (let len=models.length, i=0; i < len; i++){
const toModel=models[i];
const node=graph[toModel];
if(node.parent===null){
continue;
}
conversion[toModel]=wrapConversion(toModel, graph);
}
return conversion;
};
}),
156:
((module)=> {
"use strict";
module.exports={
"aliceblue": [240, 248, 255],
"antiquewhite": [250, 235, 215],
"aqua": [0, 255, 255],
"aquamarine": [127, 255, 212],
"azure": [240, 255, 255],
"beige": [245, 245, 220],
"bisque": [255, 228, 196],
"black": [0, 0, 0],
"blanchedalmond": [255, 235, 205],
"blue": [0, 0, 255],
"blueviolet": [138, 43, 226],
"brown": [165, 42, 42],
"burlywood": [222, 184, 135],
"cadetblue": [95, 158, 160],
"chartreuse": [127, 255, 0],
"chocolate": [210, 105, 30],
"coral": [255, 127, 80],
"cornflowerblue": [100, 149, 237],
"cornsilk": [255, 248, 220],
"crimson": [220, 20, 60],
"cyan": [0, 255, 255],
"darkblue": [0, 0, 139],
"darkcyan": [0, 139, 139],
"darkgoldenrod": [184, 134, 11],
"darkgray": [169, 169, 169],
"darkgreen": [0, 100, 0],
"darkgrey": [169, 169, 169],
"darkkhaki": [189, 183, 107],
"darkmagenta": [139, 0, 139],
"darkolivegreen": [85, 107, 47],
"darkorange": [255, 140, 0],
"darkorchid": [153, 50, 204],
"darkred": [139, 0, 0],
"darksalmon": [233, 150, 122],
"darkseagreen": [143, 188, 143],
"darkslateblue": [72, 61, 139],
"darkslategray": [47, 79, 79],
"darkslategrey": [47, 79, 79],
"darkturquoise": [0, 206, 209],
"darkviolet": [148, 0, 211],
"deeppink": [255, 20, 147],
"deepskyblue": [0, 191, 255],
"dimgray": [105, 105, 105],
"dimgrey": [105, 105, 105],
"dodgerblue": [30, 144, 255],
"firebrick": [178, 34, 34],
"floralwhite": [255, 250, 240],
"forestgreen": [34, 139, 34],
"fuchsia": [255, 0, 255],
"gainsboro": [220, 220, 220],
"ghostwhite": [248, 248, 255],
"gold": [255, 215, 0],
"goldenrod": [218, 165, 32],
"gray": [128, 128, 128],
"green": [0, 128, 0],
"greenyellow": [173, 255, 47],
"grey": [128, 128, 128],
"honeydew": [240, 255, 240],
"hotpink": [255, 105, 180],
"indianred": [205, 92, 92],
"indigo": [75, 0, 130],
"ivory": [255, 255, 240],
"khaki": [240, 230, 140],
"lavender": [230, 230, 250],
"lavenderblush": [255, 240, 245],
"lawngreen": [124, 252, 0],
"lemonchiffon": [255, 250, 205],
"lightblue": [173, 216, 230],
"lightcoral": [240, 128, 128],
"lightcyan": [224, 255, 255],
"lightgoldenrodyellow": [250, 250, 210],
"lightgray": [211, 211, 211],
"lightgreen": [144, 238, 144],
"lightgrey": [211, 211, 211],
"lightpink": [255, 182, 193],
"lightsalmon": [255, 160, 122],
"lightseagreen": [32, 178, 170],
"lightskyblue": [135, 206, 250],
"lightslategray": [119, 136, 153],
"lightslategrey": [119, 136, 153],
"lightsteelblue": [176, 196, 222],
"lightyellow": [255, 255, 224],
"lime": [0, 255, 0],
"limegreen": [50, 205, 50],
"linen": [250, 240, 230],
"magenta": [255, 0, 255],
"maroon": [128, 0, 0],
"mediumaquamarine": [102, 205, 170],
"mediumblue": [0, 0, 205],
"mediumorchid": [186, 85, 211],
"mediumpurple": [147, 112, 219],
"mediumseagreen": [60, 179, 113],
"mediumslateblue": [123, 104, 238],
"mediumspringgreen": [0, 250, 154],
"mediumturquoise": [72, 209, 204],
"mediumvioletred": [199, 21, 133],
"midnightblue": [25, 25, 112],
"mintcream": [245, 255, 250],
"mistyrose": [255, 228, 225],
"moccasin": [255, 228, 181],
"navajowhite": [255, 222, 173],
"navy": [0, 0, 128],
"oldlace": [253, 245, 230],
"olive": [128, 128, 0],
"olivedrab": [107, 142, 35],
"orange": [255, 165, 0],
"orangered": [255, 69, 0],
"orchid": [218, 112, 214],
"palegoldenrod": [238, 232, 170],
"palegreen": [152, 251, 152],
"paleturquoise": [175, 238, 238],
"palevioletred": [219, 112, 147],
"papayawhip": [255, 239, 213],
"peachpuff": [255, 218, 185],
"peru": [205, 133, 63],
"pink": [255, 192, 203],
"plum": [221, 160, 221],
"powderblue": [176, 224, 230],
"purple": [128, 0, 128],
"rebeccapurple": [102, 51, 153],
"red": [255, 0, 0],
"rosybrown": [188, 143, 143],
"royalblue": [65, 105, 225],
"saddlebrown": [139, 69, 19],
"salmon": [250, 128, 114],
"sandybrown": [244, 164, 96],
"seagreen": [46, 139, 87],
"seashell": [255, 245, 238],
"sienna": [160, 82, 45],
"silver": [192, 192, 192],
"skyblue": [135, 206, 235],
"slateblue": [106, 90, 205],
"slategray": [112, 128, 144],
"slategrey": [112, 128, 144],
"snow": [255, 250, 250],
"springgreen": [0, 255, 127],
"steelblue": [70, 130, 180],
"tan": [210, 180, 140],
"teal": [0, 128, 128],
"thistle": [216, 191, 216],
"tomato": [255, 99, 71],
"turquoise": [64, 224, 208],
"violet": [238, 130, 238],
"wheat": [245, 222, 179],
"white": [255, 255, 255],
"whitesmoke": [245, 245, 245],
"yellow": [255, 255, 0],
"yellowgreen": [154, 205, 50]
};
}),
747:
((module)=> {
"use strict";
module.exports={
stdout: false,
stderr: false
};
})
});
var __webpack_module_cache__={};
function __webpack_require__(moduleId){
var cachedModule=__webpack_module_cache__[moduleId];
if(cachedModule!==undefined){
return cachedModule.exports;
}
var module=__webpack_module_cache__[moduleId]={
id: moduleId,
loaded: false,
exports: {}
};
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
module.loaded=true;
return module.exports;
}
(()=> {
__webpack_require__.nmd=(module)=> {
module.paths=[];
if(!module.children) module.children=[];
return module;
};
})();
(()=> {
"use strict";
;
function _typeof(o){ "@babel/helpers - typeof"; return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, _typeof(o); }
function _classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); }}
function _createClass(e, r, t){ return r&&_defineProperties(e.prototype, r), t&&_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t){ var i=_toPrimitive(t, "string"); return "symbol"==_typeof(i) ? i:i + ""; }
function _toPrimitive(t, r){ if("object"!=_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var QuantityInput=function (){
function QuantityInput(element, id){
var min=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:0;
var max=arguments.length > 3&&arguments[3]!==undefined ? arguments[3]:'';
var product=arguments.length > 4 ? arguments[4]:undefined;
var show=arguments.length > 5&&arguments[5]!==undefined ? arguments[5]:true;
_classCallCheck(this, QuantityInput);
this.elementDOM=element;
this.product=product;
this.showByDefault=show;
this.min=min;
this.hasMax=max!=='';
this.max=this.hasMax ? parseInt(max):-1;
this.plus=this.elementDOM.find('.ywdpd_qty_increase');
this.minus=this.elementDOM.find('.ywdpd_qty_decrease');
this.trash=this.elementDOM.find('.ywdpd_qty_remove');
this.value=this.elementDOM.find('.ywdpd_qty');
this.plus.on('click', this.handleClickPlus.bind(this));
this.minus.on('click', this.handleClickMinus.bind(this));
this.trash.on('click', this.handleClickTrash.bind(this));
this.setId(id);
this.handleShowMinus(false);
this.handleShowPlus(true);
this.handleShowTrash(true);
this.toggleShowField(this.showByDefault);
}
return _createClass(QuantityInput, [{
key: "handleClickPlus",
value: function handleClickPlus(event){
event.preventDefault();
event.stopImmediatePropagation();
var currentValue=parseInt(this.value.html());
var newValue=currentValue + 1;
if(this.max===-1||newValue <=this.max){
this.value.html(newValue);
this.handleShowPlus(true);
if(newValue > 1){
this.handleShowTrash(false);
this.handleShowMinus(true);
}
this.product.globalList.updateProductInList(this.getId(), newValue);
}
if(newValue===this.max){
this.toggleDisablePlusButton(true);
this.toggleDisableMinusButton(false);
}}
}, {
key: "handleClickMinus",
value: function handleClickMinus(event){
event.preventDefault();
event.stopImmediatePropagation();
var currentValue=parseInt(this.value.html());
var newValue=currentValue - 1;
if(newValue >=this.min){
this.value.html(newValue);
this.product.globalList.updateProductInList(this.getId(), newValue);
}
if(newValue===this.min){
this.toggleDisablePlusButton(false);
this.toggleDisableMinusButton(false);
this.handleShowMinus(false);
this.handleShowTrash(true);
}}
}, {
key: "toggleDisablePlusButton",
value: function toggleDisablePlusButton(disable){
if(disable){
this.plus.addClass('ywdpd_button_disabled');
}else{
this.plus.removeClass('ywdpd_button_disabled');
}}
}, {
key: "toggleDisableMinusButton",
value: function toggleDisableMinusButton(disable){
if(disable){
this.minus.addClass('ywdpd_button_disabled');
}else{
this.minus.removeClass('ywdpd_button_disabled');
}}
}, {
key: "handleClickTrash",
value: function handleClickTrash(event){
event.preventDefault();
var id=this.value.attr('id');
this.value.html(0);
this.toggleShowField(false);
this.product.removeProductFromCart(id);
}}, {
key: "toggleShowField",
value: function toggleShowField(show){
if(show){
this.elementDOM.show();
}else{
this.elementDOM.hide();
}}
}, {
key: "handleShowPlus",
value: function handleShowPlus(show){
if(show){
this.plus.addClass('visible');
}else{
this.plus.removeClass('visible');
}}
}, {
key: "handleShowMinus",
value: function handleShowMinus(show){
if(show){
this.minus.addClass('visible');
}else{
this.minus.removeClass('visible');
}}
}, {
key: "handleShowTrash",
value: function handleShowTrash(show){
if(show){
this.trash.addClass('visible');
}else{
this.trash.removeClass('visible');
}}
}, {
key: "setId",
value: function setId(id){
this.value.attr('id', id);
}}, {
key: "getId",
value: function getId(){
return this.value.attr('id');
}}]);
}();
;
function abstract_product_typeof(o){ "@babel/helpers - typeof"; return abstract_product_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, abstract_product_typeof(o); }
function abstract_product_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function abstract_product_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, abstract_product_toPropertyKey(o.key), o); }}
function abstract_product_createClass(e, r, t){ return r&&abstract_product_defineProperties(e.prototype, r), t&&abstract_product_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function abstract_product_toPropertyKey(t){ var i=abstract_product_toPrimitive(t, "string"); return "symbol"==abstract_product_typeof(i) ? i:i + ""; }
function abstract_product_toPrimitive(t, r){ if("object"!=abstract_product_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=abstract_product_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var YWDPD_AbstractProduct=function (){
function YWDPD_AbstractProduct(element, globalList){
abstract_product_classCallCheck(this, YWDPD_AbstractProduct);
this.elementDOM=element;
this.globalList=globalList;
this.productID=this.elementDOM.data('product_id');
this.variationID=0;
this.variations={};
this.type=this.elementDOM.data('product_type');
this.discountType=this.elementDOM.data('discount_type');
this.discountValue=this.elementDOM.data('discount_amount');
this.totalToAdd=this.elementDOM.data('total_to_add');
this.addToCartButton=this.elementDOM.find('.single_add_to_cart_button');
this.badge=this.elementDOM.find('.ywdpd_image_badge');
this.qtyInputFields=[];
this._initQtyInput();
this.addToCartButton.on('click', this.handleAddToCart.bind(this));
}
return abstract_product_createClass(YWDPD_AbstractProduct, [{
key: "_initQtyInput",
value: function _initQtyInput(){
var fields=this.elementDOM.find('.ywdpd_qty_field'),
min=this.elementDOM.find('.ywdpd_qty_fields_container').data('min'),
max=this.elementDOM.find('.ywdpd_qty_fields_container').data('max'),
self=this;
fields.each(function (){
var key=self.globalList.generateKey(self.productID, 1, self.variationID, self.variations);
self.qtyInputFields.push(new QuantityInput(jQuery(this), key, min, max, self, false));
});
}}, {
key: "setAddedToCart",
value: function setAddedToCart(value){
this.addedToCart=value;
this.elementDOM.trigger('ywdpd-added-to-cart');
}}, {
key: "showQtyField",
value: function showQtyField(key){
if('variable'!==this.type){
this.addToCartButton.hide();
}
var qty=false;
jQuery.each(this.qtyInputFields, function (index, qtyInputField){
if('' + qtyInputField.getId()==='' + key){
qty=qtyInputField;
return false;
}});
if(qty){
qty.toggleShowField(true);
qty.plus.trigger('click');
}}
}, {
key: "removeProductFromCart",
value: function removeProductFromCart(key){
this.addToCartButton.show();
this.hideBadge();
this.globalList.removeProductInList(key);
this.globalList.disableAllAddToCart(false);
this.globalList.disableAllPlusButton(false);
this.globalList.maybeHideConfirmButton();
}}, {
key: "hideBadge",
value: function hideBadge(){
this.badge.hide();
}}, {
key: "handleAddToCart",
value: function handleAddToCart(event){
event.preventDefault();
this.badge.show();
}}]);
}();
;
function simple_product_typeof(o){ "@babel/helpers - typeof"; return simple_product_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, simple_product_typeof(o); }
function simple_product_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function simple_product_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, simple_product_toPropertyKey(o.key), o); }}
function simple_product_createClass(e, r, t){ return r&&simple_product_defineProperties(e.prototype, r), t&&simple_product_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function simple_product_toPropertyKey(t){ var i=simple_product_toPrimitive(t, "string"); return "symbol"==simple_product_typeof(i) ? i:i + ""; }
function simple_product_toPrimitive(t, r){ if("object"!=simple_product_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=simple_product_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
function _callSuper(t, o, e){ return o=_getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e||[], _getPrototypeOf(t).constructor):o.apply(t, e)); }
function _possibleConstructorReturn(t, e){ if(e&&("object"==simple_product_typeof(e)||"function"==typeof e)) return e; if(void 0!==e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
function _assertThisInitialized(e){ if(void 0===e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function _isNativeReflectConstruct(){ try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function (){})); } catch (t){} return (_isNativeReflectConstruct=function _isNativeReflectConstruct(){ return !!t; })(); }
function _superPropGet(t, o, e, r){ var p=_get(_getPrototypeOf(1 & r ? t.prototype:t), o, e); return 2 & r&&"function"==typeof p ? function (t){ return p.apply(e, t); }:p; }
function _get(){ return _get="undefined"!=typeof Reflect&&Reflect.get ? Reflect.get.bind():function (e, t, r){ var p=_superPropBase(e, t); if(p){ var n=Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e:r):n.value; }}, _get.apply(null, arguments); }
function _superPropBase(t, o){ for (; !{}.hasOwnProperty.call(t, o)&&null!==(t=_getPrototypeOf(t));); return t; }
function _getPrototypeOf(t){ return _getPrototypeOf=Object.setPrototypeOf ? Object.getPrototypeOf.bind():function (t){ return t.__proto__||Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
function _inherits(t, e){ if("function"!=typeof e&&null!==e) throw new TypeError("Super expression must either be null or a function"); t.prototype=Object.create(e&&e.prototype, { constructor: { value: t, writable: !0, configurable: !0 }}), Object.defineProperty(t, "prototype", { writable: !1 }), e&&_setPrototypeOf(t, e); }
function _setPrototypeOf(t, e){ return _setPrototypeOf=Object.setPrototypeOf ? Object.setPrototypeOf.bind():function (t, e){ return t.__proto__=e, t; }, _setPrototypeOf(t, e); }
var YWDPD_SimpleProduct=function (_YWDPD_AbstractProduc){
function YWDPD_SimpleProduct(){
simple_product_classCallCheck(this, YWDPD_SimpleProduct);
return _callSuper(this, YWDPD_SimpleProduct, arguments);
}
_inherits(YWDPD_SimpleProduct, _YWDPD_AbstractProduc);
return simple_product_createClass(YWDPD_SimpleProduct, [{
key: "handleAddToCart",
value: function handleAddToCart(event){
var key=this.globalList.addProductInList(this.productID);
if(this.globalList.canShowQtyFields()){
this.showQtyField(key);
this.globalList.showConfirmButton(true);
}else{
this.globalList.confirmButton.click();
}
_superPropGet(YWDPD_SimpleProduct, "handleAddToCart", this, 3)([event]);
}}]);
}(YWDPD_AbstractProduct);
;
function variable_product_typeof(o){ "@babel/helpers - typeof"; return variable_product_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, variable_product_typeof(o); }
function variable_product_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function variable_product_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, variable_product_toPropertyKey(o.key), o); }}
function variable_product_createClass(e, r, t){ return r&&variable_product_defineProperties(e.prototype, r), t&&variable_product_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function variable_product_toPropertyKey(t){ var i=variable_product_toPrimitive(t, "string"); return "symbol"==variable_product_typeof(i) ? i:i + ""; }
function variable_product_toPrimitive(t, r){ if("object"!=variable_product_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=variable_product_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
function variable_product_callSuper(t, o, e){ return o=variable_product_getPrototypeOf(o), variable_product_possibleConstructorReturn(t, variable_product_isNativeReflectConstruct() ? Reflect.construct(o, e||[], variable_product_getPrototypeOf(t).constructor):o.apply(t, e)); }
function variable_product_possibleConstructorReturn(t, e){ if(e&&("object"==variable_product_typeof(e)||"function"==typeof e)) return e; if(void 0!==e) throw new TypeError("Derived constructors may only return object or undefined"); return variable_product_assertThisInitialized(t); }
function variable_product_assertThisInitialized(e){ if(void 0===e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function variable_product_isNativeReflectConstruct(){ try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function (){})); } catch (t){} return (variable_product_isNativeReflectConstruct=function _isNativeReflectConstruct(){ return !!t; })(); }
function variable_product_superPropGet(t, o, e, r){ var p=variable_product_get(variable_product_getPrototypeOf(1 & r ? t.prototype:t), o, e); return 2 & r&&"function"==typeof p ? function (t){ return p.apply(e, t); }:p; }
function variable_product_get(){ return variable_product_get="undefined"!=typeof Reflect&&Reflect.get ? Reflect.get.bind():function (e, t, r){ var p=variable_product_superPropBase(e, t); if(p){ var n=Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e:r):n.value; }}, variable_product_get.apply(null, arguments); }
function variable_product_superPropBase(t, o){ for (; !{}.hasOwnProperty.call(t, o)&&null!==(t=variable_product_getPrototypeOf(t));); return t; }
function variable_product_getPrototypeOf(t){ return variable_product_getPrototypeOf=Object.setPrototypeOf ? Object.getPrototypeOf.bind():function (t){ return t.__proto__||Object.getPrototypeOf(t); }, variable_product_getPrototypeOf(t); }
function variable_product_inherits(t, e){ if("function"!=typeof e&&null!==e) throw new TypeError("Super expression must either be null or a function"); t.prototype=Object.create(e&&e.prototype, { constructor: { value: t, writable: !0, configurable: !0 }}), Object.defineProperty(t, "prototype", { writable: !1 }), e&&variable_product_setPrototypeOf(t, e); }
function variable_product_setPrototypeOf(t, e){ return variable_product_setPrototypeOf=Object.setPrototypeOf ? Object.setPrototypeOf.bind():function (t, e){ return t.__proto__=e, t; }, variable_product_setPrototypeOf(t, e); }
var YWDPD_VariableProduct=function (_YWDPD_AbstractProduc){
function YWDPD_VariableProduct(element, globalList){
var _this;
variable_product_classCallCheck(this, YWDPD_VariableProduct);
_this=variable_product_callSuper(this, YWDPD_VariableProduct, [element, globalList]);
_this.variationID=0;
_this.elementDOM.on('ywdpd_step2_initialized', _this.initializeVariationForm.bind(_this));
return _this;
}
variable_product_inherits(YWDPD_VariableProduct, _YWDPD_AbstractProduc);
return variable_product_createClass(YWDPD_VariableProduct, [{
key: "handleAddToCart",
value: function handleAddToCart(event){
event.preventDefault();
var ruleType=this.addToCartButton.data('ywdpd_action');
var data={
product_id: this.productID,
rule_id: this.globalList.modal.ruleID,
rule_type: ruleType,
action: ywdpd_popup_args.actions.show_second_step,
security: ywdpd_popup_args.nonces.show_second_step
};
var self=this;
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
beforeSend: function beforeSend(){
self.elementDOM.parents('.ywdpd_single_rule_container').block(self.globalList.block_params);
},
success: function success(response){
if(response.template!==''){
self.globalList.goToStepTwo(response.template, self);
}},
complete: function complete(){
self.elementDOM.parents('.ywdpd_single_rule_container').unblock();
}});
}}, {
key: "hideBadge",
value: function hideBadge(){
if(this.elementDOM.find('.ywdpd_qty_fields_container .ywdpd_qty_field').length===0){
variable_product_superPropGet(YWDPD_VariableProduct, "hideBadge", this, 3)([]);
}}
}, {
key: "resetQtyInput",
value: function resetQtyInput(qtyInputDOM, qtyInput){
qtyInputDOM.remove();
}}, {
key: "initializeVariationForm",
value: function initializeVariationForm(event){
event.stopImmediatePropagation();
var variationForm=this.globalList.elementDOM.find('.variations_form.cart');
var self=this;
variationForm.on('found_variation', function (e, variation){
var form=jQuery(this);
var data={
ywdp_check_rule_id: self.ruleID,
product_id: self.productID,
rule_type: self.globalList.elementDOM.find('input.ywdpd_rule_type').val(),
type_discount: self.discountType,
amount_discount: self.discountValue,
tot_to_add: self.totalToAdd,
action: ywdpd_popup_args.actions.check_variable,
security: ywdpd_popup_args.nonces.check_variable
};
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
beforeSend: function beforeSend(){
form.block(self.globalList.block_params);
},
success: function success(response){
if(!response.variation_found){
self.variationID=variation.variation_id;
if(variation.is_in_stock){
self.globalList.elementDOM.find('.ywdpd_add_to_gift').removeClass('disabled');
self.globalList.elementDOM.find('.ywdpdp_single_product p.stock.out-of-stock').remove();
}else{
self.globalList.elementDOM.find('.ywdpdp_single_product .variations_form.cart').append(variation.availability_html);
self.globalList.elementDOM.find('.ywdpd_add_to_gift').addClass('disabled');
}}else{
self.variationID=0;
self.variations={};
self.globalList.elementDOM.find('.ywdpd_add_to_gift').addClass('disabled');
}
self.globalList.elementDOM.find('.ywdpd_step2 .price').html(response.price);
self.globalList.elementDOM.find('.ywdpd_step2 .price').show();
},
complete: function complete(){
form.unblock();
}});
}).on('reset_data', function (){
self.globalList.elementDOM.find('.ywdpd_add_to_gift').addClass('disabled');
self.globalList.elementDOM.find('.ywdpdp_single_product p.stock.out-of-stock').remove();
self.globalList.elementDOM.find('.ywdpd_step2 .price').hide();
});
self.globalList.elementDOM.find('.ywdpd_add_to_gift').on('click', self.handleSaveOptions.bind(self));
}}, {
key: "getVariations",
value: function getVariations(){
var button=this.globalList.elementDOM.find('.ywdpd_add_to_gift'),
container=button.closest('.ywdpd_single_product_right'),
variations=container.find('[name^="attribute"]'),
var_items={};
variations.each(function (){
var t=jQuery(this),
name=t.attr('name');
var_items[name]=t.val();
});
return var_items;
}}, {
key: "getVariationHtml",
value: function getVariationHtml(variations){
var button=this.globalList.elementDOM.find('.ywdpd_add_to_gift'),
html='',
container=button.closest('.ywdpd_single_product_right');
jQuery.each(variations, function (name, value){
var field=container.find('[name="' + name + '"]'),
label=container.find('label[for="' + field.attr('id') + '"]');
html +='<div class="ywdpd_single_attribute">';
html +="<span class='attribute_name'>" + label.html() + ':</span>';
html +="<span class='attribute_value'>" + value + '</span>';
html +='</div>';
});
return html;
}}, {
key: "addNewQtyField",
value: function addNewQtyField(productContainer, key, variations){
var qtyTemplate=wp.template('ywdpd-popup-quantity-field');
var variations_html=this.getVariationHtml(variations);
var newQtyField=jQuery(qtyTemplate());
var divAttributes=jQuery('<div class="ywdpd_attribute_fields"></div>');
var qtyContainer=productContainer.find('.ywdpd_qty_fields_container');
divAttributes.html(variations_html);
divAttributes.insertAfter(newQtyField.find('.ywdpd_qty_label'));
newQtyField.appendTo(qtyContainer).show();
this.qtyInputFields.push(new QuantityInput(newQtyField, key, qtyContainer.data('min'), qtyContainer.data('max'), this, true));
this.showQtyField(key);
}}, {
key: "handleSaveOptions",
value: function handleSaveOptions(event){
event.preventDefault();
if(!jQuery(event.target).hasClass('disabled')){
var productContainer=this.globalList.elementDOM.find("li.item[data-product_id='" + this.productID + "']"),
variations=this.getVariations(),
key=this.globalList.addProductInList(this.productID, 1, this.variationID, variations),
qty_field=this.elementDOM.find('#' + key + '.ywdpd_qty');
if(!qty_field.length){
this.addNewQtyField(productContainer, key, variations);
this.globalList.showConfirmButton(true);
this.badge.show();
}else{
qty_field.parent().find('.ywdpd_qty_increase').click();
}
this.globalList.backToStepOne();
}}
}]);
}(YWDPD_AbstractProduct);
;
function gift_products_typeof(o){ "@babel/helpers - typeof"; return gift_products_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, gift_products_typeof(o); }
function ownKeys(e, r){ var t=Object.keys(e); if(Object.getOwnPropertySymbols){ var o=Object.getOwnPropertySymbols(e); r&&(o=o.filter(function (r){ return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e){ for (var r=1; r < arguments.length; r++){ var t=null!=arguments[r] ? arguments[r]:{}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r){ _defineProperty(e, r, t[r]); }):Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function (r){ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); });} return e; }
function _defineProperty(e, r, t){ return (r=gift_products_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }):e[r]=t, e; }
function gift_products_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function gift_products_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, gift_products_toPropertyKey(o.key), o); }}
function gift_products_createClass(e, r, t){ return r&&gift_products_defineProperties(e.prototype, r), t&&gift_products_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function gift_products_toPropertyKey(t){ var i=gift_products_toPrimitive(t, "string"); return "symbol"==gift_products_typeof(i) ? i:i + ""; }
function gift_products_toPrimitive(t, r){ if("object"!=gift_products_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=gift_products_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var YWDPD_GiftProducts=function (){
function YWDPD_GiftProducts(element, modal){
gift_products_classCallCheck(this, YWDPD_GiftProducts);
this.elementDOM=element;
this.modal=modal;
this.itemsAllowed=this.elementDOM.find('.ywdpd_single_rule_container').data('allowed_items');
this.maxUnits=this.elementDOM.find('.ywdpd_single_rule_container').data('max_units');
this.confirmButton=this.elementDOM.find('.ywdpd_btn_container');
this.products=this._initProducts();
this.block_params={
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
},
ignoreIfBlocked: true
};
this.productInList=[];
this.elementDOM.find('.ywdpd_step2').on('select2:open', function (){
jQuery('.select2-container').addClass('ywcdd_select2');
}).on('select2:closing', function (){
jQuery('.select2-container').removeClass('ywcdd_select2');
});
jQuery(document).find('.ywdpd_qty_arrows, .single_add_to_cart_button').on('touchstart mousedown', function (e){
e.stopImmediatePropagation();
});
this.confirmButton.on('click', this.handleConfirmClick.bind(this));
}
return gift_products_createClass(YWDPD_GiftProducts, [{
key: "_initProducts",
value: function _initProducts(){
var productsObj=[];
var products=this.elementDOM.find('.ywdpd_popup_items li.product');
var globalList=this;
products.each(function (index){
var productID=jQuery(this).data('product_id');
var productType=jQuery(this).data('product_type');
if(productType!=='variable'){
productsObj[productID]=new YWDPD_SimpleProduct(jQuery(this), globalList);
}else{
productsObj[productID]=new YWDPD_VariableProduct(jQuery(this), globalList);
}});
return productsObj;
}}, {
key: "_hashCode",
value: function _hashCode(s){
var h=0,
i=s.length;
while (i > 0){
h=(h << 5) - h + s.charCodeAt(--i) | 0;
}
return h;
}}, {
key: "getTotalAdded",
value: function getTotalAdded(){
var qty_fields=this.elementDOM.find('li.product.item .ywdpd_qty');
var total=0;
qty_fields.each(function (){
var qty=jQuery(this).html();
qty=''===qty ? 0:parseInt(qty);
total=total + qty;
});
return total;
}}, {
key: "itemsAllowed",
get: function get(){
return this._itemsAllowed;
},
set: function set(items){
this._itemsAllowed=items;
}}, {
key: "disableAllAddToCart",
value: function disableAllAddToCart(disabled){
if(disabled){
this.elementDOM.find('.single_add_to_cart_button').addClass('ywdpd_button_disabled');
}else{
this.elementDOM.find('.single_add_to_cart_button').removeClass('ywdpd_button_disabled');
}}
}, {
key: "disableAllPlusButton",
value: function disableAllPlusButton(disabled){
if(disabled){
this.elementDOM.find('.ywdpd_qty_increase').addClass('ywdpd_button_disabled');
}else{
this.elementDOM.find('.ywdpd_qty_increase').removeClass('ywdpd_button_disabled');
}}
}, {
key: "disableAllMinusButton",
value: function disableAllMinusButton(disabled){
if(disabled){
this.elementDOM.find('.ywdpd_qty_decrease').addClass('ywdpd_button_disabled');
}else{
this.elementDOM.find('.ywdpd_qty_decrease').removeClass('ywdpd_button_disabled');
}}
}, {
key: "showConfirmButton",
value: function showConfirmButton(show){
if(show){
this.confirmButton.show();
}else{
this.confirmButton.hide();
}}
}, {
key: "maybeHideConfirmButton",
value: function maybeHideConfirmButton(){
if(this.getTotalAdded()===0){
this.showConfirmButton(false);
}}
}, {
key: "isProductInList",
value: function isProductInList(key){
var productFound=this.productInList.filter(function (product){
return '' + product.key==='' + key;
}).shift();
return productFound;
}}, {
key: "addProductInList",
value: function addProductInList(productID){
var qty=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:1;
var variationID=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:0;
var variations=arguments.length > 3&&arguments[3]!==undefined ? arguments[3]:{};
var key=this.generateKey(productID, qty, variationID, variations);
if(!this.isProductInList(key)){
var obj={
key: key,
product_id: productID,
variation_id: variationID,
variations: variations,
quantity: qty
};
this.productInList.push(obj);
}
this.maybeDisableMoreAdd();
return key;
}}, {
key: "generateKey",
value: function generateKey(productID){
var qty=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:1;
var variationID=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:0;
var variations=arguments.length > 3&&arguments[3]!==undefined ? arguments[3]:{};
return this._hashCode("".concat(productID, "_").concat(variationID, "_").concat(JSON.stringify(variations)));
}}, {
key: "updateProductInList",
value: function updateProductInList(key, qty){
var newList=this.productInList.map(function (product){
var newProduct=_objectSpread({}, product);
if('' + newProduct.key===key){
newProduct.quantity=qty;
}
return newProduct;
});
this.productInList=newList;
this.maybeDisableMoreAdd();
}}, {
key: "maybeDisableMoreAdd",
value: function maybeDisableMoreAdd(){
if(this.modal.mode==='total_product'){
var disabled=this.getTotalAdded() >=this.itemsAllowed;
this.disableAllAddToCart(disabled);
this.disableAllPlusButton(disabled);
}else{
var totalProductInList=this.productInList.length;
var _disabled=totalProductInList===this.itemsAllowed;
this.disableAllAddToCart(_disabled);
}}
}, {
key: "canShowQtyFields",
value: function canShowQtyFields(){
return this.modal.mode==='total_product'&&this.itemsAllowed > 1||this.modal.mode==='unit_product';
}}, {
key: "removeProductInList",
value: function removeProductInList(key){
var newList=this.productInList.filter(function (product){
return '' + product.key!==key;
});
this.productInList=newList;
}}, {
key: "handleBackButton",
value: function handleBackButton(event){
event.preventDefault();
this.backToStepOne();
}}, {
key: "backToStepOne",
value: function backToStepOne(){
var self=this;
self.elementDOM.find('.ywdpd_step2').fadeOut(300, function (){
self.elementDOM.find('.ywdpd_step1').fadeIn(300);
self.elementDOM.find('.ywdpd_step2').html('');
});
}}, {
key: "goToStepTwo",
value: function goToStepTwo(template, caller){
var self=this;
this.elementDOM.find('.ywdpd_step1').fadeOut(300, function (){
self.elementDOM.find('.ywdpd_step2').html(template);
self.elementDOM.find('.ywdpd_step2 .variations_form').each(function (){
jQuery(this).wc_variation_form();
});
self.elementDOM.find('.ywdpd_step2').fadeIn(300, function (){
var backButton=self.elementDOM.find('.ywdpd_back');
backButton.on('click', self.handleBackButton.bind(self));
caller.elementDOM.trigger('ywdpd_step2_initialized');
});
});
}}, {
key: "handleConfirmClick",
value: function handleConfirmClick(event){
event.preventDefault();
var container=this.elementDOM.find('.ywdpd_single_rule_container');
var product_added_with_qty_by_rule={};
product_added_with_qty_by_rule[this.modal.ruleID]=this.productInList;
var ajaxAction,
ajaxNonces='';
if(container.hasClass('gift_products')){
ajaxAction=ywdpd_popup_args.actions.add_gift_to_cart;
ajaxNonces=ywdpd_popup_args.nonces.add_gift_to_cart;
}else if(container.hasClass('special_offer')){
ajaxAction=ywdpd_popup_args.actions.add_special_to_cart;
ajaxNonces=ywdpd_popup_args.nonces.add_special_to_cart;
}else if(container.hasClass('last_deals')){
ajaxAction=ywdpd_popup_args.actions.add_last_deals;
ajaxNonces=ywdpd_popup_args.nonces.add_last_deals;
}
if(ajaxAction!==''){
var data={
rules_to_apply: product_added_with_qty_by_rule,
action: ajaxAction,
security: ajaxNonces
};
var self=this;
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
beforeSend: function beforeSend(){
self.elementDOM.block(self.block_params);
},
success: function success(response){
setTimeout(function (){
if(typeof response.fragments!=='undefined'){
jQuery(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash]);
}}, 1000);
},
complete: function complete(){
self.elementDOM.unblock();
self.modal.close(true);
jQuery(document.body).trigger('gift_added_to_cart');
}});
}}
}]);
}();
var source=__webpack_require__(248);
;
function ywdpd_modal_typeof(o){ "@babel/helpers - typeof"; return ywdpd_modal_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, ywdpd_modal_typeof(o); }
function ywdpd_modal_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function ywdpd_modal_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, ywdpd_modal_toPropertyKey(o.key), o); }}
function ywdpd_modal_createClass(e, r, t){ return r&&ywdpd_modal_defineProperties(e.prototype, r), t&&ywdpd_modal_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function ywdpd_modal_toPropertyKey(t){ var i=ywdpd_modal_toPrimitive(t, "string"); return "symbol"==ywdpd_modal_typeof(i) ? i:i + ""; }
function ywdpd_modal_toPrimitive(t, r){ if("object"!=ywdpd_modal_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=ywdpd_modal_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var YWDPD_MODAL=function (){
function YWDPD_MODAL(popupContainer){
ywdpd_modal_classCallCheck(this, YWDPD_MODAL);
this.elementDOM=popupContainer;
this.noThanksButton=this.elementDOM.find('.ywdpd_footer a');
this.closeButton=this.elementDOM.find('.ywdpd_close');
this.countdown='';
this._initModal();
this.noThanksButton.on('click', this.handleNoThanks.bind(this));
this.closeButton.on('click', this.handleClose.bind(this));
jQuery(window).on('resize', this.handleCenterModal.bind(this));
}
return ywdpd_modal_createClass(YWDPD_MODAL, [{
key: "_initModal",
value: function _initModal(){
var container=this.elementDOM.find('.ywdpd_single_rule_container');
var wrapper=this.elementDOM.find('.ywdpd_popup_wrapper');
this.ruleID=wrapper.data('rule_id');
this.mode=wrapper.data('mode');
this.countdown=container.data('countdown');
this._initSlider();
this._initElements();
if(this.countdown!==''){
this._initCountdown();
}}
}, {
key: "_initSlider",
value: function _initSlider(){
var max_items=3,
sliders=this.elementDOM.find('.ywdpd_popup_stage');
sliders.each(function (){
var slider=jQuery(this).find('.owl-carousel'),
item=parseInt(slider.find('li').length),
autoWidth=true,
margin=30,
center=false,
nav=true,
ul=jQuery(this).find('ul.ywdpd_popup_items');
item=item > max_items ? max_items:item;
if(item > 1){
if(item >=3){
ul.css({
'padding-left': '5px'
});
}else{
ul.css({
'padding-left': '30px'
});
}
slider.owlCarousel({
loop: false,
margin: margin,
center: center,
autoWidth: autoWidth,
nav: nav,
rtl: false,
navText: ['<span></span>', '<span></span>'],
responsiveClass: true,
onInitialized: function onInitialized(e){
var count=e.item.count;
if(count > 1){
ul.find('.owl-stage').css({
margin: '0 auto'
});
}},
responsive: {
0: {
items: ywdpd_popup_args.number_of_items_slider_mobile > 0 ? ywdpd_popup_args.number_of_items_slider_mobile:1,
autoWidth: false,
margin: 10
},
721: {
items: item
},
1000: {
items: item
}}
});
}else{
ul.addClass('ywdpd_one_item');
}});
}}, {
key: "_initElements",
value: function _initElements(){
new YWDPD_GiftProducts(this.elementDOM.find('.ywdpd_popup_content'), this);
}}, {
key: "_center",
value: function _center(){
var popup_wrapper=this.elementDOM.find('.ywdpd_popup_wrapper');
var rules=popup_wrapper.find('.ywdpd_single_rule_container'),
max_width=715,
current_width=popup_wrapper.css('width'),
w,
h=popup_wrapper.outerHeight(),
W=this.elementDOM.width(),
H=this.elementDOM.height(),
screen_width=this.elementDOM.width();
var top, left;
if(!popup_wrapper.hasClass('full')){
if(screen_width > 720){
rules.each(function (){
var li=jQuery(this).find('ul li'),
amount_li=li.length;
if(amount_li >=3){
current_width=max_width;
}else{
current_width=438;
}});
}else{
current_width=current_width.replace('px', '');
current_width=parseFloat(current_width);
}
w=current_width;
if(jQuery('#wpadminbar').length){
h=h - jQuery('#wpadminbar').height() - 10;
}
top=(H - h) / 2;
left=(W - w) / 2;
}else{
top=0;
left=0;
popup_wrapper.find('.ywdpd_popup_general_content').css({
height: 'calc(' + h + 'px - 60px)'
});
}
popup_wrapper.css({
position: 'fixed',
top: top + 'px',
left: left + 'px'
});
}}, {
key: "_initCountdown",
value: function _initCountdown(){
var container=this.elementDOM.find('.ywdpd_single_rule_container');
if(this.countdown!==''){
var config=this.countdown.split(',');
var minutes=config[1]==='minutes' ? config[0]:0;
var seconds=config[1]==='seconds' ? config[0]:0;
minutes=minutes >=10 ? minutes:'0' + minutes;
seconds=seconds >=10 ? seconds:'0' + seconds;
var countdownDiv=jQuery('<div class="ywdpd_countdown"><i class="ywdpd-icon-time-check"></i><div class="ywdpd_timer"></div>');
countdownDiv.insertAfter(container.find('.ywdpd_rule_title'));
this.elementDOM.find('.ywdpd_timer').html(minutes + ':' + seconds);
this.elementDOM.find('.ywdpd_countdown').css('display', 'flex');
}}
}, {
key: "show",
value: function show(){
var element=this;
setTimeout(function (){
element.elementDOM.fadeIn(300);
element._center();
element.startCountDown();
jQuery(document).trigger('ywdpd_popup_ready', [element]);
}, 900);
}}, {
key: "startCountDown",
value: function startCountDown(){
if(this.countdown!==''){
var config=this.countdown.split(',');
var countDownMinutes=config[1]==='seconds' ? 0:parseInt(config[0]);
var countDownSeconds=config[1]==='seconds' ? parseInt(config[0]):0;
var countDownDate=false;
var self=this;
if('minutes'===config[1]){
countDownDate=new Date(new Date().getTime() + countDownMinutes * 60000);
}else{
countDownDate=new Date(new Date().getTime() + countDownSeconds * 1000);
}
var x=setInterval(function (){
var now=new Date().getTime();
var distance=countDownDate.getTime() - now;
var minutes=Math.floor(distance % (1000 * 60 * 60) / (1000 * 60));
var seconds=Math.floor(distance % (1000 * 60) / 1000);
minutes=minutes >=10 ? minutes:'0' + minutes;
seconds=seconds >=10 ? seconds:'0' + seconds;
self.elementDOM.find('.ywdpd_timer').html(minutes + ':' + seconds);
if(distance < 0){
clearInterval(x);
self.close();
}}, 1000);
}}
}, {
key: "close",
value: function close(with_changes){
with_changes=typeof with_changes!=='undefined' ? with_changes:false;
this.elementDOM.fadeOut(300).remove();
if(with_changes){
if(this.elementDOM.hasClass('cart')){
jQuery(document).trigger('wc_update_cart');
}else if(this.elementDOM.hasClass('checkout')){
jQuery(document.body).trigger('update_checkout');
}}
if('yes'===ywdpd_popup_args.reload_after_ajax_add_to_cart){
location.reload(true);
}
jQuery(document).trigger('ywdpd_popup_closed');
}}, {
key: "handleNoThanks",
value: function handleNoThanks(event){
event.preventDefault();
this.close();
}}, {
key: "handleClose",
value: function handleClose(event){
event.preventDefault();
this.close();
}}, {
key: "handleCenterModal",
value: function handleCenterModal(){
this._center();
}}]);
}();
;
function js_cookie_assign (target){
for (var i=1; i < arguments.length; i++){
var source=arguments[i];
for (var key in source){
target[key]=source[key];
}}
return target
}
var defaultConverter={
read: function (value){
if(value[0]==='"'){
value=value.slice(1, -1);
}
return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
},
write: function (value){
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
decodeURIComponent
)
}};
function init (converter, defaultAttributes){
function set (name, value, attributes){
if(typeof document==='undefined'){
return
}
attributes=js_cookie_assign({}, defaultAttributes, attributes);
if(typeof attributes.expires==='number'){
attributes.expires=new Date(Date.now() + attributes.expires * 864e5);
}
if(attributes.expires){
attributes.expires=attributes.expires.toUTCString();
}
name=encodeURIComponent(name)
.replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
.replace(/[()]/g, escape);
var stringifiedAttributes='';
for (var attributeName in attributes){
if(!attributes[attributeName]){
continue
}
stringifiedAttributes +='; ' + attributeName;
if(attributes[attributeName]===true){
continue
}
stringifiedAttributes +='=' + attributes[attributeName].split(';')[0];
}
return (document.cookie =
name + '=' + converter.write(value, name) + stringifiedAttributes)
}
function get (name){
if(typeof document==='undefined'||(arguments.length&&!name)){
return
}
var cookies=document.cookie ? document.cookie.split('; '):[];
var jar={};
for (var i=0; i < cookies.length; i++){
var parts=cookies[i].split('=');
var value=parts.slice(1).join('=');
try {
var found=decodeURIComponent(parts[0]);
jar[found]=converter.read(value, found);
if(name===found){
break
}} catch (e){}}
return name ? jar[name]:jar
}
return Object.create({
set,
get,
remove: function (name, attributes){
set(
name,
'',
js_cookie_assign({}, attributes, {
expires: -1
})
);
},
withAttributes: function (attributes){
return init(this.converter, js_cookie_assign({}, this.attributes, attributes))
},
withConverter: function (converter){
return init(js_cookie_assign({}, this.converter, converter), this.attributes)
}},
{
attributes: { value: Object.freeze(defaultAttributes) },
converter: { value: Object.freeze(converter) }}
)
}
var api=init(defaultConverter, { path: '/' });
;
function modal_manager_typeof(o){ "@babel/helpers - typeof"; return modal_manager_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator ? function (o){ return typeof o; }:function (o){ return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype ? "symbol":typeof o; }, modal_manager_typeof(o); }
function modal_manager_classCallCheck(a, n){ if(!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function modal_manager_defineProperties(e, r){ for (var t=0; t < r.length; t++){ var o=r[t]; o.enumerable=o.enumerable||!1, o.configurable = !0, "value" in o&&(o.writable = !0), Object.defineProperty(e, modal_manager_toPropertyKey(o.key), o); }}
function modal_manager_createClass(e, r, t){ return r&&modal_manager_defineProperties(e.prototype, r), t&&modal_manager_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function modal_manager_toPropertyKey(t){ var i=modal_manager_toPrimitive(t, "string"); return "symbol"==modal_manager_typeof(i) ? i:i + ""; }
function modal_manager_toPrimitive(t, r){ if("object"!=modal_manager_typeof(t)||!t) return t; var e=t[Symbol.toPrimitive]; if(void 0!==e){ var i=e.call(t, r||"default"); if("object"!=modal_manager_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string"===r ? String:Number)(t); }
var YWDPD_Modal_Manager=function (){
function YWDPD_Modal_Manager(){
modal_manager_classCallCheck(this, YWDPD_Modal_Manager);
this._initModals();
this.showModal();
jQuery(document).on('ywdpd_popup_ready', this.setModalAsVisited.bind(this));
jQuery(document).on('ywdpd_popup_closed', this.showModal.bind(this));
jQuery(document.body).on('updated_wc_div', this.getNewCartModals.bind(this));
jQuery(document.body).on('added_to_cart', this.getNewShopModals.bind(this));
}
return modal_manager_createClass(YWDPD_Modal_Manager, [{
key: "_initModals",
value: function _initModals(){
var modals=jQuery(document).find('.ywdpd_popup');
var modalsObj=[];
modals.each(function (){
modalsObj.push(new YWDPD_MODAL(jQuery(this)));
});
this.modalsObj=modalsObj.reverse();
}}, {
key: "setModalAsVisited",
value: function setModalAsVisited(e, modal){
var oldValues=api.get('yith_ywdpd_modal_rule');
if(typeof oldValues==='undefined'){
oldValues=[];
}else{
oldValues=JSON.parse(oldValues);
}
oldValues.push(modal.ruleID);
api.set('yith_ywdpd_modal_rule', JSON.stringify(oldValues), {
path: '/',
expires: 1
});
}}, {
key: "showModal",
value: function showModal(){
if(this.modalsObj.length){
var currentModal=this.modalsObj.pop();
setTimeout(function (){
currentModal.show();
}, 500);
}}
}, {
key: "getNewCartModals",
value: function getNewCartModals(){
var data={
action: ywdpd_popup_args.actions.update_gift_popup,
security: ywdpd_popup_args.nonces.update_gift_popup
};
var self=this;
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
success: function success(response){
if(''!==response.popup){
jQuery(document.body).append(jQuery(response.popup));
self._initModals();
self.showModal();
}}
});
}}, {
key: "getNewShopModals",
value: function getNewShopModals(){
var data={
action: ywdpd_popup_args.actions.show_popup_on_shop,
security: ywdpd_popup_args.nonces.show_popup_on_shop
};
var self=this;
jQuery.ajax({
type: 'POST',
url: ywdpd_popup_args.ajax_url,
data: data,
dataType: 'json',
success: function success(response){
if(''!==response.popup){
jQuery(document.body).append(jQuery(response.popup));
self._initModals();
self.showModal();
}},
error: function error(a, b, c){
console.log(a, b, c);
}});
}}]);
}();
;
jQuery(document).ready(function (){
new YWDPD_Modal_Manager();
});
})();
})()
;