From 78d5895fd2b49a06946a41ac927155d4899a75aa Mon Sep 17 00:00:00 2001 From: Rahul Gupta Date: Thu, 26 Sep 2024 20:10:49 +0530 Subject: [PATCH 1/6] [MWPW-158004] Fix callout & grey line alignment issues in product merch cards (#2946) * Fix for MWPW-158004 * remove comments * Adjust slots * button fix * add new body-lower slot for product card * update deps * Add unit test * Add local unit test case for mas * Add eventlistener to resize * removed debug statements and comments * UT failure * Review comment * ccov * review comments --- libs/blocks/merch-card/merch-card.css | 4 + libs/blocks/merch-card/merch-card.js | 18 +- libs/deps/mas/mas.js | 298 ++++++++++++------ libs/deps/mas/merch-card.js | 164 ++++++---- libs/features/mas/mocks/offers.json | 40 ++- .../src/variants/mini-compare-chart.js | 53 +--- .../web-components/src/variants/product.js | 66 +++- .../src/variants/variant-layout.js | 26 ++ .../web-components/src/variants/variants.js | 1 + .../test/merch-card-product.test.html | 176 +++++++++++ .../test/merch-card-product.test.html.js | 69 ++++ test/blocks/merch-card/merch-card.test.js | 13 + test/blocks/merch-card/mocks/product.html | 32 ++ 13 files changed, 753 insertions(+), 207 deletions(-) create mode 100644 libs/features/mas/web-components/test/merch-card-product.test.html create mode 100644 libs/features/mas/web-components/test/merch-card-product.test.html.js create mode 100644 test/blocks/merch-card/mocks/product.html diff --git a/libs/blocks/merch-card/merch-card.css b/libs/blocks/merch-card/merch-card.css index e6af2d2e1f..b970ac8446 100644 --- a/libs/blocks/merch-card/merch-card.css +++ b/libs/blocks/merch-card/merch-card.css @@ -16,6 +16,10 @@ div[class*="-merch-card"] > div, display: none; } + merch-card .body-lower > hr { + width: 100% + } + .merch-card-price { margin-top: 8px; margin-bottom: 16px; diff --git a/libs/blocks/merch-card/merch-card.js b/libs/blocks/merch-card/merch-card.js index 2a0ceaec90..0a02669dd3 100644 --- a/libs/blocks/merch-card/merch-card.js +++ b/libs/blocks/merch-card/merch-card.js @@ -359,6 +359,22 @@ const simplifyHrs = (el) => { hr.parentElement.replaceWith(hr); } }); + if (el.variant === PRODUCT) { + const calloutContent = el.querySelector('div[slot="callout-content"]'); + const bodySlot = el.querySelector('div[slot="body-xs"]'); + if (calloutContent && bodySlot) { + const bodyLowerContent = createTag('div', { slot: 'body-lower' }); + const elements = [...bodySlot.children]; + elements.forEach((element) => { + if (element.tagName !== 'P') { + bodyLowerContent.append(element); + } + }); + if (bodyLowerContent.childNodes.length > 0) { + calloutContent.parentElement.appendChild(bodyLowerContent); + } + } + } }; const getMiniCompareChartFooterRows = (el) => { @@ -496,7 +512,7 @@ export default async function init(el) { } } let footerRows; - if ([MINI_COMPARE_CHART, PLANS, SEGMENT].includes(cardType)) { + if ([MINI_COMPARE_CHART, PLANS, SEGMENT, PRODUCT].includes(cardType)) { intersectionObserver.observe(merchCard); } if (cardType === MINI_COMPARE_CHART) { diff --git a/libs/deps/mas/mas.js b/libs/deps/mas/mas.js index 565b59df09..98ea777f67 100644 --- a/libs/deps/mas/mas.js +++ b/libs/deps/mas/mas.js @@ -1,10 +1,10 @@ -var is=Object.create;var Xt=Object.defineProperty;var os=Object.getOwnPropertyDescriptor;var as=Object.getOwnPropertyNames;var ss=Object.getPrototypeOf,cs=Object.prototype.hasOwnProperty;var Oi=e=>{throw TypeError(e)};var ls=(e,t,r)=>t in e?Xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var hs=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),us=(e,t)=>{for(var r in t)Xt(e,r,{get:t[r],enumerable:!0})},ms=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of as(t))!cs.call(e,i)&&i!==r&&Xt(e,i,{get:()=>t[i],enumerable:!(n=os(t,i))||n.enumerable});return e};var ds=(e,t,r)=>(r=e!=null?is(ss(e)):{},ms(t||!e||!e.__esModule?Xt(r,"default",{value:e,enumerable:!0}):r,e));var x=(e,t,r)=>ls(e,typeof t!="symbol"?t+"":t,r),ki=(e,t,r)=>t.has(e)||Oi("Cannot "+r);var F=(e,t,r)=>(ki(e,t,"read from private field"),r?r.call(e):t.get(e)),ce=(e,t,r)=>t.has(e)?Oi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),le=(e,t,r,n)=>(ki(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var Yo=hs((rm,ll)=>{ll.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});var xt;(function(e){e.STAGE="STAGE",e.PRODUCTION="PRODUCTION",e.LOCAL="LOCAL"})(xt||(xt={}));var Xr;(function(e){e.STAGE="STAGE",e.PRODUCTION="PROD",e.LOCAL="LOCAL"})(Xr||(Xr={}));var vt;(function(e){e.DRAFT="DRAFT",e.PUBLISHED="PUBLISHED"})(vt||(vt={}));var we;(function(e){e.V2="UCv2",e.V3="UCv3"})(we||(we={}));var q;(function(e){e.CHECKOUT="checkout",e.CHECKOUT_EMAIL="checkout/email",e.SEGMENTATION="segmentation",e.BUNDLE="bundle",e.COMMITMENT="commitment",e.RECOMMENDATION="recommendation",e.EMAIL="email",e.PAYMENT="payment",e.CHANGE_PLAN_TEAM_PLANS="change-plan/team-upgrade/plans",e.CHANGE_PLAN_TEAM_PAYMENT="change-plan/team-upgrade/payment"})(q||(q={}));var Wr=function(e){var t;return(t=ps.get(e))!==null&&t!==void 0?t:e},ps=new Map([["countrySpecific","cs"],["quantity","q"],["authCode","code"],["checkoutPromoCode","apc"],["rurl","rUrl"],["curl","cUrl"],["ctxrturl","ctxRtUrl"],["country","co"],["language","lang"],["clientId","cli"],["context","ctx"],["productArrangementCode","pa"],["offerType","ot"],["marketSegment","ms"]]);var $i=function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Vi=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o};function Ke(e,t,r){var n,i;try{for(var o=$i(Object.entries(e)),a=o.next();!a.done;a=o.next()){var s=Vi(a.value,2),c=s[0],h=s[1],l=Wr(c);h!=null&&r.has(l)&&t.set(l,h)}}catch(u){n={error:u}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}}function Wt(e){switch(e){case xt.PRODUCTION:return"https://commerce.adobe.com";default:return"https://commerce-stg.adobe.com"}}function qt(e,t){var r,n;for(var i in e){var o=e[i];try{for(var a=(r=void 0,$i(Object.entries(o))),s=a.next();!s.done;s=a.next()){var c=Vi(s.value,2),h=c[0],l=c[1];if(l!=null){var u=Wr(h);t.set("items["+i+"]["+u+"]",l)}}}catch(m){r={error:m}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}}var fs=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function Ri(e){bs(e);var t=e.env,r=e.items,n=e.workflowStep,i=fs(e,["env","items","workflowStep"]),o=new URL(Wt(t));return o.pathname=n+"/",qt(r,o.searchParams),Ke(i,o.searchParams,xs),o.toString()}var xs=new Set(["cli","co","lang","ctx","cUrl","mv","nglwfdata","otac","promoid","rUrl","sdid","spint","trackingid","code","campaignid","appctxid"]),vs=["env","workflowStep","clientId","country","items"];function bs(e){var t,r;try{for(var n=gs(vs),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!0}var As=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Es="p_draft_landscape",Ts="/store/";function Zr(e){_s(e);var t=e.env,r=e.items,n=e.workflowStep,i=e.ms,o=e.marketSegment,a=e.ot,s=e.offerType,c=e.pa,h=e.productArrangementCode,l=e.landscape,u=As(e,["env","items","workflowStep","ms","marketSegment","ot","offerType","pa","productArrangementCode","landscape"]),m={marketSegment:o??i,offerType:s??a,productArrangementCode:h??c},d=new URL(Wt(t));return d.pathname=""+Ts+n,n!==q.SEGMENTATION&&n!==q.CHANGE_PLAN_TEAM_PLANS&&qt(r,d.searchParams),n===q.SEGMENTATION&&Ke(m,d.searchParams,qr),Ke(u,d.searchParams,qr),l===vt.DRAFT&&Ke({af:Es},d.searchParams,qr),d.toString()}var qr=new Set(["af","ai","apc","appctxid","cli","co","csm","ctx","ctxRtUrl","DCWATC","dp","fr","gsp","ijt","lang","lo","mal","ms","mv","mv2","nglwfdata","ot","otac","pa","pcid","promoid","q","rf","sc","scl","sdid","sid","spint","svar","th","thm","trackingid","usid","workflowid","context.guid","so.ca","so.su","so.tr","so.va"]),ys=["env","workflowStep","clientId","country"];function _s(e){var t,r;try{for(var n=Ss(ys),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}if(e.workflowStep!==q.SEGMENTATION&&e.workflowStep!==q.CHANGE_PLAN_TEAM_PLANS&&!e.items)throw new Error('Argument "checkoutData" is not valid, missing: items');return!0}function Jr(e,t){switch(e){case we.V2:return Ri(t);case we.V3:return Zr(t);default:return console.warn("Unsupported CheckoutType, will use UCv3 as default. Given type: "+e),Zr(t)}}var Qr;(function(e){e.BASE="BASE",e.TRIAL="TRIAL",e.PROMOTION="PROMOTION"})(Qr||(Qr={}));var M;(function(e){e.MONTH="MONTH",e.YEAR="YEAR",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.PERPETUAL="PERPETUAL",e.TERM_LICENSE="TERM_LICENSE",e.ACCESS_PASS="ACCESS_PASS",e.THREE_MONTHS="THREE_MONTHS",e.SIX_MONTHS="SIX_MONTHS"})(M||(M={}));var O;(function(e){e.ANNUAL="ANNUAL",e.MONTHLY="MONTHLY",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.P1D="P1D",e.P1Y="P1Y",e.P3Y="P3Y",e.P10Y="P10Y",e.P15Y="P15Y",e.P3D="P3D",e.P7D="P7D",e.P30D="P30D",e.HALF_YEARLY="HALF_YEARLY",e.QUARTERLY="QUARTERLY"})(O||(O={}));var en;(function(e){e.INDIVIDUAL="INDIVIDUAL",e.TEAM="TEAM",e.ENTERPRISE="ENTERPRISE"})(en||(en={}));var tn;(function(e){e.COM="COM",e.EDU="EDU",e.GOV="GOV"})(tn||(tn={}));var rn;(function(e){e.DIRECT="DIRECT",e.INDIRECT="INDIRECT"})(rn||(rn={}));var nn;(function(e){e.ENTERPRISE_PRODUCT="ENTERPRISE_PRODUCT",e.ETLA="ETLA",e.RETAIL="RETAIL",e.VIP="VIP",e.VIPMP="VIPMP",e.FREE="FREE"})(nn||(nn={}));var Ui="tacocat.js";var Zt=(e,t)=>String(e??"").toLowerCase()==String(t??"").toLowerCase(),Di=e=>`${e??""}`.replace(/[&<>'"]/g,t=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[t]??t)??"";function k(e,t={},{metadata:r=!0,search:n=!0,storage:i=!0}={}){let o;if(n&&o==null){let a=new URLSearchParams(window.location.search),s=je(n)?n:e;o=a.get(s)}if(i&&o==null){let a=je(i)?i:e;o=window.sessionStorage.getItem(a)??window.localStorage.getItem(a)}if(r&&o==null){let a=Ls(je(r)?r:e);o=document.documentElement.querySelector(`meta[name="${a}"]`)?.content}return o??t[e]}var Be=()=>{};var Mi=e=>typeof e=="boolean",ge=e=>typeof e=="function",Jt=e=>typeof e=="number",Gi=e=>e!=null&&typeof e=="object";var je=e=>typeof e=="string",on=e=>je(e)&&e,Ye=e=>Jt(e)&&Number.isFinite(e)&&e>0;function Xe(e,t=r=>r==null||r===""){return e!=null&&Object.entries(e).forEach(([r,n])=>{t(n)&&delete e[r]}),e}function y(e,t){if(Mi(e))return e;let r=String(e);return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:t}function xe(e,t,r){let n=Object.values(t);return n.find(i=>Zt(i,e))??r??n[0]}function Ls(e=""){return String(e).replace(/(\p{Lowercase_Letter})(\p{Uppercase_Letter})/gu,(t,r,n)=>`${r}-${n}`).replace(/\W+/gu,"-").toLowerCase()}function We(e,t=1){return Jt(e)||(e=Number.parseInt(e,10)),!Number.isNaN(e)&&e>0&&Number.isFinite(e)?e:t}var ws=Date.now(),an=()=>`(+${Date.now()-ws}ms)`,Qt=new Set,Ps=y(k("tacocat.debug",{},{metadata:!1}),typeof process<"u"&&process.env?.DEBUG);function Hi(e){let t=`[${Ui}/${e}]`,r=(a,s,...c)=>a?!0:(i(s,...c),!1),n=Ps?(a,...s)=>{console.debug(`${t} ${a}`,...s,an())}:()=>{},i=(a,...s)=>{let c=`${t} ${a}`;Qt.forEach(([h])=>h(c,...s))};return{assert:r,debug:n,error:i,warn:(a,...s)=>{let c=`${t} ${a}`;Qt.forEach(([,h])=>h(c,...s))}}}function Cs(e,t){let r=[e,t];return Qt.add(r),()=>{Qt.delete(r)}}Cs((e,...t)=>{console.error(e,...t,an())},(e,...t)=>{console.warn(e,...t,an())});var Is="no promo",zi="promo-tag",Ns="yellow",Os="neutral",ks=(e,t,r)=>{let n=o=>o||Is,i=r?` (was "${n(t)}")`:"";return`${n(e)}${i}`},$s="cancel-context",bt=(e,t)=>{let r=e===$s,n=!r&&e?.length>0,i=(n||r)&&(t&&t!=e||!t&&!r),o=i&&n||!i&&!!t,a=o?e||t:void 0;return{effectivePromoCode:a,overridenPromoCode:e,className:o?zi:`${zi} no-promo`,text:ks(a,t,i),variant:o?Ns:Os,isOverriden:i}};var sn="ABM",cn="PUF",ln="M2M",hn="PERPETUAL",un="P3Y",Vs="TAX_INCLUSIVE_DETAILS",Rs="TAX_EXCLUSIVE",Fi={ABM:sn,PUF:cn,M2M:ln,PERPETUAL:hn,P3Y:un},ch={[sn]:{commitment:M.YEAR,term:O.MONTHLY},[cn]:{commitment:M.YEAR,term:O.ANNUAL},[ln]:{commitment:M.MONTH,term:O.MONTHLY},[hn]:{commitment:M.PERPETUAL,term:void 0},[un]:{commitment:M.THREE_MONTHS,term:O.P3Y}},Ki="Value is not an offer",mn=e=>{if(typeof e!="object")return Ki;let{commitment:t,term:r}=e,n=Us(t,r);return{...e,planType:n}};var Us=(e,t)=>{switch(e){case void 0:return Ki;case"":return"";case M.YEAR:return t===O.MONTHLY?sn:t===O.ANNUAL?cn:"";case M.MONTH:return t===O.MONTHLY?ln:"";case M.PERPETUAL:return hn;case M.TERM_LICENSE:return t===O.P3Y?un:"";default:return""}};function dn(e){let{priceDetails:t}=e,{price:r,priceWithoutDiscount:n,priceWithoutTax:i,priceWithoutDiscountAndTax:o,taxDisplay:a}=t;if(a!==Vs)return e;let s={...e,priceDetails:{...t,price:i??r,priceWithoutDiscount:o??n,taxDisplay:Rs}};return s.offerType==="TRIAL"&&s.priceDetails.price===0&&(s.priceDetails.price=s.priceDetails.priceWithoutDiscount),s}var pn=function(e,t){return pn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},pn(e,t)};function At(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");pn(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var S=function(){return S=Object.assign||function(t){for(var r,n=1,i=arguments.length;n0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Gs,function(s,c,h,l,u,m){if(c)t.minimumIntegerDigits=h.length;else{if(l&&u)throw new Error("We currently do not support maximum integer digits");if(m)throw new Error("We currently do not support exact integer digits")}return""});continue}if(eo.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(Wi.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Wi,function(s,c,h,l,u,m){return h==="*"?t.minimumFractionDigits=c.length:l&&l[0]==="#"?t.maximumFractionDigits=l.length:u&&m?(t.minimumFractionDigits=u.length,t.maximumFractionDigits=u.length+m.length):(t.minimumFractionDigits=c.length,t.maximumFractionDigits=c.length),""}),i.options.length&&(t=S(S({},t),qi(i.options[0])));continue}if(Qi.test(i.stem)){t=S(S({},t),qi(i.stem));continue}var o=to(i.stem);o&&(t=S(S({},t),o));var a=Hs(i.stem);a&&(t=S(S({},t),a))}return t}var xn,zs=new RegExp("^"+gn.source+"*"),Fs=new RegExp(gn.source+"*$");function A(e,t){return{start:e,end:t}}var Ks=!!String.prototype.startsWith,js=!!String.fromCodePoint,Bs=!!Object.fromEntries,Ys=!!String.prototype.codePointAt,Xs=!!String.prototype.trimStart,Ws=!!String.prototype.trimEnd,qs=!!Number.isSafeInteger,Zs=qs?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},bn=!0;try{no=so("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),bn=((xn=no.exec("a"))===null||xn===void 0?void 0:xn[0])==="a"}catch{bn=!1}var no,io=Ks?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},An=js?String.fromCodePoint:function(){for(var t=[],r=0;ro;){if(a=t[o++],a>1114111)throw RangeError(a+" is not a valid code point");n+=a<65536?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,a%1024+56320)}return n},oo=Bs?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),o;return i<55296||i>56319||r+1===n||(o=t.charCodeAt(r+1))<56320||o>57343?i:(i-55296<<10)+(o-56320)+65536}},Js=Xs?function(t){return t.trimStart()}:function(t){return t.replace(zs,"")},Qs=Ws?function(t){return t.trimEnd()}:function(t){return t.replace(Fs,"")};function so(e,t){return new RegExp(e,t)}var Sn;bn?(vn=so("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Sn=function(t,r){var n;vn.lastIndex=r;var i=vn.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}):Sn=function(t,r){for(var n=[];;){var i=ao(t,r);if(i===void 0||lo(i)||rc(i))break;n.push(i),r+=i>=65536?2:1}return An.apply(void 0,n)};var vn,co=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var o=this.char();if(o===123){var a=this.parseArgument(t,n);if(a.err)return a;i.push(a.val)}else{if(o===125&&t>0)break;if(o===35&&(r==="plural"||r==="selectordinal")){var s=this.clonePosition();this.bump(),i.push({type:w.pound,location:A(s,this.clonePosition())})}else if(o===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(b.UNMATCHED_CLOSING_TAG,A(this.clonePosition(),this.clonePosition()))}else if(o===60&&!this.ignoreTag&&En(this.peek()||0)){var a=this.parseTag(t,r);if(a.err)return a;i.push(a.val)}else{var a=this.parseLiteral(t,r);if(a.err)return a;i.push(a.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:w.literal,value:"<"+i+"/>",location:A(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var o=this.parseMessage(t+1,r,!0);if(o.err)return o;var a=o.val,s=this.clonePosition();if(this.bumpIf("")?{val:{type:w.tag,value:i,children:a,location:A(n,this.clonePosition())},err:null}:this.error(b.INVALID_TAG,A(s,this.clonePosition())))}else return this.error(b.UNCLOSED_TAG,A(n,this.clonePosition()))}else return this.error(b.INVALID_TAG,A(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&tc(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var o=this.tryParseQuote(r);if(o){i+=o;continue}var a=this.tryParseUnquoted(t,r);if(a){i+=a;continue}var s=this.tryParseLeftAngleBracket();if(s){i+=s;continue}break}var c=A(n,this.clonePosition());return{val:{type:w.literal,value:i,location:c},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!ec(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return An.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),An(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(b.EMPTY_ARGUMENT,A(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(b.MALFORMED_ARGUMENT,A(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:w.argument,value:i,location:A(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(b.MALFORMED_ARGUMENT,A(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=Sn(this.message,r),i=r+n.length;this.bumpTo(i);var o=this.clonePosition(),a=A(t,o);return{value:n,location:a}},e.prototype.parseArgumentOptions=function(t,r,n,i){var o,a=this.clonePosition(),s=this.parseIdentifierIfPossible().value,c=this.clonePosition();switch(s){case"":return this.error(b.EXPECT_ARGUMENT_TYPE,A(a,c));case"number":case"date":case"time":{this.bumpSpace();var h=null;if(this.bumpIf(",")){this.bumpSpace();var l=this.clonePosition(),u=this.parseSimpleArgStyleIfPossible();if(u.err)return u;var m=Qs(u.val);if(m.length===0)return this.error(b.EXPECT_ARGUMENT_STYLE,A(this.clonePosition(),this.clonePosition()));var d=A(l,this.clonePosition());h={style:m,styleLocation:d}}var f=this.tryParseArgumentClose(i);if(f.err)return f;var v=A(i,this.clonePosition());if(h&&io(h?.style,"::",0)){var T=Js(h.style.slice(2));if(s==="number"){var u=this.parseNumberSkeletonFromString(T,h.styleLocation);return u.err?u:{val:{type:w.number,value:n,location:v,style:u.val},err:null}}else{if(T.length===0)return this.error(b.EXPECT_DATE_TIME_SKELETON,v);var m={type:Pe.dateTime,pattern:T,location:h.styleLocation,parsedOptions:this.shouldParseSkeletons?Yi(T):{}},P=s==="date"?w.date:w.time;return{val:{type:P,value:n,location:v,style:m},err:null}}}return{val:{type:s==="number"?w.number:s==="date"?w.date:w.time,value:n,location:v,style:(o=h?.style)!==null&&o!==void 0?o:null},err:null}}case"plural":case"selectordinal":case"select":{var C=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(b.EXPECT_SELECT_ARGUMENT_OPTIONS,A(C,S({},C)));this.bumpSpace();var _=this.parseIdentifierIfPossible(),D=0;if(s!=="select"&&_.value==="offset"){if(!this.bumpIf(":"))return this.error(b.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,A(this.clonePosition(),this.clonePosition()));this.bumpSpace();var u=this.tryParseDecimalInteger(b.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,b.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(u.err)return u;this.bumpSpace(),_=this.parseIdentifierIfPossible(),D=u.val}var L=this.tryParsePluralOrSelectOptions(t,s,r,_);if(L.err)return L;var f=this.tryParseArgumentClose(i);if(f.err)return f;var I=A(i,this.clonePosition());return s==="select"?{val:{type:w.select,value:n,options:oo(L.val),location:I},err:null}:{val:{type:w.plural,value:n,options:oo(L.val),offset:D,pluralType:s==="plural"?"cardinal":"ordinal",location:I},err:null}}default:return this.error(b.INVALID_ARGUMENT_TYPE,A(a,c))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(b.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,A(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=Ji(t)}catch{return this.error(b.INVALID_NUMBER_SKELETON,r)}return{val:{type:Pe.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?ro(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var o,a=!1,s=[],c=new Set,h=i.value,l=i.location;;){if(h.length===0){var u=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var m=this.tryParseDecimalInteger(b.EXPECT_PLURAL_ARGUMENT_SELECTOR,b.INVALID_PLURAL_ARGUMENT_SELECTOR);if(m.err)return m;l=A(u,this.clonePosition()),h=this.message.slice(u.offset,this.offset())}else break}if(c.has(h))return this.error(r==="select"?b.DUPLICATE_SELECT_ARGUMENT_SELECTOR:b.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,l);h==="other"&&(a=!0),this.bumpSpace();var d=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?b.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:b.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,A(this.clonePosition(),this.clonePosition()));var f=this.parseMessage(t+1,r,n);if(f.err)return f;var v=this.tryParseArgumentClose(d);if(v.err)return v;s.push([h,{value:f.val,location:A(d,this.clonePosition())}]),c.add(h),this.bumpSpace(),o=this.parseIdentifierIfPossible(),h=o.value,l=o.location}return s.length===0?this.error(r==="select"?b.EXPECT_SELECT_ARGUMENT_SELECTOR:b.EXPECT_PLURAL_ARGUMENT_SELECTOR,A(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!a?this.error(b.MISSING_OTHER_CLAUSE,A(this.clonePosition(),this.clonePosition())):{val:s,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var o=!1,a=0;!this.isEOF();){var s=this.char();if(s>=48&&s<=57)o=!0,a=a*10+(s-48),this.bump();else break}var c=A(i,this.clonePosition());return o?(a*=n,Zs(a)?{val:a,err:null}:this.error(r,c)):this.error(t,c)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=ao(this.message,t);if(r===void 0)throw Error("Offset "+t+" is at invalid UTF-16 code unit boundary");return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(io(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset "+t+" must be greater than or equal to the current offset "+this.offset());for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset "+t+" is at invalid UTF-16 code unit boundary");if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&lo(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function En(e){return e>=97&&e<=122||e>=65&&e<=90}function ec(e){return En(e)||e===47}function tc(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function lo(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function rc(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function Tn(e){e.forEach(function(t){if(delete t.location,ir(t)||or(t))for(var r in t.options)delete t.options[r].location,Tn(t.options[r].value);else tr(t)&&sr(t.style)||(rr(t)||nr(t))&&St(t.style)?delete t.style.location:ar(t)&&Tn(t.children)})}function ho(e,t){t===void 0&&(t={}),t=S({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new co(e,t).parse();if(r.err){var n=SyntaxError(b[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||Tn(r.val),r.val}function Et(e,t){var r=t&&t.cache?t.cache:cc,n=t&&t.serializer?t.serializer:sc,i=t&&t.strategy?t.strategy:ic;return i(e,{cache:r,serializer:n})}function nc(e){return e==null||typeof e=="number"||typeof e=="boolean"}function uo(e,t,r,n){var i=nc(n)?n:r(n),o=t.get(i);return typeof o>"u"&&(o=e.call(this,n),t.set(i,o)),o}function mo(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),o=t.get(i);return typeof o>"u"&&(o=e.apply(this,n),t.set(i,o)),o}function yn(e,t,r,n,i){return r.bind(t,e,n,i)}function ic(e,t){var r=e.length===1?uo:mo;return yn(e,this,r,t.cache.create(),t.serializer)}function oc(e,t){return yn(e,this,mo,t.cache.create(),t.serializer)}function ac(e,t){return yn(e,this,uo,t.cache.create(),t.serializer)}var sc=function(){return JSON.stringify(arguments)};function _n(){this.cache=Object.create(null)}_n.prototype.get=function(e){return this.cache[e]};_n.prototype.set=function(e,t){this.cache[e]=t};var cc={create:function(){return new _n}},cr={variadic:oc,monadic:ac};var Ce;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(Ce||(Ce={}));var Tt=function(e){At(t,e);function t(r,n,i){var o=e.call(this,r)||this;return o.code=n,o.originalMessage=i,o}return t.prototype.toString=function(){return"[formatjs Error: "+this.code+"] "+this.message},t}(Error);var Ln=function(e){At(t,e);function t(r,n,i,o){return e.call(this,'Invalid values for "'+r+'": "'+n+'". Options are "'+Object.keys(i).join('", "')+'"',Ce.INVALID_VALUE,o)||this}return t}(Tt);var po=function(e){At(t,e);function t(r,n,i){return e.call(this,'Value for "'+r+'" must be of type '+n,Ce.INVALID_VALUE,i)||this}return t}(Tt);var fo=function(e){At(t,e);function t(r,n){return e.call(this,'The intl string context variable "'+r+'" was not provided to the string "'+n+'"',Ce.MISSING_VALUE,n)||this}return t}(Tt);var z;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(z||(z={}));function lc(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==z.literal||r.type!==z.literal?t.push(r):n.value+=r.value,t},[])}function hc(e){return typeof e=="function"}function yt(e,t,r,n,i,o,a){if(e.length===1&&fn(e[0]))return[{type:z.literal,value:e[0].value}];for(var s=[],c=0,h=e;c{throw TypeError(e)};var us=(e,t,r)=>t in e?qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ds=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ms=(e,t)=>{for(var r in t)qt(e,r,{get:t[r],enumerable:!0})},ps=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of cs(t))!hs.call(e,i)&&i!==r&&qt(e,i,{get:()=>t[i],enumerable:!(n=ss(t,i))||n.enumerable});return e};var fs=(e,t,r)=>(r=e!=null?as(ls(e)):{},ps(t||!e||!e.__esModule?qt(r,"default",{value:e,enumerable:!0}):r,e));var g=(e,t,r)=>us(e,typeof t!="symbol"?t+"":t,r),Vi=(e,t,r)=>t.has(e)||$i("Cannot "+r);var F=(e,t,r)=>(Vi(e,t,"read from private field"),r?r.call(e):t.get(e)),ce=(e,t,r)=>t.has(e)?$i("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),le=(e,t,r,n)=>(Vi(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var Wo=ds((id,ul)=>{ul.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});var bt;(function(e){e.STAGE="STAGE",e.PRODUCTION="PRODUCTION",e.LOCAL="LOCAL"})(bt||(bt={}));var qr;(function(e){e.STAGE="STAGE",e.PRODUCTION="PROD",e.LOCAL="LOCAL"})(qr||(qr={}));var At;(function(e){e.DRAFT="DRAFT",e.PUBLISHED="PUBLISHED"})(At||(At={}));var we;(function(e){e.V2="UCv2",e.V3="UCv3"})(we||(we={}));var q;(function(e){e.CHECKOUT="checkout",e.CHECKOUT_EMAIL="checkout/email",e.SEGMENTATION="segmentation",e.BUNDLE="bundle",e.COMMITMENT="commitment",e.RECOMMENDATION="recommendation",e.EMAIL="email",e.PAYMENT="payment",e.CHANGE_PLAN_TEAM_PLANS="change-plan/team-upgrade/plans",e.CHANGE_PLAN_TEAM_PAYMENT="change-plan/team-upgrade/payment"})(q||(q={}));var Zr=function(e){var t;return(t=gs.get(e))!==null&&t!==void 0?t:e},gs=new Map([["countrySpecific","cs"],["quantity","q"],["authCode","code"],["checkoutPromoCode","apc"],["rurl","rUrl"],["curl","cUrl"],["ctxrturl","ctxRtUrl"],["country","co"],["language","lang"],["clientId","cli"],["context","ctx"],["productArrangementCode","pa"],["offerType","ot"],["marketSegment","ms"]]);var Ri=function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ui=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o};function Ke(e,t,r){var n,i;try{for(var o=Ri(Object.entries(e)),a=o.next();!a.done;a=o.next()){var s=Ui(a.value,2),c=s[0],h=s[1],l=Zr(c);h!=null&&r.has(l)&&t.set(l,h)}}catch(u){n={error:u}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}}function Zt(e){switch(e){case bt.PRODUCTION:return"https://commerce.adobe.com";default:return"https://commerce-stg.adobe.com"}}function Jt(e,t){var r,n;for(var i in e){var o=e[i];try{for(var a=(r=void 0,Ri(Object.entries(o))),s=a.next();!s.done;s=a.next()){var c=Ui(s.value,2),h=c[0],l=c[1];if(l!=null){var u=Zr(h);t.set("items["+i+"]["+u+"]",l)}}}catch(d){r={error:d}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}}var xs=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function Di(e){Ss(e);var t=e.env,r=e.items,n=e.workflowStep,i=xs(e,["env","items","workflowStep"]),o=new URL(Zt(t));return o.pathname=n+"/",Jt(r,o.searchParams),Ke(i,o.searchParams,bs),o.toString()}var bs=new Set(["cli","co","lang","ctx","cUrl","mv","nglwfdata","otac","promoid","rUrl","sdid","spint","trackingid","code","campaignid","appctxid"]),As=["env","workflowStep","clientId","country","items"];function Ss(e){var t,r;try{for(var n=vs(As),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!0}var Es=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ys="p_draft_landscape",_s="/store/";function Qr(e){ws(e);var t=e.env,r=e.items,n=e.workflowStep,i=e.ms,o=e.marketSegment,a=e.ot,s=e.offerType,c=e.pa,h=e.productArrangementCode,l=e.landscape,u=Es(e,["env","items","workflowStep","ms","marketSegment","ot","offerType","pa","productArrangementCode","landscape"]),d={marketSegment:o??i,offerType:s??a,productArrangementCode:h??c},m=new URL(Zt(t));return m.pathname=""+_s+n,n!==q.SEGMENTATION&&n!==q.CHANGE_PLAN_TEAM_PLANS&&Jt(r,m.searchParams),n===q.SEGMENTATION&&Ke(d,m.searchParams,Jr),Ke(u,m.searchParams,Jr),l===At.DRAFT&&Ke({af:ys},m.searchParams,Jr),m.toString()}var Jr=new Set(["af","ai","apc","appctxid","cli","co","csm","ctx","ctxRtUrl","DCWATC","dp","fr","gsp","ijt","lang","lo","mal","ms","mv","mv2","nglwfdata","ot","otac","pa","pcid","promoid","q","rf","sc","scl","sdid","sid","spint","svar","th","thm","trackingid","usid","workflowid","context.guid","so.ca","so.su","so.tr","so.va"]),Ls=["env","workflowStep","clientId","country"];function ws(e){var t,r;try{for(var n=Ts(Ls),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}if(e.workflowStep!==q.SEGMENTATION&&e.workflowStep!==q.CHANGE_PLAN_TEAM_PLANS&&!e.items)throw new Error('Argument "checkoutData" is not valid, missing: items');return!0}function en(e,t){switch(e){case we.V2:return Di(t);case we.V3:return Qr(t);default:return console.warn("Unsupported CheckoutType, will use UCv3 as default. Given type: "+e),Qr(t)}}var tn;(function(e){e.BASE="BASE",e.TRIAL="TRIAL",e.PROMOTION="PROMOTION"})(tn||(tn={}));var M;(function(e){e.MONTH="MONTH",e.YEAR="YEAR",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.PERPETUAL="PERPETUAL",e.TERM_LICENSE="TERM_LICENSE",e.ACCESS_PASS="ACCESS_PASS",e.THREE_MONTHS="THREE_MONTHS",e.SIX_MONTHS="SIX_MONTHS"})(M||(M={}));var $;(function(e){e.ANNUAL="ANNUAL",e.MONTHLY="MONTHLY",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.P1D="P1D",e.P1Y="P1Y",e.P3Y="P3Y",e.P10Y="P10Y",e.P15Y="P15Y",e.P3D="P3D",e.P7D="P7D",e.P30D="P30D",e.HALF_YEARLY="HALF_YEARLY",e.QUARTERLY="QUARTERLY"})($||($={}));var rn;(function(e){e.INDIVIDUAL="INDIVIDUAL",e.TEAM="TEAM",e.ENTERPRISE="ENTERPRISE"})(rn||(rn={}));var nn;(function(e){e.COM="COM",e.EDU="EDU",e.GOV="GOV"})(nn||(nn={}));var on;(function(e){e.DIRECT="DIRECT",e.INDIRECT="INDIRECT"})(on||(on={}));var an;(function(e){e.ENTERPRISE_PRODUCT="ENTERPRISE_PRODUCT",e.ETLA="ETLA",e.RETAIL="RETAIL",e.VIP="VIP",e.VIPMP="VIPMP",e.FREE="FREE"})(an||(an={}));var Mi="tacocat.js";var Qt=(e,t)=>String(e??"").toLowerCase()==String(t??"").toLowerCase(),Gi=e=>`${e??""}`.replace(/[&<>'"]/g,t=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[t]??t)??"";function V(e,t={},{metadata:r=!0,search:n=!0,storage:i=!0}={}){let o;if(n&&o==null){let a=new URLSearchParams(window.location.search),s=Be(n)?n:e;o=a.get(s)}if(i&&o==null){let a=Be(i)?i:e;o=window.sessionStorage.getItem(a)??window.localStorage.getItem(a)}if(r&&o==null){let a=Ps(Be(r)?r:e);o=document.documentElement.querySelector(`meta[name="${a}"]`)?.content}return o??t[e]}var Ye=()=>{};var Hi=e=>typeof e=="boolean",ge=e=>typeof e=="function",er=e=>typeof e=="number",zi=e=>e!=null&&typeof e=="object";var Be=e=>typeof e=="string",sn=e=>Be(e)&&e,Xe=e=>er(e)&&Number.isFinite(e)&&e>0;function We(e,t=r=>r==null||r===""){return e!=null&&Object.entries(e).forEach(([r,n])=>{t(n)&&delete e[r]}),e}function y(e,t){if(Hi(e))return e;let r=String(e);return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:t}function xe(e,t,r){let n=Object.values(t);return n.find(i=>Qt(i,e))??r??n[0]}function Ps(e=""){return String(e).replace(/(\p{Lowercase_Letter})(\p{Uppercase_Letter})/gu,(t,r,n)=>`${r}-${n}`).replace(/\W+/gu,"-").toLowerCase()}function qe(e,t=1){return er(e)||(e=Number.parseInt(e,10)),!Number.isNaN(e)&&e>0&&Number.isFinite(e)?e:t}var Cs=Date.now(),cn=()=>`(+${Date.now()-Cs}ms)`,tr=new Set,Is=y(V("tacocat.debug",{},{metadata:!1}),typeof process<"u"&&process.env?.DEBUG);function Fi(e){let t=`[${Mi}/${e}]`,r=(a,s,...c)=>a?!0:(i(s,...c),!1),n=Is?(a,...s)=>{console.debug(`${t} ${a}`,...s,cn())}:()=>{},i=(a,...s)=>{let c=`${t} ${a}`;tr.forEach(([h])=>h(c,...s))};return{assert:r,debug:n,error:i,warn:(a,...s)=>{let c=`${t} ${a}`;tr.forEach(([,h])=>h(c,...s))}}}function Ns(e,t){let r=[e,t];return tr.add(r),()=>{tr.delete(r)}}Ns((e,...t)=>{console.error(e,...t,cn())},(e,...t)=>{console.warn(e,...t,cn())});var ks="no promo",ji="promo-tag",Os="yellow",$s="neutral",Vs=(e,t,r)=>{let n=o=>o||ks,i=r?` (was "${n(t)}")`:"";return`${n(e)}${i}`},Rs="cancel-context",St=(e,t)=>{let r=e===Rs,n=!r&&e?.length>0,i=(n||r)&&(t&&t!=e||!t&&!r),o=i&&n||!i&&!!t,a=o?e||t:void 0;return{effectivePromoCode:a,overridenPromoCode:e,className:o?ji:`${ji} no-promo`,text:Vs(a,t,i),variant:o?Os:$s,isOverriden:i}};var ln="ABM",hn="PUF",un="M2M",dn="PERPETUAL",mn="P3Y",Us="TAX_INCLUSIVE_DETAILS",Ds="TAX_EXCLUSIVE",Ki={ABM:ln,PUF:hn,M2M:un,PERPETUAL:dn,P3Y:mn},hh={[ln]:{commitment:M.YEAR,term:$.MONTHLY},[hn]:{commitment:M.YEAR,term:$.ANNUAL},[un]:{commitment:M.MONTH,term:$.MONTHLY},[dn]:{commitment:M.PERPETUAL,term:void 0},[mn]:{commitment:M.THREE_MONTHS,term:$.P3Y}},Bi="Value is not an offer",pn=e=>{if(typeof e!="object")return Bi;let{commitment:t,term:r}=e,n=Ms(t,r);return{...e,planType:n}};var Ms=(e,t)=>{switch(e){case void 0:return Bi;case"":return"";case M.YEAR:return t===$.MONTHLY?ln:t===$.ANNUAL?hn:"";case M.MONTH:return t===$.MONTHLY?un:"";case M.PERPETUAL:return dn;case M.TERM_LICENSE:return t===$.P3Y?mn:"";default:return""}};function fn(e){let{priceDetails:t}=e,{price:r,priceWithoutDiscount:n,priceWithoutTax:i,priceWithoutDiscountAndTax:o,taxDisplay:a}=t;if(a!==Us)return e;let s={...e,priceDetails:{...t,price:i??r,priceWithoutDiscount:o??n,taxDisplay:Ds}};return s.offerType==="TRIAL"&&s.priceDetails.price===0&&(s.priceDetails.price=s.priceDetails.priceWithoutDiscount),s}var gn=function(e,t){return gn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},gn(e,t)};function Et(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");gn(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var S=function(){return S=Object.assign||function(t){for(var r,n=1,i=arguments.length;n0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(zs,function(s,c,h,l,u,d){if(c)t.minimumIntegerDigits=h.length;else{if(l&&u)throw new Error("We currently do not support maximum integer digits");if(d)throw new Error("We currently do not support exact integer digits")}return""});continue}if(ro.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(Zi.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Zi,function(s,c,h,l,u,d){return h==="*"?t.minimumFractionDigits=c.length:l&&l[0]==="#"?t.maximumFractionDigits=l.length:u&&d?(t.minimumFractionDigits=u.length,t.maximumFractionDigits=u.length+d.length):(t.minimumFractionDigits=c.length,t.maximumFractionDigits=c.length),""}),i.options.length&&(t=S(S({},t),Ji(i.options[0])));continue}if(to.test(i.stem)){t=S(S({},t),Ji(i.stem));continue}var o=no(i.stem);o&&(t=S(S({},t),o));var a=Fs(i.stem);a&&(t=S(S({},t),a))}return t}var bn,js=new RegExp("^"+vn.source+"*"),Ks=new RegExp(vn.source+"*$");function A(e,t){return{start:e,end:t}}var Bs=!!String.prototype.startsWith,Ys=!!String.fromCodePoint,Xs=!!Object.fromEntries,Ws=!!String.prototype.codePointAt,qs=!!String.prototype.trimStart,Zs=!!String.prototype.trimEnd,Js=!!Number.isSafeInteger,Qs=Js?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},Sn=!0;try{oo=lo("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Sn=((bn=oo.exec("a"))===null||bn===void 0?void 0:bn[0])==="a"}catch{Sn=!1}var oo,ao=Bs?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},En=Ys?String.fromCodePoint:function(){for(var t=[],r=0;ro;){if(a=t[o++],a>1114111)throw RangeError(a+" is not a valid code point");n+=a<65536?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,a%1024+56320)}return n},so=Xs?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),o;return i<55296||i>56319||r+1===n||(o=t.charCodeAt(r+1))<56320||o>57343?i:(i-55296<<10)+(o-56320)+65536}},ec=qs?function(t){return t.trimStart()}:function(t){return t.replace(js,"")},tc=Zs?function(t){return t.trimEnd()}:function(t){return t.replace(Ks,"")};function lo(e,t){return new RegExp(e,t)}var Tn;Sn?(An=lo("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Tn=function(t,r){var n;An.lastIndex=r;var i=An.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}):Tn=function(t,r){for(var n=[];;){var i=co(t,r);if(i===void 0||uo(i)||ic(i))break;n.push(i),r+=i>=65536?2:1}return En.apply(void 0,n)};var An,ho=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var o=this.char();if(o===123){var a=this.parseArgument(t,n);if(a.err)return a;i.push(a.val)}else{if(o===125&&t>0)break;if(o===35&&(r==="plural"||r==="selectordinal")){var s=this.clonePosition();this.bump(),i.push({type:w.pound,location:A(s,this.clonePosition())})}else if(o===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(b.UNMATCHED_CLOSING_TAG,A(this.clonePosition(),this.clonePosition()))}else if(o===60&&!this.ignoreTag&&yn(this.peek()||0)){var a=this.parseTag(t,r);if(a.err)return a;i.push(a.val)}else{var a=this.parseLiteral(t,r);if(a.err)return a;i.push(a.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:w.literal,value:"<"+i+"/>",location:A(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var o=this.parseMessage(t+1,r,!0);if(o.err)return o;var a=o.val,s=this.clonePosition();if(this.bumpIf("")?{val:{type:w.tag,value:i,children:a,location:A(n,this.clonePosition())},err:null}:this.error(b.INVALID_TAG,A(s,this.clonePosition())))}else return this.error(b.UNCLOSED_TAG,A(n,this.clonePosition()))}else return this.error(b.INVALID_TAG,A(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&nc(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var o=this.tryParseQuote(r);if(o){i+=o;continue}var a=this.tryParseUnquoted(t,r);if(a){i+=a;continue}var s=this.tryParseLeftAngleBracket();if(s){i+=s;continue}break}var c=A(n,this.clonePosition());return{val:{type:w.literal,value:i,location:c},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!rc(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return En.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),En(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(b.EMPTY_ARGUMENT,A(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(b.MALFORMED_ARGUMENT,A(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:w.argument,value:i,location:A(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(b.MALFORMED_ARGUMENT,A(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=Tn(this.message,r),i=r+n.length;this.bumpTo(i);var o=this.clonePosition(),a=A(t,o);return{value:n,location:a}},e.prototype.parseArgumentOptions=function(t,r,n,i){var o,a=this.clonePosition(),s=this.parseIdentifierIfPossible().value,c=this.clonePosition();switch(s){case"":return this.error(b.EXPECT_ARGUMENT_TYPE,A(a,c));case"number":case"date":case"time":{this.bumpSpace();var h=null;if(this.bumpIf(",")){this.bumpSpace();var l=this.clonePosition(),u=this.parseSimpleArgStyleIfPossible();if(u.err)return u;var d=tc(u.val);if(d.length===0)return this.error(b.EXPECT_ARGUMENT_STYLE,A(this.clonePosition(),this.clonePosition()));var m=A(l,this.clonePosition());h={style:d,styleLocation:m}}var f=this.tryParseArgumentClose(i);if(f.err)return f;var v=A(i,this.clonePosition());if(h&&ao(h?.style,"::",0)){var T=ec(h.style.slice(2));if(s==="number"){var u=this.parseNumberSkeletonFromString(T,h.styleLocation);return u.err?u:{val:{type:w.number,value:n,location:v,style:u.val},err:null}}else{if(T.length===0)return this.error(b.EXPECT_DATE_TIME_SKELETON,v);var d={type:Pe.dateTime,pattern:T,location:h.styleLocation,parsedOptions:this.shouldParseSkeletons?Wi(T):{}},C=s==="date"?w.date:w.time;return{val:{type:C,value:n,location:v,style:d},err:null}}}return{val:{type:s==="number"?w.number:s==="date"?w.date:w.time,value:n,location:v,style:(o=h?.style)!==null&&o!==void 0?o:null},err:null}}case"plural":case"selectordinal":case"select":{var I=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(b.EXPECT_SELECT_ARGUMENT_OPTIONS,A(I,S({},I)));this.bumpSpace();var _=this.parseIdentifierIfPossible(),D=0;if(s!=="select"&&_.value==="offset"){if(!this.bumpIf(":"))return this.error(b.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,A(this.clonePosition(),this.clonePosition()));this.bumpSpace();var u=this.tryParseDecimalInteger(b.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,b.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(u.err)return u;this.bumpSpace(),_=this.parseIdentifierIfPossible(),D=u.val}var L=this.tryParsePluralOrSelectOptions(t,s,r,_);if(L.err)return L;var f=this.tryParseArgumentClose(i);if(f.err)return f;var N=A(i,this.clonePosition());return s==="select"?{val:{type:w.select,value:n,options:so(L.val),location:N},err:null}:{val:{type:w.plural,value:n,options:so(L.val),offset:D,pluralType:s==="plural"?"cardinal":"ordinal",location:N},err:null}}default:return this.error(b.INVALID_ARGUMENT_TYPE,A(a,c))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(b.EXPECT_ARGUMENT_CLOSING_BRACE,A(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(b.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,A(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=eo(t)}catch{return this.error(b.INVALID_NUMBER_SKELETON,r)}return{val:{type:Pe.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?io(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var o,a=!1,s=[],c=new Set,h=i.value,l=i.location;;){if(h.length===0){var u=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var d=this.tryParseDecimalInteger(b.EXPECT_PLURAL_ARGUMENT_SELECTOR,b.INVALID_PLURAL_ARGUMENT_SELECTOR);if(d.err)return d;l=A(u,this.clonePosition()),h=this.message.slice(u.offset,this.offset())}else break}if(c.has(h))return this.error(r==="select"?b.DUPLICATE_SELECT_ARGUMENT_SELECTOR:b.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,l);h==="other"&&(a=!0),this.bumpSpace();var m=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?b.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:b.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,A(this.clonePosition(),this.clonePosition()));var f=this.parseMessage(t+1,r,n);if(f.err)return f;var v=this.tryParseArgumentClose(m);if(v.err)return v;s.push([h,{value:f.val,location:A(m,this.clonePosition())}]),c.add(h),this.bumpSpace(),o=this.parseIdentifierIfPossible(),h=o.value,l=o.location}return s.length===0?this.error(r==="select"?b.EXPECT_SELECT_ARGUMENT_SELECTOR:b.EXPECT_PLURAL_ARGUMENT_SELECTOR,A(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!a?this.error(b.MISSING_OTHER_CLAUSE,A(this.clonePosition(),this.clonePosition())):{val:s,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var o=!1,a=0;!this.isEOF();){var s=this.char();if(s>=48&&s<=57)o=!0,a=a*10+(s-48),this.bump();else break}var c=A(i,this.clonePosition());return o?(a*=n,Qs(a)?{val:a,err:null}:this.error(r,c)):this.error(t,c)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=co(this.message,t);if(r===void 0)throw Error("Offset "+t+" is at invalid UTF-16 code unit boundary");return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(ao(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset "+t+" must be greater than or equal to the current offset "+this.offset());for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset "+t+" is at invalid UTF-16 code unit boundary");if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&uo(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function yn(e){return e>=97&&e<=122||e>=65&&e<=90}function rc(e){return yn(e)||e===47}function nc(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function uo(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function ic(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function _n(e){e.forEach(function(t){if(delete t.location,ar(t)||sr(t))for(var r in t.options)delete t.options[r].location,_n(t.options[r].value);else nr(t)&&lr(t.style)||(ir(t)||or(t))&&Tt(t.style)?delete t.style.location:cr(t)&&_n(t.children)})}function mo(e,t){t===void 0&&(t={}),t=S({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new ho(e,t).parse();if(r.err){var n=SyntaxError(b[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||_n(r.val),r.val}function yt(e,t){var r=t&&t.cache?t.cache:hc,n=t&&t.serializer?t.serializer:lc,i=t&&t.strategy?t.strategy:ac;return i(e,{cache:r,serializer:n})}function oc(e){return e==null||typeof e=="number"||typeof e=="boolean"}function po(e,t,r,n){var i=oc(n)?n:r(n),o=t.get(i);return typeof o>"u"&&(o=e.call(this,n),t.set(i,o)),o}function fo(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),o=t.get(i);return typeof o>"u"&&(o=e.apply(this,n),t.set(i,o)),o}function Ln(e,t,r,n,i){return r.bind(t,e,n,i)}function ac(e,t){var r=e.length===1?po:fo;return Ln(e,this,r,t.cache.create(),t.serializer)}function sc(e,t){return Ln(e,this,fo,t.cache.create(),t.serializer)}function cc(e,t){return Ln(e,this,po,t.cache.create(),t.serializer)}var lc=function(){return JSON.stringify(arguments)};function wn(){this.cache=Object.create(null)}wn.prototype.get=function(e){return this.cache[e]};wn.prototype.set=function(e,t){this.cache[e]=t};var hc={create:function(){return new wn}},hr={variadic:sc,monadic:cc};var Ce;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(Ce||(Ce={}));var _t=function(e){Et(t,e);function t(r,n,i){var o=e.call(this,r)||this;return o.code=n,o.originalMessage=i,o}return t.prototype.toString=function(){return"[formatjs Error: "+this.code+"] "+this.message},t}(Error);var Pn=function(e){Et(t,e);function t(r,n,i,o){return e.call(this,'Invalid values for "'+r+'": "'+n+'". Options are "'+Object.keys(i).join('", "')+'"',Ce.INVALID_VALUE,o)||this}return t}(_t);var go=function(e){Et(t,e);function t(r,n,i){return e.call(this,'Value for "'+r+'" must be of type '+n,Ce.INVALID_VALUE,i)||this}return t}(_t);var xo=function(e){Et(t,e);function t(r,n){return e.call(this,'The intl string context variable "'+r+'" was not provided to the string "'+n+'"',Ce.MISSING_VALUE,n)||this}return t}(_t);var z;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(z||(z={}));function uc(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==z.literal||r.type!==z.literal?t.push(r):n.value+=r.value,t},[])}function dc(e){return typeof e=="function"}function Lt(e,t,r,n,i,o,a){if(e.length===1&&xn(e[0]))return[{type:z.literal,value:e[0].value}];for(var s=[],c=0,h=e;c0?e.substring(0,n):"";let i=vo(e.split("").reverse().join("")),o=r-i,a=e.substring(o,o+1),s=o+(a==="."||a===","?1:0);t.suffix=i>0?e.substring(s,r):"",t.mask=e.substring(n,s),t.maskHasNegativeSign=t.mask.charAt(0)==="-",t.maskHasPositiveSign=t.mask.charAt(0)==="+";let c=t.mask.match(fc);return t.decimal=c&&c[c.length-1]||".",t.separator=c&&c[1]&&c[0]||",",c=t.mask.split(t.decimal),t.integer=c[0],t.fraction=c[1],t}function xc(e,t,r){let n=!1,i={value:e};e<0&&(n=!0,i.value=-i.value),i.sign=n?"-":"",i.value=Number(i.value).toFixed(t.fraction&&t.fraction.length),i.value=Number(i.value).toString();let o=t.fraction&&t.fraction.lastIndexOf("0"),[a="0",s=""]=i.value.split(".");return(!s||s&&s.length<=o)&&(s=o<0?"":(+("0."+s)).toFixed(o+1).replace("0.","")),i.integer=a,i.fraction=s,vc(i,t),(i.result==="0"||i.result==="")&&(n=!1,i.sign=""),!n&&t.maskHasPositiveSign?i.sign="+":n&&t.maskHasPositiveSign?i.sign="-":n&&(i.sign=r&&r.enforceMaskSign&&!t.maskHasNegativeSign?"":"-"),i}function vc(e,t){e.result="";let r=t.integer.split(t.separator),n=r.join(""),i=n&&n.indexOf("0");if(i>-1)for(;e.integer.lengthMath.round(e*20)/20},Pn=(e,t)=>({accept:e,round:t}),Tc=[Pn(({divisor:e,price:t})=>t%e==0,({divisor:e,price:t})=>t/e),Pn(({usePrecision:e})=>e,({divisor:e,price:t})=>Math.ceil(Math.floor(t*1e4/e)/100)/100),Pn(()=>!0,({divisor:e,price:t})=>Math.ceil(Math.floor(t*100/e)/100))],Cn={[M.YEAR]:{[O.MONTHLY]:_t.MONTH,[O.ANNUAL]:_t.YEAR},[M.MONTH]:{[O.MONTHLY]:_t.MONTH}},yc=(e,t)=>e.indexOf(`'${t}'`)===0,_c=(e,t=!0)=>{let r=e.replace(/'.*?'/,"").trim(),n=_o(r);return!!n?t||(r=r.replace(/[,\.]0+/,n)):r=r.replace(/\s?(#.*0)(?!\s)?/,"$&"+wc(e)),r},Lc=e=>{let t=Pc(e),r=yc(e,t),n=e.replace(/'.*?'/,""),i=Eo.test(n)||To.test(n);return{currencySymbol:t,isCurrencyFirst:r,hasCurrencySpace:i}},yo=e=>e.replace(Eo,So).replace(To,So),wc=e=>e.match(/#(.?)#/)?.[1]===Ao?Ac:Ao,Pc=e=>e.match(/'(.*?)'/)?.[1]??"",_o=e=>e.match(/0(.?)0/)?.[1]??"";function lr({formatString:e,price:t,usePrecision:r,isIndianPrice:n=!1},i,o=a=>a){let{currencySymbol:a,isCurrencyFirst:s,hasCurrencySpace:c}=Lc(e),h=r?_o(e):"",l=_c(e,r),u=r?2:0,m=o(t,{currencySymbol:a}),d=n?m.toLocaleString("hi-IN",{minimumFractionDigits:u,maximumFractionDigits:u}):bo(l,m),f=r?d.lastIndexOf(h):d.length,v=d.substring(0,f),T=d.substring(f+1);return{accessiblePrice:e.replace(/'.*?'/,"SYMBOL").replace(/#.*0/,d).replace(/SYMBOL/,a),currencySymbol:a,decimals:T,decimalsDelimiter:h,hasCurrencySpace:c,integer:v,isCurrencyFirst:s,recurrenceTerm:i}}var Lo=e=>{let{commitment:t,term:r,usePrecision:n}=e,i=Sc[r]??1;return lr(e,i>1?_t.MONTH:Cn[t]?.[r],(o,{currencySymbol:a})=>{let s={divisor:i,price:o,usePrecision:n},{round:c}=Tc.find(({accept:l})=>l(s));if(!c)throw new Error(`Missing rounding rule for: ${JSON.stringify(s)}`);return(Ec[a]??(l=>l))(c(s))})},wo=({commitment:e,term:t,...r})=>lr(r,Cn[e]?.[t]),Po=e=>{let{commitment:t,term:r}=e;return t===M.YEAR&&r===O.MONTHLY?lr(e,_t.YEAR,n=>n*12):lr(e,Cn[t]?.[r])};var Cc={recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},Ic=Hi("ConsonantTemplates/price"),Nc=/<.+?>/g,W={container:"price",containerOptical:"price-optical",containerStrikethrough:"price-strikethrough",containerAnnual:"price-annual",disabled:"disabled",currencySpace:"price-currency-space",currencySymbol:"price-currency-symbol",decimals:"price-decimals",decimalsDelimiter:"price-decimals-delimiter",integer:"price-integer",recurrence:"price-recurrence",taxInclusivity:"price-tax-inclusivity",unitType:"price-unit-type"},Ie={perUnitLabel:"perUnitLabel",perUnitAriaLabel:"perUnitAriaLabel",recurrenceLabel:"recurrenceLabel",recurrenceAriaLabel:"recurrenceAriaLabel",taxExclusiveLabel:"taxExclusiveLabel",taxInclusiveLabel:"taxInclusiveLabel",strikethroughAriaLabel:"strikethroughAriaLabel"},Oc="TAX_EXCLUSIVE",kc=e=>Gi(e)?Object.entries(e).filter(([,t])=>je(t)||Jt(t)||t===!0).reduce((t,[r,n])=>t+` ${r}${n===!0?"":'="'+Di(n)+'"'}`,""):"",ee=(e,t,r,n=!1)=>`${n?yo(t):t??""}`;function $c(e,{accessibleLabel:t,currencySymbol:r,decimals:n,decimalsDelimiter:i,hasCurrencySpace:o,integer:a,isCurrencyFirst:s,recurrenceLabel:c,perUnitLabel:h,taxInclusivityLabel:l},u={}){let m=ee(W.currencySymbol,r),d=ee(W.currencySpace,o?" ":""),f="";return s&&(f+=m+d),f+=ee(W.integer,a),f+=ee(W.decimalsDelimiter,i),f+=ee(W.decimals,n),s||(f+=d+m),f+=ee(W.recurrence,c,null,!0),f+=ee(W.unitType,h,null,!0),f+=ee(W.taxInclusivity,l,!0),ee(e,f,{...u,"aria-label":t})}var Ne=({displayOptical:e=!1,displayStrikethrough:t=!1,displayAnnual:r=!1}={})=>({country:n,displayFormatted:i=!0,displayRecurrence:o=!0,displayPerUnit:a=!1,displayTax:s=!1,language:c,literals:h={}}={},{commitment:l,formatString:u,price:m,priceWithoutDiscount:d,taxDisplay:f,taxTerm:v,term:T,usePrecision:P}={},C={})=>{Object.entries({country:n,formatString:u,language:c,price:m}).forEach(([se,Br])=>{if(Br==null)throw new Error(`Argument "${se}" is missing`)});let _={...Cc,...h},D=`${c.toLowerCase()}-${n.toUpperCase()}`;function L(se,Br){let Yr=_[se];if(Yr==null)return"";try{return new xo(Yr.replace(Nc,""),D).format(Br)}catch{return Ic.error("Failed to format literal:",Yr),""}}let I=t&&d?d:m,j=e?Lo:wo;r&&(j=Po);let{accessiblePrice:Z,recurrenceTerm:oe,...fe}=j({commitment:l,formatString:u,term:T,price:e?m:I,usePrecision:P,isIndianPrice:n==="IN"}),J=Z,_e="";if(y(o)&&oe){let se=L(Ie.recurrenceAriaLabel,{recurrenceTerm:oe});se&&(J+=" "+se),_e=L(Ie.recurrenceLabel,{recurrenceTerm:oe})}let Le="";if(y(a)){Le=L(Ie.perUnitLabel,{perUnit:"LICENSE"});let se=L(Ie.perUnitAriaLabel,{perUnit:"LICENSE"});se&&(J+=" "+se)}let ae="";y(s)&&v&&(ae=L(f===Oc?Ie.taxExclusiveLabel:Ie.taxInclusiveLabel,{taxTerm:v}),ae&&(J+=" "+ae)),t&&(J=L(Ie.strikethroughAriaLabel,{strikethroughPrice:J}));let Q=W.container;if(e&&(Q+=" "+W.containerOptical),t&&(Q+=" "+W.containerStrikethrough),r&&(Q+=" "+W.containerAnnual),y(i))return $c(Q,{...fe,accessibleLabel:J,recurrenceLabel:_e,perUnitLabel:Le,taxInclusivityLabel:ae},C);let{currencySymbol:ze,decimals:Bt,decimalsDelimiter:Yt,hasCurrencySpace:gt,integer:jr,isCurrencyFirst:rs}=fe,Fe=[jr,Yt,Bt];rs?(Fe.unshift(gt?"\xA0":""),Fe.unshift(ze)):(Fe.push(gt?"\xA0":""),Fe.push(ze)),Fe.push(_e,Le,ae);let ns=Fe.join("");return ee(Q,ns,C)},Co=()=>(e,t,r)=>{let i=(e.displayOldPrice===void 0||y(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price;return`${Ne()(e,t,r)}${i?" "+Ne({displayStrikethrough:!0})(e,t,r):""}`};var In=Ne(),Nn=Co(),On=Ne({displayOptical:!0}),kn=Ne({displayStrikethrough:!0}),$n=Ne({displayAnnual:!0});var Vc=(e,t)=>{if(!(!Ye(e)||!Ye(t)))return Math.floor((t-e)/t*100)},Io=()=>(e,t,r)=>{let{price:n,priceWithoutDiscount:i}=t,o=Vc(n,i);return o===void 0?'':`${o}%`};var Vn=Io();var{freeze:Lt}=Object,he=Lt({...we}),ue=Lt({...q}),Oe={STAGE:"STAGE",PRODUCTION:"PRODUCTION",LOCAL:"LOCAL"},No=Lt({...M}),Oo=Lt({...Fi}),ko=Lt({...O});var zn={};us(zn,{CLASS_NAME_FAILED:()=>hr,CLASS_NAME_PENDING:()=>ur,CLASS_NAME_RESOLVED:()=>mr,ERROR_MESSAGE_BAD_REQUEST:()=>dr,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>Rc,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>Rn,EVENT_TYPE_ERROR:()=>Uc,EVENT_TYPE_FAILED:()=>pr,EVENT_TYPE_PENDING:()=>fr,EVENT_TYPE_READY:()=>qe,EVENT_TYPE_RESOLVED:()=>gr,LOG_NAMESPACE:()=>Un,Landscape:()=>Ze,PARAM_AOS_API_KEY:()=>Dc,PARAM_ENV:()=>Dn,PARAM_LANDSCAPE:()=>Mn,PARAM_WCS_API_KEY:()=>Mc,STATE_FAILED:()=>te,STATE_PENDING:()=>re,STATE_RESOLVED:()=>ne,TAG_NAME_SERVICE:()=>ve,WCS_PROD_URL:()=>Gn,WCS_STAGE_URL:()=>Hn});var hr="placeholder-failed",ur="placeholder-pending",mr="placeholder-resolved",dr="Bad WCS request",Rn="Commerce offer not found",Rc="Literals URL not provided",Uc="wcms:commerce:error",pr="wcms:placeholder:failed",fr="wcms:placeholder:pending",qe="wcms:commerce:ready",gr="wcms:placeholder:resolved",Un="wcms/commerce",Dn="commerce.env",Mn="commerce.landscape",Dc="commerce.aosKey",Mc="commerce.wcsKey",Gn="https://www.adobe.com/web_commerce_artifact",Hn="https://www.stage.adobe.com/web_commerce_artifact_stage",te="failed",re="pending",ne="resolved",ve="wcms-commerce",Ze={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Fn={clientId:"merch-at-scale",delimiter:"\xB6",ignoredProperties:["analytics","literals"],serializableTypes:["Array","Object"],sampleRate:30,tags:"consumer=milo/commerce"},$o=new Set,Gc=e=>e instanceof Error||typeof e.originatingRequest=="string";function Vo(e){if(e==null)return;let t=typeof e;if(t==="function"){let{name:r}=e;return r?`${t} ${r}`:t}if(t==="object"){if(e instanceof Error)return e.message;if(typeof e.originatingRequest=="string"){let{message:n,originatingRequest:i,status:o}=e;return[n,o,i].filter(a=>a).join(" ")}let r=e[Symbol.toStringTag]??Object.getPrototypeOf(e).constructor.name;if(!Fn.serializableTypes.includes(r))return r}return e}function Hc(e,t){if(!Fn.ignoredProperties.includes(e))return Vo(t)}var Kn={append(e){let{delimiter:t,sampleRate:r,tags:n,clientId:i}=Fn,{message:o,params:a}=e,s=[],c=o,h=[];a.forEach(m=>{m!=null&&(Gc(m)?s:h).push(m)}),s.length&&(c+=" ",c+=s.map(Vo).join(" "));let{pathname:l,search:u}=window.location;c+=`${t}page=`,c+=l+u,h.length&&(c+=`${t}facts=`,c+=JSON.stringify(h,Hc)),$o.has(c)||($o.add(c),window.lana?.log(c,{sampleRate:r,tags:n,clientId:i}))}};var E=Object.freeze({checkoutClientId:"adobe_com",checkoutWorkflow:he.V3,checkoutWorkflowStep:ue.EMAIL,country:"US",displayOldPrice:!0,displayPerUnit:!1,displayRecurrence:!0,displayTax:!1,env:Oe.PRODUCTION,forceTaxExclusive:!1,language:"en",entitlement:!1,extraOptions:{},modal:!1,promotionCode:"",quantity:1,wcsApiKey:"wcms-commerce-ims-ro-user-milo",wcsBufferDelay:1,wcsURL:"https://www.adobe.com/web_commerce_artifact",landscape:Ze.PUBLISHED,wcsBufferLimit:1});function Ro(e,{once:t=!1}={}){let r=null;function n(){let i=document.querySelector(ve);i!==r&&(r=i,i&&e(i))}return document.addEventListener(qe,n,{once:t}),be(n),()=>document.removeEventListener(qe,n)}function wt(e,{country:t,forceTaxExclusive:r,perpetual:n}){let i;if(e.length<2)i=e;else{let o=t==="GB"||n?"EN":"MULT",[a,s]=e;i=[a.language===o?a:s]}return r&&(i=i.map(dn)),i}var be=e=>window.setTimeout(e);function Je(e,t=1){if(e==null)return[t];let r=(Array.isArray(e)?e:String(e).split(",")).map(We).filter(Ye);return r.length||(r=[t]),r}function xr(e){return e==null?[]:(Array.isArray(e)?e:String(e).split(",")).filter(on)}function B(){return window.customElements.get(ve)?.instance}var zc="en_US",p={ar:"AR_es",be_en:"BE_en",be_fr:"BE_fr",be_nl:"BE_nl",br:"BR_pt",ca:"CA_en",ch_de:"CH_de",ch_fr:"CH_fr",ch_it:"CH_it",cl:"CL_es",co:"CO_es",la:"DO_es",mx:"MX_es",pe:"PE_es",africa:"MU_en",dk:"DK_da",de:"DE_de",ee:"EE_et",eg_ar:"EG_ar",eg_en:"EG_en",es:"ES_es",fr:"FR_fr",gr_el:"GR_el",gr_en:"GR_en",ie:"IE_en",il_he:"IL_iw",it:"IT_it",lv:"LV_lv",lt:"LT_lt",lu_de:"LU_de",lu_en:"LU_en",lu_fr:"LU_fr",my_en:"MY_en",my_ms:"MY_ms",hu:"HU_hu",mt:"MT_en",mena_en:"DZ_en",mena_ar:"DZ_ar",nl:"NL_nl",no:"NO_nb",pl:"PL_pl",pt:"PT_pt",ro:"RO_ro",si:"SI_sl",sk:"SK_sk",fi:"FI_fi",se:"SE_sv",tr:"TR_tr",uk:"GB_en",at:"AT_de",cz:"CZ_cs",bg:"BG_bg",ru:"RU_ru",ua:"UA_uk",au:"AU_en",in_en:"IN_en",in_hi:"IN_hi",id_en:"ID_en",id_id:"ID_in",nz:"NZ_en",sa_ar:"SA_ar",sa_en:"SA_en",sg:"SG_en",cn:"CN_zh-Hans",tw:"TW_zh-Hant",hk_zh:"HK_zh-hant",jp:"JP_ja",kr:"KR_ko",za:"ZA_en",ng:"NG_en",cr:"CR_es",ec:"EC_es",pr:"US_es",gt:"GT_es",cis_en:"AZ_en",cis_ru:"AZ_ru",sea:"SG_en",th_en:"TH_en",th_th:"TH_th"},vr=Object.freeze({LOCAL:"local",PROD:"prod",STAGE:"stage"});function Fc({locale:e={}}={}){if(!e.prefix)return{country:E.country,language:E.language,locale:zc};let t=e.prefix.replace("/","")??"",[r=E.country,n=E.language]=(p[t]??t).split("_",2);return r=r.toUpperCase(),n=n.toLowerCase(),{country:r,language:n,locale:`${n}_${r}`}}function Uo(e={}){let{commerce:t={},locale:r=void 0}=e,n=Oe.PRODUCTION,i=Gn,o=["local","stage"].includes(e.env?.name),a=k(Dn,t,{metadata:!1})?.toLowerCase()==="stage";o&&a&&(n=Oe.STAGE,i=Hn);let s=k("checkoutClientId",t)??E.checkoutClientId,c=xe(k("checkoutWorkflow",t),he,E.checkoutWorkflow),h=ue.CHECKOUT;c===he.V3&&(h=xe(k("checkoutWorkflowStep",t),ue,E.checkoutWorkflowStep));let l=y(k("displayOldPrice",t),E.displayOldPrice),u=y(k("displayPerUnit",t),E.displayPerUnit),m=y(k("displayRecurrence",t),E.displayRecurrence),d=y(k("displayTax",t),E.displayTax),f=y(k("entitlement",t),E.entitlement),v=y(k("modal",t),E.modal),T=y(k("forceTaxExclusive",t),E.forceTaxExclusive),P=k("promotionCode",t)??E.promotionCode,C=Je(k("quantity",t)),_=k("wcsApiKey",t)??E.wcsApiKey,D=e.env?.name===vr.PROD?Ze.PUBLISHED:xe(k(Mn,t),Ze,E.landscape),L=We(k("wcsBufferDelay",t),E.wcsBufferDelay),I=We(k("wcsBufferLimit",t),E.wcsBufferLimit);return{...Fc({locale:r}),displayOldPrice:l,checkoutClientId:s,checkoutWorkflow:c,checkoutWorkflowStep:h,displayPerUnit:u,displayRecurrence:m,displayTax:d,entitlement:f,extraOptions:E.extraOptions,modal:v,env:n,forceTaxExclusive:T,promotionCode:P,quantity:C,wcsApiKey:_,wcsBufferDelay:L,wcsBufferLimit:I,wcsURL:i,landscape:D}}var Mo="debug",Kc="error",jc="info",Bc="warn",Yc=Date.now(),jn=new Set,Bn=new Set,Do=new Map,Pt=Object.freeze({DEBUG:Mo,ERROR:Kc,INFO:jc,WARN:Bc}),Go={append({level:e,message:t,params:r,timestamp:n,source:i}){console[e](`${n}ms [${i}] %c${t}`,"font-weight: bold;",...r)}},Ho={filter:({level:e})=>e!==Mo},Xc={filter:()=>!1};function Wc(e,t,r,n,i){return{level:e,message:t,namespace:r,get params(){if(n.length===1){let[o]=n;ge(o)&&(n=o(),Array.isArray(n)||(n=[n]))}return n},source:i,timestamp:Date.now()-Yc}}function qc(e){[...Bn].every(t=>t(e))&&jn.forEach(t=>t(e))}function zo(e){let t=(Do.get(e)??0)+1;Do.set(e,t);let r=`${e} #${t}`,n=o=>(a,...s)=>qc(Wc(o,a,e,s,r)),i=Object.seal({id:r,namespace:e,module(o){return zo(`${i.namespace}/${o}`)},debug:n(Pt.DEBUG),error:n(Pt.ERROR),info:n(Pt.INFO),warn:n(Pt.WARN)});return i}function br(...e){e.forEach(t=>{let{append:r,filter:n}=t;ge(n)?Bn.add(n):ge(r)&&jn.add(r)})}function Zc(e={}){let{name:t}=e,r=y(k("commerce.debug",{search:!0,storage:!0}),t===vr.LOCAL);return br(r?Go:Ho),t===vr.PROD&&br(Kn),K}function Jc(){jn.clear(),Bn.clear()}var K={...zo(Un),Level:Pt,Plugins:{consoleAppender:Go,debugFilter:Ho,quietFilter:Xc,lanaAppender:Kn},init:Zc,reset:Jc,use:br};var Qc={CLASS_NAME_FAILED:hr,CLASS_NAME_PENDING:ur,CLASS_NAME_RESOLVED:mr,EVENT_TYPE_FAILED:pr,EVENT_TYPE_PENDING:fr,EVENT_TYPE_RESOLVED:gr,STATE_FAILED:te,STATE_PENDING:re,STATE_RESOLVED:ne},el={[te]:hr,[re]:ur,[ne]:mr},tl={[te]:pr,[re]:fr,[ne]:gr},Er=new WeakMap;function Y(e){if(!Er.has(e)){let t=K.module(e.constructor.is);Er.set(e,{changes:new Map,connected:!1,dispose:Be,error:void 0,log:t,options:void 0,promises:[],state:re,timer:null,value:void 0,version:0})}return Er.get(e)}function Ar(e){let t=Y(e),{error:r,promises:n,state:i}=t;(i===ne||i===te)&&(t.promises=[],i===ne?n.forEach(({resolve:o})=>o(e)):i===te&&n.forEach(({reject:o})=>o(r))),e.dispatchEvent(new CustomEvent(tl[i],{bubbles:!0}))}function Sr(e){let t=Er.get(e);[te,re,ne].forEach(r=>{e.classList.toggle(el[r],r===t.state)})}var rl={get error(){return Y(this).error},get log(){return Y(this).log},get options(){return Y(this).options},get state(){return Y(this).state},get value(){return Y(this).value},attributeChangedCallback(e,t,r){Y(this).changes.set(e,r),this.requestUpdate()},connectedCallback(){Y(this).dispose=Ro(()=>this.requestUpdate(!0))},disconnectedCallback(){let e=Y(this);e.connected&&(e.connected=!1,e.log.debug("Disconnected:",{element:this})),e.dispose(),e.dispose=Be},onceSettled(){let{error:e,promises:t,state:r}=Y(this);return ne===r?Promise.resolve(this):te===r?Promise.reject(e):new Promise((n,i)=>{t.push({resolve:n,reject:i})})},toggleResolved(e,t,r){let n=Y(this);return e!==n.version?!1:(r!==void 0&&(n.options=r),n.state=ne,n.value=t,Sr(this),this.log.debug("Resolved:",{element:this,value:t}),be(()=>Ar(this)),!0)},toggleFailed(e,t,r){let n=Y(this);return e!==n.version?!1:(r!==void 0&&(n.options=r),n.error=t,n.state=te,Sr(this),n.log.error("Failed:",{element:this,error:t}),be(()=>Ar(this)),!0)},togglePending(e){let t=Y(this);return t.version++,e&&(t.options=e),t.state=re,Sr(this),be(()=>Ar(this)),t.version},requestUpdate(e=!1){if(!this.isConnected||!B())return;let t=Y(this);if(t.timer)return;let{error:r,options:n,state:i,value:o,version:a}=t;t.state=re,t.timer=be(async()=>{t.timer=null;let s=null;if(t.changes.size&&(s=Object.fromEntries(t.changes.entries()),t.changes.clear()),t.connected?t.log.debug("Updated:",{element:this,changes:s}):(t.connected=!0,t.log.debug("Connected:",{element:this,changes:s})),s||e)try{await this.render?.()===!1&&t.state===re&&t.version===a&&(t.state=i,t.error=r,t.value=o,Sr(this),Ar(this))}catch(c){this.toggleFailed(t.version,c,n)}})}};function Fo(e={}){return Object.entries(e).forEach(([t,r])=>{(r==null||r===""||r?.length===0)&&delete e[t]}),e}function Tr(e,t={}){let{tag:r,is:n}=e,i=document.createElement(r,{is:n});return i.setAttribute("is",n),Object.assign(i.dataset,Fo(t)),i}function yr(e){let{tag:t,is:r,prototype:n}=e,i=window.customElements.get(r);return i||(Object.defineProperties(n,Object.getOwnPropertyDescriptors(rl)),i=Object.defineProperties(e,Object.getOwnPropertyDescriptors(Qc)),window.customElements.define(r,i,{extends:t})),i}function _r(e,t=document.body){return Array.from(t?.querySelectorAll(`${e.tag}[is="${e.is}"]`)??[])}function Lr(e,t={}){return e instanceof HTMLElement?(Object.assign(e.dataset,Fo(t)),e):null}var nl="download",il="upgrade",ke,Qe=class Qe extends HTMLAnchorElement{constructor(){super();ce(this,ke);this.addEventListener("click",this.clickHandler)}static get observedAttributes(){return["data-checkout-workflow","data-checkout-workflow-step","data-extra-options","data-ims-country","data-perpetual","data-promotion-code","data-quantity","data-template","data-wcs-osi","data-entitlement","data-upgrade","data-modal"]}static createCheckoutLink(r={},n=""){let i=B();if(!i)return null;let{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:h,modal:l,perpetual:u,promotionCode:m,quantity:d,wcsOsi:f,extraOptions:v}=i.collectCheckoutOptions(r),T=Tr(Qe,{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:h,modal:l,perpetual:u,promotionCode:m,quantity:d,wcsOsi:f,extraOptions:v});return n&&(T.innerHTML=`${n}`),T}static getCheckoutLinks(r){return _r(Qe,r)}get isCheckoutLink(){return!0}get placeholder(){return this}clickHandler(r){var n;(n=F(this,ke))==null||n.call(this,r)}async render(r={}){if(!this.isConnected)return!1;let n=B();if(!n)return!1;this.dataset.imsCountry||n.imsCountryPromise.then(l=>{l&&(this.dataset.imsCountry=l)},Be);let i=n.collectCheckoutOptions(r,this.placeholder);if(!i.wcsOsi.length)return!1;let o;try{o=JSON.parse(i.extraOptions??"{}")}catch(l){this.placeholder.log.error("cannot parse exta checkout options",l)}let a=this.placeholder.togglePending(i);this.href="";let s=n.resolveOfferSelectors(i),c=await Promise.all(s);c=c.map(l=>wt(l,i));let h=await n.buildCheckoutAction(c.flat(),{...o,...i});return this.renderOffers(c.flat(),i,{},h,a)}renderOffers(r,n,i={},o=void 0,a=void 0){if(!this.isConnected)return!1;let s=B();if(!s)return!1;if(n={...JSON.parse(this.placeholder.dataset.extraOptions??"null"),...n,...i},a??(a=this.placeholder.togglePending(n)),F(this,ke)&&le(this,ke,void 0),o){this.classList.remove(nl,il),this.placeholder.toggleResolved(a,r,n);let{url:h,text:l,className:u,handler:m}=o;return h&&(this.href=h),l&&(this.firstElementChild.innerHTML=l),u&&this.classList.add(...u.split(" ")),m&&(this.setAttribute("href","#"),le(this,ke,m.bind(this))),!0}else if(r.length){if(this.placeholder.toggleResolved(a,r,n)){let h=s.buildCheckoutURL(r,n);return this.setAttribute("href",h),!0}}else{let h=new Error(`Not provided: ${n?.wcsOsi??"-"}`);if(this.placeholder.toggleFailed(a,h,n))return this.setAttribute("href","#"),!0}return!1}updateOptions(r={}){let n=B();if(!n)return!1;let{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:h,perpetual:l,promotionCode:u,quantity:m,wcsOsi:d}=n.collectCheckoutOptions(r);return Lr(this,{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:h,perpetual:l,promotionCode:u,quantity:m,wcsOsi:d}),!0}};ke=new WeakMap,x(Qe,"is","checkout-link"),x(Qe,"tag","a");var Yn=Qe,Xn=yr(Yn);var Ko=[p.uk,p.au,p.fr,p.at,p.be_en,p.be_fr,p.be_nl,p.bg,p.ch_de,p.ch_fr,p.ch_it,p.cz,p.de,p.dk,p.ee,p.eg_ar,p.eg_en,p.es,p.fi,p.fr,p.gr_el,p.gr_en,p.hu,p.ie,p.it,p.lu_de,p.lu_en,p.lu_fr,p.nl,p.no,p.pl,p.pt,p.ro,p.se,p.si,p.sk,p.tr,p.ua,p.id_en,p.id_id,p.in_en,p.in_hi,p.jp,p.my_en,p.my_ms,p.nz,p.th_en,p.th_th],ol={INDIVIDUAL_COM:[p.za,p.lt,p.lv,p.ng,p.sa_ar,p.sa_en,p.za,p.sg,p.kr],TEAM_COM:[p.za,p.lt,p.lv,p.ng,p.za,p.co,p.kr],INDIVIDUAL_EDU:[p.lt,p.lv,p.sa_en,p.sea],TEAM_EDU:[p.sea,p.kr]},et=class et extends HTMLSpanElement{static get observedAttributes(){return["data-display-old-price","data-display-per-unit","data-display-recurrence","data-display-tax","data-perpetual","data-promotion-code","data-tax-exclusive","data-template","data-wcs-osi"]}static createInlinePrice(t){let r=B();if(!r)return null;let{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:m}=r.collectPriceOptions(t);return Tr(et,{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:m})}static getInlinePrices(t){return _r(et,t)}get isInlinePrice(){return!0}get placeholder(){return this}resolveDisplayTaxForGeoAndSegment(t,r,n,i){let o=`${t}_${r}`;if(Ko.includes(t)||Ko.includes(o))return!0;let a=ol[`${n}_${i}`];return a?!!(a.includes(t)||a.includes(o)):!1}async resolveDisplayTax(t,r){let[n]=await t.resolveOfferSelectors(r),i=wt(await n,r);if(i?.length){let{country:o,language:a}=r,s=i[0],[c=""]=s.marketSegments;return this.resolveDisplayTaxForGeoAndSegment(o,a,s.customerSegment,c)}}async render(t={}){if(!this.isConnected)return!1;let r=B();if(!r)return!1;let n=r.collectPriceOptions(t,this.placeholder);if(!n.wcsOsi.length)return!1;let i=this.placeholder.togglePending(n);this.innerHTML="";let[o]=r.resolveOfferSelectors(n);return this.renderOffers(wt(await o,n),n,i)}renderOffers(t,r={},n=void 0){if(!this.isConnected)return;let i=B();if(!i)return!1;let o=i.collectPriceOptions({...this.dataset,...r});if(n??(n=this.placeholder.togglePending(o)),t.length){if(this.placeholder.toggleResolved(n,t,o))return this.innerHTML=i.buildPriceHTML(t,o),!0}else{let a=new Error(`Not provided: ${o?.wcsOsi??"-"}`);if(this.placeholder.toggleFailed(n,a,o))return this.innerHTML="",!0}return!1}updateOptions(t){let r=B();if(!r)return!1;let{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:m}=r.collectPriceOptions(t);return Lr(this,{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:m}),!0}};x(et,"is","inline-price"),x(et,"tag","span");var Wn=et,qn=yr(Wn);function jo({providers:e,settings:t},r){let n=K.module("checkout");function i(h,l){let{checkoutClientId:u,checkoutWorkflow:m,checkoutWorkflowStep:d,country:f,language:v,promotionCode:T,quantity:P}=t,{checkoutMarketSegment:C,checkoutWorkflow:_=m,checkoutWorkflowStep:D=d,imsCountry:L,country:I=L??f,language:j=v,quantity:Z=P,entitlement:oe,upgrade:fe,modal:J,perpetual:_e,promotionCode:Le=T,wcsOsi:ae,extraOptions:Q,...ze}=Object.assign({},l?.dataset??{},h??{}),Bt=xe(_,he,E.checkoutWorkflow),Yt=ue.CHECKOUT;Bt===he.V3&&(Yt=xe(D,ue,E.checkoutWorkflowStep));let gt=Xe({...ze,extraOptions:Q,checkoutClientId:u,checkoutMarketSegment:C,country:I,quantity:Je(Z,E.quantity),checkoutWorkflow:Bt,checkoutWorkflowStep:Yt,language:j,entitlement:y(oe),upgrade:y(fe),modal:y(J),perpetual:y(_e),promotionCode:bt(Le).effectivePromoCode,wcsOsi:xr(ae)});if(l)for(let jr of e.checkout)jr(l,gt);return gt}async function o(h,l){let u=B(),m=await r.getCheckoutAction?.(h,l,u.imsSignedInPromise);return m||null}function a(h,l){if(!Array.isArray(h)||!h.length||!l)return"";let{env:u,landscape:m}=t,{checkoutClientId:d,checkoutMarketSegment:f,checkoutWorkflow:v,checkoutWorkflowStep:T,country:P,promotionCode:C,quantity:_,...D}=i(l),L=window.frameElement?"if":"fp",I={checkoutPromoCode:C,clientId:d,context:L,country:P,env:u,items:[],marketSegment:f,workflowStep:T,landscape:m,...D};if(h.length===1){let[{offerId:j,offerType:Z,productArrangementCode:oe}]=h,{marketSegments:[fe]}=h[0];Object.assign(I,{marketSegment:fe,offerType:Z,productArrangementCode:oe}),I.items.push(_[0]===1?{id:j}:{id:j,quantity:_[0]})}else I.items.push(...h.map(({offerId:j},Z)=>({id:j,quantity:_[Z]??E.quantity})));return Jr(v,I)}let{createCheckoutLink:s,getCheckoutLinks:c}=Xn;return{CheckoutLink:Xn,CheckoutWorkflow:he,CheckoutWorkflowStep:ue,buildCheckoutAction:o,buildCheckoutURL:a,collectCheckoutOptions:i,createCheckoutLink:s,getCheckoutLinks:c}}function al({interval:e=200,maxAttempts:t=25}={}){let r=K.module("ims");return new Promise(n=>{r.debug("Waing for IMS to be ready");let i=0;function o(){window.adobeIMS?.initialized?n():++i>t?(r.debug("Timeout"),n()):setTimeout(o,e)}o()})}function sl(e){return e.then(()=>window.adobeIMS?.isSignedInUser()??!1)}function cl(e){let t=K.module("ims");return e.then(r=>r?window.adobeIMS.getProfile().then(({countryCode:n})=>(t.debug("Got user country:",n),n),n=>{t.error("Unable to get user country:",n)}):null)}function Bo({}){let e=al(),t=sl(e),r=cl(t);return{imsReadyPromise:e,imsSignedInPromise:t,imsCountryPromise:r}}async function Xo(e,t){let{data:r}=t||await Promise.resolve().then(()=>ds(Yo(),1));if(Array.isArray(r)){let n=o=>r.find(a=>Zt(a.lang,o)),i=n(e.language)??n(E.language);if(i)return Object.freeze(i)}return{}}function Wo({literals:e,providers:t,settings:r}){function n(s,c){let{country:h,displayOldPrice:l,displayPerUnit:u,displayRecurrence:m,displayTax:d,forceTaxExclusive:f,language:v,promotionCode:T,quantity:P}=r,{displayOldPrice:C=l,displayPerUnit:_=u,displayRecurrence:D=m,displayTax:L=d,forceTaxExclusive:I=f,country:j=h,language:Z=v,perpetual:oe,promotionCode:fe=T,quantity:J=P,template:_e,wcsOsi:Le,...ae}=Object.assign({},c?.dataset??{},s??{}),Q=Xe({...ae,country:j,displayOldPrice:y(C),displayPerUnit:y(_),displayRecurrence:y(D),displayTax:y(L),forceTaxExclusive:y(I),language:Z,perpetual:y(oe),promotionCode:bt(fe).effectivePromoCode,quantity:Je(J,E.quantity),template:_e,wcsOsi:xr(Le)});if(c)for(let ze of t.price)ze(c,Q);return Q}function i(s,c){if(!Array.isArray(s)||!s.length||!c)return"";let{template:h}=c,l;switch(h){case"discount":l=Vn;break;case"strikethrough":l=kn;break;case"optical":l=On;break;case"annual":l=$n;break;default:l=c.promotionCode?Nn:In}let u=n(c);u.literals=Object.assign({},e.price,Xe(c.literals??{}));let[m]=s;return m={...m,...m.priceDetails},l(u,m)}let{createInlinePrice:o,getInlinePrices:a}=qn;return{InlinePrice:qn,buildPriceHTML:i,collectPriceOptions:n,createInlinePrice:o,getInlinePrices:a}}function qo({settings:e}){let t=K.module("wcs"),{env:r,wcsApiKey:n}=e,i=new Map,o=new Map,a;async function s(l,u,m=!0){let d=Rn;t.debug("Fetching:",l);try{l.offerSelectorIds=l.offerSelectorIds.sort();let f=new URL(e.wcsURL);f.searchParams.set("offer_selector_ids",l.offerSelectorIds.join(",")),f.searchParams.set("country",l.country),f.searchParams.set("locale",l.locale),f.searchParams.set("landscape",r===Oe.STAGE?"ALL":e.landscape),f.searchParams.set("api_key",n),l.language&&f.searchParams.set("language",l.language),l.promotionCode&&f.searchParams.set("promotion_code",l.promotionCode),l.currency&&f.searchParams.set("currency",l.currency);let v=await fetch(f.toString(),{credentials:"omit"});if(v.ok){let T=await v.json();t.debug("Fetched:",l,T);let P=T.resolvedOffers??[];P=P.map(mn),u.forEach(({resolve:C},_)=>{let D=P.filter(({offerSelectorIds:L})=>L.includes(_)).flat();D.length&&(u.delete(_),C(D))})}else v.status===404&&l.offerSelectorIds.length>1?(t.debug("Multi-osi 404, fallback to fetch-by-one strategy"),await Promise.allSettled(l.offerSelectorIds.map(T=>s({...l,offerSelectorIds:[T]},u,!1)))):(d=dr,t.error(d,l))}catch(f){d=dr,t.error(d,l,f)}m&&u.size&&(t.debug("Missing:",{offerSelectorIds:[...u.keys()]}),u.forEach(f=>{f.reject(new Error(d))}))}function c(){clearTimeout(a);let l=[...o.values()];o.clear(),l.forEach(({options:u,promises:m})=>s(u,m))}function h({country:l,language:u,perpetual:m=!1,promotionCode:d="",wcsOsi:f=[]}){let v=`${u}_${l}`;l!=="GB"&&(u=m?"EN":"MULT");let T=[l,u,d].filter(P=>P).join("-").toLowerCase();return f.map(P=>{let C=`${P}-${T}`;if(!i.has(C)){let _=new Promise((D,L)=>{let I=o.get(T);if(!I){let j={country:l,locale:v,offerSelectorIds:[]};l!=="GB"&&(j.language=u),I={options:j,promises:new Map},o.set(T,I)}d&&(I.options.promotionCode=d),I.options.offerSelectorIds.push(P),I.promises.set(P,{resolve:D,reject:L}),I.options.offerSelectorIds.length>=e.wcsBufferLimit?c():(t.debug("Queued:",I.options),a||(a=setTimeout(c,e.wcsBufferDelay)))});i.set(C,_)}return i.get(C)})}return{WcsCommitment:No,WcsPlanType:Oo,WcsTerm:ko,resolveOfferSelectors:h}}var X=class extends HTMLElement{get isWcmsCommerce(){return!0}};x(X,"instance"),x(X,"promise",null);window.customElements.define(ve,X);async function hl(e,t){let r=K.init(e.env).module("service");r.debug("Activating:",e);let n={price:{}},i=Object.freeze(Uo(e));try{n.price=await Xo(i,e.commerce.priceLiterals)}catch(c){r.warn("Price literals were not fetched:",c)}let o={checkout:new Set,price:new Set},a=document.createElement(ve),s={literals:n,providers:o,settings:i};return X.instance=Object.defineProperties(a,Object.getOwnPropertyDescriptors({...jo(s,t),...Bo(s),...Wo(s),...qo(s),...zn,Log:K,get defaults(){return E},get literals(){return n},get log(){return K},get providers(){return{checkout(c){return o.checkout.add(c),()=>o.checkout.delete(c)},price(c){return o.price.add(c),()=>o.price.delete(c)}}},get settings(){return i}})),r.debug("Activated:",{literals:n,settings:i,element:a}),document.head.append(a),be(()=>{let c=new CustomEvent(qe,{bubbles:!0,cancelable:!1,detail:X.instance});X.instance.dispatchEvent(c)}),X.instance}function Zo(){document.head.querySelector(ve)?.remove(),X.promise=null,K.reset()}function Ct(e,t){let r=ge(e)?e():null,n=ge(t)?t():{};return r&&(n.force&&Zo(),hl(r,n).then(i=>{Ct.resolve(i)})),X.promise??(X.promise=new Promise(i=>{Ct.resolve=i})),X.promise}var wr=window,Cr=wr.ShadowRoot&&(wr.ShadyCSS===void 0||wr.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Qo=Symbol(),Jo=new WeakMap,Pr=class{constructor(t,r,n){if(this._$cssResult$=!0,n!==Qo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(Cr&&t===void 0){let n=r!==void 0&&r.length===1;n&&(t=Jo.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&Jo.set(r,t))}return t}toString(){return this.cssText}},ea=e=>new Pr(typeof e=="string"?e:e+"",void 0,Qo);var Zn=(e,t)=>{Cr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=wr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},Ir=Cr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return ea(r)})(e):e;var Jn,Nr=window,ta=Nr.trustedTypes,ul=ta?ta.emptyScript:"",ra=Nr.reactiveElementPolyfillSupport,ei={toAttribute(e,t){switch(t){case Boolean:e=e?ul:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},na=(e,t)=>t!==e&&(t==t||e==e),Qn={attribute:!0,type:String,converter:ei,reflect:!1,hasChanged:na},ti="finalized",$e=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=Qn){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||Qn}static finalize(){if(this.hasOwnProperty(ti))return!1;this[ti]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(Ir(i))}else t!==void 0&&r.push(Ir(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return Zn(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=Qn){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:ei).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:ei;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||na)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};$e[ti]=!0,$e.elementProperties=new Map,$e.elementStyles=[],$e.shadowRootOptions={mode:"open"},ra?.({ReactiveElement:$e}),((Jn=Nr.reactiveElementVersions)!==null&&Jn!==void 0?Jn:Nr.reactiveElementVersions=[]).push("1.6.3");var ri,Or=window,tt=Or.trustedTypes,ia=tt?tt.createPolicy("lit-html",{createHTML:e=>e}):void 0,ii="$lit$",Ae=`lit$${(Math.random()+"").slice(9)}$`,ua="?"+Ae,ml=`<${ua}>`,Ue=document,kr=()=>Ue.createComment(""),Nt=e=>e===null||typeof e!="object"&&typeof e!="function",ma=Array.isArray,dl=e=>ma(e)||typeof e?.[Symbol.iterator]=="function",ni=`[ -\f\r]`,It=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,oa=/-->/g,aa=/>/g,Ve=RegExp(`>|${ni}(?:([^\\s"'>=/]+)(${ni}*=${ni}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),sa=/'/g,ca=/"/g,da=/^(?:script|style|textarea|title)$/i,pa=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),Vm=pa(1),Rm=pa(2),Ot=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),la=new WeakMap,Re=Ue.createTreeWalker(Ue,129,null,!1);function fa(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return ia!==void 0?ia.createHTML(t):t}var pl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=It;for(let s=0;s"?(a=i??It,u=-1):l[1]===void 0?u=-2:(u=a.lastIndex-l[2].length,h=l[1],a=l[3]===void 0?Ve:l[3]==='"'?ca:sa):a===ca||a===sa?a=Ve:a===oa||a===aa?a=It:(a=Ve,i=void 0);let d=a===Ve&&e[s+1].startsWith("/>")?" ":"";o+=a===It?c+ml:u>=0?(n.push(h),c.slice(0,u)+ii+c.slice(u)+Ae+d):c+Ae+(u===-2?(n.push(void 0),s):d)}return[fa(e,o+(e[r]||"")+(t===2?"":"")),n]},kt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[h,l]=pl(t,r);if(this.el=e.createElement(h,n),Re.currentNode=this.el.content,r===2){let u=this.el.content,m=u.firstChild;m.remove(),u.append(...m.childNodes)}for(;(i=Re.nextNode())!==null&&c.length0){i.textContent=tt?tt.emptyScript:"";for(let d=0;d2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=G}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=rt(this,t,r,0),a=!Nt(t)||t!==this._$AH&&t!==Ot,a&&(this._$AH=t);else{let s=t,c,h;for(t=o[0],c=0;cnew $t(typeof e=="string"?e:e+"",void 0,hi),R=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((n,i,o)=>n+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new $t(r,e,hi)},ui=(e,t)=>{Rr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=Vr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},Ur=Rr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return me(r)})(e):e;var mi,Dr=window,xa=Dr.trustedTypes,gl=xa?xa.emptyScript:"",va=Dr.reactiveElementPolyfillSupport,pi={toAttribute(e,t){switch(t){case Boolean:e=e?gl:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},ba=(e,t)=>t!==e&&(t==t||e==e),di={attribute:!0,type:String,converter:pi,reflect:!1,hasChanged:ba},fi="finalized",de=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=di){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||di}static finalize(){if(this.hasOwnProperty(fi))return!1;this[fi]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(Ur(i))}else t!==void 0&&r.push(Ur(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return ui(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=di){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:pi).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:pi;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||ba)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};de[fi]=!0,de.elementProperties=new Map,de.elementStyles=[],de.shadowRootOptions={mode:"open"},va?.({ReactiveElement:de}),((mi=Dr.reactiveElementVersions)!==null&&mi!==void 0?mi:Dr.reactiveElementVersions=[]).push("1.6.3");var gi,Mr=window,it=Mr.trustedTypes,Aa=it?it.createPolicy("lit-html",{createHTML:e=>e}):void 0,vi="$lit$",Se=`lit$${(Math.random()+"").slice(9)}$`,wa="?"+Se,xl=`<${wa}>`,Ge=document,Rt=()=>Ge.createComment(""),Ut=e=>e===null||typeof e!="object"&&typeof e!="function",Pa=Array.isArray,vl=e=>Pa(e)||typeof e?.[Symbol.iterator]=="function",xi=`[ -\f\r]`,Vt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Sa=/-->/g,Ea=/>/g,De=RegExp(`>|${xi}(?:([^\\s"'>=/]+)(${xi}*=${xi}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Ta=/'/g,ya=/"/g,Ca=/^(?:script|style|textarea|title)$/i,Ia=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),g=Ia(1),zm=Ia(2),He=Symbol.for("lit-noChange"),H=Symbol.for("lit-nothing"),_a=new WeakMap,Me=Ge.createTreeWalker(Ge,129,null,!1);function Na(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Aa!==void 0?Aa.createHTML(t):t}var bl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Vt;for(let s=0;s"?(a=i??Vt,u=-1):l[1]===void 0?u=-2:(u=a.lastIndex-l[2].length,h=l[1],a=l[3]===void 0?De:l[3]==='"'?ya:Ta):a===ya||a===Ta?a=De:a===Sa||a===Ea?a=Vt:(a=De,i=void 0);let d=a===De&&e[s+1].startsWith("/>")?" ":"";o+=a===Vt?c+xl:u>=0?(n.push(h),c.slice(0,u)+vi+c.slice(u)+Se+d):c+Se+(u===-2?(n.push(void 0),s):d)}return[Na(e,o+(e[r]||"")+(t===2?"":"")),n]},Dt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[h,l]=bl(t,r);if(this.el=e.createElement(h,n),Me.currentNode=this.el.content,r===2){let u=this.el.content,m=u.firstChild;m.remove(),u.append(...m.childNodes)}for(;(i=Me.nextNode())!==null&&c.length0){i.textContent=it?it.emptyScript:"";for(let d=0;d2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=H}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=ot(this,t,r,0),a=!Ut(t)||t!==this._$AH&&t!==He,a&&(this._$AH=t);else{let s=t,c,h;for(t=o[0],c=0;c{var n,i;let o=(n=r?.renderBefore)!==null&&n!==void 0?n:t,a=o._$litPart$;if(a===void 0){let s=(i=r?.renderBefore)!==null&&i!==void 0?i:null;o._$litPart$=a=new Mt(t.insertBefore(Rt(),s),s,void 0,r??{})}return a._$AI(e),a};var yi,_i;var ie=class extends de{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,r;let n=super.createRenderRoot();return(t=(r=this.renderOptions).renderBefore)!==null&&t!==void 0||(r.renderBefore=n.firstChild),n}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Oa(r,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return He}};ie.finalized=!0,ie._$litElement$=!0,(yi=globalThis.litElementHydrateSupport)===null||yi===void 0||yi.call(globalThis,{LitElement:ie});var ka=globalThis.litElementPolyfillSupport;ka?.({LitElement:ie});((_i=globalThis.litElementVersions)!==null&&_i!==void 0?_i:globalThis.litElementVersions=[]).push("3.3.3");var Ee="(max-width: 767px)",Gr="(max-width: 1199px)",$="(min-width: 768px)",N="(min-width: 1200px)",U="(min-width: 1600px)";var $a=R` +`,Ce.MISSING_INTL_API,a);var D=r.getPluralRules(t,{type:l.pluralType}).select(d-(l.offset||0));_=l.options[D]||l.options.other}if(!_)throw new Pn(l.value,d,Object.keys(l.options),a);s.push.apply(s,Lt(_.value,t,r,n,i,d-(l.offset||0)));continue}}return uc(s)}function mc(e,t){return t?S(S(S({},e||{}),t||{}),Object.keys(e).reduce(function(r,n){return r[n]=S(S({},e[n]),t[n]||{}),r},{})):e}function pc(e,t){return t?Object.keys(e).reduce(function(r,n){return r[n]=mc(e[n],t[n]),r},S({},e)):e}function Cn(e){return{create:function(){return{get:function(t){return e[t]},set:function(t,r){e[t]=r}}}}}function fc(e){return e===void 0&&(e={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:yt(function(){for(var t,r=[],n=0;n0?e.substring(0,n):"";let i=Ao(e.split("").reverse().join("")),o=r-i,a=e.substring(o,o+1),s=o+(a==="."||a===","?1:0);t.suffix=i>0?e.substring(s,r):"",t.mask=e.substring(n,s),t.maskHasNegativeSign=t.mask.charAt(0)==="-",t.maskHasPositiveSign=t.mask.charAt(0)==="+";let c=t.mask.match(xc);return t.decimal=c&&c[c.length-1]||".",t.separator=c&&c[1]&&c[0]||",",c=t.mask.split(t.decimal),t.integer=c[0],t.fraction=c[1],t}function bc(e,t,r){let n=!1,i={value:e};e<0&&(n=!0,i.value=-i.value),i.sign=n?"-":"",i.value=Number(i.value).toFixed(t.fraction&&t.fraction.length),i.value=Number(i.value).toString();let o=t.fraction&&t.fraction.lastIndexOf("0"),[a="0",s=""]=i.value.split(".");return(!s||s&&s.length<=o)&&(s=o<0?"":(+("0."+s)).toFixed(o+1).replace("0.","")),i.integer=a,i.fraction=s,Ac(i,t),(i.result==="0"||i.result==="")&&(n=!1,i.sign=""),!n&&t.maskHasPositiveSign?i.sign="+":n&&t.maskHasPositiveSign?i.sign="-":n&&(i.sign=r&&r.enforceMaskSign&&!t.maskHasNegativeSign?"":"-"),i}function Ac(e,t){e.result="";let r=t.integer.split(t.separator),n=r.join(""),i=n&&n.indexOf("0");if(i>-1)for(;e.integer.lengthMath.round(e*20)/20},In=(e,t)=>({accept:e,round:t}),_c=[In(({divisor:e,price:t})=>t%e==0,({divisor:e,price:t})=>t/e),In(({usePrecision:e})=>e,({divisor:e,price:t})=>Math.ceil(Math.floor(t*1e4/e)/100)/100),In(()=>!0,({divisor:e,price:t})=>Math.ceil(Math.floor(t*100/e)/100))],Nn={[M.YEAR]:{[$.MONTHLY]:wt.MONTH,[$.ANNUAL]:wt.YEAR},[M.MONTH]:{[$.MONTHLY]:wt.MONTH}},Lc=(e,t)=>e.indexOf(`'${t}'`)===0,wc=(e,t=!0)=>{let r=e.replace(/'.*?'/,"").trim(),n=wo(r);return!!n?t||(r=r.replace(/[,\.]0+/,n)):r=r.replace(/\s?(#.*0)(?!\s)?/,"$&"+Cc(e)),r},Pc=e=>{let t=Ic(e),r=Lc(e,t),n=e.replace(/'.*?'/,""),i=yo.test(n)||_o.test(n);return{currencySymbol:t,isCurrencyFirst:r,hasCurrencySpace:i}},Lo=e=>e.replace(yo,To).replace(_o,To),Cc=e=>e.match(/#(.?)#/)?.[1]===Eo?Ec:Eo,Ic=e=>e.match(/'(.*?)'/)?.[1]??"",wo=e=>e.match(/0(.?)0/)?.[1]??"";function ur({formatString:e,price:t,usePrecision:r,isIndianPrice:n=!1},i,o=a=>a){let{currencySymbol:a,isCurrencyFirst:s,hasCurrencySpace:c}=Pc(e),h=r?wo(e):"",l=wc(e,r),u=r?2:0,d=o(t,{currencySymbol:a}),m=n?d.toLocaleString("hi-IN",{minimumFractionDigits:u,maximumFractionDigits:u}):So(l,d),f=r?m.lastIndexOf(h):m.length,v=m.substring(0,f),T=m.substring(f+1);return{accessiblePrice:e.replace(/'.*?'/,"SYMBOL").replace(/#.*0/,m).replace(/SYMBOL/,a),currencySymbol:a,decimals:T,decimalsDelimiter:h,hasCurrencySpace:c,integer:v,isCurrencyFirst:s,recurrenceTerm:i}}var Po=e=>{let{commitment:t,term:r,usePrecision:n}=e,i=Tc[r]??1;return ur(e,i>1?wt.MONTH:Nn[t]?.[r],(o,{currencySymbol:a})=>{let s={divisor:i,price:o,usePrecision:n},{round:c}=_c.find(({accept:l})=>l(s));if(!c)throw new Error(`Missing rounding rule for: ${JSON.stringify(s)}`);return(yc[a]??(l=>l))(c(s))})},Co=({commitment:e,term:t,...r})=>ur(r,Nn[e]?.[t]),Io=e=>{let{commitment:t,term:r}=e;return t===M.YEAR&&r===$.MONTHLY?ur(e,wt.YEAR,n=>n*12):ur(e,Nn[t]?.[r])};var Nc={recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},kc=Fi("ConsonantTemplates/price"),Oc=/<.+?>/g,W={container:"price",containerOptical:"price-optical",containerStrikethrough:"price-strikethrough",containerAnnual:"price-annual",disabled:"disabled",currencySpace:"price-currency-space",currencySymbol:"price-currency-symbol",decimals:"price-decimals",decimalsDelimiter:"price-decimals-delimiter",integer:"price-integer",recurrence:"price-recurrence",taxInclusivity:"price-tax-inclusivity",unitType:"price-unit-type"},Ie={perUnitLabel:"perUnitLabel",perUnitAriaLabel:"perUnitAriaLabel",recurrenceLabel:"recurrenceLabel",recurrenceAriaLabel:"recurrenceAriaLabel",taxExclusiveLabel:"taxExclusiveLabel",taxInclusiveLabel:"taxInclusiveLabel",strikethroughAriaLabel:"strikethroughAriaLabel"},$c="TAX_EXCLUSIVE",Vc=e=>zi(e)?Object.entries(e).filter(([,t])=>Be(t)||er(t)||t===!0).reduce((t,[r,n])=>t+` ${r}${n===!0?"":'="'+Gi(n)+'"'}`,""):"",ee=(e,t,r,n=!1)=>`${n?Lo(t):t??""}`;function Rc(e,{accessibleLabel:t,currencySymbol:r,decimals:n,decimalsDelimiter:i,hasCurrencySpace:o,integer:a,isCurrencyFirst:s,recurrenceLabel:c,perUnitLabel:h,taxInclusivityLabel:l},u={}){let d=ee(W.currencySymbol,r),m=ee(W.currencySpace,o?" ":""),f="";return s&&(f+=d+m),f+=ee(W.integer,a),f+=ee(W.decimalsDelimiter,i),f+=ee(W.decimals,n),s||(f+=m+d),f+=ee(W.recurrence,c,null,!0),f+=ee(W.unitType,h,null,!0),f+=ee(W.taxInclusivity,l,!0),ee(e,f,{...u,"aria-label":t})}var Ne=({displayOptical:e=!1,displayStrikethrough:t=!1,displayAnnual:r=!1}={})=>({country:n,displayFormatted:i=!0,displayRecurrence:o=!0,displayPerUnit:a=!1,displayTax:s=!1,language:c,literals:h={}}={},{commitment:l,formatString:u,price:d,priceWithoutDiscount:m,taxDisplay:f,taxTerm:v,term:T,usePrecision:C}={},I={})=>{Object.entries({country:n,formatString:u,language:c,price:d}).forEach(([se,Xr])=>{if(Xr==null)throw new Error(`Argument "${se}" is missing`)});let _={...Nc,...h},D=`${c.toLowerCase()}-${n.toUpperCase()}`;function L(se,Xr){let Wr=_[se];if(Wr==null)return"";try{return new bo(Wr.replace(Oc,""),D).format(Xr)}catch{return kc.error("Failed to format literal:",Wr),""}}let N=t&&m?m:d,K=e?Po:Co;r&&(K=Io);let{accessiblePrice:Z,recurrenceTerm:oe,...fe}=K({commitment:l,formatString:u,term:T,price:e?d:N,usePrecision:C,isIndianPrice:n==="IN"}),J=Z,_e="";if(y(o)&&oe){let se=L(Ie.recurrenceAriaLabel,{recurrenceTerm:oe});se&&(J+=" "+se),_e=L(Ie.recurrenceLabel,{recurrenceTerm:oe})}let Le="";if(y(a)){Le=L(Ie.perUnitLabel,{perUnit:"LICENSE"});let se=L(Ie.perUnitAriaLabel,{perUnit:"LICENSE"});se&&(J+=" "+se)}let ae="";y(s)&&v&&(ae=L(f===$c?Ie.taxExclusiveLabel:Ie.taxInclusiveLabel,{taxTerm:v}),ae&&(J+=" "+ae)),t&&(J=L(Ie.strikethroughAriaLabel,{strikethroughPrice:J}));let Q=W.container;if(e&&(Q+=" "+W.containerOptical),t&&(Q+=" "+W.containerStrikethrough),r&&(Q+=" "+W.containerAnnual),y(i))return Rc(Q,{...fe,accessibleLabel:J,recurrenceLabel:_e,perUnitLabel:Le,taxInclusivityLabel:ae},I);let{currencySymbol:Fe,decimals:Xt,decimalsDelimiter:Wt,hasCurrencySpace:vt,integer:Yr,isCurrencyFirst:is}=fe,je=[Yr,Wt,Xt];is?(je.unshift(vt?"\xA0":""),je.unshift(Fe)):(je.push(vt?"\xA0":""),je.push(Fe)),je.push(_e,Le,ae);let os=je.join("");return ee(Q,os,I)},No=()=>(e,t,r)=>{let i=(e.displayOldPrice===void 0||y(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price;return`${Ne()(e,t,r)}${i?" "+Ne({displayStrikethrough:!0})(e,t,r):""}`};var kn=Ne(),On=No(),$n=Ne({displayOptical:!0}),Vn=Ne({displayStrikethrough:!0}),Rn=Ne({displayAnnual:!0});var Uc=(e,t)=>{if(!(!Xe(e)||!Xe(t)))return Math.floor((t-e)/t*100)},ko=()=>(e,t,r)=>{let{price:n,priceWithoutDiscount:i}=t,o=Uc(n,i);return o===void 0?'':`${o}%`};var Un=ko();var{freeze:Pt}=Object,he=Pt({...we}),ue=Pt({...q}),ke={STAGE:"STAGE",PRODUCTION:"PRODUCTION",LOCAL:"LOCAL"},Oo=Pt({...M}),$o=Pt({...Ki}),Vo=Pt({...$});var jn={};ms(jn,{CLASS_NAME_FAILED:()=>dr,CLASS_NAME_PENDING:()=>mr,CLASS_NAME_RESOLVED:()=>pr,ERROR_MESSAGE_BAD_REQUEST:()=>fr,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>Dc,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>Dn,EVENT_TYPE_ERROR:()=>Mc,EVENT_TYPE_FAILED:()=>gr,EVENT_TYPE_PENDING:()=>xr,EVENT_TYPE_READY:()=>Ze,EVENT_TYPE_RESOLVED:()=>vr,LOG_NAMESPACE:()=>Mn,Landscape:()=>Je,PARAM_AOS_API_KEY:()=>Gc,PARAM_ENV:()=>Gn,PARAM_LANDSCAPE:()=>Hn,PARAM_WCS_API_KEY:()=>Hc,STATE_FAILED:()=>te,STATE_PENDING:()=>re,STATE_RESOLVED:()=>ne,TAG_NAME_SERVICE:()=>ve,WCS_PROD_URL:()=>zn,WCS_STAGE_URL:()=>Fn});var dr="placeholder-failed",mr="placeholder-pending",pr="placeholder-resolved",fr="Bad WCS request",Dn="Commerce offer not found",Dc="Literals URL not provided",Mc="wcms:commerce:error",gr="wcms:placeholder:failed",xr="wcms:placeholder:pending",Ze="wcms:commerce:ready",vr="wcms:placeholder:resolved",Mn="wcms/commerce",Gn="commerce.env",Hn="commerce.landscape",Gc="commerce.aosKey",Hc="commerce.wcsKey",zn="https://www.adobe.com/web_commerce_artifact",Fn="https://www.stage.adobe.com/web_commerce_artifact_stage",te="failed",re="pending",ne="resolved",ve="wcms-commerce",Je={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Kn={clientId:"merch-at-scale",delimiter:"\xB6",ignoredProperties:["analytics","literals"],serializableTypes:["Array","Object"],sampleRate:30,tags:"consumer=milo/commerce"},Ro=new Set,zc=e=>e instanceof Error||typeof e.originatingRequest=="string";function Uo(e){if(e==null)return;let t=typeof e;if(t==="function"){let{name:r}=e;return r?`${t} ${r}`:t}if(t==="object"){if(e instanceof Error)return e.message;if(typeof e.originatingRequest=="string"){let{message:n,originatingRequest:i,status:o}=e;return[n,o,i].filter(a=>a).join(" ")}let r=e[Symbol.toStringTag]??Object.getPrototypeOf(e).constructor.name;if(!Kn.serializableTypes.includes(r))return r}return e}function Fc(e,t){if(!Kn.ignoredProperties.includes(e))return Uo(t)}var Bn={append(e){let{delimiter:t,sampleRate:r,tags:n,clientId:i}=Kn,{message:o,params:a}=e,s=[],c=o,h=[];a.forEach(d=>{d!=null&&(zc(d)?s:h).push(d)}),s.length&&(c+=" ",c+=s.map(Uo).join(" "));let{pathname:l,search:u}=window.location;c+=`${t}page=`,c+=l+u,h.length&&(c+=`${t}facts=`,c+=JSON.stringify(h,Fc)),Ro.has(c)||(Ro.add(c),window.lana?.log(c,{sampleRate:r,tags:n,clientId:i}))}};var E=Object.freeze({checkoutClientId:"adobe_com",checkoutWorkflow:he.V3,checkoutWorkflowStep:ue.EMAIL,country:"US",displayOldPrice:!0,displayPerUnit:!1,displayRecurrence:!0,displayTax:!1,env:ke.PRODUCTION,forceTaxExclusive:!1,language:"en",entitlement:!1,extraOptions:{},modal:!1,promotionCode:"",quantity:1,wcsApiKey:"wcms-commerce-ims-ro-user-milo",wcsBufferDelay:1,wcsURL:"https://www.adobe.com/web_commerce_artifact",landscape:Je.PUBLISHED,wcsBufferLimit:1});function Do(e,{once:t=!1}={}){let r=null;function n(){let i=document.querySelector(ve);i!==r&&(r=i,i&&e(i))}return document.addEventListener(Ze,n,{once:t}),be(n),()=>document.removeEventListener(Ze,n)}function Ct(e,{country:t,forceTaxExclusive:r,perpetual:n}){let i;if(e.length<2)i=e;else{let o=t==="GB"||n?"EN":"MULT",[a,s]=e;i=[a.language===o?a:s]}return r&&(i=i.map(fn)),i}var be=e=>window.setTimeout(e);function Qe(e,t=1){if(e==null)return[t];let r=(Array.isArray(e)?e:String(e).split(",")).map(qe).filter(Xe);return r.length||(r=[t]),r}function br(e){return e==null?[]:(Array.isArray(e)?e:String(e).split(",")).filter(sn)}function B(){return window.customElements.get(ve)?.instance}var jc="en_US",p={ar:"AR_es",be_en:"BE_en",be_fr:"BE_fr",be_nl:"BE_nl",br:"BR_pt",ca:"CA_en",ch_de:"CH_de",ch_fr:"CH_fr",ch_it:"CH_it",cl:"CL_es",co:"CO_es",la:"DO_es",mx:"MX_es",pe:"PE_es",africa:"MU_en",dk:"DK_da",de:"DE_de",ee:"EE_et",eg_ar:"EG_ar",eg_en:"EG_en",es:"ES_es",fr:"FR_fr",gr_el:"GR_el",gr_en:"GR_en",ie:"IE_en",il_he:"IL_iw",it:"IT_it",lv:"LV_lv",lt:"LT_lt",lu_de:"LU_de",lu_en:"LU_en",lu_fr:"LU_fr",my_en:"MY_en",my_ms:"MY_ms",hu:"HU_hu",mt:"MT_en",mena_en:"DZ_en",mena_ar:"DZ_ar",nl:"NL_nl",no:"NO_nb",pl:"PL_pl",pt:"PT_pt",ro:"RO_ro",si:"SI_sl",sk:"SK_sk",fi:"FI_fi",se:"SE_sv",tr:"TR_tr",uk:"GB_en",at:"AT_de",cz:"CZ_cs",bg:"BG_bg",ru:"RU_ru",ua:"UA_uk",au:"AU_en",in_en:"IN_en",in_hi:"IN_hi",id_en:"ID_en",id_id:"ID_in",nz:"NZ_en",sa_ar:"SA_ar",sa_en:"SA_en",sg:"SG_en",cn:"CN_zh-Hans",tw:"TW_zh-Hant",hk_zh:"HK_zh-hant",jp:"JP_ja",kr:"KR_ko",za:"ZA_en",ng:"NG_en",cr:"CR_es",ec:"EC_es",pr:"US_es",gt:"GT_es",cis_en:"AZ_en",cis_ru:"AZ_ru",sea:"SG_en",th_en:"TH_en",th_th:"TH_th"},Ar=Object.freeze({LOCAL:"local",PROD:"prod",STAGE:"stage"});function Kc({locale:e={}}={}){if(!e.prefix)return{country:E.country,language:E.language,locale:jc};let t=e.prefix.replace("/","")??"",[r=E.country,n=E.language]=(p[t]??t).split("_",2);return r=r.toUpperCase(),n=n.toLowerCase(),{country:r,language:n,locale:`${n}_${r}`}}function Mo(e={}){let{commerce:t={},locale:r=void 0}=e,n=ke.PRODUCTION,i=zn,o=["local","stage"].includes(e.env?.name),a=V(Gn,t,{metadata:!1})?.toLowerCase()==="stage";o&&a&&(n=ke.STAGE,i=Fn);let s=V("checkoutClientId",t)??E.checkoutClientId,c=xe(V("checkoutWorkflow",t),he,E.checkoutWorkflow),h=ue.CHECKOUT;c===he.V3&&(h=xe(V("checkoutWorkflowStep",t),ue,E.checkoutWorkflowStep));let l=y(V("displayOldPrice",t),E.displayOldPrice),u=y(V("displayPerUnit",t),E.displayPerUnit),d=y(V("displayRecurrence",t),E.displayRecurrence),m=y(V("displayTax",t),E.displayTax),f=y(V("entitlement",t),E.entitlement),v=y(V("modal",t),E.modal),T=y(V("forceTaxExclusive",t),E.forceTaxExclusive),C=V("promotionCode",t)??E.promotionCode,I=Qe(V("quantity",t)),_=V("wcsApiKey",t)??E.wcsApiKey,D=e.env?.name===Ar.PROD?Je.PUBLISHED:xe(V(Hn,t),Je,E.landscape),L=qe(V("wcsBufferDelay",t),E.wcsBufferDelay),N=qe(V("wcsBufferLimit",t),E.wcsBufferLimit);return{...Kc({locale:r}),displayOldPrice:l,checkoutClientId:s,checkoutWorkflow:c,checkoutWorkflowStep:h,displayPerUnit:u,displayRecurrence:d,displayTax:m,entitlement:f,extraOptions:E.extraOptions,modal:v,env:n,forceTaxExclusive:T,promotionCode:C,quantity:I,wcsApiKey:_,wcsBufferDelay:L,wcsBufferLimit:N,wcsURL:i,landscape:D}}var Ho="debug",Bc="error",Yc="info",Xc="warn",Wc=Date.now(),Yn=new Set,Xn=new Set,Go=new Map,It=Object.freeze({DEBUG:Ho,ERROR:Bc,INFO:Yc,WARN:Xc}),zo={append({level:e,message:t,params:r,timestamp:n,source:i}){console[e](`${n}ms [${i}] %c${t}`,"font-weight: bold;",...r)}},Fo={filter:({level:e})=>e!==Ho},qc={filter:()=>!1};function Zc(e,t,r,n,i){return{level:e,message:t,namespace:r,get params(){if(n.length===1){let[o]=n;ge(o)&&(n=o(),Array.isArray(n)||(n=[n]))}return n},source:i,timestamp:Date.now()-Wc}}function Jc(e){[...Xn].every(t=>t(e))&&Yn.forEach(t=>t(e))}function jo(e){let t=(Go.get(e)??0)+1;Go.set(e,t);let r=`${e} #${t}`,n=o=>(a,...s)=>Jc(Zc(o,a,e,s,r)),i=Object.seal({id:r,namespace:e,module(o){return jo(`${i.namespace}/${o}`)},debug:n(It.DEBUG),error:n(It.ERROR),info:n(It.INFO),warn:n(It.WARN)});return i}function Sr(...e){e.forEach(t=>{let{append:r,filter:n}=t;ge(n)?Xn.add(n):ge(r)&&Yn.add(r)})}function Qc(e={}){let{name:t}=e,r=y(V("commerce.debug",{search:!0,storage:!0}),t===Ar.LOCAL);return Sr(r?zo:Fo),t===Ar.PROD&&Sr(Bn),j}function el(){Yn.clear(),Xn.clear()}var j={...jo(Mn),Level:It,Plugins:{consoleAppender:zo,debugFilter:Fo,quietFilter:qc,lanaAppender:Bn},init:Qc,reset:el,use:Sr};var tl={CLASS_NAME_FAILED:dr,CLASS_NAME_PENDING:mr,CLASS_NAME_RESOLVED:pr,EVENT_TYPE_FAILED:gr,EVENT_TYPE_PENDING:xr,EVENT_TYPE_RESOLVED:vr,STATE_FAILED:te,STATE_PENDING:re,STATE_RESOLVED:ne},rl={[te]:dr,[re]:mr,[ne]:pr},nl={[te]:gr,[re]:xr,[ne]:vr},yr=new WeakMap;function Y(e){if(!yr.has(e)){let t=j.module(e.constructor.is);yr.set(e,{changes:new Map,connected:!1,dispose:Ye,error:void 0,log:t,options:void 0,promises:[],state:re,timer:null,value:void 0,version:0})}return yr.get(e)}function Er(e){let t=Y(e),{error:r,promises:n,state:i}=t;(i===ne||i===te)&&(t.promises=[],i===ne?n.forEach(({resolve:o})=>o(e)):i===te&&n.forEach(({reject:o})=>o(r))),e.dispatchEvent(new CustomEvent(nl[i],{bubbles:!0}))}function Tr(e){let t=yr.get(e);[te,re,ne].forEach(r=>{e.classList.toggle(rl[r],r===t.state)})}var il={get error(){return Y(this).error},get log(){return Y(this).log},get options(){return Y(this).options},get state(){return Y(this).state},get value(){return Y(this).value},attributeChangedCallback(e,t,r){Y(this).changes.set(e,r),this.requestUpdate()},connectedCallback(){Y(this).dispose=Do(()=>this.requestUpdate(!0))},disconnectedCallback(){let e=Y(this);e.connected&&(e.connected=!1,e.log.debug("Disconnected:",{element:this})),e.dispose(),e.dispose=Ye},onceSettled(){let{error:e,promises:t,state:r}=Y(this);return ne===r?Promise.resolve(this):te===r?Promise.reject(e):new Promise((n,i)=>{t.push({resolve:n,reject:i})})},toggleResolved(e,t,r){let n=Y(this);return e!==n.version?!1:(r!==void 0&&(n.options=r),n.state=ne,n.value=t,Tr(this),this.log.debug("Resolved:",{element:this,value:t}),be(()=>Er(this)),!0)},toggleFailed(e,t,r){let n=Y(this);return e!==n.version?!1:(r!==void 0&&(n.options=r),n.error=t,n.state=te,Tr(this),n.log.error("Failed:",{element:this,error:t}),be(()=>Er(this)),!0)},togglePending(e){let t=Y(this);return t.version++,e&&(t.options=e),t.state=re,Tr(this),be(()=>Er(this)),t.version},requestUpdate(e=!1){if(!this.isConnected||!B())return;let t=Y(this);if(t.timer)return;let{error:r,options:n,state:i,value:o,version:a}=t;t.state=re,t.timer=be(async()=>{t.timer=null;let s=null;if(t.changes.size&&(s=Object.fromEntries(t.changes.entries()),t.changes.clear()),t.connected?t.log.debug("Updated:",{element:this,changes:s}):(t.connected=!0,t.log.debug("Connected:",{element:this,changes:s})),s||e)try{await this.render?.()===!1&&t.state===re&&t.version===a&&(t.state=i,t.error=r,t.value=o,Tr(this),Er(this))}catch(c){this.toggleFailed(t.version,c,n)}})}};function Ko(e={}){return Object.entries(e).forEach(([t,r])=>{(r==null||r===""||r?.length===0)&&delete e[t]}),e}function _r(e,t={}){let{tag:r,is:n}=e,i=document.createElement(r,{is:n});return i.setAttribute("is",n),Object.assign(i.dataset,Ko(t)),i}function Lr(e){let{tag:t,is:r,prototype:n}=e,i=window.customElements.get(r);return i||(Object.defineProperties(n,Object.getOwnPropertyDescriptors(il)),i=Object.defineProperties(e,Object.getOwnPropertyDescriptors(tl)),window.customElements.define(r,i,{extends:t})),i}function wr(e,t=document.body){return Array.from(t?.querySelectorAll(`${e.tag}[is="${e.is}"]`)??[])}function Pr(e,t={}){return e instanceof HTMLElement?(Object.assign(e.dataset,Ko(t)),e):null}var ol="download",al="upgrade",Oe,et=class et extends HTMLAnchorElement{constructor(){super();ce(this,Oe);this.addEventListener("click",this.clickHandler)}static get observedAttributes(){return["data-checkout-workflow","data-checkout-workflow-step","data-extra-options","data-ims-country","data-perpetual","data-promotion-code","data-quantity","data-template","data-wcs-osi","data-entitlement","data-upgrade","data-modal"]}static createCheckoutLink(r={},n=""){let i=B();if(!i)return null;let{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:h,modal:l,perpetual:u,promotionCode:d,quantity:m,wcsOsi:f,extraOptions:v}=i.collectCheckoutOptions(r),T=_r(et,{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:h,modal:l,perpetual:u,promotionCode:d,quantity:m,wcsOsi:f,extraOptions:v});return n&&(T.innerHTML=`${n}`),T}static getCheckoutLinks(r){return wr(et,r)}get isCheckoutLink(){return!0}get placeholder(){return this}clickHandler(r){var n;(n=F(this,Oe))==null||n.call(this,r)}async render(r={}){if(!this.isConnected)return!1;let n=B();if(!n)return!1;this.dataset.imsCountry||n.imsCountryPromise.then(l=>{l&&(this.dataset.imsCountry=l)},Ye);let i=n.collectCheckoutOptions(r,this.placeholder);if(!i.wcsOsi.length)return!1;let o;try{o=JSON.parse(i.extraOptions??"{}")}catch(l){this.placeholder.log.error("cannot parse exta checkout options",l)}let a=this.placeholder.togglePending(i);this.href="";let s=n.resolveOfferSelectors(i),c=await Promise.all(s);c=c.map(l=>Ct(l,i));let h=await n.buildCheckoutAction(c.flat(),{...o,...i});return this.renderOffers(c.flat(),i,{},h,a)}renderOffers(r,n,i={},o=void 0,a=void 0){if(!this.isConnected)return!1;let s=B();if(!s)return!1;if(n={...JSON.parse(this.placeholder.dataset.extraOptions??"null"),...n,...i},a??(a=this.placeholder.togglePending(n)),F(this,Oe)&&le(this,Oe,void 0),o){this.classList.remove(ol,al),this.placeholder.toggleResolved(a,r,n);let{url:h,text:l,className:u,handler:d}=o;return h&&(this.href=h),l&&(this.firstElementChild.innerHTML=l),u&&this.classList.add(...u.split(" ")),d&&(this.setAttribute("href","#"),le(this,Oe,d.bind(this))),!0}else if(r.length){if(this.placeholder.toggleResolved(a,r,n)){let h=s.buildCheckoutURL(r,n);return this.setAttribute("href",h),!0}}else{let h=new Error(`Not provided: ${n?.wcsOsi??"-"}`);if(this.placeholder.toggleFailed(a,h,n))return this.setAttribute("href","#"),!0}return!1}updateOptions(r={}){let n=B();if(!n)return!1;let{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:h,perpetual:l,promotionCode:u,quantity:d,wcsOsi:m}=n.collectCheckoutOptions(r);return Pr(this,{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:h,perpetual:l,promotionCode:u,quantity:d,wcsOsi:m}),!0}};Oe=new WeakMap,g(et,"is","checkout-link"),g(et,"tag","a");var Wn=et,qn=Lr(Wn);var Bo=[p.uk,p.au,p.fr,p.at,p.be_en,p.be_fr,p.be_nl,p.bg,p.ch_de,p.ch_fr,p.ch_it,p.cz,p.de,p.dk,p.ee,p.eg_ar,p.eg_en,p.es,p.fi,p.fr,p.gr_el,p.gr_en,p.hu,p.ie,p.it,p.lu_de,p.lu_en,p.lu_fr,p.nl,p.no,p.pl,p.pt,p.ro,p.se,p.si,p.sk,p.tr,p.ua,p.id_en,p.id_id,p.in_en,p.in_hi,p.jp,p.my_en,p.my_ms,p.nz,p.th_en,p.th_th],sl={INDIVIDUAL_COM:[p.za,p.lt,p.lv,p.ng,p.sa_ar,p.sa_en,p.za,p.sg,p.kr],TEAM_COM:[p.za,p.lt,p.lv,p.ng,p.za,p.co,p.kr],INDIVIDUAL_EDU:[p.lt,p.lv,p.sa_en,p.sea],TEAM_EDU:[p.sea,p.kr]},tt=class tt extends HTMLSpanElement{static get observedAttributes(){return["data-display-old-price","data-display-per-unit","data-display-recurrence","data-display-tax","data-perpetual","data-promotion-code","data-tax-exclusive","data-template","data-wcs-osi"]}static createInlinePrice(t){let r=B();if(!r)return null;let{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:d}=r.collectPriceOptions(t);return _r(tt,{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:d})}static getInlinePrices(t){return wr(tt,t)}get isInlinePrice(){return!0}get placeholder(){return this}resolveDisplayTaxForGeoAndSegment(t,r,n,i){let o=`${t}_${r}`;if(Bo.includes(t)||Bo.includes(o))return!0;let a=sl[`${n}_${i}`];return a?!!(a.includes(t)||a.includes(o)):!1}async resolveDisplayTax(t,r){let[n]=await t.resolveOfferSelectors(r),i=Ct(await n,r);if(i?.length){let{country:o,language:a}=r,s=i[0],[c=""]=s.marketSegments;return this.resolveDisplayTaxForGeoAndSegment(o,a,s.customerSegment,c)}}async render(t={}){if(!this.isConnected)return!1;let r=B();if(!r)return!1;let n=r.collectPriceOptions(t,this.placeholder);if(!n.wcsOsi.length)return!1;let i=this.placeholder.togglePending(n);this.innerHTML="";let[o]=r.resolveOfferSelectors(n);return this.renderOffers(Ct(await o,n),n,i)}renderOffers(t,r={},n=void 0){if(!this.isConnected)return;let i=B();if(!i)return!1;let o=i.collectPriceOptions({...this.dataset,...r});if(n??(n=this.placeholder.togglePending(o)),t.length){if(this.placeholder.toggleResolved(n,t,o))return this.innerHTML=i.buildPriceHTML(t,o),!0}else{let a=new Error(`Not provided: ${o?.wcsOsi??"-"}`);if(this.placeholder.toggleFailed(n,a,o))return this.innerHTML="",!0}return!1}updateOptions(t){let r=B();if(!r)return!1;let{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:d}=r.collectPriceOptions(t);return Pr(this,{displayOldPrice:n,displayPerUnit:i,displayRecurrence:o,displayTax:a,forceTaxExclusive:s,perpetual:c,promotionCode:h,quantity:l,template:u,wcsOsi:d}),!0}};g(tt,"is","inline-price"),g(tt,"tag","span");var Zn=tt,Jn=Lr(Zn);function Yo({providers:e,settings:t},r){let n=j.module("checkout");function i(h,l){let{checkoutClientId:u,checkoutWorkflow:d,checkoutWorkflowStep:m,country:f,language:v,promotionCode:T,quantity:C}=t,{checkoutMarketSegment:I,checkoutWorkflow:_=d,checkoutWorkflowStep:D=m,imsCountry:L,country:N=L??f,language:K=v,quantity:Z=C,entitlement:oe,upgrade:fe,modal:J,perpetual:_e,promotionCode:Le=T,wcsOsi:ae,extraOptions:Q,...Fe}=Object.assign({},l?.dataset??{},h??{}),Xt=xe(_,he,E.checkoutWorkflow),Wt=ue.CHECKOUT;Xt===he.V3&&(Wt=xe(D,ue,E.checkoutWorkflowStep));let vt=We({...Fe,extraOptions:Q,checkoutClientId:u,checkoutMarketSegment:I,country:N,quantity:Qe(Z,E.quantity),checkoutWorkflow:Xt,checkoutWorkflowStep:Wt,language:K,entitlement:y(oe),upgrade:y(fe),modal:y(J),perpetual:y(_e),promotionCode:St(Le).effectivePromoCode,wcsOsi:br(ae)});if(l)for(let Yr of e.checkout)Yr(l,vt);return vt}async function o(h,l){let u=B(),d=await r.getCheckoutAction?.(h,l,u.imsSignedInPromise);return d||null}function a(h,l){if(!Array.isArray(h)||!h.length||!l)return"";let{env:u,landscape:d}=t,{checkoutClientId:m,checkoutMarketSegment:f,checkoutWorkflow:v,checkoutWorkflowStep:T,country:C,promotionCode:I,quantity:_,...D}=i(l),L=window.frameElement?"if":"fp",N={checkoutPromoCode:I,clientId:m,context:L,country:C,env:u,items:[],marketSegment:f,workflowStep:T,landscape:d,...D};if(h.length===1){let[{offerId:K,offerType:Z,productArrangementCode:oe}]=h,{marketSegments:[fe]}=h[0];Object.assign(N,{marketSegment:fe,offerType:Z,productArrangementCode:oe}),N.items.push(_[0]===1?{id:K}:{id:K,quantity:_[0]})}else N.items.push(...h.map(({offerId:K},Z)=>({id:K,quantity:_[Z]??E.quantity})));return en(v,N)}let{createCheckoutLink:s,getCheckoutLinks:c}=qn;return{CheckoutLink:qn,CheckoutWorkflow:he,CheckoutWorkflowStep:ue,buildCheckoutAction:o,buildCheckoutURL:a,collectCheckoutOptions:i,createCheckoutLink:s,getCheckoutLinks:c}}function cl({interval:e=200,maxAttempts:t=25}={}){let r=j.module("ims");return new Promise(n=>{r.debug("Waing for IMS to be ready");let i=0;function o(){window.adobeIMS?.initialized?n():++i>t?(r.debug("Timeout"),n()):setTimeout(o,e)}o()})}function ll(e){return e.then(()=>window.adobeIMS?.isSignedInUser()??!1)}function hl(e){let t=j.module("ims");return e.then(r=>r?window.adobeIMS.getProfile().then(({countryCode:n})=>(t.debug("Got user country:",n),n),n=>{t.error("Unable to get user country:",n)}):null)}function Xo({}){let e=cl(),t=ll(e),r=hl(t);return{imsReadyPromise:e,imsSignedInPromise:t,imsCountryPromise:r}}async function qo(e,t){let{data:r}=t||await Promise.resolve().then(()=>fs(Wo(),1));if(Array.isArray(r)){let n=o=>r.find(a=>Qt(a.lang,o)),i=n(e.language)??n(E.language);if(i)return Object.freeze(i)}return{}}function Zo({literals:e,providers:t,settings:r}){function n(s,c){let{country:h,displayOldPrice:l,displayPerUnit:u,displayRecurrence:d,displayTax:m,forceTaxExclusive:f,language:v,promotionCode:T,quantity:C}=r,{displayOldPrice:I=l,displayPerUnit:_=u,displayRecurrence:D=d,displayTax:L=m,forceTaxExclusive:N=f,country:K=h,language:Z=v,perpetual:oe,promotionCode:fe=T,quantity:J=C,template:_e,wcsOsi:Le,...ae}=Object.assign({},c?.dataset??{},s??{}),Q=We({...ae,country:K,displayOldPrice:y(I),displayPerUnit:y(_),displayRecurrence:y(D),displayTax:y(L),forceTaxExclusive:y(N),language:Z,perpetual:y(oe),promotionCode:St(fe).effectivePromoCode,quantity:Qe(J,E.quantity),template:_e,wcsOsi:br(Le)});if(c)for(let Fe of t.price)Fe(c,Q);return Q}function i(s,c){if(!Array.isArray(s)||!s.length||!c)return"";let{template:h}=c,l;switch(h){case"discount":l=Un;break;case"strikethrough":l=Vn;break;case"optical":l=$n;break;case"annual":l=Rn;break;default:l=c.promotionCode?On:kn}let u=n(c);u.literals=Object.assign({},e.price,We(c.literals??{}));let[d]=s;return d={...d,...d.priceDetails},l(u,d)}let{createInlinePrice:o,getInlinePrices:a}=Jn;return{InlinePrice:Jn,buildPriceHTML:i,collectPriceOptions:n,createInlinePrice:o,getInlinePrices:a}}function Jo({settings:e}){let t=j.module("wcs"),{env:r,wcsApiKey:n}=e,i=new Map,o=new Map,a;async function s(l,u,d=!0){let m=Dn;t.debug("Fetching:",l);try{l.offerSelectorIds=l.offerSelectorIds.sort();let f=new URL(e.wcsURL);f.searchParams.set("offer_selector_ids",l.offerSelectorIds.join(",")),f.searchParams.set("country",l.country),f.searchParams.set("locale",l.locale),f.searchParams.set("landscape",r===ke.STAGE?"ALL":e.landscape),f.searchParams.set("api_key",n),l.language&&f.searchParams.set("language",l.language),l.promotionCode&&f.searchParams.set("promotion_code",l.promotionCode),l.currency&&f.searchParams.set("currency",l.currency);let v=await fetch(f.toString(),{credentials:"omit"});if(v.ok){let T=await v.json();t.debug("Fetched:",l,T);let C=T.resolvedOffers??[];C=C.map(pn),u.forEach(({resolve:I},_)=>{let D=C.filter(({offerSelectorIds:L})=>L.includes(_)).flat();D.length&&(u.delete(_),I(D))})}else v.status===404&&l.offerSelectorIds.length>1?(t.debug("Multi-osi 404, fallback to fetch-by-one strategy"),await Promise.allSettled(l.offerSelectorIds.map(T=>s({...l,offerSelectorIds:[T]},u,!1)))):(m=fr,t.error(m,l))}catch(f){m=fr,t.error(m,l,f)}d&&u.size&&(t.debug("Missing:",{offerSelectorIds:[...u.keys()]}),u.forEach(f=>{f.reject(new Error(m))}))}function c(){clearTimeout(a);let l=[...o.values()];o.clear(),l.forEach(({options:u,promises:d})=>s(u,d))}function h({country:l,language:u,perpetual:d=!1,promotionCode:m="",wcsOsi:f=[]}){let v=`${u}_${l}`;l!=="GB"&&(u=d?"EN":"MULT");let T=[l,u,m].filter(C=>C).join("-").toLowerCase();return f.map(C=>{let I=`${C}-${T}`;if(!i.has(I)){let _=new Promise((D,L)=>{let N=o.get(T);if(!N){let K={country:l,locale:v,offerSelectorIds:[]};l!=="GB"&&(K.language=u),N={options:K,promises:new Map},o.set(T,N)}m&&(N.options.promotionCode=m),N.options.offerSelectorIds.push(C),N.promises.set(C,{resolve:D,reject:L}),N.options.offerSelectorIds.length>=e.wcsBufferLimit?c():(t.debug("Queued:",N.options),a||(a=setTimeout(c,e.wcsBufferDelay)))});i.set(I,_)}return i.get(I)})}return{WcsCommitment:Oo,WcsPlanType:$o,WcsTerm:Vo,resolveOfferSelectors:h}}var X=class extends HTMLElement{get isWcmsCommerce(){return!0}};g(X,"instance"),g(X,"promise",null);window.customElements.define(ve,X);async function dl(e,t){let r=j.init(e.env).module("service");r.debug("Activating:",e);let n={price:{}},i=Object.freeze(Mo(e));try{n.price=await qo(i,e.commerce.priceLiterals)}catch(c){r.warn("Price literals were not fetched:",c)}let o={checkout:new Set,price:new Set},a=document.createElement(ve),s={literals:n,providers:o,settings:i};return X.instance=Object.defineProperties(a,Object.getOwnPropertyDescriptors({...Yo(s,t),...Xo(s),...Zo(s),...Jo(s),...jn,Log:j,get defaults(){return E},get literals(){return n},get log(){return j},get providers(){return{checkout(c){return o.checkout.add(c),()=>o.checkout.delete(c)},price(c){return o.price.add(c),()=>o.price.delete(c)}}},get settings(){return i}})),r.debug("Activated:",{literals:n,settings:i,element:a}),document.head.append(a),be(()=>{let c=new CustomEvent(Ze,{bubbles:!0,cancelable:!1,detail:X.instance});X.instance.dispatchEvent(c)}),X.instance}function Qo(){document.head.querySelector(ve)?.remove(),X.promise=null,j.reset()}function Nt(e,t){let r=ge(e)?e():null,n=ge(t)?t():{};return r&&(n.force&&Qo(),dl(r,n).then(i=>{Nt.resolve(i)})),X.promise??(X.promise=new Promise(i=>{Nt.resolve=i})),X.promise}var Cr=window,Nr=Cr.ShadowRoot&&(Cr.ShadyCSS===void 0||Cr.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ta=Symbol(),ea=new WeakMap,Ir=class{constructor(t,r,n){if(this._$cssResult$=!0,n!==ta)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(Nr&&t===void 0){let n=r!==void 0&&r.length===1;n&&(t=ea.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&ea.set(r,t))}return t}toString(){return this.cssText}},ra=e=>new Ir(typeof e=="string"?e:e+"",void 0,ta);var Qn=(e,t)=>{Nr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=Cr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},kr=Nr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return ra(r)})(e):e;var ei,Or=window,na=Or.trustedTypes,ml=na?na.emptyScript:"",ia=Or.reactiveElementPolyfillSupport,ri={toAttribute(e,t){switch(t){case Boolean:e=e?ml:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},oa=(e,t)=>t!==e&&(t==t||e==e),ti={attribute:!0,type:String,converter:ri,reflect:!1,hasChanged:oa},ni="finalized",$e=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=ti){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||ti}static finalize(){if(this.hasOwnProperty(ni))return!1;this[ni]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(kr(i))}else t!==void 0&&r.push(kr(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return Qn(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=ti){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:ri).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:ri;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||oa)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};$e[ni]=!0,$e.elementProperties=new Map,$e.elementStyles=[],$e.shadowRootOptions={mode:"open"},ia?.({ReactiveElement:$e}),((ei=Or.reactiveElementVersions)!==null&&ei!==void 0?ei:Or.reactiveElementVersions=[]).push("1.6.3");var ii,$r=window,rt=$r.trustedTypes,aa=rt?rt.createPolicy("lit-html",{createHTML:e=>e}):void 0,ai="$lit$",Ae=`lit$${(Math.random()+"").slice(9)}$`,ma="?"+Ae,pl=`<${ma}>`,Ue=document,Vr=()=>Ue.createComment(""),Ot=e=>e===null||typeof e!="object"&&typeof e!="function",pa=Array.isArray,fl=e=>pa(e)||typeof e?.[Symbol.iterator]=="function",oi=`[ +\f\r]`,kt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,sa=/-->/g,ca=/>/g,Ve=RegExp(`>|${oi}(?:([^\\s"'>=/]+)(${oi}*=${oi}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),la=/'/g,ha=/"/g,fa=/^(?:script|style|textarea|title)$/i,ga=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),Ud=ga(1),Dd=ga(2),$t=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),ua=new WeakMap,Re=Ue.createTreeWalker(Ue,129,null,!1);function xa(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return aa!==void 0?aa.createHTML(t):t}var gl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=kt;for(let s=0;s"?(a=i??kt,u=-1):l[1]===void 0?u=-2:(u=a.lastIndex-l[2].length,h=l[1],a=l[3]===void 0?Ve:l[3]==='"'?ha:la):a===ha||a===la?a=Ve:a===sa||a===ca?a=kt:(a=Ve,i=void 0);let m=a===Ve&&e[s+1].startsWith("/>")?" ":"";o+=a===kt?c+pl:u>=0?(n.push(h),c.slice(0,u)+ai+c.slice(u)+Ae+m):c+Ae+(u===-2?(n.push(void 0),s):m)}return[xa(e,o+(e[r]||"")+(t===2?"":"")),n]},Vt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[h,l]=gl(t,r);if(this.el=e.createElement(h,n),Re.currentNode=this.el.content,r===2){let u=this.el.content,d=u.firstChild;d.remove(),u.append(...d.childNodes)}for(;(i=Re.nextNode())!==null&&c.length0){i.textContent=rt?rt.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=G}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=nt(this,t,r,0),a=!Ot(t)||t!==this._$AH&&t!==$t,a&&(this._$AH=t);else{let s=t,c,h;for(t=o[0],c=0;cnew Rt(typeof e=="string"?e:e+"",void 0,di),P=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((n,i,o)=>n+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new Rt(r,e,di)},mi=(e,t)=>{Dr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=Ur.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},Mr=Dr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return de(r)})(e):e;var pi,Gr=window,ba=Gr.trustedTypes,vl=ba?ba.emptyScript:"",Aa=Gr.reactiveElementPolyfillSupport,gi={toAttribute(e,t){switch(t){case Boolean:e=e?vl:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},Sa=(e,t)=>t!==e&&(t==t||e==e),fi={attribute:!0,type:String,converter:gi,reflect:!1,hasChanged:Sa},xi="finalized",me=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=fi){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||fi}static finalize(){if(this.hasOwnProperty(xi))return!1;this[xi]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(Mr(i))}else t!==void 0&&r.push(Mr(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return mi(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=fi){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:gi).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:gi;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||Sa)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};me[xi]=!0,me.elementProperties=new Map,me.elementStyles=[],me.shadowRootOptions={mode:"open"},Aa?.({ReactiveElement:me}),((pi=Gr.reactiveElementVersions)!==null&&pi!==void 0?pi:Gr.reactiveElementVersions=[]).push("1.6.3");var vi,Hr=window,ot=Hr.trustedTypes,Ea=ot?ot.createPolicy("lit-html",{createHTML:e=>e}):void 0,Ai="$lit$",Se=`lit$${(Math.random()+"").slice(9)}$`,Ca="?"+Se,bl=`<${Ca}>`,Ge=document,Dt=()=>Ge.createComment(""),Mt=e=>e===null||typeof e!="object"&&typeof e!="function",Ia=Array.isArray,Al=e=>Ia(e)||typeof e?.[Symbol.iterator]=="function",bi=`[ +\f\r]`,Ut=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ta=/-->/g,ya=/>/g,De=RegExp(`>|${bi}(?:([^\\s"'>=/]+)(${bi}*=${bi}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),_a=/'/g,La=/"/g,Na=/^(?:script|style|textarea|title)$/i,ka=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),x=ka(1),jd=ka(2),He=Symbol.for("lit-noChange"),H=Symbol.for("lit-nothing"),wa=new WeakMap,Me=Ge.createTreeWalker(Ge,129,null,!1);function Oa(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ea!==void 0?Ea.createHTML(t):t}var Sl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Ut;for(let s=0;s"?(a=i??Ut,u=-1):l[1]===void 0?u=-2:(u=a.lastIndex-l[2].length,h=l[1],a=l[3]===void 0?De:l[3]==='"'?La:_a):a===La||a===_a?a=De:a===Ta||a===ya?a=Ut:(a=De,i=void 0);let m=a===De&&e[s+1].startsWith("/>")?" ":"";o+=a===Ut?c+bl:u>=0?(n.push(h),c.slice(0,u)+Ai+c.slice(u)+Se+m):c+Se+(u===-2?(n.push(void 0),s):m)}return[Oa(e,o+(e[r]||"")+(t===2?"":"")),n]},Gt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[h,l]=Sl(t,r);if(this.el=e.createElement(h,n),Me.currentNode=this.el.content,r===2){let u=this.el.content,d=u.firstChild;d.remove(),u.append(...d.childNodes)}for(;(i=Me.nextNode())!==null&&c.length0){i.textContent=ot?ot.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=H}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=at(this,t,r,0),a=!Mt(t)||t!==this._$AH&&t!==He,a&&(this._$AH=t);else{let s=t,c,h;for(t=o[0],c=0;c{var n,i;let o=(n=r?.renderBefore)!==null&&n!==void 0?n:t,a=o._$litPart$;if(a===void 0){let s=(i=r?.renderBefore)!==null&&i!==void 0?i:null;o._$litPart$=a=new Ht(t.insertBefore(Dt(),s),s,void 0,r??{})}return a._$AI(e),a};var Li,wi;var ie=class extends me{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,r;let n=super.createRenderRoot();return(t=(r=this.renderOptions).renderBefore)!==null&&t!==void 0||(r.renderBefore=n.firstChild),n}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=$a(r,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return He}};ie.finalized=!0,ie._$litElement$=!0,(Li=globalThis.litElementHydrateSupport)===null||Li===void 0||Li.call(globalThis,{LitElement:ie});var Va=globalThis.litElementPolyfillSupport;Va?.({LitElement:ie});((wi=globalThis.litElementVersions)!==null&&wi!==void 0?wi:globalThis.litElementVersions=[]).push("3.3.3");var Ee="(max-width: 767px)",zr="(max-width: 1199px)",R="(min-width: 768px)",k="(min-width: 1200px)",U="(min-width: 1600px)";var Ra=P` :host { position: relative; display: flex; @@ -215,9 +215,9 @@ Try polyfilling it using "@formatjs/intl-pluralrules" display: flex; gap: 8px; } -`,Va=()=>{let e=[R` +`,Ua=()=>{let e=[P` /* Tablet */ - @media screen and ${me($)} { + @media screen and ${de(R)} { :host([size='wide']), :host([size='super-wide']) { grid-column: span 3; @@ -228,18 +228,18 @@ Try polyfilling it using "@formatjs/intl-pluralrules" } /* Laptop */ - @media screen and ${me(N)} { + @media screen and ${de(k)} { :host([size='super-wide']) { grid-column: span 3; } - `];return e.push(R` + `];return e.push(P` /* Large desktop */ - @media screen and ${me(U)} { + @media screen and ${de(U)} { :host([size='super-wide']) { grid-column: span 4; } } - `),e};var Gt=class Gt{constructor(t){x(this,"card");this.card=t,this.insertVariantStyle()}insertVariantStyle(){if(!Gt.styleMap[this.card.variant]){Gt.styleMap[this.card.variant]=!0;let t=document.createElement("style");t.innerHTML=this.getGlobalCSS(),document.head.appendChild(t)}}get badge(){let t;if(!(!this.card.badgeBackgroundColor||!this.card.badgeColor||!this.card.badgeText))return this.evergreen&&(t=`border: 1px solid ${this.card.badgeBackgroundColor}; border-right: none;`),g` + `),e};var ct,zt=class zt{constructor(t){g(this,"card");ce(this,ct);this.card=t,this.insertVariantStyle()}getContainer(){return le(this,ct,F(this,ct)??this.card.closest('[class*="-merch-cards"]')??this.card.parentElement),F(this,ct)}insertVariantStyle(){if(!zt.styleMap[this.card.variant]){zt.styleMap[this.card.variant]=!0;let t=document.createElement("style");t.innerHTML=this.getGlobalCSS(),document.head.appendChild(t)}}updateCardElementMinHeight(t,r){let n=`--consonant-merch-card-${this.card.variant}-${r}-height`,i=Math.max(0,parseInt(window.getComputedStyle(t).height)||0),o=parseInt(this.getContainer().style.getPropertyValue(n))||0;i>o&&this.getContainer().style.setProperty(n,`${i}px`)}get badge(){let t;if(!(!this.card.badgeBackgroundColor||!this.card.badgeColor||!this.card.badgeText))return this.evergreen&&(t=`border: 1px solid ${this.card.badgeBackgroundColor}; border-right: none;`),x`
${this.card.badgeText}
- `}get cardImage(){return g`
+ `}get cardImage(){return x`
${this.badge} -
`}getGlobalCSS(){return""}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get secureLabelFooter(){let t=this.card.secureLabel?g``}getGlobalCSS(){return""}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get secureLabelFooter(){let t=this.card.secureLabel?x`${this.card.secureLabel}`:"";return g`
${t}
`}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}};x(Gt,"styleMap",{});var V=Gt;function Te(e,t={},r){let n=document.createElement(e);r instanceof HTMLElement?n.appendChild(r):n.innerHTML=r;for(let[i,o]of Object.entries(t))n.setAttribute(i,o);return n}function Ra(){return window.matchMedia("(max-width: 767px)").matches}function Ua(){return window.matchMedia("(max-width: 1024px)").matches}function Da(e=1e3){return new Promise(t=>setTimeout(t,e))}var Ma="merch-offer-select:ready",Ga="merch-card:ready",Ha="merch-card:action-menu-toggle";var Li="merch-storage:change",wi="merch-quantity-selector:change";var za=` + >`:"";return x`
${t}
`}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}};ct=new WeakMap,g(zt,"styleMap",{});var O=zt;function Te(e,t={},r){let n=document.createElement(e);r instanceof HTMLElement?n.appendChild(r):n.innerHTML=r;for(let[i,o]of Object.entries(t))n.setAttribute(i,o);return n}function Fr(){return window.matchMedia("(max-width: 767px)").matches}function Da(){return window.matchMedia("(max-width: 1024px)").matches}function Ma(e=1e3){return new Promise(t=>setTimeout(t,e))}var Ga="merch-offer-select:ready",Ha="merch-card:ready",za="merch-card:action-menu-toggle";var Pi="merch-storage:change",Ci="merch-quantity-selector:change";var Fa=` :root { --consonant-merch-card-catalog-width: 276px; --consonant-merch-card-catalog-icon-size: 40px; @@ -266,7 +266,7 @@ Try polyfilling it using "@formatjs/intl-pluralrules" grid-template-columns: var(--consonant-merch-card-catalog-width); } -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-catalog-width: 302px; } @@ -278,7 +278,7 @@ Try polyfilling it using "@formatjs/intl-pluralrules" } } -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-catalog-width: 276px; } @@ -340,12 +340,12 @@ merch-card[variant="catalog"] .payment-details { font-style: italic; font-weight: 400; line-height: var(--consonant-merch-card-body-line-height); -}`;var st=class extends V{constructor(r){super(r);x(this,"toggleActionMenu",r=>{let n=r?.type==="mouseleave"?!0:void 0,i=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');i&&(n||this.card.dispatchEvent(new CustomEvent(Ha,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}})),i.classList.toggle("hidden",n))})}renderLayout(){return g`
+}`;var lt=class extends O{constructor(r){super(r);g(this,"toggleActionMenu",r=>{let n=r?.type==="mouseleave"?!0:void 0,i=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');i&&(n||this.card.dispatchEvent(new CustomEvent(za,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}})),i.classList.toggle("hidden",n))})}renderLayout(){return x`
${this.badge}
@@ -359,14 +359,14 @@ merch-card[variant="catalog"] .payment-details { - ${this.promoBottom?"":g``} - ${this.promoBottom?g``:""}
${this.secureLabelFooter} - `}getGlobalCSS(){return za}connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenu)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenu)}};x(st,"variantStyle",R` + `}getGlobalCSS(){return Fa}connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenu)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenu)}};g(lt,"variantStyle",P` :host([variant='catalog']) { min-height: 330px; width: var(--consonant-merch-card-catalog-width); @@ -384,7 +384,7 @@ merch-card[variant="catalog"] .payment-details { margin-left: var(--consonant-merch-spacing-xxs); box-sizing: border-box; } - `);var Fa=` + `);var ja=` :root { --consonant-merch-card-ccd-action-width: 276px; --consonant-merch-card-ccd-action-min-height: 320px; @@ -401,7 +401,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { font-size: 18px; } -@media screen and ${$} { +@media screen and ${R} { .two-merch-cards.ccd-action, .three-merch-cards.ccd-action, .four-merch-cards.ccd-action { @@ -409,7 +409,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } } -@media screen and ${N} { +@media screen and ${k} { .three-merch-cards.ccd-action, .four-merch-cards.ccd-action { grid-template-columns: repeat(3, var(--consonant-merch-card-ccd-action-width)); @@ -421,14 +421,14 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-ccd-action-width)); } } -`;var ct=class extends V{constructor(t){super(t)}getGlobalCSS(){return Fa}renderLayout(){return g`
+`;var ht=class extends O{constructor(t){super(t)}getGlobalCSS(){return ja}renderLayout(){return x`
${this.badge} - ${this.promoBottom?g``:g``} + ${this.promoBottom?x``:x``}
-
`}};x(ct,"variantStyle",R` +
`}};g(ht,"variantStyle",P` :host([variant='ccd-action']:not([size])) { width: var(--consonant-merch-card-ccd-action-width); } @@ -444,7 +444,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: var(--consonant-merch-card-image-width); } -@media screen and ${$} { +@media screen and ${R} { .two-merch-cards.image, .three-merch-cards.image, .four-merch-cards.image { @@ -452,7 +452,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } } -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-image-width: 378px; } @@ -468,24 +468,24 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-image-width)); } } -`;var Hr=class extends V{constructor(t){super(t)}getGlobalCSS(){return Ka}renderLayout(){return g`${this.cardImage} +`;var jr=class extends O{constructor(t){super(t)}getGlobalCSS(){return Ka}renderLayout(){return x`${this.cardImage}
- ${this.promoBottom?g``:g``} + ${this.promoBottom?x``:x``}
- ${this.evergreen?g` + ${this.evergreen?x`
- `:g` + `:x`
${this.secureLabelFooter} - `}`}};var ja=` + `}`}};var Ba=` :root { --consonant-merch-card-inline-heading-width: 300px; } @@ -497,7 +497,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: var(--consonant-merch-card-inline-heading-width); } -@media screen and ${$} { +@media screen and ${R} { .two-merch-cards.inline-heading, .three-merch-cards.inline-heading, .four-merch-cards.inline-heading { @@ -505,7 +505,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } } -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-inline-heading-width: 378px; } @@ -521,7 +521,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-inline-heading-width)); } } -`;var zr=class extends V{constructor(t){super(t)}getGlobalCSS(){return ja}renderLayout(){return g` ${this.badge} +`;var Kr=class extends O{constructor(t){super(t)}getGlobalCSS(){return Ba}renderLayout(){return x` ${this.badge}
@@ -529,7 +529,7 @@ merch-card[variant="ccd-action"] .price-strikethrough {
- ${this.card.customHr?"":g`
`} ${this.secureLabelFooter}`}};var Ba=` + ${this.card.customHr?"":x`
`} ${this.secureLabelFooter}`}};var Ya=` :root { --consonant-merch-card-mini-compare-chart-icon-size: 32px; --consonant-merch-card-mini-compare-mobile-cta-font-size: 15px; @@ -673,7 +673,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } } -@media screen and ${Gr} { +@media screen and ${zr} { .three-merch-cards.mini-compare-chart merch-card [slot="footer"] a, .four-merch-cards.mini-compare-chart merch-card [slot="footer"] a { flex: 1; @@ -704,7 +704,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { line-height: var(--consonant-merch-card-body-xs-line-height); } } -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-mini-compare-chart-width: 302px; --consonant-merch-card-mini-compare-chart-wide-width: 302px; @@ -722,7 +722,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } /* desktop */ -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-mini-compare-chart-width: 378px; --consonant-merch-card-mini-compare-chart-wide-width: 484px; @@ -780,11 +780,11 @@ merch-card .footer-row-cell:nth-child(7) { merch-card .footer-row-cell:nth-child(8) { min-height: var(--consonant-merch-card-footer-row-8-min-height); } -`;var Sl=32,ht,lt=class extends V{constructor(r){super(r);ce(this,ht);x(this,"getRowMinHeightPropertyName",r=>`--consonant-merch-card-footer-row-${r}-min-height`);x(this,"getMiniCompareFooter",()=>{let r=this.card.secureLabel?g` +`;var Tl=32,ut=class extends O{constructor(r){super(r);g(this,"getRowMinHeightPropertyName",r=>`--consonant-merch-card-footer-row-${r}-min-height`);g(this,"getMiniCompareFooter",()=>{let r=this.card.secureLabel?x` ${this.card.secureLabel}`:g``;return g`
${r}
`})}getContainer(){return le(this,ht,F(this,ht)??this.card.closest('[class*="-merch-cards"]')??this.card.parentElement),F(this,ht)}getGlobalCSS(){return Ba}updateMiniCompareElementMinHeight(r,n){let i=`--consonant-merch-card-mini-compare-${n}-height`,o=Math.max(0,parseFloat(window.getComputedStyle(r).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(i))||0;o>a&&this.getContainer().style.setProperty(i,`${o}px`)}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section"),["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"].forEach(i=>this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${i}"]`),i)),this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let n=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");n&&n.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"]')?.children].forEach((n,i)=>{let o=Math.max(Sl,parseFloat(window.getComputedStyle(n).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(i+1)))||0;o>a&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(i+1),`${o}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(n=>{let i=n.querySelector(".footer-row-cell-description");i&&!i.textContent.trim()&&n.remove()})}renderLayout(){return g`
+ >`:x``;return x`
${r}
`})}getGlobalCSS(){return Ya}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section"),["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"].forEach(i=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${i}"]`),i)),this.updateCardElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let n=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");n&&n.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-chart-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"]')?.children].forEach((n,i)=>{let o=Math.max(Tl,parseFloat(window.getComputedStyle(n).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(i+1)))||0;o>a&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(i+1),`${o}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(n=>{let i=n.querySelector(".footer-row-cell-description");i&&!i.textContent.trim()&&n.remove()})}renderLayout(){return x`
${this.badge}
@@ -796,12 +796,12 @@ merch-card .footer-row-cell:nth-child(8) { ${this.getMiniCompareFooter()} - `}async postCardUpdateHook(){Ra()?this.removeEmptyRows():(await Promise.all(this.card.prices.map(r=>r.onceSettled())),this.adjustMiniCompareBodySlots(),this.adjustMiniCompareFooterRows())}};ht=new WeakMap,x(lt,"variantStyle",R` + `}async postCardUpdateHook(){Fr()?this.removeEmptyRows():(await Promise.all(this.card.prices.map(r=>r.onceSettled())),this.adjustMiniCompareBodySlots(),this.adjustMiniCompareFooterRows())}};g(ut,"variantStyle",P` :host([variant='mini-compare-chart']) > slot:not([name='icons']) { display: block; } :host([variant='mini-compare-chart']) footer { - min-height: var(--consonant-merch-card-mini-compare-footer-height); + min-height: var(--consonant-merch-card-mini-compare-chart-footer-height); padding: var(--consonant-merch-spacing-xs); } @@ -809,10 +809,10 @@ merch-card .footer-row-cell:nth-child(8) { :host([variant='mini-compare-chart']) .top-section { padding-top: var(--consonant-merch-spacing-s); padding-inline-start: var(--consonant-merch-spacing-s); - height: var(--consonant-merch-card-mini-compare-top-section-height); + height: var(--consonant-merch-card-mini-compare-chart-top-section-height); } - @media screen and ${me(Gr)} { + @media screen and ${de(zr)} { [class*'-merch-cards'] :host([variant='mini-compare-chart']) footer { flex-direction: column; align-items: stretch; @@ -820,7 +820,7 @@ merch-card .footer-row-cell:nth-child(8) { } } - @media screen and ${me(N)} { + @media screen and ${de(k)} { :host([variant='mini-compare-chart']) footer { padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) @@ -837,38 +837,38 @@ merch-card .footer-row-cell:nth-child(8) { } /* mini-compare card heights for the slots: heading-m, body-m, heading-m-price, price-commitment, offers, promo-text, footer */ :host([variant='mini-compare-chart']) slot[name='heading-m'] { - min-height: var(--consonant-merch-card-mini-compare-heading-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-heading-m-height); } :host([variant='mini-compare-chart']) slot[name='body-m'] { - min-height: var(--consonant-merch-card-mini-compare-body-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-body-m-height); } :host([variant='mini-compare-chart']) slot[name='heading-m-price'] { min-height: var( - --consonant-merch-card-mini-compare-heading-m-price-height + --consonant-merch-card-mini-compare-chart-heading-m-price-height ); } :host([variant='mini-compare-chart']) slot[name='body-xxs'] { min-height: var( - --consonant-merch-card-mini-compare-body-xxs-height + --consonant-merch-card-mini-compare-chart-body-xxs-height ); } :host([variant='mini-compare-chart']) slot[name='price-commitment'] { min-height: var( - --consonant-merch-card-mini-compare-price-commitment-height + --consonant-merch-card-mini-compare-chart-price-commitment-height ); } :host([variant='mini-compare-chart']) slot[name='offers'] { - min-height: var(--consonant-merch-card-mini-compare-offers-height); + min-height: var(--consonant-merch-card-mini-compare-chart-offers-height); } :host([variant='mini-compare-chart']) slot[name='promo-text'] { - min-height: var(--consonant-merch-card-mini-compare-promo-text-height); + min-height: var(--consonant-merch-card-mini-compare-chart-promo-text-height); } :host([variant='mini-compare-chart']) slot[name='callout-content'] { min-height: var( - --consonant-merch-card-mini-compare-callout-content-height + --consonant-merch-card-mini-compare-chart-callout-content-height ); } - `);var Ya=` + `);var Xa=` :root { --consonant-merch-card-plans-width: 300px; --consonant-merch-card-plans-icon-size: 40px; @@ -894,7 +894,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } /* Tablet */ -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-plans-width: 302px; } @@ -906,7 +906,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } /* desktop */ -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-plans-width: 276px; } @@ -922,23 +922,23 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, var(--consonant-merch-card-plans-width)); } } -`;var ut=class extends V{constructor(t){super(t)}getGlobalCSS(){return Ya}postCardUpdateHook(){this.adjustTitleWidth()}get stockCheckbox(){return this.card.checkboxLabel?g``:""}renderLayout(){return x` ${this.badge}
- ${this.promoBottom?"":g` `} + ${this.promoBottom?"":x` `} - ${this.promoBottom?g` `:""} + ${this.promoBottom?x` `:""} ${this.stockCheckbox}
- ${this.secureLabelFooter}`}};x(ut,"variantStyle",R` + ${this.secureLabelFooter}`}};g(dt,"variantStyle",P` :host([variant='plans']) { min-height: 348px; } @@ -946,7 +946,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { :host([variant='plans']) ::slotted([slot='heading-xs']) { max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); } - `);var Xa=` + `);var Wa=` :root { --consonant-merch-card-product-width: 300px; } @@ -960,7 +960,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } /* Tablet */ -@media screen and ${$} { +@media screen and ${R} { .two-merch-cards.product, .three-merch-cards.product, .four-merch-cards.product { @@ -969,7 +969,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } /* desktop */ -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-product-width: 378px; } @@ -986,16 +986,42 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, var(--consonant-merch-card-product-width)); } } -`;var Ht=class extends V{constructor(t){super(t)}getGlobalCSS(){return Xa}renderLayout(){return g` ${this.badge} +`;var ze=class extends O{constructor(t){super(t)}getGlobalCSS(){return Wa}adjustProductBodySlots(){if(this.card.getBoundingClientRect().width===0)return;["heading-xs","body-xxs","body-xs","promo-text","callout-content","body-lower"].forEach(r=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${r}"]`),r))}renderLayout(){return x` ${this.badge}
- ${this.promoBottom?"":g``} + ${this.promoBottom?"":x``} - ${this.promoBottom?g``:""} + ${this.promoBottom?x``:""} + +
- ${this.secureLabelFooter}`}};var Wa=` + ${this.secureLabelFooter}`}connectedCallbackHook(){super.connectedCallbackHook(),window.addEventListener("resize",this.postCardUpdateHook.bind(this))}postCardUpdateHook(){Fr()||this.adjustProductBodySlots()}};g(ze,"variantStyle",P` + :host([variant='product']) > slot:not([name='icons']) { + display: block; + } + :host([variant='product']) slot[name='body-xs'] { + min-height: var(--consonant-merch-card-product-body-xs-height); + display: block; + } + :host([variant='product']) slot[name='heading-xs'] { + min-height: var(--consonant-merch-card-product-heading-xs-height); + display: block; + } + :host([variant='product']) slot[name='body-xxs'] { + min-height: var(--consonant-merch-card-product-body-xxs-height); + display: block; + } + :host([variant='product']) slot[name='promo-text'] { + min-height: var(--consonant-merch-card-product-promo-text-height); + display: block; + } + :host([variant='product']) slot[name='callout-content'] { + min-height: var(--consonant-merch-card-product-callout-content-height); + display: block; + } + `);var qa=` :root { --consonant-merch-card-segment-width: 378px; } @@ -1015,7 +1041,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } } -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-segment-width: 276px; } @@ -1028,7 +1054,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { } /* desktop */ -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-segment-width: 302px; } @@ -1041,23 +1067,23 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, minmax(276px, var(--consonant-merch-card-segment-width))); } } -`;var mt=class extends V{constructor(t){super(t)}getGlobalCSS(){return Wa}postCardUpdateHook(){this.adjustTitleWidth()}renderLayout(){return g` ${this.badge} +`;var mt=class extends O{constructor(t){super(t)}getGlobalCSS(){return qa}postCardUpdateHook(){this.adjustTitleWidth()}renderLayout(){return x` ${this.badge}
- ${this.promoBottom?"":g``} + ${this.promoBottom?"":x``} - ${this.promoBottom?g``:""} + ${this.promoBottom?x``:""}

- ${this.secureLabelFooter}`}};x(mt,"variantStyle",R` + ${this.secureLabelFooter}`}};g(mt,"variantStyle",P` :host([variant='segment']) { min-height: 214px; } :host([variant='segment']) ::slotted([slot='heading-xs']) { max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); } - `);var qa=` + `);var Za=` :root { --consonant-merch-card-special-offers-width: 378px; } @@ -1080,7 +1106,7 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri } } -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-special-offers-width: 302px; } @@ -1093,7 +1119,7 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri } /* desktop */ -@media screen and ${N} { +@media screen and ${k} { .three-merch-cards.special-offers, .four-merch-cards.special-offers { grid-template-columns: repeat(3, minmax(300px, var(--consonant-merch-card-special-offers-width))); @@ -1105,24 +1131,24 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri grid-template-columns: repeat(4, minmax(300px, var(--consonant-merch-card-special-offers-width))); } } -`;var dt=class extends V{constructor(t){super(t)}getGlobalCSS(){return qa}get headingSelector(){return'[slot="detail-m"]'}renderLayout(){return g`${this.cardImage} +`;var pt=class extends O{constructor(t){super(t)}getGlobalCSS(){return Za}get headingSelector(){return'[slot="detail-m"]'}renderLayout(){return x`${this.cardImage}
- ${this.evergreen?g` + ${this.evergreen?x`
- `:g` + `:x`
${this.secureLabelFooter} `} - `}};x(dt,"variantStyle",R` + `}};g(pt,"variantStyle",P` :host([variant='special-offers']) { min-height: 439px; } @@ -1134,7 +1160,7 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri :host([variant='special-offers'].center) { text-align: center; } - `);var Za=` + `);var Ja=` :root { --consonant-merch-card-twp-width: 268px; --consonant-merch-card-twp-mobile-width: 300px; @@ -1200,7 +1226,7 @@ merch-card[variant='twp'] merch-offer-select { } } -@media screen and ${$} { +@media screen and ${R} { :root { --consonant-merch-card-twp-width: 268px; } @@ -1213,7 +1239,7 @@ merch-card[variant='twp'] merch-offer-select { } } -@media screen and ${N} { +@media screen and ${k} { :root { --consonant-merch-card-twp-width: 268px; } @@ -1235,7 +1261,7 @@ merch-card[variant='twp'] merch-offer-select { grid-template-columns: repeat(3, var(--consonant-merch-card-twp-width)); } } -`;var pt=class extends V{constructor(t){super(t)}getGlobalCSS(){return Za}renderLayout(){return g`${this.badge} +`;var ft=class extends O{constructor(t){super(t)}getGlobalCSS(){return Ja}renderLayout(){return x`${this.badge}
@@ -1244,7 +1270,7 @@ merch-card[variant='twp'] merch-offer-select {
-
`}};x(pt,"variantStyle",R` +
`}};g(ft,"variantStyle",P` :host([variant='twp']) { padding: 4px 10px 5px 10px; } @@ -1283,7 +1309,91 @@ merch-card[variant='twp'] merch-offer-select { flex-direction: column; align-self: flex-start; } - `);var Pi=(e,t=!1)=>{switch(e.variant){case"catalog":return new st(e);case"ccd-action":return new ct(e);case"image":return new Hr(e);case"inline-heading":return new zr(e);case"mini-compare-chart":return new lt(e);case"plans":return new ut(e);case"product":return new Ht(e);case"segment":return new mt(e);case"special-offers":return new dt(e);case"twp":return new pt(e);default:return t?void 0:new Ht(e)}},Ja=()=>{let e=[];return e.push(st.variantStyle),e.push(ct.variantStyle),e.push(lt.variantStyle),e.push(ut.variantStyle),e.push(mt.variantStyle),e.push(dt.variantStyle),e.push(pt.variantStyle),e};var Qa=document.createElement("style");Qa.innerHTML=` + `);var Qa=` +:root { + --consonant-merch-card-ccd-slice-single-width: 322px; + --consonant-merch-card-ccd-slice-icon-size: 30px; + --consonant-merch-card-ccd-slice-wide-width: 600px; + --consonant-merch-card-ccd-slice-single-height: 154px; + --consonant-merch-card-ccd-slice-background-img-size: 119px; +} + +merch-card[variant="ccd-slice"] [slot='body-s'] a:not(.con-button) { + font-size: var(--consonant-merch-card-body-xxs-font-size); + font-style: normal; + font-weight: 400; + line-height: var(--consonant-merch-card-body-xxs-line-height); + text-decoration-line: underline; + color: var(--merch-color-grey-80); + } + + merch-card[variant="ccd-slice"] [slot='image'] img { + overflow: hidden; + border-radius: 50%; + } +`;var gt=class extends O{getGlobalCSS(){return Qa}renderLayout(){return x`
+ ${this.badge} + + +
+ + `}};g(gt,"variantStyle",P` + :host([variant='ccd-slice']) { + width: var(--consonant-merch-card-ccd-slice-single-width); + border-radius: 4px; + display: flex; + flex-flow: wrap; + } + + :host([variant='ccd-slice']) ::slotted([slot='body-s']) { + font-size: var(--consonant-merch-card-body-xs-font-size); + line-height: var(--consonant-merch-card-body-xxs-line-height); + } + + :host([variant='ccd-slice'][size='wide']) { + width: var(--consonant-merch-card-ccd-slice-wide-width); + } + + :host([variant='ccd-slice']) .content { + display: flex; + gap: var(--consonant-merch-spacing-xxs); + padding: var(--consonant-merch-spacing-xs); + padding-inline-end: 0; + width: 154px; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + flex: 1 0 0; + } + + :host([variant='ccd-slice']) ::slotted([slot='body-s']) ::slotted(a:not(.con-button)) { + font-size: var(--consonant-merch-card-body-xxs-font-size); + font-style: normal; + font-weight: 400; + line-height: var(--consonant-merch-card-body-xxs-line-height); + text-decoration-line: underline; + color: var(--merch-color-grey-80); + } + + :host([variant='ccd-slice']) ::slotted([slot='image']) { + display: flex; + justify-content: center; + flex-shrink: 0; + width: var(--consonant-merch-card-ccd-slice-background-img-size); + height: var(--consonant-merch-card-ccd-slice-background-img-size); + overflow: hidden; + border-radius: 50%; + padding: var(--consonant-merch-spacing-xs); + align-self: center; + } + + :host([variant='ccd-slice']) ::slotted([slot='image']) img { + overflow: hidden; + border-radius: 50%; + width: inherit; + height: inherit; + } + `);var Ii=(e,t=!1)=>{switch(e.variant){case"catalog":return new lt(e);case"ccd-action":return new ht(e);case"image":return new jr(e);case"inline-heading":return new Kr(e);case"mini-compare-chart":return new ut(e);case"plans":return new dt(e);case"product":return new ze(e);case"segment":return new mt(e);case"special-offers":return new pt(e);case"twp":return new ft(e);case"ccd-slice":return new gt(e);default:return t?void 0:new ze(e)}},es=()=>{let e=[];return e.push(lt.variantStyle),e.push(ht.variantStyle),e.push(ut.variantStyle),e.push(ze.variantStyle),e.push(dt.variantStyle),e.push(mt.variantStyle),e.push(pt.variantStyle),e.push(ft.variantStyle),e.push(gt.variantStyle),e};var ts=document.createElement("style");ts.innerHTML=` :root { --consonant-merch-card-detail-font-size: 12px; --consonant-merch-card-detail-font-weight: 500; @@ -1646,9 +1756,9 @@ body.merch-modal { scrollbar-gutter: stable; height: 100vh; } -`;document.head.appendChild(Qa);var El="merch-card",zt=class extends ie{constructor(){super();x(this,"customerSegment");x(this,"marketSegment");x(this,"variantLayout");this.filters={},this.types="",this.selected=!1}firstUpdated(){this.variantLayout=Pi(this,!1),this.variantLayout?.connectedCallbackHook()}willUpdate(r){(r.has("variant")||!this.variantLayout)&&(this.variantLayout=Pi(this),this.variantLayout.connectedCallbackHook())}updated(r){(r.has("badgeBackgroundColor")||r.has("borderColor"))&&(this.style.border=this.computedBorderStyle),this.variantLayout?.postCardUpdateHook(this)}get prices(){return Array.from(this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'))}render(){if(!(!this.isConnected||!this.variantLayout||this.style.display==="none"))return this.variantLayout.renderLayout()}get computedBorderStyle(){return this.variant!=="twp"?`1px solid ${this.borderColor?this.borderColor:this.badgeBackgroundColor}`:""}get badgeElement(){return this.shadowRoot.getElementById("badge")}get headingmMSlot(){return this.shadowRoot.querySelector('slot[name="heading-m"]').assignedElements()[0]}get footerSlot(){return this.shadowRoot.querySelector('slot[name="footer"]')?.assignedElements()[0]}get price(){return this.headingmMSlot?.querySelector('span[is="inline-price"]')}get checkoutLinks(){return[...this.footerSlot?.querySelectorAll('a[is="checkout-link"]')??[]]}async toggleStockOffer({target:r}){if(!this.stockOfferOsis)return;let n=this.checkoutLinks;if(n.length!==0)for(let i of n){await i.onceSettled();let o=i.value?.[0]?.planType;if(!o)return;let a=this.stockOfferOsis[o];if(!a)return;let s=i.dataset.wcsOsi.split(",").filter(c=>c!==a);r.checked&&s.push(a),i.dataset.wcsOsi=s.join(",")}}handleQuantitySelection(r){let n=this.checkoutLinks;for(let i of n)i.dataset.quantity=r.detail.option}get titleElement(){return this.querySelector(this.variantLayout?.headingSelector||".card-heading")}get title(){return this.titleElement?.textContent?.trim()}get description(){return this.querySelector('[slot="body-xs"]')?.textContent?.trim()}updateFilters(r){let n={...this.filters};Object.keys(n).forEach(i=>{if(r){n[i].order=Math.min(n[i].order||2,2);return}let o=n[i].order;o===1||isNaN(o)||(n[i].order=Number(o)+1)}),this.filters=n}includes(r){return this.textContent.match(new RegExp(r,"i"))!==null}connectedCallback(){super.connectedCallback(),this.setAttribute("tabindex",this.getAttribute("tabindex")??"0"),this.addEventListener(wi,this.handleQuantitySelection),this.addEventListener(Ma,this.merchCardReady,{once:!0}),this.updateComplete.then(()=>{this.merchCardReady()}),this.storageOptions?.addEventListener("change",this.handleStorageChange)}disconnectedCallback(){super.disconnectedCallback(),this.variantLayout.disconnectedCallbackHook(),this.removeEventListener(wi,this.handleQuantitySelection),this.storageOptions?.removeEventListener(Li,this.handleStorageChange)}get storageOptions(){return this.querySelector("sp-radio-group#storage")}get storageSpecificOfferSelect(){let r=this.storageOptions?.selected;if(r){let n=this.querySelector(`merch-offer-select[storage="${r}"]`);if(n)return n}return this.querySelector("merch-offer-select")}get offerSelect(){return this.storageOptions?this.storageSpecificOfferSelect:this.querySelector("merch-offer-select")}get quantitySelect(){return this.querySelector("merch-quantity-select")}merchCardReady(){this.offerSelect&&!this.offerSelect.planType||this.dispatchEvent(new CustomEvent(Ga,{bubbles:!0}))}handleStorageChange(){let r=this.closest("merch-card")?.offerSelect.cloneNode(!0);r&&this.dispatchEvent(new CustomEvent(Li,{detail:{offerSelect:r},bubbles:!0}))}get dynamicPrice(){return this.querySelector('[slot="price"]')}selectMerchOffer(r){if(r===this.merchOffer)return;this.merchOffer=r;let n=this.dynamicPrice;if(r.price&&n){let i=r.price.cloneNode(!0);n.onceSettled?n.onceSettled().then(()=>{n.replaceWith(i)}):n.replaceWith(i)}}};x(zt,"properties",{name:{type:String,attribute:"name",reflect:!0},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},borderColor:{type:String,attribute:"border-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},selected:{type:Boolean,attribute:"aria-selected",reflect:!0},storageOption:{type:String,attribute:"storage",reflect:!0},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:r=>{let[n,i,o]=r.split(",");return{PUF:n,ABM:i,M2M:o}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:r=>Object.fromEntries(r.split(",").map(n=>{let[i,o,a]=n.split(":"),s=Number(o);return[i,{order:isNaN(s)?void 0:s,size:a}]})),toAttribute:r=>Object.entries(r).map(([n,{order:i,size:o}])=>[n,i,o].filter(a=>a!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0},merchOffer:{type:Object}}),x(zt,"styles",[$a,Ja(),...Va()]);customElements.define(El,zt);var ft=class extends ie{constructor(){super(),this.size="m",this.alt=""}render(){let{href:t}=this;return t?g` +`;document.head.appendChild(ts);var yl="merch-card",Ft=class extends ie{constructor(){super();g(this,"customerSegment");g(this,"marketSegment");g(this,"variantLayout");this.filters={},this.types="",this.selected=!1}firstUpdated(){this.variantLayout=Ii(this,!1),this.variantLayout?.connectedCallbackHook()}willUpdate(r){(r.has("variant")||!this.variantLayout)&&(this.variantLayout=Ii(this),this.variantLayout.connectedCallbackHook())}updated(r){(r.has("badgeBackgroundColor")||r.has("borderColor"))&&(this.style.border=this.computedBorderStyle),this.variantLayout?.postCardUpdateHook(this)}get prices(){return Array.from(this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'))}render(){if(!(!this.isConnected||!this.variantLayout||this.style.display==="none"))return this.variantLayout.renderLayout()}get computedBorderStyle(){return this.variant!=="twp"?`1px solid ${this.borderColor?this.borderColor:this.badgeBackgroundColor}`:""}get badgeElement(){return this.shadowRoot.getElementById("badge")}get headingmMSlot(){return this.shadowRoot.querySelector('slot[name="heading-m"]').assignedElements()[0]}get footerSlot(){return this.shadowRoot.querySelector('slot[name="footer"]')?.assignedElements()[0]}get price(){return this.headingmMSlot?.querySelector('span[is="inline-price"]')}get checkoutLinks(){return[...this.footerSlot?.querySelectorAll('a[is="checkout-link"]')??[]]}async toggleStockOffer({target:r}){if(!this.stockOfferOsis)return;let n=this.checkoutLinks;if(n.length!==0)for(let i of n){await i.onceSettled();let o=i.value?.[0]?.planType;if(!o)return;let a=this.stockOfferOsis[o];if(!a)return;let s=i.dataset.wcsOsi.split(",").filter(c=>c!==a);r.checked&&s.push(a),i.dataset.wcsOsi=s.join(",")}}handleQuantitySelection(r){let n=this.checkoutLinks;for(let i of n)i.dataset.quantity=r.detail.option}get titleElement(){return this.querySelector(this.variantLayout?.headingSelector||".card-heading")}get title(){return this.titleElement?.textContent?.trim()}get description(){return this.querySelector('[slot="body-xs"]')?.textContent?.trim()}updateFilters(r){let n={...this.filters};Object.keys(n).forEach(i=>{if(r){n[i].order=Math.min(n[i].order||2,2);return}let o=n[i].order;o===1||isNaN(o)||(n[i].order=Number(o)+1)}),this.filters=n}includes(r){return this.textContent.match(new RegExp(r,"i"))!==null}connectedCallback(){super.connectedCallback(),this.setAttribute("tabindex",this.getAttribute("tabindex")??"0"),this.addEventListener(Ci,this.handleQuantitySelection),this.addEventListener(Ga,this.merchCardReady,{once:!0}),this.updateComplete.then(()=>{this.merchCardReady()}),this.storageOptions?.addEventListener("change",this.handleStorageChange)}disconnectedCallback(){super.disconnectedCallback(),this.variantLayout.disconnectedCallbackHook(),this.removeEventListener(Ci,this.handleQuantitySelection),this.storageOptions?.removeEventListener(Pi,this.handleStorageChange)}get storageOptions(){return this.querySelector("sp-radio-group#storage")}get storageSpecificOfferSelect(){let r=this.storageOptions?.selected;if(r){let n=this.querySelector(`merch-offer-select[storage="${r}"]`);if(n)return n}return this.querySelector("merch-offer-select")}get offerSelect(){return this.storageOptions?this.storageSpecificOfferSelect:this.querySelector("merch-offer-select")}get quantitySelect(){return this.querySelector("merch-quantity-select")}merchCardReady(){this.offerSelect&&!this.offerSelect.planType||this.dispatchEvent(new CustomEvent(Ha,{bubbles:!0}))}handleStorageChange(){let r=this.closest("merch-card")?.offerSelect.cloneNode(!0);r&&this.dispatchEvent(new CustomEvent(Pi,{detail:{offerSelect:r},bubbles:!0}))}get dynamicPrice(){return this.querySelector('[slot="price"]')}selectMerchOffer(r){if(r===this.merchOffer)return;this.merchOffer=r;let n=this.dynamicPrice;if(r.price&&n){let i=r.price.cloneNode(!0);n.onceSettled?n.onceSettled().then(()=>{n.replaceWith(i)}):n.replaceWith(i)}}};g(Ft,"properties",{name:{type:String,attribute:"name",reflect:!0},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},borderColor:{type:String,attribute:"border-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},selected:{type:Boolean,attribute:"aria-selected",reflect:!0},storageOption:{type:String,attribute:"storage",reflect:!0},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:r=>{let[n,i,o]=r.split(",");return{PUF:n,ABM:i,M2M:o}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:r=>Object.fromEntries(r.split(",").map(n=>{let[i,o,a]=n.split(":"),s=Number(o);return[i,{order:isNaN(s)?void 0:s,size:a}]})),toAttribute:r=>Object.entries(r).map(([n,{order:i,size:o}])=>[n,i,o].filter(a=>a!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0},merchOffer:{type:Object}}),g(Ft,"styles",[Ra,es(),...Ua()]);customElements.define(yl,Ft);var xt=class extends ie{constructor(){super(),this.size="m",this.alt=""}render(){let{href:t}=this;return t?x` ${this.alt} - `:g` ${this.alt}`}};x(ft,"properties",{size:{type:String,attribute:!0},src:{type:String,attribute:!0},alt:{type:String,attribute:!0},href:{type:String,attribute:!0}}),x(ft,"styles",R` + `:x` ${this.alt}`}};g(xt,"properties",{size:{type:String,attribute:!0},src:{type:String,attribute:!0},alt:{type:String,attribute:!0},href:{type:String,attribute:!0}}),g(xt,"styles",P` :host { --img-width: 32px; --img-height: 32px; @@ -1671,7 +1781,7 @@ body.merch-modal { width: var(--img-width); height: var(--img-height); } - `);customElements.define("merch-icon",ft);var pe="Network error",Tl={sort:[{on:"created",order:"ASC"}]},Ft,Fr=class{constructor(t,r){ce(this,Ft);x(this,"sites",{cf:{fragments:{search:this.searchFragment.bind(this),getByPath:this.getFragmentByPath.bind(this),getById:this.getFragmentById.bind(this),save:this.saveFragment.bind(this),copy:this.copyFragmentClassic.bind(this),publish:this.publishFragment.bind(this),delete:this.deleteFragment.bind(this)}}});x(this,"folders",{list:this.listFoldersClassic.bind(this)});le(this,Ft,/^author-/.test(t));let n=r||`https://${t}.adobeaemcloud.com`,i=`${n}/adobe/sites`;this.cfFragmentsUrl=`${i}/cf/fragments`,this.cfSearchUrl=`${this.cfFragmentsUrl}/search`,this.cfPublishUrl=`${this.cfFragmentsUrl}/publish`,this.wcmcommandUrl=`${n}/bin/wcmcommand`,this.csrfTokenUrl=`${n}/libs/granite/csrf/token.json`,this.foldersUrl=`${n}/adobe/folders`,this.foldersClassicUrl=`${n}/api/assets`,this.headers={Authorization:`Bearer ${sessionStorage.getItem("masAccessToken")??window.adobeid?.authorize?.()}`,pragma:"no-cache","cache-control":"no-cache"}}async getCsrfToken(){let t=await fetch(this.csrfTokenUrl,{headers:this.headers}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!t.ok)throw new Error(`Failed to get CSRF token: ${t.status} ${t.statusText}`);let{token:r}=await t.json();return r}async*searchFragment({path:t,query:r="",sort:n}){let i={path:t};r?i.fullText={text:encodeURIComponent(r),queryMode:"EXACT_WORDS"}:i.onlyDirectChildren=!0;let o={...Tl,filter:i};n&&(o.sort=n);let a={query:JSON.stringify(o)},s;for(;;){s&&(a.cursor=s);let c=new URLSearchParams(a).toString(),h=await fetch(`${this.cfSearchUrl}?${c}`,{headers:this.headers}).catch(u=>{throw new Error(`${pe}: ${u.message}`)});if(!h.ok)throw new Error(`Search failed: ${h.status} ${h.statusText}`);let l;if({items:l,cursor:s}=await h.json(),yield l,!s)break}}async getFragmentByPath(t){let r=F(this,Ft)?this.headers:{},n=await fetch(`${this.cfFragmentsUrl}?path=${t}`,{headers:r}).catch(o=>{throw new Error(`${pe}: ${o.message}`)});if(!n.ok)throw new Error(`Failed to get fragment: ${n.status} ${n.statusText}`);let{items:i}=await n.json();if(!i||i.length===0)throw new Error("Fragment not found");return i[0]}async getFragment(t){let r=t.headers.get("Etag"),n=await t.json();return n.etag=r,n}async getFragmentById(t){let r=await fetch(`${this.cfFragmentsUrl}/${t}`,{headers:this.headers});if(!r.ok)throw new Error(`Failed to get fragment: ${r.status} ${r.statusText}`);return await this.getFragment(r)}async saveFragment(t){let{title:r,fields:n}=t,i=await fetch(`${this.cfFragmentsUrl}/${t.id}`,{method:"PUT",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers},body:JSON.stringify({title:r,fields:n})}).catch(o=>{throw new Error(`${pe}: ${o.message}`)});if(!i.ok)throw new Error(`Failed to save fragment: ${i.status} ${i.statusText}`);return await this.getFragment(i)}async copyFragmentClassic(t){let r=await this.getCsrfToken(),n=t.path.split("/").slice(0,-1).join("/"),i=new FormData;i.append("cmd","copyPage"),i.append("srcPath",t.path),i.append("destParentPath",n),i.append("shallow","false"),i.append("_charset_","UTF-8");let o=await fetch(this.wcmcommandUrl,{method:"POST",headers:{...this.headers,"csrf-token":r},body:i}).catch(m=>{throw new Error(`${pe}: ${m.message}`)});if(!o.ok)throw new Error(`Failed to copy fragment: ${o.status} ${o.statusText}`);let a=await o.text(),l=new DOMParser().parseFromString(a,"text/html").getElementById("Message")?.textContent.trim();if(!l)throw new Error("Failed to extract new path from copy response");await Da();let u=await this.getFragmentByPath(l);return u&&(u=await this.getFragmentById(u.id)),u}async publishFragment(t){let r=await fetch(this.cfPublishUrl,{method:"POST",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers},body:JSON.stringify({paths:[t.path],filterReferencesByStatus:["DRAFT","UNPUBLISHED"],workflowModelId:"/var/workflow/models/scheduled_activation_with_references"})}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!r.ok)throw new Error(`Failed to publish fragment: ${r.status} ${r.statusText}`);return await r.json()}async deleteFragment(t){let r=await fetch(`${this.cfFragmentsUrl}/${t.id}`,{method:"DELETE",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers}}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!r.ok)throw new Error(`Failed to delete fragment: ${r.status} ${r.statusText}`);return r}async listFolders(t){let r=new URLSearchParams({path:t}).toString(),n=await fetch(`${this.foldersUrl}/?${r}`,{method:"GET",headers:{...this.headers,"X-Adobe-Accept-Experimental":"1"}}).catch(i=>{throw new Error(`${pe}: ${i.message}`)});if(!n.ok)throw new Error(`Failed to list folders: ${n.status} ${n.statusText}`);return await n.json()}async listFoldersClassic(t){let r=t?.replace(/^\/content\/dam/,""),n=await fetch(`${this.foldersClassicUrl}${r}.json?limit=1000`,{method:"GET",headers:{...this.headers}}).catch(a=>{throw new Error(`${pe}: ${a.message}`)});if(!n.ok)throw new Error(`Failed to list folders: ${n.status} ${n.statusText}`);let{properties:{name:i},entities:o=[]}=await n.json();return{self:{name:i,path:t},children:o.filter(({class:[a]})=>/folder/.test(a)).map(({properties:{name:a,title:s}})=>({name:a,title:s,folderId:`${t}/${a}`,path:`${t}/${a}`}))}}};Ft=new WeakMap;var yl="aem-bucket",_l="publish-p22655-e155390",ye,Ii=class{constructor(){ce(this,ye,new Map)}clear(){F(this,ye).clear()}add(...t){t.forEach(r=>{let{path:n}=r;n&&F(this,ye).set(n,r)})}has(t){return F(this,ye).has(t)}get(t){return F(this,ye).get(t)}remove(t){F(this,ye).delete(t)}};ye=new WeakMap;var Ci=new Ii,jt,Kt=class extends HTMLElement{constructor(){super(...arguments);ce(this,jt);x(this,"cache",Ci);x(this,"item");x(this,"refs",[]);x(this,"path");x(this,"consonant",!1);x(this,"_readyPromise")}static get observedAttributes(){return["path"]}attributeChangedCallback(r,n,i){this[r]=i}connectedCallback(){this.consonant=this.hasAttribute("consonant"),this.clearRefs();let r=this.getAttribute(yl)??_l;le(this,jt,new Fr(r)),this.refresh(!1)}clearRefs(){this.refs.forEach(r=>{r.remove()})}async refresh(r=!0){this.path&&(this._readyPromise&&!await Promise.race([this._readyPromise,Promise.resolve(!1)])||(this.clearRefs(),this.refs=[],r&&this.cache.remove(this.path),this._readyPromise=this.fetchData().then(()=>!0)))}async fetchData(){let r=Ci.get(this.path);r||(r=await F(this,jt).sites.cf.fragments.getByPath(this.path),Ci.add(r)),this.item=r,this.render()}get updateComplete(){return this._readyPromise??Promise.reject(new Error("datasource is not correctly configured"))}async render(){}};jt=new WeakMap;customElements.define("aem-datasource",Kt);var Kr={CATALOG:"catalog",AH:"ah",CCD_ACTION:"ccd-action",SPECIAL_OFFERS:"special-offers"},Ll={[Kr.CATALOG]:{title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}},[Kr.AH]:{title:{tag:"h3",slot:"heading-xxs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xxs"},ctas:{size:"s"}},[Kr.CCD_ACTION]:{title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}},[Kr.SPECIAL_OFFERS]:{name:{tag:"h4",slot:"detail-m"},title:{tag:"h4",slot:"detail-m"},backgroundImage:{tag:"div",slot:"bg-image"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}}};async function wl(e,t,r,n){let i=e.fields.reduce((s,{name:c,multiple:h,values:l})=>(s[c]=h?l:l[0],s),{id:e.id});i.model=i.model;let{variant:o="catalog"}=i;r.setAttribute("variant",o);let a=Ll[o]??"catalog";if(i.mnemonicIcon?.forEach((s,c)=>{let h=i.mnemonicLink?.length>c?i.mnemonicLink[c]:"",l=i.mnemonicAlt?.length>c?i.mnemonicAlt[c]:"",u=Te("merch-icon",{slot:"icons",src:s,alt:l,href:h,size:"l"});t(u)}),i.cardTitle&&a.title&&t(Te(a.title.tag,{slot:a.title.slot},i.cardTitle)),i.backgroundImage&&a.backgroundImage&&t(Te(a.backgroundImage.tag,{slot:a.backgroundImage.slot},``)),i.prices&&a.prices){let s=i.prices,c=Te(a.prices.tag,{slot:a.prices.slot},s);t(c)}if(i.description&&a.description){let s=Te(a.description.tag,{slot:a.description.slot},i.description);t(s)}if(i.ctas){let s=Te("div",{slot:"footer"},i.ctas),c=[];[...s.querySelectorAll("a")].forEach(h=>{let l=h.parentElement.tagName==="STRONG";if(n)h.classList.add("con-button"),l&&h.classList.add("blue"),c.push(h);else{let d=Te("sp-button",{treatment:l?"fill":"outline",variant:l?"accent":"primary"},h);d.addEventListener("click",f=>{f.stopPropagation(),h.click()}),c.push(d)}}),s.innerHTML="",s.append(...c),t(s)}}var Ni=class extends Kt{async render(){if(this.item){let t=r=>{this.parentElement.appendChild(r),this.refs.push(r)};wl(this.item,t,this.parentElement,this.consonant)}}};customElements.define("merch-datasource",Ni);var{searchParams:es}=new URL(import.meta.url),Pl=es.get("locale")??"US_en",ts=es.get("env")==="stage",Cl=ts?"stage":"prod",Il=ts?"STAGE":"PROD",Nl=()=>({env:{name:Cl},commerce:{"commerce.env":Il},locale:{prefix:Pl}}),Ol=Ct(Nl),hf=Ol;export{hf as default}; + `);customElements.define("merch-icon",xt);var pe="Network error",_l={sort:[{on:"created",order:"ASC"}]},jt,Br=class{constructor(t,r){ce(this,jt);g(this,"sites",{cf:{fragments:{search:this.searchFragment.bind(this),getByPath:this.getFragmentByPath.bind(this),getById:this.getFragmentById.bind(this),save:this.saveFragment.bind(this),copy:this.copyFragmentClassic.bind(this),publish:this.publishFragment.bind(this),delete:this.deleteFragment.bind(this)}}});g(this,"folders",{list:this.listFoldersClassic.bind(this)});le(this,jt,/^author-/.test(t));let n=r||`https://${t}.adobeaemcloud.com`,i=`${n}/adobe/sites`;this.cfFragmentsUrl=`${i}/cf/fragments`,this.cfSearchUrl=`${this.cfFragmentsUrl}/search`,this.cfPublishUrl=`${this.cfFragmentsUrl}/publish`,this.wcmcommandUrl=`${n}/bin/wcmcommand`,this.csrfTokenUrl=`${n}/libs/granite/csrf/token.json`,this.foldersUrl=`${n}/adobe/folders`,this.foldersClassicUrl=`${n}/api/assets`,this.headers={Authorization:`Bearer ${sessionStorage.getItem("masAccessToken")??window.adobeid?.authorize?.()}`,pragma:"no-cache","cache-control":"no-cache"}}async getCsrfToken(){let t=await fetch(this.csrfTokenUrl,{headers:this.headers}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!t.ok)throw new Error(`Failed to get CSRF token: ${t.status} ${t.statusText}`);let{token:r}=await t.json();return r}async*searchFragment({path:t,query:r="",sort:n}){let i={path:t};r?i.fullText={text:encodeURIComponent(r),queryMode:"EXACT_WORDS"}:i.onlyDirectChildren=!0;let o={..._l,filter:i};n&&(o.sort=n);let a={query:JSON.stringify(o)},s;for(;;){s&&(a.cursor=s);let c=new URLSearchParams(a).toString(),h=await fetch(`${this.cfSearchUrl}?${c}`,{headers:this.headers}).catch(u=>{throw new Error(`${pe}: ${u.message}`)});if(!h.ok)throw new Error(`Search failed: ${h.status} ${h.statusText}`);let l;if({items:l,cursor:s}=await h.json(),yield l,!s)break}}async getFragmentByPath(t){let r=F(this,jt)?this.headers:{},n=await fetch(`${this.cfFragmentsUrl}?path=${t}`,{headers:r}).catch(o=>{throw new Error(`${pe}: ${o.message}`)});if(!n.ok)throw new Error(`Failed to get fragment: ${n.status} ${n.statusText}`);let{items:i}=await n.json();if(!i||i.length===0)throw new Error("Fragment not found");return i[0]}async getFragment(t){let r=t.headers.get("Etag"),n=await t.json();return n.etag=r,n}async getFragmentById(t){let r=await fetch(`${this.cfFragmentsUrl}/${t}`,{headers:this.headers});if(!r.ok)throw new Error(`Failed to get fragment: ${r.status} ${r.statusText}`);return await this.getFragment(r)}async saveFragment(t){let{title:r,fields:n}=t,i=await fetch(`${this.cfFragmentsUrl}/${t.id}`,{method:"PUT",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers},body:JSON.stringify({title:r,fields:n})}).catch(o=>{throw new Error(`${pe}: ${o.message}`)});if(!i.ok)throw new Error(`Failed to save fragment: ${i.status} ${i.statusText}`);return await this.getFragment(i)}async copyFragmentClassic(t){let r=await this.getCsrfToken(),n=t.path.split("/").slice(0,-1).join("/"),i=new FormData;i.append("cmd","copyPage"),i.append("srcPath",t.path),i.append("destParentPath",n),i.append("shallow","false"),i.append("_charset_","UTF-8");let o=await fetch(this.wcmcommandUrl,{method:"POST",headers:{...this.headers,"csrf-token":r},body:i}).catch(d=>{throw new Error(`${pe}: ${d.message}`)});if(!o.ok)throw new Error(`Failed to copy fragment: ${o.status} ${o.statusText}`);let a=await o.text(),l=new DOMParser().parseFromString(a,"text/html").getElementById("Message")?.textContent.trim();if(!l)throw new Error("Failed to extract new path from copy response");await Ma();let u=await this.getFragmentByPath(l);return u&&(u=await this.getFragmentById(u.id)),u}async publishFragment(t){let r=await fetch(this.cfPublishUrl,{method:"POST",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers},body:JSON.stringify({paths:[t.path],filterReferencesByStatus:["DRAFT","UNPUBLISHED"],workflowModelId:"/var/workflow/models/scheduled_activation_with_references"})}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!r.ok)throw new Error(`Failed to publish fragment: ${r.status} ${r.statusText}`);return await r.json()}async deleteFragment(t){let r=await fetch(`${this.cfFragmentsUrl}/${t.id}`,{method:"DELETE",headers:{"Content-Type":"application/json","If-Match":t.etag,...this.headers}}).catch(n=>{throw new Error(`${pe}: ${n.message}`)});if(!r.ok)throw new Error(`Failed to delete fragment: ${r.status} ${r.statusText}`);return r}async listFolders(t){let r=new URLSearchParams({path:t}).toString(),n=await fetch(`${this.foldersUrl}/?${r}`,{method:"GET",headers:{...this.headers,"X-Adobe-Accept-Experimental":"1"}}).catch(i=>{throw new Error(`${pe}: ${i.message}`)});if(!n.ok)throw new Error(`Failed to list folders: ${n.status} ${n.statusText}`);return await n.json()}async listFoldersClassic(t){let r=t?.replace(/^\/content\/dam/,""),n=await fetch(`${this.foldersClassicUrl}${r}.json?limit=1000`,{method:"GET",headers:{...this.headers}}).catch(a=>{throw new Error(`${pe}: ${a.message}`)});if(!n.ok)throw new Error(`Failed to list folders: ${n.status} ${n.statusText}`);let{properties:{name:i},entities:o=[]}=await n.json();return{self:{name:i,path:t},children:o.filter(({class:[a]})=>/folder/.test(a)).map(({properties:{name:a,title:s}})=>({name:a,title:s,folderId:`${t}/${a}`,path:`${t}/${a}`}))}}};jt=new WeakMap;var Ll="aem-bucket",wl="publish-p22655-e155390",ye,ki=class{constructor(){ce(this,ye,new Map)}clear(){F(this,ye).clear()}add(...t){t.forEach(r=>{let{path:n}=r;n&&F(this,ye).set(n,r)})}has(t){return F(this,ye).has(t)}get(t){return F(this,ye).get(t)}remove(t){F(this,ye).delete(t)}};ye=new WeakMap;var Ni=new ki,Bt,Kt=class extends HTMLElement{constructor(){super(...arguments);ce(this,Bt);g(this,"cache",Ni);g(this,"item");g(this,"refs",[]);g(this,"path");g(this,"consonant",!1);g(this,"_readyPromise")}static get observedAttributes(){return["path"]}attributeChangedCallback(r,n,i){this[r]=i}connectedCallback(){this.consonant=this.hasAttribute("consonant"),this.clearRefs();let r=this.getAttribute(Ll)??wl;le(this,Bt,new Br(r)),this.refresh(!1)}clearRefs(){this.refs.forEach(r=>{r.remove()})}async refresh(r=!0){this.path&&(this._readyPromise&&!await Promise.race([this._readyPromise,Promise.resolve(!1)])||(this.clearRefs(),this.refs=[],r&&this.cache.remove(this.path),this._readyPromise=this.fetchData().then(()=>!0)))}async fetchData(){let r=Ni.get(this.path);r||(r=await F(this,Bt).sites.cf.fragments.getByPath(this.path),Ni.add(r)),this.item=r,this.render()}get updateComplete(){return this._readyPromise??Promise.reject(new Error("datasource is not correctly configured"))}async render(){}};Bt=new WeakMap;customElements.define("aem-datasource",Kt);var Yt={CATALOG:"catalog",AH:"ah",CCD_ACTION:"ccd-action",SPECIAL_OFFERS:"special-offers",CCD_SLICE:"ccd-slice"},Pl={[Yt.CATALOG]:{title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}},[Yt.AH]:{title:{tag:"h3",slot:"heading-xxs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xxs"},ctas:{size:"s"}},[Yt.CCD_ACTION]:{title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}},[Yt.SPECIAL_OFFERS]:{name:{tag:"h4",slot:"detail-m"},title:{tag:"h4",slot:"detail-m"},backgroundImage:{tag:"div",slot:"bg-image"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{size:"l"}},[Yt.CCD_SLICE]:{backgroundImage:{tag:"div",slot:"image"},description:{tag:"div",slot:"body-s"},ctas:{size:"l"}}};async function Cl(e,t,r,n){let i=e.fields.reduce((s,{name:c,multiple:h,values:l})=>(s[c]=h?l:l[0],s),{id:e.id});i.model=i.model;let{variant:o="catalog"}=i;r.setAttribute("variant",o);let a=Pl[o]??"catalog";if(i.mnemonicIcon?.forEach((s,c)=>{let h=i.mnemonicLink?.length>c?i.mnemonicLink[c]:"",l=i.mnemonicAlt?.length>c?i.mnemonicAlt[c]:"",u=Te("merch-icon",{slot:"icons",src:s,alt:l,href:h,size:"l"});t(u)}),i.cardTitle&&a.title&&t(Te(a.title.tag,{slot:a.title.slot},i.cardTitle)),i.backgroundImage&&a.backgroundImage&&t(Te(a.backgroundImage.tag,{slot:a.backgroundImage.slot},``)),i.prices&&a.prices){let s=i.prices,c=Te(a.prices.tag,{slot:a.prices.slot},s);t(c)}if(i.description&&a.description){let s=Te(a.description.tag,{slot:a.description.slot},i.description);t(s)}if(i.ctas){let s=Te("div",{slot:"footer"},i.ctas),c=[];[...s.querySelectorAll("a")].forEach(h=>{let l=h.parentElement.tagName==="STRONG";if(n)h.classList.add("con-button"),l&&h.classList.add("blue"),c.push(h);else{let m=Te("sp-button",{treatment:l?"fill":"outline",variant:l?"accent":"primary"},h);m.addEventListener("click",f=>{f.stopPropagation(),h.click()}),c.push(m)}}),s.innerHTML="",s.append(...c),t(s)}}var Oi=class extends Kt{async render(){if(this.item){let t=r=>{this.parentElement.appendChild(r),this.refs.push(r)};Cl(this.item,t,this.parentElement,this.consonant)}}};customElements.define("merch-datasource",Oi);var{searchParams:rs}=new URL(import.meta.url),Il=rs.get("locale")??"US_en",ns=rs.get("env")==="stage",Nl=ns?"stage":"prod",kl=ns?"STAGE":"PROD",Ol=()=>({env:{name:Nl},commerce:{"commerce.env":kl},locale:{prefix:Il}}),$l=Nt(Ol),Sf=$l;export{Sf as default}; /*! Bundled license information: @lit/reactive-element/css-tag.js: diff --git a/libs/deps/mas/merch-card.js b/libs/deps/mas/merch-card.js index fec55d0a74..d2be39ad18 100644 --- a/libs/deps/mas/merch-card.js +++ b/libs/deps/mas/merch-card.js @@ -1,6 +1,6 @@ -import{LitElement as ze}from"../lit-all.min.js";import{LitElement as le,html as U,css as pe}from"../lit-all.min.js";var n=class extends le{static properties={size:{type:String,attribute:!0},src:{type:String,attribute:!0},alt:{type:String,attribute:!0},href:{type:String,attribute:!0}};constructor(){super(),this.size="m",this.alt=""}render(){let{href:e}=this;return e?U` +import{LitElement as zt}from"../lit-all.min.js";import{LitElement as lt,html as j,css as pt}from"../lit-all.min.js";var a=class extends lt{static properties={size:{type:String,attribute:!0},src:{type:String,attribute:!0},alt:{type:String,attribute:!0},href:{type:String,attribute:!0}};constructor(){super(),this.size="m",this.alt=""}render(){let{href:t}=this;return t?j` ${this.alt} - `:U` ${this.alt}`}static styles=pe` + `:j` ${this.alt}`}static styles=pt` :host { --img-width: 32px; --img-height: 32px; @@ -23,7 +23,7 @@ import{LitElement as ze}from"../lit-all.min.js";import{LitElement as le,html as width: var(--img-width); height: var(--img-height); } - `};customElements.define("merch-icon",n);import{css as O,unsafeCSS as M}from"../lit-all.min.js";var g="(max-width: 767px)",k="(max-width: 1199px)",h="(min-width: 768px)",s="(min-width: 1200px)",m="(min-width: 1600px)";var q=O` + `};customElements.define("merch-icon",a);import{css as R,unsafeCSS as M}from"../lit-all.min.js";var g="(max-width: 767px)",z="(max-width: 1199px)",h="(min-width: 768px)",s="(min-width: 1200px)",m="(min-width: 1600px)";var q=R` :host { position: relative; display: flex; @@ -234,7 +234,7 @@ import{LitElement as ze}from"../lit-all.min.js";import{LitElement as le,html as display: flex; gap: 8px; } -`,j=()=>{let t=[O` +`,F=()=>{let r=[R` /* Tablet */ @media screen and ${M(h)} { :host([size='wide']), @@ -251,29 +251,29 @@ import{LitElement as ze}from"../lit-all.min.js";import{LitElement as le,html as :host([size='super-wide']) { grid-column: span 3; } - `];return t.push(O` + `];return r.push(R` /* Large desktop */ @media screen and ${M(m)} { :host([size='super-wide']) { grid-column: span 4; } } - `),t};import{html as L}from"../lit-all.min.js";var d=class t{static styleMap={};card;insertVariantStyle(){if(!t.styleMap[this.card.variant]){t.styleMap[this.card.variant]=!0;let e=document.createElement("style");e.innerHTML=this.getGlobalCSS(),document.head.appendChild(e)}}constructor(e){this.card=e,this.insertVariantStyle()}get badge(){let e;if(!(!this.card.badgeBackgroundColor||!this.card.badgeColor||!this.card.badgeText))return this.evergreen&&(e=`border: 1px solid ${this.card.badgeBackgroundColor}; border-right: none;`),L` + `),r};import{html as L}from"../lit-all.min.js";var d=class r{static styleMap={};card;#t;getContainer(){return this.#t=this.#t??this.card.closest('[class*="-merch-cards"]')??this.card.parentElement,this.#t}insertVariantStyle(){if(!r.styleMap[this.card.variant]){r.styleMap[this.card.variant]=!0;let t=document.createElement("style");t.innerHTML=this.getGlobalCSS(),document.head.appendChild(t)}}updateCardElementMinHeight(t,e){let o=`--consonant-merch-card-${this.card.variant}-${e}-height`,l=Math.max(0,parseInt(window.getComputedStyle(t).height)||0),p=parseInt(this.getContainer().style.getPropertyValue(o))||0;l>p&&this.getContainer().style.setProperty(o,`${l}px`)}constructor(t){this.card=t,this.insertVariantStyle()}get badge(){let t;if(!(!this.card.badgeBackgroundColor||!this.card.badgeColor||!this.card.badgeText))return this.evergreen&&(t=`border: 1px solid ${this.card.badgeBackgroundColor}; border-right: none;`),L`
${this.card.badgeText}
`}get cardImage(){return L`
${this.badge} -
`}getGlobalCSS(){return""}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get secureLabelFooter(){let e=this.card.secureLabel?L``}getGlobalCSS(){return""}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get secureLabelFooter(){let t=this.card.secureLabel?L`${this.card.secureLabel}`:"";return L`
${e}
`}async adjustTitleWidth(){let e=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;e===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(e-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}};import{html as H,css as ge}from"../lit-all.min.js";function F(){return window.matchMedia("(max-width: 767px)").matches}function K(){return window.matchMedia("(max-width: 1024px)").matches}var I="merch-offer-select:ready",W="merch-card:ready",Y="merch-card:action-menu-toggle";var R="merch-storage:change",P="merch-quantity-selector:change";var Q=` + >`:"";return L`
${t}
`}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,e=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||e===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-e-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}};import{html as N,css as gt}from"../lit-all.min.js";function T(){return window.matchMedia("(max-width: 767px)").matches}function K(){return window.matchMedia("(max-width: 1024px)").matches}var I="merch-offer-select:ready",W="merch-card:ready",Y="merch-card:action-menu-toggle";var P="merch-storage:change",H="merch-quantity-selector:change";var Q=` :root { --consonant-merch-card-catalog-width: 276px; --consonant-merch-card-catalog-icon-size: 40px; @@ -359,7 +359,7 @@ merch-card[variant="catalog"] .payment-details { font-style: italic; font-weight: 400; line-height: var(--consonant-merch-card-body-line-height); -}`;var u=class extends d{constructor(e){super(e)}renderLayout(){return H`
+}`;var f=class extends d{constructor(t){super(t)}renderLayout(){return N`
${this.badge}
- ${this.promoBottom?"":H``} - ${this.promoBottom?H``:""}
${this.secureLabelFooter} - `}getGlobalCSS(){return Q}toggleActionMenu=e=>{let r=e?.type==="mouseleave"?!0:void 0,o=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');o&&(r||this.card.dispatchEvent(new CustomEvent(Y,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}})),o.classList.toggle("hidden",r))};connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenu)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenu)}static variantStyle=ge` + `}getGlobalCSS(){return Q}toggleActionMenu=t=>{let e=t?.type==="mouseleave"?!0:void 0,o=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');o&&(e||this.card.dispatchEvent(new CustomEvent(Y,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}})),o.classList.toggle("hidden",e))};connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenu)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenu)}static variantStyle=gt` :host([variant='catalog']) { min-height: 330px; width: var(--consonant-merch-card-catalog-width); @@ -403,7 +403,7 @@ merch-card[variant="catalog"] .payment-details { margin-left: var(--consonant-merch-spacing-xxs); box-sizing: border-box; } - `};import{html as N,css as xe}from"../lit-all.min.js";var Z=` + `};import{html as B,css as xt}from"../lit-all.min.js";var Z=` :root { --consonant-merch-card-ccd-action-width: 276px; --consonant-merch-card-ccd-action-min-height: 320px; @@ -440,18 +440,18 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-ccd-action-width)); } } -`;var f=class extends d{constructor(e){super(e)}getGlobalCSS(){return Z}renderLayout(){return N`
+`;var v=class extends d{constructor(t){super(t)}getGlobalCSS(){return Z}renderLayout(){return B`
${this.badge} - ${this.promoBottom?N``:N``} + ${this.promoBottom?B``:B``}
-
`}static variantStyle=xe` +
`}static variantStyle=xt` :host([variant='ccd-action']:not([size])) { width: var(--consonant-merch-card-ccd-action-width); } - `};import{html as v}from"../lit-all.min.js";var J=` + `};import{html as b}from"../lit-all.min.js";var J=` :root { --consonant-merch-card-image-width: 300px; } @@ -487,24 +487,24 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-image-width)); } } -`;var T=class extends d{constructor(e){super(e)}getGlobalCSS(){return J}renderLayout(){return v`${this.cardImage} +`;var _=class extends d{constructor(t){super(t)}getGlobalCSS(){return J}renderLayout(){return b`${this.cardImage}
- ${this.promoBottom?v``:v``} + ${this.promoBottom?b``:b``}
- ${this.evergreen?v` + ${this.evergreen?b`
- `:v` + `:b`
${this.secureLabelFooter} - `}`}};import{html as ee}from"../lit-all.min.js";var X=` + `}`}};import{html as tt}from"../lit-all.min.js";var X=` :root { --consonant-merch-card-inline-heading-width: 300px; } @@ -540,7 +540,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { grid-template-columns: repeat(4, var(--consonant-merch-card-inline-heading-width)); } } -`;var _=class extends d{constructor(e){super(e)}getGlobalCSS(){return X}renderLayout(){return ee` ${this.badge} +`;var $=class extends d{constructor(t){super(t)}getGlobalCSS(){return X}renderLayout(){return tt` ${this.badge}
@@ -548,7 +548,7 @@ merch-card[variant="ccd-action"] .price-strikethrough {
- ${this.card.customHr?"":ee`
`} ${this.secureLabelFooter}`}};import{html as $,css as ue,unsafeCSS as re}from"../lit-all.min.js";var te=` + ${this.card.customHr?"":tt`
`} ${this.secureLabelFooter}`}};import{html as A,css as ut,unsafeCSS as rt}from"../lit-all.min.js";var et=` :root { --consonant-merch-card-mini-compare-chart-icon-size: 32px; --consonant-merch-card-mini-compare-mobile-cta-font-size: 15px; @@ -692,7 +692,7 @@ merch-card[variant="ccd-action"] .price-strikethrough { } } -@media screen and ${k} { +@media screen and ${z} { .three-merch-cards.mini-compare-chart merch-card [slot="footer"] a, .four-merch-cards.mini-compare-chart merch-card [slot="footer"] a { flex: 1; @@ -799,11 +799,11 @@ merch-card .footer-row-cell:nth-child(7) { merch-card .footer-row-cell:nth-child(8) { min-height: var(--consonant-merch-card-footer-row-8-min-height); } -`;var fe=32,b=class extends d{constructor(e){super(e)}#e;getRowMinHeightPropertyName=e=>`--consonant-merch-card-footer-row-${e}-min-height`;getContainer(){return this.#e=this.#e??this.card.closest('[class*="-merch-cards"]')??this.card.parentElement,this.#e}getGlobalCSS(){return te}getMiniCompareFooter=()=>{let e=this.card.secureLabel?$` +`;var ft=32,y=class extends d{constructor(t){super(t)}getRowMinHeightPropertyName=t=>`--consonant-merch-card-footer-row-${t}-min-height`;getGlobalCSS(){return et}getMiniCompareFooter=()=>{let t=this.card.secureLabel?A` ${this.card.secureLabel}`:$``;return $`
${e}
`};updateMiniCompareElementMinHeight(e,r){let o=`--consonant-merch-card-mini-compare-${r}-height`,l=Math.max(0,parseFloat(window.getComputedStyle(e).height)||0),p=parseFloat(this.getContainer().style.getPropertyValue(o))||0;l>p&&this.getContainer().style.setProperty(o,`${l}px`)}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section"),["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"].forEach(o=>this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${o}"]`),o)),this.updateMiniCompareElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let r=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");r&&r.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"]')?.children].forEach((r,o)=>{let l=Math.max(fe,parseFloat(window.getComputedStyle(r).height)||0),p=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(o+1)))||0;l>p&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(o+1),`${l}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(r=>{let o=r.querySelector(".footer-row-cell-description");o&&!o.textContent.trim()&&r.remove()})}renderLayout(){return $`
+ >`:A``;return A`
${t}
`};adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section"),["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"].forEach(o=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${o}"]`),o)),this.updateCardElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let e=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");e&&e.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-chart-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"]')?.children].forEach((e,o)=>{let l=Math.max(ft,parseFloat(window.getComputedStyle(e).height)||0),p=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(o+1)))||0;l>p&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(o+1),`${l}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(e=>{let o=e.querySelector(".footer-row-cell-description");o&&!o.textContent.trim()&&e.remove()})}renderLayout(){return A`
${this.badge}
@@ -815,12 +815,12 @@ merch-card .footer-row-cell:nth-child(8) { ${this.getMiniCompareFooter()} - `}async postCardUpdateHook(){F()?this.removeEmptyRows():(await Promise.all(this.card.prices.map(e=>e.onceSettled())),this.adjustMiniCompareBodySlots(),this.adjustMiniCompareFooterRows())}static variantStyle=ue` + `}async postCardUpdateHook(){T()?this.removeEmptyRows():(await Promise.all(this.card.prices.map(t=>t.onceSettled())),this.adjustMiniCompareBodySlots(),this.adjustMiniCompareFooterRows())}static variantStyle=ut` :host([variant='mini-compare-chart']) > slot:not([name='icons']) { display: block; } :host([variant='mini-compare-chart']) footer { - min-height: var(--consonant-merch-card-mini-compare-footer-height); + min-height: var(--consonant-merch-card-mini-compare-chart-footer-height); padding: var(--consonant-merch-spacing-xs); } @@ -828,10 +828,10 @@ merch-card .footer-row-cell:nth-child(8) { :host([variant='mini-compare-chart']) .top-section { padding-top: var(--consonant-merch-spacing-s); padding-inline-start: var(--consonant-merch-spacing-s); - height: var(--consonant-merch-card-mini-compare-top-section-height); + height: var(--consonant-merch-card-mini-compare-chart-top-section-height); } - @media screen and ${re(k)} { + @media screen and ${rt(z)} { [class*'-merch-cards'] :host([variant='mini-compare-chart']) footer { flex-direction: column; align-items: stretch; @@ -839,7 +839,7 @@ merch-card .footer-row-cell:nth-child(8) { } } - @media screen and ${re(s)} { + @media screen and ${rt(s)} { :host([variant='mini-compare-chart']) footer { padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) @@ -856,38 +856,38 @@ merch-card .footer-row-cell:nth-child(8) { } /* mini-compare card heights for the slots: heading-m, body-m, heading-m-price, price-commitment, offers, promo-text, footer */ :host([variant='mini-compare-chart']) slot[name='heading-m'] { - min-height: var(--consonant-merch-card-mini-compare-heading-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-heading-m-height); } :host([variant='mini-compare-chart']) slot[name='body-m'] { - min-height: var(--consonant-merch-card-mini-compare-body-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-body-m-height); } :host([variant='mini-compare-chart']) slot[name='heading-m-price'] { min-height: var( - --consonant-merch-card-mini-compare-heading-m-price-height + --consonant-merch-card-mini-compare-chart-heading-m-price-height ); } :host([variant='mini-compare-chart']) slot[name='body-xxs'] { min-height: var( - --consonant-merch-card-mini-compare-body-xxs-height + --consonant-merch-card-mini-compare-chart-body-xxs-height ); } :host([variant='mini-compare-chart']) slot[name='price-commitment'] { min-height: var( - --consonant-merch-card-mini-compare-price-commitment-height + --consonant-merch-card-mini-compare-chart-price-commitment-height ); } :host([variant='mini-compare-chart']) slot[name='offers'] { - min-height: var(--consonant-merch-card-mini-compare-offers-height); + min-height: var(--consonant-merch-card-mini-compare-chart-offers-height); } :host([variant='mini-compare-chart']) slot[name='promo-text'] { - min-height: var(--consonant-merch-card-mini-compare-promo-text-height); + min-height: var(--consonant-merch-card-mini-compare-chart-promo-text-height); } :host([variant='mini-compare-chart']) slot[name='callout-content'] { min-height: var( - --consonant-merch-card-mini-compare-callout-content-height + --consonant-merch-card-mini-compare-chart-callout-content-height ); } - `};import{html as A,css as ve}from"../lit-all.min.js";var oe=` + `};import{html as O,css as vt}from"../lit-all.min.js";var ot=` :root { --consonant-merch-card-plans-width: 300px; --consonant-merch-card-plans-icon-size: 40px; @@ -941,23 +941,23 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, var(--consonant-merch-card-plans-width)); } } -`;var y=class extends d{constructor(e){super(e)}getGlobalCSS(){return oe}postCardUpdateHook(){this.adjustTitleWidth()}get stockCheckbox(){return this.card.checkboxLabel?A``:""}renderLayout(){return O` ${this.badge}
- ${this.promoBottom?"":A` `} + ${this.promoBottom?"":O` `} - ${this.promoBottom?A` `:""} + ${this.promoBottom?O` `:""} ${this.stockCheckbox}
- ${this.secureLabelFooter}`}static variantStyle=ve` + ${this.secureLabelFooter}`}static variantStyle=vt` :host([variant='plans']) { min-height: 348px; } @@ -965,7 +965,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { :host([variant='plans']) ::slotted([slot='heading-xs']) { max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); } - `};import{html as B}from"../lit-all.min.js";var ne=` + `};import{html as D,css as bt}from"../lit-all.min.js";var at=` :root { --consonant-merch-card-product-width: 300px; } @@ -1005,16 +1005,42 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, var(--consonant-merch-card-product-width)); } } -`;var w=class extends d{constructor(e){super(e)}getGlobalCSS(){return ne}renderLayout(){return B` ${this.badge} +`;var x=class extends d{constructor(t){super(t)}getGlobalCSS(){return at}adjustProductBodySlots(){if(this.card.getBoundingClientRect().width===0)return;["heading-xs","body-xxs","body-xs","promo-text","callout-content","body-lower"].forEach(e=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${e}"]`),e))}renderLayout(){return D` ${this.badge}
- ${this.promoBottom?"":B``} + ${this.promoBottom?"":D``} - ${this.promoBottom?B``:""} + ${this.promoBottom?D``:""} + +
- ${this.secureLabelFooter}`}};import{html as D,css as be}from"../lit-all.min.js";var ae=` + ${this.secureLabelFooter}`}connectedCallbackHook(){super.connectedCallbackHook(),window.addEventListener("resize",this.postCardUpdateHook.bind(this))}postCardUpdateHook(){T()||this.adjustProductBodySlots()}static variantStyle=bt` + :host([variant='product']) > slot:not([name='icons']) { + display: block; + } + :host([variant='product']) slot[name='body-xs'] { + min-height: var(--consonant-merch-card-product-body-xs-height); + display: block; + } + :host([variant='product']) slot[name='heading-xs'] { + min-height: var(--consonant-merch-card-product-heading-xs-height); + display: block; + } + :host([variant='product']) slot[name='body-xxs'] { + min-height: var(--consonant-merch-card-product-body-xxs-height); + display: block; + } + :host([variant='product']) slot[name='promo-text'] { + min-height: var(--consonant-merch-card-product-promo-text-height); + display: block; + } + :host([variant='product']) slot[name='callout-content'] { + min-height: var(--consonant-merch-card-product-callout-content-height); + display: block; + } + `};import{html as V,css as yt}from"../lit-all.min.js";var nt=` :root { --consonant-merch-card-segment-width: 378px; } @@ -1060,23 +1086,23 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, minmax(276px, var(--consonant-merch-card-segment-width))); } } -`;var E=class extends d{constructor(e){super(e)}getGlobalCSS(){return ae}postCardUpdateHook(){this.adjustTitleWidth()}renderLayout(){return D` ${this.badge} +`;var E=class extends d{constructor(t){super(t)}getGlobalCSS(){return nt}postCardUpdateHook(){this.adjustTitleWidth()}renderLayout(){return V` ${this.badge}
- ${this.promoBottom?"":D``} + ${this.promoBottom?"":V``} - ${this.promoBottom?D``:""} + ${this.promoBottom?V``:""}

- ${this.secureLabelFooter}`}static variantStyle=be` + ${this.secureLabelFooter}`}static variantStyle=yt` :host([variant='segment']) { min-height: 214px; } :host([variant='segment']) ::slotted([slot='heading-xs']) { max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); } - `};import{html as V,css as ye}from"../lit-all.min.js";var ce=` + `};import{html as U,css as wt}from"../lit-all.min.js";var ct=` :root { --consonant-merch-card-special-offers-width: 378px; } @@ -1124,24 +1150,24 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri grid-template-columns: repeat(4, minmax(300px, var(--consonant-merch-card-special-offers-width))); } } -`;var S=class extends d{constructor(e){super(e)}getGlobalCSS(){return ce}get headingSelector(){return'[slot="detail-m"]'}renderLayout(){return V`${this.cardImage} +`;var S=class extends d{constructor(t){super(t)}getGlobalCSS(){return ct}get headingSelector(){return'[slot="detail-m"]'}renderLayout(){return U`${this.cardImage}
- ${this.evergreen?V` + ${this.evergreen?U`
- `:V` + `:U`
${this.secureLabelFooter} `} - `}static variantStyle=ye` + `}static variantStyle=wt` :host([variant='special-offers']) { min-height: 439px; } @@ -1153,7 +1179,7 @@ merch-card[variant="special-offers"] span[is="inline-price"][data-template="stri :host([variant='special-offers'].center) { text-align: center; } - `};import{html as we,css as Ee}from"../lit-all.min.js";var ie=` + `};import{html as Et,css as St}from"../lit-all.min.js";var it=` :root { --consonant-merch-card-twp-width: 268px; --consonant-merch-card-twp-mobile-width: 300px; @@ -1254,7 +1280,7 @@ merch-card[variant='twp'] merch-offer-select { grid-template-columns: repeat(3, var(--consonant-merch-card-twp-width)); } } -`;var C=class extends d{constructor(e){super(e)}getGlobalCSS(){return ie}renderLayout(){return we`${this.badge} +`;var C=class extends d{constructor(t){super(t)}getGlobalCSS(){return it}renderLayout(){return Et`${this.badge}
@@ -1263,7 +1289,7 @@ merch-card[variant='twp'] merch-offer-select {
-
`}static variantStyle=Ee` +
`}static variantStyle=St` :host([variant='twp']) { padding: 4px 10px 5px 10px; } @@ -1302,7 +1328,7 @@ merch-card[variant='twp'] merch-offer-select { flex-direction: column; align-self: flex-start; } - `};import{html as Se,css as Ce}from"../lit-all.min.js";var se=` + `};import{html as Ct,css as kt}from"../lit-all.min.js";var st=` :root { --consonant-merch-card-ccd-slice-single-width: 322px; --consonant-merch-card-ccd-slice-icon-size: 30px; @@ -1324,13 +1350,13 @@ merch-card[variant="ccd-slice"] [slot='body-s'] a:not(.con-button) { overflow: hidden; border-radius: 50%; } -`;var z=class extends d{getGlobalCSS(){return se}renderLayout(){return Se`
+`;var k=class extends d{getGlobalCSS(){return st}renderLayout(){return Ct`
${this.badge}
- `}static variantStyle=Ce` + `}static variantStyle=kt` :host([variant='ccd-slice']) { width: var(--consonant-merch-card-ccd-slice-single-width); border-radius: 4px; @@ -1386,7 +1412,7 @@ merch-card[variant="ccd-slice"] [slot='body-s'] a:not(.con-button) { width: inherit; height: inherit; } - `};var G=(t,e=!1)=>{switch(t.variant){case"catalog":return new u(t);case"ccd-action":return new f(t);case"image":return new T(t);case"inline-heading":return new _(t);case"mini-compare-chart":return new b(t);case"plans":return new y(t);case"product":return new w(t);case"segment":return new E(t);case"special-offers":return new S(t);case"twp":return new C(t);case"ccd-slice":return new z(t);default:return e?void 0:new w(t)}},de=()=>{let t=[];return t.push(u.variantStyle),t.push(f.variantStyle),t.push(b.variantStyle),t.push(y.variantStyle),t.push(E.variantStyle),t.push(S.variantStyle),t.push(C.variantStyle),t.push(z.variantStyle),t};var he=document.createElement("style");he.innerHTML=` + `};var G=(r,t=!1)=>{switch(r.variant){case"catalog":return new f(r);case"ccd-action":return new v(r);case"image":return new _(r);case"inline-heading":return new $(r);case"mini-compare-chart":return new y(r);case"plans":return new w(r);case"product":return new x(r);case"segment":return new E(r);case"special-offers":return new S(r);case"twp":return new C(r);case"ccd-slice":return new k(r);default:return t?void 0:new x(r)}},dt=()=>{let r=[];return r.push(f.variantStyle),r.push(v.variantStyle),r.push(y.variantStyle),r.push(x.variantStyle),r.push(w.variantStyle),r.push(E.variantStyle),r.push(S.variantStyle),r.push(C.variantStyle),r.push(k.variantStyle),r};var ht=document.createElement("style");ht.innerHTML=` :root { --consonant-merch-card-detail-font-size: 12px; --consonant-merch-card-detail-font-weight: 500; @@ -1749,4 +1775,4 @@ body.merch-modal { scrollbar-gutter: stable; height: 100vh; } -`;document.head.appendChild(he);var c="merch-card",a=class extends ze{static properties={name:{type:String,attribute:"name",reflect:!0},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},borderColor:{type:String,attribute:"border-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},selected:{type:Boolean,attribute:"aria-selected",reflect:!0},storageOption:{type:String,attribute:"storage",reflect:!0},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:e=>{let[r,o,l]=e.split(",");return{PUF:r,ABM:o,M2M:l}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:e=>Object.fromEntries(e.split(",").map(r=>{let[o,l,p]=r.split(":"),x=Number(l);return[o,{order:isNaN(x)?void 0:x,size:p}]})),toAttribute:e=>Object.entries(e).map(([r,{order:o,size:l}])=>[r,o,l].filter(p=>p!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0},merchOffer:{type:Object}};static styles=[q,de(),...j()];customerSegment;marketSegment;variantLayout;constructor(){super(),this.filters={},this.types="",this.selected=!1}firstUpdated(){this.variantLayout=G(this,!1),this.variantLayout?.connectedCallbackHook()}willUpdate(e){(e.has("variant")||!this.variantLayout)&&(this.variantLayout=G(this),this.variantLayout.connectedCallbackHook())}updated(e){(e.has("badgeBackgroundColor")||e.has("borderColor"))&&(this.style.border=this.computedBorderStyle),this.variantLayout?.postCardUpdateHook(this)}get prices(){return Array.from(this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'))}render(){if(!(!this.isConnected||!this.variantLayout||this.style.display==="none"))return this.variantLayout.renderLayout()}get computedBorderStyle(){return this.variant!=="twp"?`1px solid ${this.borderColor?this.borderColor:this.badgeBackgroundColor}`:""}get badgeElement(){return this.shadowRoot.getElementById("badge")}get headingmMSlot(){return this.shadowRoot.querySelector('slot[name="heading-m"]').assignedElements()[0]}get footerSlot(){return this.shadowRoot.querySelector('slot[name="footer"]')?.assignedElements()[0]}get price(){return this.headingmMSlot?.querySelector('span[is="inline-price"]')}get checkoutLinks(){return[...this.footerSlot?.querySelectorAll('a[is="checkout-link"]')??[]]}async toggleStockOffer({target:e}){if(!this.stockOfferOsis)return;let r=this.checkoutLinks;if(r.length!==0)for(let o of r){await o.onceSettled();let l=o.value?.[0]?.planType;if(!l)return;let p=this.stockOfferOsis[l];if(!p)return;let x=o.dataset.wcsOsi.split(",").filter(me=>me!==p);e.checked&&x.push(p),o.dataset.wcsOsi=x.join(",")}}handleQuantitySelection(e){let r=this.checkoutLinks;for(let o of r)o.dataset.quantity=e.detail.option}get titleElement(){return this.querySelector(this.variantLayout?.headingSelector||".card-heading")}get title(){return this.titleElement?.textContent?.trim()}get description(){return this.querySelector('[slot="body-xs"]')?.textContent?.trim()}updateFilters(e){let r={...this.filters};Object.keys(r).forEach(o=>{if(e){r[o].order=Math.min(r[o].order||2,2);return}let l=r[o].order;l===1||isNaN(l)||(r[o].order=Number(l)+1)}),this.filters=r}includes(e){return this.textContent.match(new RegExp(e,"i"))!==null}connectedCallback(){super.connectedCallback(),this.setAttribute("tabindex",this.getAttribute("tabindex")??"0"),this.addEventListener(P,this.handleQuantitySelection),this.addEventListener(I,this.merchCardReady,{once:!0}),this.updateComplete.then(()=>{this.merchCardReady()}),this.storageOptions?.addEventListener("change",this.handleStorageChange)}disconnectedCallback(){super.disconnectedCallback(),this.variantLayout.disconnectedCallbackHook(),this.removeEventListener(P,this.handleQuantitySelection),this.storageOptions?.removeEventListener(R,this.handleStorageChange)}get storageOptions(){return this.querySelector("sp-radio-group#storage")}get storageSpecificOfferSelect(){let e=this.storageOptions?.selected;if(e){let r=this.querySelector(`merch-offer-select[storage="${e}"]`);if(r)return r}return this.querySelector("merch-offer-select")}get offerSelect(){return this.storageOptions?this.storageSpecificOfferSelect:this.querySelector("merch-offer-select")}get quantitySelect(){return this.querySelector("merch-quantity-select")}merchCardReady(){this.offerSelect&&!this.offerSelect.planType||this.dispatchEvent(new CustomEvent(W,{bubbles:!0}))}handleStorageChange(){let e=this.closest("merch-card")?.offerSelect.cloneNode(!0);e&&this.dispatchEvent(new CustomEvent(R,{detail:{offerSelect:e},bubbles:!0}))}get dynamicPrice(){return this.querySelector('[slot="price"]')}selectMerchOffer(e){if(e===this.merchOffer)return;this.merchOffer=e;let r=this.dynamicPrice;if(e.price&&r){let o=e.price.cloneNode(!0);r.onceSettled?r.onceSettled().then(()=>{r.replaceWith(o)}):r.replaceWith(o)}}};customElements.define(c,a); +`;document.head.appendChild(ht);var c="merch-card",n=class extends zt{static properties={name:{type:String,attribute:"name",reflect:!0},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},borderColor:{type:String,attribute:"border-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},selected:{type:Boolean,attribute:"aria-selected",reflect:!0},storageOption:{type:String,attribute:"storage",reflect:!0},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:t=>{let[e,o,l]=t.split(",");return{PUF:e,ABM:o,M2M:l}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:t=>Object.fromEntries(t.split(",").map(e=>{let[o,l,p]=e.split(":"),u=Number(l);return[o,{order:isNaN(u)?void 0:u,size:p}]})),toAttribute:t=>Object.entries(t).map(([e,{order:o,size:l}])=>[e,o,l].filter(p=>p!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0},merchOffer:{type:Object}};static styles=[q,dt(),...F()];customerSegment;marketSegment;variantLayout;constructor(){super(),this.filters={},this.types="",this.selected=!1}firstUpdated(){this.variantLayout=G(this,!1),this.variantLayout?.connectedCallbackHook()}willUpdate(t){(t.has("variant")||!this.variantLayout)&&(this.variantLayout=G(this),this.variantLayout.connectedCallbackHook())}updated(t){(t.has("badgeBackgroundColor")||t.has("borderColor"))&&(this.style.border=this.computedBorderStyle),this.variantLayout?.postCardUpdateHook(this)}get prices(){return Array.from(this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'))}render(){if(!(!this.isConnected||!this.variantLayout||this.style.display==="none"))return this.variantLayout.renderLayout()}get computedBorderStyle(){return this.variant!=="twp"?`1px solid ${this.borderColor?this.borderColor:this.badgeBackgroundColor}`:""}get badgeElement(){return this.shadowRoot.getElementById("badge")}get headingmMSlot(){return this.shadowRoot.querySelector('slot[name="heading-m"]').assignedElements()[0]}get footerSlot(){return this.shadowRoot.querySelector('slot[name="footer"]')?.assignedElements()[0]}get price(){return this.headingmMSlot?.querySelector('span[is="inline-price"]')}get checkoutLinks(){return[...this.footerSlot?.querySelectorAll('a[is="checkout-link"]')??[]]}async toggleStockOffer({target:t}){if(!this.stockOfferOsis)return;let e=this.checkoutLinks;if(e.length!==0)for(let o of e){await o.onceSettled();let l=o.value?.[0]?.planType;if(!l)return;let p=this.stockOfferOsis[l];if(!p)return;let u=o.dataset.wcsOsi.split(",").filter(mt=>mt!==p);t.checked&&u.push(p),o.dataset.wcsOsi=u.join(",")}}handleQuantitySelection(t){let e=this.checkoutLinks;for(let o of e)o.dataset.quantity=t.detail.option}get titleElement(){return this.querySelector(this.variantLayout?.headingSelector||".card-heading")}get title(){return this.titleElement?.textContent?.trim()}get description(){return this.querySelector('[slot="body-xs"]')?.textContent?.trim()}updateFilters(t){let e={...this.filters};Object.keys(e).forEach(o=>{if(t){e[o].order=Math.min(e[o].order||2,2);return}let l=e[o].order;l===1||isNaN(l)||(e[o].order=Number(l)+1)}),this.filters=e}includes(t){return this.textContent.match(new RegExp(t,"i"))!==null}connectedCallback(){super.connectedCallback(),this.setAttribute("tabindex",this.getAttribute("tabindex")??"0"),this.addEventListener(H,this.handleQuantitySelection),this.addEventListener(I,this.merchCardReady,{once:!0}),this.updateComplete.then(()=>{this.merchCardReady()}),this.storageOptions?.addEventListener("change",this.handleStorageChange)}disconnectedCallback(){super.disconnectedCallback(),this.variantLayout.disconnectedCallbackHook(),this.removeEventListener(H,this.handleQuantitySelection),this.storageOptions?.removeEventListener(P,this.handleStorageChange)}get storageOptions(){return this.querySelector("sp-radio-group#storage")}get storageSpecificOfferSelect(){let t=this.storageOptions?.selected;if(t){let e=this.querySelector(`merch-offer-select[storage="${t}"]`);if(e)return e}return this.querySelector("merch-offer-select")}get offerSelect(){return this.storageOptions?this.storageSpecificOfferSelect:this.querySelector("merch-offer-select")}get quantitySelect(){return this.querySelector("merch-quantity-select")}merchCardReady(){this.offerSelect&&!this.offerSelect.planType||this.dispatchEvent(new CustomEvent(W,{bubbles:!0}))}handleStorageChange(){let t=this.closest("merch-card")?.offerSelect.cloneNode(!0);t&&this.dispatchEvent(new CustomEvent(P,{detail:{offerSelect:t},bubbles:!0}))}get dynamicPrice(){return this.querySelector('[slot="price"]')}selectMerchOffer(t){if(t===this.merchOffer)return;this.merchOffer=t;let e=this.dynamicPrice;if(t.price&&e){let o=t.price.cloneNode(!0);e.onceSettled?e.onceSettled().then(()=>{e.replaceWith(o)}):e.replaceWith(o)}}};customElements.define(c,n); diff --git a/libs/features/mas/mocks/offers.json b/libs/features/mas/mocks/offers.json index 3043954080..6defc19bce 100644 --- a/libs/features/mas/mocks/offers.json +++ b/libs/features/mas/mocks/offers.json @@ -1102,5 +1102,43 @@ "language": "MULT", "merchant": "ADOBE" } - ] + ], + "nTbB50pS4lLGv_x1l_UKggd-lxxo2zAJ7WYDa2mW19s-mult": [ + { + "offerSelectorIds": [ + "nTbB50pS4lLGv_x1l_UKggd-lxxo2zAJ7WYDa2mW19s" + ], + "offerId": "44C623423443E5D4D7F53719C25F71D7", + "startDate": "2022-08-08T07:00:00.000Z", + "endDate": "2099-12-20T07:58:00.000Z", + "priceDetails": { + "price": 22.19, + "priceWithoutDiscount": 23.99, + "priceWithoutTax": 22.19, + "priceWithoutDiscountAndTax": 23.99, + "usePrecision": true, + "formatString": "'US$'#,##0.00", + "taxDisplay": "TAX_EXCLUSIVE", + "taxTerm": "TAX" + }, + "analytics": "{\"offerId\":\"44C623423443E5D4D7F53719C25F71D7\",\"label\":\"acrobat_pro_dc_plus_sign_funnel_team\",\"price\":\"22.19\",\"amountWithoutTax\":\"22.19\",\"commitmentType\":\"YEAR\",\"billingFrequency\":\"MONTHLY\",\"currencyCode\":\"USD\"}", + "productArrangementCode": "acrobat_pro_dc_plus_sign_funnel_team", + "productArrangement": { + "productFamily": "ACROBAT", + "productCode": "ASIG" + }, + "buyingProgram": "RETAIL", + "commitment": "YEAR", + "term": "MONTHLY", + "customerSegment": "TEAM", + "marketSegments": [ + "COM" + ], + "salesChannel": "DIRECT", + "offerType": "PROMOTION", + "pricePoint": "ACROBAT_PRO_ASIG_FY22_LO_TEAM_BUNDLE_7_5_OFF_WW_COM", + "language": "MULT", + "merchant": "ADOBE" + } + ] } diff --git a/libs/features/mas/web-components/src/variants/mini-compare-chart.js b/libs/features/mas/web-components/src/variants/mini-compare-chart.js index 02c88066b1..6f42b57c0a 100644 --- a/libs/features/mas/web-components/src/variants/mini-compare-chart.js +++ b/libs/features/mas/web-components/src/variants/mini-compare-chart.js @@ -10,16 +10,9 @@ export class MiniCompareChart extends VariantLayout { super(card); } - #container; - getRowMinHeightPropertyName = (index) => `--consonant-merch-card-footer-row-${index}-min-height`; - getContainer() { - this.#container = this.#container ?? this.card.closest('[class*="-merch-cards"]') ?? this.card.parentElement; - return this.#container; - } - getGlobalCSS() { return CSS; } @@ -35,28 +28,10 @@ export class MiniCompareChart extends VariantLayout { return html`
${secureLabel}
`; } - updateMiniCompareElementMinHeight (el, name) { - const elMinHeightPropertyName = `--consonant-merch-card-mini-compare-${name}-height`; - const height = Math.max( - 0, - parseFloat(window.getComputedStyle(el).height) || 0, - ); - const maxMinHeight = - parseFloat( - this.getContainer().style.getPropertyValue(elMinHeightPropertyName), - ) || 0; - if (height > maxMinHeight) { - this.getContainer().style.setProperty( - elMinHeightPropertyName, - `${height}px`, - ); - } - } - adjustMiniCompareBodySlots () { if (this.card.getBoundingClientRect().width <= 2) return; - this.updateMiniCompareElementMinHeight( + this.updateCardElementMinHeight( this.card.shadowRoot.querySelector('.top-section'), 'top-section', ); @@ -73,12 +48,12 @@ export class MiniCompareChart extends VariantLayout { ]; slots.forEach((slot) => - this.updateMiniCompareElementMinHeight( + this.updateCardElementMinHeight( this.card.shadowRoot.querySelector(`slot[name="${slot}"]`), slot, ), ); - this.updateMiniCompareElementMinHeight( + this.updateCardElementMinHeight( this.card.shadowRoot.querySelector('footer'), 'footer', ); @@ -88,7 +63,7 @@ export class MiniCompareChart extends VariantLayout { ); if (badge && badge.textContent !== '') { this.getContainer().style.setProperty( - '--consonant-merch-card-mini-compare-top-section-mobile-height', + '--consonant-merch-card-mini-compare-chart-top-section-mobile-height', '32px', ); } @@ -158,7 +133,7 @@ export class MiniCompareChart extends VariantLayout { display: block; } :host([variant='mini-compare-chart']) footer { - min-height: var(--consonant-merch-card-mini-compare-footer-height); + min-height: var(--consonant-merch-card-mini-compare-chart-footer-height); padding: var(--consonant-merch-spacing-xs); } @@ -166,7 +141,7 @@ export class MiniCompareChart extends VariantLayout { :host([variant='mini-compare-chart']) .top-section { padding-top: var(--consonant-merch-spacing-s); padding-inline-start: var(--consonant-merch-spacing-s); - height: var(--consonant-merch-card-mini-compare-top-section-height); + height: var(--consonant-merch-card-mini-compare-chart-top-section-height); } @media screen and ${unsafeCSS(TABLET_DOWN)} { @@ -194,35 +169,35 @@ export class MiniCompareChart extends VariantLayout { } /* mini-compare card heights for the slots: heading-m, body-m, heading-m-price, price-commitment, offers, promo-text, footer */ :host([variant='mini-compare-chart']) slot[name='heading-m'] { - min-height: var(--consonant-merch-card-mini-compare-heading-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-heading-m-height); } :host([variant='mini-compare-chart']) slot[name='body-m'] { - min-height: var(--consonant-merch-card-mini-compare-body-m-height); + min-height: var(--consonant-merch-card-mini-compare-chart-body-m-height); } :host([variant='mini-compare-chart']) slot[name='heading-m-price'] { min-height: var( - --consonant-merch-card-mini-compare-heading-m-price-height + --consonant-merch-card-mini-compare-chart-heading-m-price-height ); } :host([variant='mini-compare-chart']) slot[name='body-xxs'] { min-height: var( - --consonant-merch-card-mini-compare-body-xxs-height + --consonant-merch-card-mini-compare-chart-body-xxs-height ); } :host([variant='mini-compare-chart']) slot[name='price-commitment'] { min-height: var( - --consonant-merch-card-mini-compare-price-commitment-height + --consonant-merch-card-mini-compare-chart-price-commitment-height ); } :host([variant='mini-compare-chart']) slot[name='offers'] { - min-height: var(--consonant-merch-card-mini-compare-offers-height); + min-height: var(--consonant-merch-card-mini-compare-chart-offers-height); } :host([variant='mini-compare-chart']) slot[name='promo-text'] { - min-height: var(--consonant-merch-card-mini-compare-promo-text-height); + min-height: var(--consonant-merch-card-mini-compare-chart-promo-text-height); } :host([variant='mini-compare-chart']) slot[name='callout-content'] { min-height: var( - --consonant-merch-card-mini-compare-callout-content-height + --consonant-merch-card-mini-compare-chart-callout-content-height ); } `; diff --git a/libs/features/mas/web-components/src/variants/product.js b/libs/features/mas/web-components/src/variants/product.js index b9aced8379..8c7d7862f1 100644 --- a/libs/features/mas/web-components/src/variants/product.js +++ b/libs/features/mas/web-components/src/variants/product.js @@ -1,5 +1,6 @@ import { VariantLayout } from "./variant-layout"; -import { html } from 'lit'; +import { isMobile } from '../utils.js'; +import { html, css } from 'lit'; import { CSS } from './product.css.js'; export class Product extends VariantLayout { @@ -11,16 +12,75 @@ export class Product extends VariantLayout { return CSS; } + adjustProductBodySlots() { + if (this.card.getBoundingClientRect().width === 0) return; + + const slots = [ + 'heading-xs', + 'body-xxs', + 'body-xs', + 'promo-text', + 'callout-content', + 'body-lower', + ]; + + slots.forEach((slot) => + this.updateCardElementMinHeight( + this.card.shadowRoot.querySelector(`slot[name="${slot}"]`), + slot + ), + ); + } + renderLayout() { return html` ${this.badge}
- ${!this.promoBottom ? html`` : ''} + ${!this.promoBottom ? html`` : ''} - ${this.promoBottom ? html`` : ''} + ${this.promoBottom ? html`` : ''} + +
${this.secureLabelFooter}`; } + + connectedCallbackHook() { + super.connectedCallbackHook(); + window.addEventListener('resize', this.postCardUpdateHook.bind(this)); + } + + postCardUpdateHook() { + if (!isMobile()) { + this.adjustProductBodySlots(); + } + } + + static variantStyle = css` + :host([variant='product']) > slot:not([name='icons']) { + display: block; + } + :host([variant='product']) slot[name='body-xs'] { + min-height: var(--consonant-merch-card-product-body-xs-height); + display: block; + } + :host([variant='product']) slot[name='heading-xs'] { + min-height: var(--consonant-merch-card-product-heading-xs-height); + display: block; + } + :host([variant='product']) slot[name='body-xxs'] { + min-height: var(--consonant-merch-card-product-body-xxs-height); + display: block; + } + :host([variant='product']) slot[name='promo-text'] { + min-height: var(--consonant-merch-card-product-promo-text-height); + display: block; + } + :host([variant='product']) slot[name='callout-content'] { + min-height: var(--consonant-merch-card-product-callout-content-height); + display: block; + } + `; } diff --git a/libs/features/mas/web-components/src/variants/variant-layout.js b/libs/features/mas/web-components/src/variants/variant-layout.js index 269b27e97c..4f621359eb 100644 --- a/libs/features/mas/web-components/src/variants/variant-layout.js +++ b/libs/features/mas/web-components/src/variants/variant-layout.js @@ -5,6 +5,13 @@ export class VariantLayout { card; + #container; + + getContainer() { + this.#container = this.#container ?? this.card.closest('[class*="-merch-cards"]') ?? this.card.parentElement; + return this.#container; + } + insertVariantStyle() { if (!VariantLayout.styleMap[this.card.variant]) { VariantLayout.styleMap[this.card.variant] = true; @@ -14,6 +21,25 @@ export class VariantLayout { } } + updateCardElementMinHeight(el, name) { + const elMinHeightPropertyName = `--consonant-merch-card-${this.card.variant}-${name}-height`; + const height = Math.max( + 0, + parseInt(window.getComputedStyle(el).height) || 0, + ); + const maxMinHeight = + parseInt( + this.getContainer().style.getPropertyValue(elMinHeightPropertyName), + ) || 0; + + if (height > maxMinHeight) { + this.getContainer().style.setProperty( + elMinHeightPropertyName, + `${height}px`, + ); + } + } + constructor(card) { this.card = card; this.insertVariantStyle(); diff --git a/libs/features/mas/web-components/src/variants/variants.js b/libs/features/mas/web-components/src/variants/variants.js index 9a676de7d8..0a7d9a976c 100644 --- a/libs/features/mas/web-components/src/variants/variants.js +++ b/libs/features/mas/web-components/src/variants/variants.js @@ -44,6 +44,7 @@ const getVariantStyles = () => { styles.push(Catalog.variantStyle); styles.push(CCDAction.variantStyle); styles.push(MiniCompareChart.variantStyle); + styles.push(Product.variantStyle); styles.push(Plans.variantStyle); styles.push(Segment.variantStyle); styles.push(SpecialOffer.variantStyle); diff --git a/libs/features/mas/web-components/test/merch-card-product.test.html b/libs/features/mas/web-components/test/merch-card-product.test.html new file mode 100644 index 0000000000..944bb43fec --- /dev/null +++ b/libs/features/mas/web-components/test/merch-card-product.test.html @@ -0,0 +1,176 @@ + + + + + + + Merch Card Web Component Product Variant demo page + + + + + + + +
+
+ + + +
+ +
+ + + diff --git a/libs/features/mas/web-components/test/merch-card-product.test.html.js b/libs/features/mas/web-components/test/merch-card-product.test.html.js new file mode 100644 index 0000000000..c67fb464a9 --- /dev/null +++ b/libs/features/mas/web-components/test/merch-card-product.test.html.js @@ -0,0 +1,69 @@ +// @ts-nocheck +import { runTests } from '@web/test-runner-mocha'; +import { expect } from '@esm-bundle/chai'; + +import { mockLana } from './mocks/lana.js'; +import { mockFetch } from './mocks/fetch.js'; + +import '../src/merch-offer.js'; +import '../src/merch-offer-select.js'; +import '../src/merch-quantity-select.js'; + +import { appendMiloStyles } from './utils.js'; +import { mockIms } from './mocks/ims.js'; +import { withWcs } from './mocks/wcs.js'; +import mas from './mas.js'; + +const skipTests = sessionStorage.getItem('skipTests'); + +runTests(async () => { + mockIms(); + mockLana(); + await mockFetch(withWcs); + await mas(); + if (skipTests !== null) { + appendMiloStyles(); + return; + }; + + describe('merch-card web component', () => { + it('product should have same body slot heights', async () => { + const products = document.querySelectorAll( + 'merch-card[variant="product"]', + ); + await Promise.all( + [...products].flatMap((card) => { + return [ + card.updateComplete, + ...[...card.querySelectorAll('[data-wcs-osi]')].map( + (osi) => osi.onceSettled(), + ), + ]; + }), + ); + + const [card1Slots, card2Slots, card3Slots] = [ + ...products, + ].map((product) => { + const heights = [ + 'slot[name="heading-xs"]', + 'slot[name="body-xxs"]', + 'slot[name="body-xs"]', + 'slot[name="callout-content"]', + 'slot[name="body-lower"]', + ] + .map((selector) => { + const el = + product.shadowRoot.querySelector(selector); + if (!el) return 0; + return parseInt(window.getComputedStyle(el).height); + }) + .join(','); + return heights; + }); + expect(card1Slots).to.not.contain('auto'); + expect(card1Slots).to.equal(card2Slots); + expect(card2Slots).to.equal(card3Slots); + }); + }); +}); diff --git a/test/blocks/merch-card/merch-card.test.js b/test/blocks/merch-card/merch-card.test.js index 154df0f8d1..dd314894dd 100644 --- a/test/blocks/merch-card/merch-card.test.js +++ b/test/blocks/merch-card/merch-card.test.js @@ -497,3 +497,16 @@ describe('Viewport Responsiveness without Sinon', () => { expect(bigPrice.style.fontSize).to.equal('16px'); }); }); + +describe('Product Merch Card', () => { + it('Supports Product Merch card with callout', async () => { + document.body.innerHTML = await readMockText('/test/blocks/merch-card/mocks/product.html'); + const merchCard = await init(document.querySelector('.product')); + + const calloutSlot = merchCard.querySelector('[slot="callout-content"]'); + expect(calloutSlot).to.exist; + + const lowerBodySlot = merchCard.querySelector('[slot="body-lower"]'); + expect(lowerBodySlot).to.exist; + }); +}); diff --git a/test/blocks/merch-card/mocks/product.html b/test/blocks/merch-card/mocks/product.html new file mode 100644 index 0000000000..ff984ea7ff --- /dev/null +++ b/test/blocks/merch-card/mocks/product.html @@ -0,0 +1,32 @@ +
+
+
+
+
+

Acrobat Standard for Teams

+

PRICE + - ABM - Adobe Acrobat Pro

+

+ Annual subscription, cancel within 14 days for a full refund. Fee applies if you cancel after 14 days

+

Single PDF App with capabilities to edit, convert and e-sign

+
AI Assistant add-on + available. Early access pricing extended to September 4, 2024.
+
    +
  • Quantity +
      +
    • Number of licenses
    • +
    • 2,10,1
    • +
    +
  • +
+

--- #E8E8E8

+

CTA + {{buy-now}}

+
+
+
+
From 96edd146db46b7702d3de40c286d06a338eb2e9d Mon Sep 17 00:00:00 2001 From: Raghav Sharma <118168183+sharmrj@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:10:57 +0530 Subject: [PATCH 2/6] MWPW-155489 [PEP] Add device type as PEP criteria (#2931) PEP now checks if the the useragent is one of a number of mobile devices. --- libs/blocks/global-navigation/global-navigation.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/blocks/global-navigation/global-navigation.js b/libs/blocks/global-navigation/global-navigation.js index 9126740c39..72777e5c92 100644 --- a/libs/blocks/global-navigation/global-navigation.js +++ b/libs/blocks/global-navigation/global-navigation.js @@ -639,9 +639,12 @@ class Gnav { const state = getMetadata('app-prompt')?.toLowerCase(); const entName = getMetadata('app-prompt-entitlement')?.toLowerCase(); const promptPath = getMetadata('app-prompt-path')?.toLowerCase(); + const hasMobileUA = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Touch/i.test(navigator.userAgent); + if (state === 'off' || !window.adobeIMS?.isSignedInUser() || !isDesktop.matches + || hasMobileUA || !entName?.length || !promptPath?.length) return; From e6e12c8b6f665f95cc57171b4f21617447a8f93d Mon Sep 17 00:00:00 2001 From: Akansha Arora Date: Thu, 26 Sep 2024 20:11:04 +0530 Subject: [PATCH 3/6] Jarvis stage URL for Acom stage env (#2948) * Jarvis stage for acom stage env * Added test cases for asset URL verification * Added test cases for asset URL verification * Revert "Added test cases for asset URL verification" This reverts commit 324e62c5ead8b7c37ac6f882daa92a1bf72e9671. :wq# * Clean up code by removing lint errors * Revert "Clean up code by removing lint errors" This reverts commit ae4dadc3a5275b411f54b588f495a2712ea0e61f. * Clean up code by removing lint errors --------- Co-authored-by: Akansha Arora <> --- libs/features/jarvis-chat.js | 2 +- test/features/jarvis-chat/jarvis-chat.test.js | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libs/features/jarvis-chat.js b/libs/features/jarvis-chat.js index fc5c313ee5..03e516ba21 100644 --- a/libs/features/jarvis-chat.js +++ b/libs/features/jarvis-chat.js @@ -204,7 +204,7 @@ const openChat = (event) => { }; const startInitialization = async (config, event, onDemand) => { - const asset = 'https://client.messaging.adobe.com/latest/AdobeMessagingClient'; + const asset = `https://${config.env.name !== 'prod' ? 'stage-' : ''}client.messaging.adobe.com/latest/AdobeMessagingClient`; await Promise.all([ loadStyle(`${asset}.css`), loadScript(`${asset}.js`), diff --git a/test/features/jarvis-chat/jarvis-chat.test.js b/test/features/jarvis-chat/jarvis-chat.test.js index ee6e6fe273..ba3e260b2f 100644 --- a/test/features/jarvis-chat/jarvis-chat.test.js +++ b/test/features/jarvis-chat/jarvis-chat.test.js @@ -262,4 +262,29 @@ describe('Jarvis Chat', () => { params.callbacks.onReadyCallback(); expect(openMessagingWindowSpy.called).to.be.true; }); + + it('should use stage asset URL in non-prod environment', async () => { + setConfig(defaultConfig); + const config = getConfig(); + config.jarvis.onDemand = false; + const loadScriptSpy = sinon.spy(); + const loadStyleSpy = sinon.spy(); + await initJarvisChat(config, loadScriptSpy, loadStyleSpy, sinon.stub()); + const expectedAsset = 'https://stage-client.messaging.adobe.com/latest/AdobeMessagingClient'; + expect(loadScriptSpy.calledWithExactly(`${expectedAsset}.js`)).to.be.true; + expect(loadStyleSpy.calledWithExactly(`${expectedAsset}.css`)).to.be.true; + }); + + it('should use prod asset URL in prod environment', async () => { + setConfig(defaultConfig); + const config = getConfig(); + config.jarvis.onDemand = false; + config.env.name = 'prod'; + const loadScriptSpy = sinon.spy(); + const loadStyleSpy = sinon.spy(); + await initJarvisChat(config, loadScriptSpy, loadStyleSpy, sinon.stub()); + const expectedAsset = 'https://client.messaging.adobe.com/latest/AdobeMessagingClient'; + expect(loadScriptSpy.calledWithExactly(`${expectedAsset}.js`)).to.be.true; + expect(loadStyleSpy.calledWithExactly(`${expectedAsset}.css`)).to.be.true; + }); }); From e364702e00a8349796c5fb01b2fa152a213f6806 Mon Sep 17 00:00:00 2001 From: Rares Munteanu Date: Thu, 26 Sep 2024 16:41:11 +0200 Subject: [PATCH 4/6] [MWPW-156723] Add option for brick stroke (#2954) --- libs/blocks/brick/brick.css | 63 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/libs/blocks/brick/brick.css b/libs/blocks/brick/brick.css index 9157ba16a6..43cd31584d 100644 --- a/libs/blocks/brick/brick.css +++ b/libs/blocks/brick/brick.css @@ -20,6 +20,14 @@ color: var(--color-white); } +.brick.border { + border: 1px solid var(--color-gray-200); +} + +.brick.click > a { + text-decoration: none; +} + .brick .background { position: absolute; bottom: 0; @@ -30,7 +38,7 @@ } .brick .foreground { - position: relative; + position: relative; display: flex; flex-grow: 1; padding: var(--spacing-m); @@ -116,10 +124,19 @@ .brick .foreground p.action-area { display: flex; flex-wrap: wrap; - gap: 24px; + gap: var(--spacing-s); margin-top: var(--spacing-s); } +.brick .icon-stack-area li, +.brick .icon-stack-area li a { + display: flex; + align-items: center; + gap: var(--spacing-xs); + text-align: start; + flex-shrink: 0; +} + .brick .icon-stack-area li picture { display: flex; margin: 0; @@ -127,6 +144,11 @@ flex-shrink: 0; } +.brick .foreground a:not([class]), +.brick .foreground span.first-link { + font-weight: 700; +} + .brick .foreground .icon-area picture { display: flex; } @@ -145,10 +167,6 @@ width: auto; } -.brick.click > a { - text-decoration: none; -} - .brick .icon-stack-area { display: flex; flex-flow: row wrap; @@ -165,25 +183,6 @@ width: auto; } -.brick .icon-stack-area li, -.brick .icon-stack-area li a { - display: flex; - align-items: center; - gap: var(--spacing-xs); - text-align: left; - flex-shrink: 0; -} - -.brick .foreground a:not([class]), -.brick .foreground span.first-link { - font-weight: 700; -} - -[dir="rtl"] .brick .icon-stack-area li, -[dir="rtl"] .brick .icon-stack-area li a { - text-align: right; -} - .brick.click a.foreground .first-link:not([class*="button"]) { color: var(--link-color); text-decoration: none; @@ -295,6 +294,12 @@ width: 41.66%; } + .brick.split.row .foreground, + .brick.split.row .foreground .brick-media, + .brick.split.row .foreground picture { + border-radius: inherit; + } + .brick.split.horizontal-center .foreground .brick-text, .brick.split.center .foreground .brick-text { margin: 0; @@ -320,12 +325,6 @@ grid-column: 8 / span 5; } - .brick.split.row .foreground, - .brick.split.row .foreground .brick-media, - .brick.split.row .foreground picture { - border-radius: inherit; - } - .brick.stack .foreground .brick-media picture, .brick.stack .foreground .brick-media img, .brick.stack .foreground .brick-media video { @@ -342,7 +341,7 @@ margin: 0; position: absolute; } - + .brick .foreground .brick-media video, .brick.split.row .foreground .brick-media video { object-fit: fill; From 05ebf1f4246d6c562d87e2e1f26efa7b03a342fa Mon Sep 17 00:00:00 2001 From: Dev Ashish Saradhana <41122199+Deva309@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:17:33 +0530 Subject: [PATCH 5/6] [MWPW-158932] - Add support for custom links through link group in parallel to large menu. (#2942) * Add support for custom links through link group in parallet to large menu * Added UT for the changes * lint fixes * Bug fix mwpw-159018 * Bug fix mwpw-159018 * Bug fix mwpw-159018 --- .../global-navigation/global-navigation.css | 6 +- .../global-navigation/global-navigation.js | 37 +++++++++-- libs/navigation/navigation.js | 2 +- libs/styles/styles.css | 4 ++ .../global-navigation.test.js | 15 +++++ .../navigation-with-custom-links.plain.js | 62 +++++++++++++++++++ .../global-navigation/test-utilities.js | 1 + 7 files changed, 120 insertions(+), 7 deletions(-) create mode 100644 test/blocks/global-navigation/mocks/navigation-with-custom-links.plain.js diff --git a/libs/blocks/global-navigation/global-navigation.css b/libs/blocks/global-navigation/global-navigation.css index cf32fe32ec..90e8f65b0d 100644 --- a/libs/blocks/global-navigation/global-navigation.css +++ b/libs/blocks/global-navigation/global-navigation.css @@ -61,7 +61,7 @@ header.global-navigation { right: 20px; /* hamburger menu gutter */ display: none; flex-direction: column; - height: 100vh; + height: calc(100vh - 100% - 1px); border-top: 1px solid var(--feds-borderColor); background-color: var(--feds-background-nav); } @@ -562,6 +562,10 @@ header.global-navigation { flex-direction: initial; } + .feds-navItem--mobile-only { + display: none; + } + .feds-navItem--megaMenu { position: static; } diff --git a/libs/blocks/global-navigation/global-navigation.js b/libs/blocks/global-navigation/global-navigation.js index 72777e5c92..439bbebfb8 100644 --- a/libs/blocks/global-navigation/global-navigation.js +++ b/libs/blocks/global-navigation/global-navigation.js @@ -271,6 +271,7 @@ class Gnav { constructor({ content, block } = {}) { this.content = content; this.block = block; + this.customLinks = getConfig()?.customLinks ? getConfig().customLinks.split(',') : []; this.blocks = { profile: { @@ -675,6 +676,11 @@ class Gnav { const toggle = this.elements.mobileToggle; const isExpanded = this.isToggleExpanded(); toggle?.setAttribute('aria-expanded', !isExpanded); + if (!isExpanded) { + document.body.classList.add('disable-scroll'); + } else { + document.body.classList.remove('disable-scroll'); + } this.elements.navWrapper?.classList?.toggle('feds-nav-wrapper--expanded', !isExpanded); closeAllDropdowns(); setCurtainState(!isExpanded); @@ -699,7 +705,7 @@ class Gnav { this.elements.mainNav.style.removeProperty('padding-bottom'); } else { const offset = Math.ceil(this.elements.topnavWrapper.getBoundingClientRect().bottom); - this.elements.mainNav.style.setProperty('padding-bottom', `${offset}px`); + this.elements.mainNav.style.setProperty('padding-bottom', `${2 * offset}px`); } }; @@ -721,6 +727,7 @@ class Gnav { if (isDesktop.matches) { toggle.setAttribute('aria-expanded', false); this.elements.navWrapper.classList.remove('feds-nav-wrapper--expanded'); + document.body.classList.remove('disable-scroll'); setCurtainState(false); closeAllDropdowns(); this.blocks?.search?.instance?.clearSearchForm(); @@ -839,7 +846,10 @@ class Gnav { for await (const [index, item] of items.entries()) { await yieldToMain(); - this.elements.mainNav.appendChild(this.decorateMainNavItem(item, index)); + const mainNavItem = this.decorateMainNavItem(item, index); + if (mainNavItem) { + this.elements.mainNav.appendChild(mainNavItem); + } } if (!hasActiveLink()) { @@ -858,8 +868,9 @@ class Gnav { // eslint-disable-next-line class-methods-use-this getMainNavItemType = (item) => { const itemTopParent = item.closest('div'); + const isLinkGroup = !!item.closest('.link-group'); const hasSyncDropdown = itemTopParent instanceof HTMLElement - && itemTopParent.childElementCount > 1; + && !isLinkGroup && itemTopParent.childElementCount > 1; if (hasSyncDropdown) return 'syncDropdownTrigger'; const hasAsyncDropdown = itemTopParent instanceof HTMLElement && itemTopParent.closest('.large-menu') instanceof HTMLElement; @@ -948,6 +959,8 @@ class Gnav { ${decorateCta({ elem: item, type: itemType, index: index + 1 })}
`, item); case 'link': { + let customLinkModifier = ''; + let removeCustomLink = false; const linkElem = item.querySelector('a'); linkElem.className = 'feds-navLink'; linkElem.setAttribute('daa-ll', getAnalyticsValue(linkElem.textContent, index + 1)); @@ -959,11 +972,25 @@ class Gnav { linkElem.setAttribute('tabindex', 0); } + const customLinksSection = item.closest('.link-group'); + if (customLinksSection) { + const removeLink = () => { + const url = new URL(linkElem.href); + linkElem.setAttribute('href', `${url.origin}${url.pathname}${url.search}`); + const linkHash = url.hash.slice(2); + return !this.customLinks.includes(linkHash); + }; + [...customLinksSection.classList].splice(1).forEach((className) => { + customLinkModifier = ` feds-navItem--${className}`; + }); + removeCustomLink = removeLink(); + } + const linkTemplate = toFragment` -
+
${linkElem}
`; - return addMepHighlightAndTargetId(linkTemplate, item); + return removeCustomLink ? null : addMepHighlightAndTargetId(linkTemplate, item); } case 'text': return addMepHighlightAndTargetId(toFragment`
diff --git a/libs/navigation/navigation.js b/libs/navigation/navigation.js index afd835a982..121ab957be 100644 --- a/libs/navigation/navigation.js +++ b/libs/navigation/navigation.js @@ -4,7 +4,7 @@ const blockConfig = [ name: 'global-navigation', targetEl: 'header', appendType: 'prepend', - params: ['imsClientId', 'searchEnabled', 'unavHelpChildren'], + params: ['imsClientId', 'searchEnabled', 'unavHelpChildren', 'customLinks'], }, { key: 'footer', diff --git a/libs/styles/styles.css b/libs/styles/styles.css index 749ca43a02..335ef59b0d 100644 --- a/libs/styles/styles.css +++ b/libs/styles/styles.css @@ -732,6 +732,10 @@ header.global-navigation.has-promo { display: none !important; } +.disable-scroll { + overflow: hidden; +} + h1, h2, h3, h4, h5, h6 { scroll-margin-top: var(--feds-totalheight-nav); } diff --git a/test/blocks/global-navigation/global-navigation.test.js b/test/blocks/global-navigation/global-navigation.test.js index 3c9cf81e38..d28284a70f 100644 --- a/test/blocks/global-navigation/global-navigation.test.js +++ b/test/blocks/global-navigation/global-navigation.test.js @@ -18,6 +18,7 @@ import { isDesktop, isTangentToViewport, toFragment } from '../../../libs/blocks import logoOnlyNav from './mocks/global-navigation-only-logo.plain.js'; import longNav from './mocks/global-navigation-long.plain.js'; import darkNav from './mocks/dark-global-navigation.plain.js'; +import navigationWithCustomLinks from './mocks/navigation-with-custom-links.plain.js'; import globalNavigationMock from './mocks/global-navigation.plain.js'; import { getConfig } from '../../../tools/send-to-caas/send-utils.js'; @@ -645,4 +646,18 @@ describe('global navigation', () => { expect(document.querySelector(selectors.topNavWrapper).classList.contains('feds-client-search')).to.exist; }); }); + + describe('Custom Links for mobile hamburger menu', () => { + it('Add custom links through Link Group block in parallel to large menu\'s', async () => { + const customLinks = 'home,learn'; + await createFullGlobalNavigation({ + viewport: 'mobile', + globalNavigation: navigationWithCustomLinks, + customConfig: { customLinks }, + }); + expect( + document.querySelectorAll(selectors.customMobileLink).length, + ).to.equal(customLinks.split(',').length); + }); + }); }); diff --git a/test/blocks/global-navigation/mocks/navigation-with-custom-links.plain.js b/test/blocks/global-navigation/mocks/navigation-with-custom-links.plain.js new file mode 100644 index 0000000000..b58cb5259b --- /dev/null +++ b/test/blocks/global-navigation/mocks/navigation-with-custom-links.plain.js @@ -0,0 +1,62 @@ +export default `
+ +
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
+`; diff --git a/test/blocks/global-navigation/test-utilities.js b/test/blocks/global-navigation/test-utilities.js index 9e38a606b8..fab0999332 100644 --- a/test/blocks/global-navigation/test-utilities.js +++ b/test/blocks/global-navigation/test-utilities.js @@ -42,6 +42,7 @@ export const selectors = { mainNav: '.feds-nav', imsSignIn: '.feds-signIn', crossCloudMenuWrapper: '.feds-crossCloudMenu-wrapper', + customMobileLink: '.feds-navItem--mobile-only', }; export const viewports = { From 4bc22304e8a0fff7e6ddd823c44794bdd1b026b5 Mon Sep 17 00:00:00 2001 From: Mark Perry <124626043+markpadbe@users.noreply.github.com> Date: Thu, 26 Sep 2024 09:52:59 -0700 Subject: [PATCH 6/6] MWPW-158652 [MEP] Only output non fatal errors to internal users and skip rows missing an action value (#2941) * Add previewLog * Add another log * Add warn * Remove unecessary log * Update tests * Update warn log * Add code coverage for empty action * Remove commented code --- .../personalization/personalization.js | 24 ++++++++++++------- .../personalization/mepPreviewSettings.js | 10 ++++++++ .../mocks/manifestEmptyAction.json | 19 +++++++++++++++ .../personalization/personalization.test.js | 20 +++++++++++++--- 4 files changed, 61 insertions(+), 12 deletions(-) create mode 100644 test/features/personalization/mepPreviewSettings.js create mode 100644 test/features/personalization/mocks/manifestEmptyAction.json diff --git a/libs/features/personalization/personalization.js b/libs/features/personalization/personalization.js index 66fd2fbd69..dfc1ac354d 100644 --- a/libs/features/personalization/personalization.js +++ b/libs/features/personalization/personalization.js @@ -207,6 +207,11 @@ const COMMANDS = { }, }; +const log = (...msg) => { + const config = getConfig(); + if (config.mep?.preview) console.log(...msg); +}; + const fetchData = async (url, type = DATA_TYPE.JSON) => { try { const resp = await fetch(normalizePath(url)); @@ -220,7 +225,7 @@ const fetchData = async (url, type = DATA_TYPE.JSON) => { return await resp[type](); } catch (e) { /* c8 ignore next 3 */ - console.log(`Error loading content: ${url}`, e.message || e); + log(`Error loading content: ${url}`, e.message || e); } return null; }; @@ -319,7 +324,7 @@ const querySelector = (el, selector, all = false) => { return all ? el.querySelectorAll(selector) : el.querySelector(selector); } catch (e) { /* eslint-disable-next-line no-console */ - console.log('Invalid selector: ', selector); + log('Invalid selector: ', selector); return null; } }; @@ -513,6 +518,10 @@ const getVariantInfo = (line, variantNames, variants, manifestPath, fTargetId) = // retro support const action = line.action?.toLowerCase() .replace('content', '').replace('fragment', '').replace('tosection', ''); + if (!action) { + log('Row found with empty action field: ', line); + return; + } const pageFilter = line['page filter'] || line['page filter optional']; const { selector } = line; @@ -565,9 +574,6 @@ const getVariantInfo = (line, variantNames, variants, manifestPath, fTargetId) = } } else if (action in COMMANDS || action in CREATE_CMDS) { variants[vn].commands.push(variantInfo); - } else { - /* c8 ignore next 2 */ - console.log('Invalid action found: ', line); } }); }; @@ -599,7 +605,7 @@ export function parseManifestVariants(data, manifestPath, targetId) { return manifestConfig; } catch (e) { /* c8 ignore next 3 */ - console.log('error parsing personalization manifestConfig:', e, experiences); + log('error parsing personalization manifestConfig:', e, experiences); } return null; } @@ -777,7 +783,7 @@ export async function getManifestConfig(info = {}, variantOverride = false) { if (!manifestConfig) { /* c8 ignore next 3 */ - console.log('Error loading personalization manifestConfig: ', name || manifestPath); + log('Error loading personalization manifestConfig: ', name || manifestPath); return null; } const infoKeyMap = { @@ -915,7 +921,7 @@ export function cleanAndSortManifestList(manifests) { parsePlaceholders(placeholderData, getConfig(), manifestConfig.selectedVariantName); } catch (e) { - console.warn(e); + log(`MEP Error parsing manifests: ${e.toString()}`); window.lana?.log(`MEP Error parsing manifests: ${e.toString()}`); } }); @@ -1071,7 +1077,7 @@ export async function init(enablements = {}) { try { await applyPers(manifests, postLCP); } catch (e) { - console.warn(e); + log(`MEP Error: ${e.toString()}`); window.lana?.log(`MEP Error: ${e.toString()}`); } } diff --git a/test/features/personalization/mepPreviewSettings.js b/test/features/personalization/mepPreviewSettings.js new file mode 100644 index 0000000000..5a6ce71e19 --- /dev/null +++ b/test/features/personalization/mepPreviewSettings.js @@ -0,0 +1,10 @@ +const mepSettings = { + mepParam: false, + mepHighlight: false, + mepButton: 'on', + pzn: '/path/to/manifest.json', + promo: false, + target: false, +}; + +export default mepSettings; diff --git a/test/features/personalization/mocks/manifestEmptyAction.json b/test/features/personalization/mocks/manifestEmptyAction.json new file mode 100644 index 0000000000..f2e1dac0ac --- /dev/null +++ b/test/features/personalization/mocks/manifestEmptyAction.json @@ -0,0 +1,19 @@ +{ + "total": 5, + "offset": 0, + "limit": 5, + "data": [ + { + "action": "", + "selector": "", + "page filter (optional)": "", + "param-newoffer=123": "", + "chrome": "/test/features/personalization/mocks/myblock", + "target-var1": "/test/features/personalization/mocks/myblock", + "firefox": "", + "android": "", + "ios": "" + } + ], + ":type": "sheet" +} diff --git a/test/features/personalization/personalization.test.js b/test/features/personalization/personalization.test.js index 0c25dc04ab..33ae9f2c97 100644 --- a/test/features/personalization/personalization.test.js +++ b/test/features/personalization/personalization.test.js @@ -7,6 +7,7 @@ import { init, matchGlob, createContent, combineMepSources, buildVariantInfo, } from '../../../libs/features/personalization/personalization.js'; import mepSettings from './mepSettings.js'; +import mepSettingsPreview from './mepPreviewSettings.js'; document.head.innerHTML = await readFile({ path: './mocks/metadata.html' }); document.body.innerHTML = await readFile({ path: './mocks/personalization.html' }); @@ -279,14 +280,27 @@ describe('Functional Test', () => { }); }); - it('invalid selector should output error to console', async () => { + it('invalid selector should output error to console in preview mode', async () => { window.console.log = stub(); - await loadManifestAndSetResponse('./mocks/manifestInvalidSelector.json'); + await init(mepSettingsPreview); + assert.calledWith(window.console.log, 'Invalid selector: '); + window.console.log.reset(); + }); + it('invalid selector should not output error to console if not in preview mode', async () => { + window.console.log = stub(); + await loadManifestAndSetResponse('./mocks/manifestInvalidSelector.json'); await init(mepSettings); + assert.neverCalledWith(window.console.log, 'Invalid selector: '); + window.console.log.reset(); + }); - assert.calledWith(window.console.log, 'Invalid selector: '); + it('missing selector should output error to console if in preview mode', async () => { + window.console.log = stub(); + await loadManifestAndSetResponse('./mocks/manifestEmptyAction.json'); + await init(mepSettingsPreview); + assert.calledWith(window.console.log, 'Row found with empty action field: '); window.console.log.reset(); });