// source --> https://www.bonjour-allemagne.fr/wp-content/uploads/hummingbird-assets/b8c4d1a777097946136ae6c7057a817c.js 
/**handles:wc-gzd-unit-price-observer-queue,wc-accounting,wc-gzd-unit-price-observer**/
(()=>{var e={},u,s;window.germanized=window.germanized||{},u=jQuery,(s=window.germanized).unit_price_observer_queue={queue:{},timeout:null,params:{},request:null,init:function(){this.params=wc_gzd_unit_price_observer_queue_params,this.queue={},this.queuesInExecution={},this.latestQueueInExection="",this.aborted={},this.timeout=null,this.request=null},execute:function(){var p=s.unit_price_observer_queue,t=[],r=Date.now()+"";p.queuesInExecution[r]={...p.queue},p.latestQueueInExection=r,p.queue={},Object.keys(p.queuesInExecution[r]).forEach(function(e){t=t.concat([{product_id:p.queuesInExecution[r][e].productId,price:p.queuesInExecution[r][e].priceData.price,price_sale:p.queuesInExecution[r][e].priceData.sale_price,quantity:p.queuesInExecution[r][e].priceData.quantity,is_range:!!p.queuesInExecution[r][e].priceData.hasOwnProperty("is_range")&&p.queuesInExecution[r][e].priceData.is_range,key:e}])}),p.request=u.ajax({type:"POST",url:p.params.wc_ajax_url.toString().replace("%%endpoint%%","gzd_refresh_unit_price"),data:{security:p.params.refresh_unit_price_nonce,products:t,queue_id:r},queueId:r,success:function(a){var o=this.queueId,c=p.queuesInExecution.hasOwnProperty(o)?p.queuesInExecution[o]:{},s=p.aborted.hasOwnProperty(o)?p.aborted[o]:{};Object.keys(c).forEach(function(e){var t,r,u,n,i,t,e;s.hasOwnProperty(e)?delete p.aborted[o][e]:(r=(t=c[e]).observer,n=t.priceSelector,i=t.isPrimary,t=p.getUnitPricesFromMap(t.priceData.unit_price),r&&(a.products.hasOwnProperty(e)?(e=a.products[e],r.stopObserver(r,n),parseInt(e.product_id)===r.getCurrentProductId(r)&&e.hasOwnProperty("unit_price_html")?r.unsetUnitPriceLoading(r,t,e.unit_price_html):r.unsetUnitPriceLoading(r,t)):(r.stopObserver(r,n),r.unsetUnitPriceLoading(r,t)),r.startObserver(r,n,i)))}),delete p.queuesInExecution[o]},error:function(){var i=this.queueId,a=p.queuesInExecution.hasOwnProperty(i)?p.queuesInExecution[i]:{},o=p.aborted.hasOwnProperty(i)?p.aborted[i]:{};Object.keys(a).forEach(function(e){var e,t,r,u,n,e;o.hasOwnProperty(e)?delete p.aborted[i][e]:(t=(e=a[e]).observer,u=e.priceSelector,n=e.isPrimary,e=p.getUnitPricesFromMap(e.priceData.unit_price),t&&(t.stopObserver(t,u),t.unsetUnitPriceLoading(t,e),t.startObserver(t,u,n)))}),delete p.queuesInExecution[i]},dataType:"json"})},getUnitPricesFromMap:function(e){let t=[];return e.forEach(function(e){t=u.merge(t,u(e))}),u(t)},getQueueKey:function(e){return(e+"").replace(/[^a-zA-Z0-9]/g,"")},getLatestQueueInExecution(){var e=s.unit_price_observer_queue;return e.queuesInExecution.hasOwnProperty(e.latestQueueInExection)?e.queuesInExecution[e.latestQueueInExection]:{}},exists:function(e){var t=s.unit_price_observer_queue,e=t.getQueueKey(e);return t.queue.hasOwnProperty(e)||t.getLatestQueueInExecution().hasOwnProperty(e)},get:function(e){var t=s.unit_price_observer_queue,e=t.getQueueKey(e),r=t.getLatestQueueInExecution().hasOwnProperty(e);return r.hasOwnProperty(e)?r[e]:!!t.queue.hasOwnProperty(e)&&t.queue[e]},abort:function(e){var t=s.unit_price_observer_queue,e=t.getQueueKey(e),r=t.latestQueueInExection,u=t.queuesInExecution.hasOwnProperty(r)?t.queuesInExecution[r]:{},u,n,i,a,o,c;return!!u.hasOwnProperty(e)&&(n=(u=u[e]).observer,a=u.priceSelector,o=u.isPrimary,c=t.getUnitPricesFromMap(u.priceData.unit_price),n&&(n.stopObserver(n,a),n.unsetUnitPriceLoading(n,c),n.startObserver(n,a,o)),t.aborted.hasOwnProperty(r)||(t.aborted[r]={}),t.aborted[r][e]=u,!0)},add:function(e,t,r,u,n){var i=s.unit_price_observer_queue,a=i.getQueueKey(t),o;i.queue.hasOwnProperty(a)?r.unit_price.each(function(e,t){i.queue[a].priceData.unit_price.has(t)||i.queue[a].priceData.unit_price.set(t,t)}):(o=new Map,r.unit_price.each(function(e,t){o.set(t,t)}),r.unit_price=o,i.queue[a]={productId:t,observer:e,priceData:r,priceSelector:u,isPrimary:n}),clearTimeout(i.timeout),i.timeout=setTimeout(i.execute,500)}},u(document).ready(function(){s.unit_price_observer_queue.init()}),((window.germanized=window.germanized||{}).static=window.germanized.static||{})["unit-price-observer-queue"]=e})();
/*!
 * accounting.js v0.4.2
 * Copyright 2014 Open Exchange Rates
 *
 * Freely distributable under the MIT license.
 * Portions of accounting.js are inspired or borrowed from underscore.js
 *
 * Full details and documentation:
 * http://openexchangerates.github.io/accounting.js/
 */
!function(n,r){var e={version:"0.4.1",settings:{currency:{symbol:"$",format:"%s%v",decimal:".",thousand:",",precision:2,grouping:3},number:{precision:0,grouping:3,thousand:",",decimal:"."}}},t=Array.prototype.map,o=Array.isArray,a=Object.prototype.toString;function i(n){return!!(""===n||n&&n.charCodeAt&&n.substr)}function u(n){return o?o(n):"[object Array]"===a.call(n)}function c(n){return n&&"[object Object]"===a.call(n)}function s(n,r){var e;for(e in n=n||{},r=r||{})r.hasOwnProperty(e)&&null==n[e]&&(n[e]=r[e]);return n}function f(n,r,e){var o,a,i=[];if(!n)return i;if(t&&n.map===t)return n.map(r,e);for(o=0,a=n.length;o<a;o++)i[o]=r.call(e,n[o],o,n);return i}function p(n,r){return n=Math.round(Math.abs(n)),isNaN(n)?r:n}function l(n){var r=e.settings.currency.format;return"function"==typeof n&&(n=n()),i(n)&&n.match("%v")?{pos:n,neg:n.replace("-","").replace("%v","-%v"),zero:n}:n&&n.pos&&n.pos.match("%v")?n:i(r)?e.settings.currency.format={pos:r,neg:r.replace("%v","-%v"),zero:r}:r}var m,d=e.unformat=e.parse=function(n,r){if(u(n))return f(n,function(n){return d(n,r)});if("number"==typeof(n=n||0))return n;r=r||e.settings.number.decimal;var t=new RegExp("[^0-9-"+r+"]",["g"]),o=parseFloat((""+n).replace(/\((.*)\)/,"-$1").replace(t,"").replace(r,"."));return isNaN(o)?0:o},g=e.toFixed=function(n,r){r=p(r,e.settings.number.precision);var t=Math.pow(10,r);return(Math.round(e.unformat(n)*t)/t).toFixed(r)},h=e.formatNumber=e.format=function(n,r,t,o){if(u(n))return f(n,function(n){return h(n,r,t,o)});n=d(n);var a=s(c(r)?r:{precision:r,thousand:t,decimal:o},e.settings.number),i=p(a.precision),l=n<0?"-":"",m=parseInt(g(Math.abs(n||0),i),10)+"",y=m.length>3?m.length%3:0;return l+(y?m.substr(0,y)+a.thousand:"")+m.substr(y).replace(/(\d{3})(?=\d)/g,"$1"+a.thousand)+(i?a.decimal+g(Math.abs(n),i).split(".")[1]:"")},y=e.formatMoney=function(n,r,t,o,a,i){if(u(n))return f(n,function(n){return y(n,r,t,o,a,i)});n=d(n);var m=s(c(r)?r:{symbol:r,precision:t,thousand:o,decimal:a,format:i},e.settings.currency),g=l(m.format);return(n>0?g.pos:n<0?g.neg:g.zero).replace("%s",m.symbol).replace("%v",h(Math.abs(n),p(m.precision),m.thousand,m.decimal))};e.formatColumn=function(n,r,t,o,a,m){if(!n)return[];var g=s(c(r)?r:{symbol:r,precision:t,thousand:o,decimal:a,format:m},e.settings.currency),y=l(g.format),b=y.pos.indexOf("%s")<y.pos.indexOf("%v"),v=0;return f(f(n,function(n,r){if(u(n))return e.formatColumn(n,g);var t=((n=d(n))>0?y.pos:n<0?y.neg:y.zero).replace("%s",g.symbol).replace("%v",h(Math.abs(n),p(g.precision),g.thousand,g.decimal));return t.length>v&&(v=t.length),t}),function(n,r){return i(n)&&n.length<v?b?n.replace(g.symbol,g.symbol+new Array(v-n.length+1).join(" ")):new Array(v-n.length+1).join(" ")+n:n})},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.accounting=e):"function"==typeof define&&define.amd?define([],function(){return e}):(e.noConflict=(m=n.accounting,function(){return n.accounting=m,e.noConflict=void 0,e}),n.accounting=e)}(this);
(()=>{var e={},u,t,r,i,n;u=jQuery,t=window,r=document,(n=function(e){var o=this,r;if(o.params=wc_gzd_unit_price_observer_params,o.$wrapper=e.closest(o.params.wrapper),o.$form=0<o.$wrapper.find(".variations_form, .cart").length&&o.$wrapper.find(".variations_form, .cart"),o.isVar=!!o.$form&&o.$form.hasClass("variations_form"),o.$product=o.$wrapper.closest(".product"),o.requests=[],o.observer={},o.timeout=!1,o.priceData=!1,o.productId=0,o.$wrapper.length<=0&&(o.$wrapper=o.$product),o.replacePrice=!o.$wrapper.hasClass("bundled_product")&&o.params.replace_price,"MutationObserver"in t||"WebKitMutationObserver"in t||"MozMutationObserver"in t){if(o.$wrapper.addClass("has-unit-price-observer"),o.initObservers(o),o.isVar&&o.$form?(o.productId=parseInt(0<o.$form.find("input[name=product_id]").length?o.$form.find("input[name=product_id]").val():o.$form.data("product_id")),o.variationId=parseInt(0<o.$form.find("input[name=variation_id]").length?o.$form.find("input[name=variation_id]").val():0),o.$form.find("input[name=variation_id]").length<=0&&(o.variationId=parseInt(0<o.$form.find("input.variation_id").length?o.$form.find("input.variation_id").val():0)),o.$form.on("reset_data.unit-price-observer",{GermanizedUnitPriceObserver:o},o.onResetVariation),o.$form.on("found_variation.unit-price-observer",{GermanizedUnitPriceObserver:o},o.onFoundVariation)):o.$form&&0<o.$form.find("*[name=add-to-cart][type=submit]").length?o.productId=parseInt(o.$form.find("*[name=add-to-cart][type=submit]").val()):o.$form&&o.$form.data("product_id")?o.productId=parseInt(o.$form.data("product_id")):(r=o.$product.attr("class").split(/\s+/),u.each(r,function(e,r){if("post-"===r.substring(0,5)){var r=parseInt(r.substring(5).replace(/[^0-9]/g,""));if(0<r)return o.productId=r,!0}}),o.productId<=0&&1===o.$product.find("a.ajax_add_to_cart[data-product_id], a.add_to_cart_button[data-product_id]").length&&(o.productId=parseInt(o.$product.find("a.ajax_add_to_cart, a.add_to_cart_button").data("product_id")))),o.productId<=0)return o.destroy(o),!1;o.params.refresh_on_load&&u.each(o.params.price_selector,function(r,t){var i=!!t.hasOwnProperty("is_primary_selector")&&t.is_primary_selector,n=o.getPriceNode(o,r,i),a=o.getUnitPriceNode(o,n);i&&0<a.length&&(o.stopObserver(o,r),o.setUnitPriceLoading(o,a),setTimeout(function(){o.stopObserver(o,r);var e=o.getCurrentPriceData(o,n,t.is_total_price,i,t.quantity_selector);e?o.refreshUnitPrice(o,e,r,i):0<a.length&&o.unsetUnitPriceLoading(o,a),o.startObserver(o,r,i)},250))})}e.data("unitPriceObserver",o)}).prototype.destroy=function(e){(e=e||this).cancelObservers(e),e.$form&&e.$form.off(".unit-price-observer"),e.$wrapper.removeClass("has-unit-price-observer")},n.prototype.getTextWidth=function(e){var r=e.html(),t,i=(e.html("<span>"+r+"</span>"),e.find("span:first").width());return e.html(r),i},n.prototype.getPriceNode=function(e,r,t,i){t=void 0!==t&&t;var i=(i=void 0===i||i)?":visible":"",r=e.$wrapper.find(r+":not(.price-unit)"+i).not(".variations_form .single_variation .price").first();return t&&e.isVar&&(r.length<=0||!e.replacePrice)?r=e.$wrapper.find(".woocommerce-variation-price span.price:not(.price-unit):last"+i):t&&r.length<=0&&(r=e.$wrapper.find(".price:not(.price-unit):last"+i)),r=r.length<=0&&e.$wrapper.hasClass("wc-block-product")?e.$wrapper.find(".wc-block-grid__product-price"):r},n.prototype.getObserverNode=function(e,r,t){var r=e.getPriceNode(e,r,t,!1);return r=t&&e.isVar&&!e.replacePrice?e.$wrapper.find(".single_variation:last"):r},n.prototype.getUnitPriceNode=function(e,r){var t,i,n,t;return r.length<=0||(t=[],i=0<r.parents(".wp-block-woocommerce-product-price[data-is-descendent-of-single-product-template]").length,n=e.$wrapper.hasClass("wc-block-product"),0<(t="SPAN"===r[0].tagName?e.$wrapper.find(".price-unit"):i?e.$wrapper.find(".wp-block-woocommerce-gzd-product-unit-price[data-is-descendent-of-single-product-template] .price-unit"):n?e.$wrapper.find(".price-unit:not(.wc-gzd-additional-info-placeholder)"):e.$wrapper.find(".price-unit:not(.wc-gzd-additional-info-placeholder, .wc-gzd-additional-info-loop)")).length&&(t.is(":empty")||t.find(".wc-gzd-additional-info-placeholder").is(":empty")))?[]:t},n.prototype.stopObserver=function(e,r){var e=e.getObserver(e,r);e&&e.disconnect()},n.prototype.startObserver=function(e,r,t){var i=e.getObserver(e,r),t=e.getObserverNode(e,r,t);return!!i&&(e.stopObserver(e,r),0<t.length&&i.observe(t[0],{attributes:!0,childList:!0,subtree:!0,characterData:!0,attributeFilter:["style"]}),!0)},n.prototype.initObservers=function(c){0===Object.keys(c.observer).length&&u.each(c.params.price_selector,function(s,d){var p=!!d.hasOwnProperty("is_primary_selector")&&d.is_primary_selector,e=c.getObserverNode(c,s,p),r=!1,e;0<e.length&&e.is(":visible")&&(e=function(e,r){var t=c.getPriceNode(c,s,p),i;for(i of e){var n=u(i.target);if(0<n.length){let e;0<(e=n.is(s)?n:n.parents(s)).length&&(t=e)}}c.timeout&&clearTimeout(c.timeout);var a=c.getUnitPriceNode(c,t),o=!1;if(t.length<=0)return!1;c.stopObserver(c,s),0<a.length&&(c.setUnitPriceLoading(c,a),c.timeout=setTimeout(function(){var e,r;c.stopObserver(c,s),0<(t=c.getPriceNode(c,s,p)).length&&(e=c.getCurrentPriceData(c,t,d.is_total_price,p,d.quantity_selector),r=t.is(":visible"),e&&(c.isRefreshingUnitPrice(c.getCurrentProductId(c))&&c.abortRefreshUnitPrice(c.getCurrentProductId(c)),o=!0,c.refreshUnitPrice(c,e,s,p)),!o)&&0<a.length&&(c.unsetUnitPriceLoading(c,a),!r)&&p&&a.hide(),c.startObserver(c,s,p)},500))},"MutationObserver"in t?r=new t.MutationObserver(e):"WebKitMutationObserver"in t?r=new t.WebKitMutationObserver(e):"MozMutationObserver"in t&&(r=new t.MozMutationObserver(e)),r)&&(c.observer[s]=r,c.startObserver(c,s,p))})},n.prototype.getObserver=function(e,r){return!!e.observer.hasOwnProperty(r)&&e.observer[r]},n.prototype.cancelObservers=function(e){for(var r in e.observer)e.observer.hasOwnProperty(r)&&(e.observer[r].disconnect(),delete e.observer[r])},n.prototype.onResetVariation=function(e){var r;e.data.GermanizedUnitPriceObserver.variationId=0},n.prototype.onFoundVariation=function(e,r){var e=e.data.GermanizedUnitPriceObserver;r.hasOwnProperty("variation_id")&&(e.variationId=parseInt(r.variation_id)),e.initObservers(e)},n.prototype.getCurrentPriceData=function(e,r,t,i,n){n=n&&""!==n?n:e.params.qty_selector;var i="string"==typeof r||r instanceof String?e.getPriceNode(e,r,i):r;if(0<i.length){i.find(":hidden").addClass("wc-gzd-is-hidden");var r=e.getUnitPriceNode(e,i),a=i.clone(),o=(a.find(".woocommerce-price-suffix").remove(),a.find(".wc-gzd-is-hidden").remove(),""),s=a.find(".amount:first"),n=u(e.params.wrapper+" "+n+":first"),d=1,p=!1,n=(0<n.length&&(d=parseFloat(n.val())),s.length<=0&&(s=0<a.find(".price").length?a.find(".price"):a),e.getRawPrice(s,e.params.price_decimal_sep)),s,o;if(1<a.find(".amount").length&&(s=u(a.find(".amount")[1]),o=e.getRawPrice(s,e.params.price_decimal_sep)),o&&a.find("del").length<=0&&(p=!0),i.find(".wc-gzd-is-hidden").removeClass("wc-gzd-is-hidden"),0<r.length&&n)return t&&(n=parseFloat(n)/d,o=o&&parseFloat(o)/d),{price:n,unit_price:r,sale_price:o,quantity:d,is_range:p}}return!1},n.prototype.getCurrentProductId=function(e){var r=e.productId;return 0<e.variationId&&(r=e.variationId),parseInt(r)},n.prototype.getRawPrice=function(e,r){var e=0<e.length?e.text():"",t=!1;try{t=accounting.unformat(e,r)}catch(e){t=!1}return t},n.prototype.setUnitPriceLoading=function(e,r){var t=r.html(),e,i;return r.hasClass("wc-gzd-loading")||(e=e.getTextWidth(r),i=0<r.find("span").length?r.find("span").innerHeight():r.height(),r.html('<span class="wc-gzd-placeholder-loading"><span class="wc-gzd-placeholder-row" style="height: '+r.height()+'px;"><span class="wc-gzd-placeholder-row-col-4" style="width: '+e+"px; height: "+i+'px;"></span></span></span>'),r.addClass("wc-gzd-loading")),r.data("org-html",t),t},n.prototype.unsetUnitPriceLoading=function(e,r,t){t=t||r.data("org-html"),r.html(t),r.hasClass("wc-gzd-loading")&&r.removeClass("wc-gzd-loading"),"string"==typeof t&&0<t.length&&r.show()},n.prototype.isRefreshingUnitPrice=function(e){return germanized.unit_price_observer_queue.exists(e)},n.prototype.abortRefreshUnitPrice=function(e){return germanized.unit_price_observer_queue.abort(e)},n.prototype.refreshUnitPrice=function(e,r,t,i){germanized.unit_price_observer_queue.add(e,e.getCurrentProductId(e),r,t,i)},u.fn.wc_germanized_unit_price_observer=function(){return u(this).data("unitPriceObserver")&&u(this).data("unitPriceObserver").destroy(),new n(this),this},u(function(){"undefined"!=typeof wc_gzd_unit_price_observer_params&&u(wc_gzd_unit_price_observer_params.wrapper).each(function(){u(this).is("body")||u(this).wc_germanized_unit_price_observer()})}),window.germanized=window.germanized||{},((window.germanized=window.germanized||{}).static=window.germanized.static||{})["unit-price-observer"]=e})();