"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[20],{91:(n,e,t)=>{t.d(e,{a:()=>l,b:()=>c});var a=t(108),r=t(79),i=t(5),o=t(36),s=function(n,e,t,a){return new(t||(t=Promise))((function(r,i){function o(n){try{l(a.next(n))}catch(n){i(n)}}function s(n){try{l(a.throw(n))}catch(n){i(n)}}function l(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(o,s)}l((a=a.apply(n,e||[])).next())}))};function l(n){return s(this,arguments,void 0,(function*({context:n,handles:e,defaultVariantIds:t,queryFilters:s,maybeQueryFilters:l,generatedCollectionVariantIds:f,pinnedVariantColors:p,pinnedVariantIds:v,originalCollectionHandles:h,handlesTrackingParameterMap:g}){var m,b;e=c(n,e),s=u(s),l=u(l);const O=yield Promise.all([...e.map((e=>(0,r.b)({context:n,handle:e,isPDP:!1,queryFilters:s})))]);p=function({products:n,pinnedVariantColors:e,pinnedVariantIds:t}){if(!t)return e;const a=null!=e?e:new Map;return n.forEach(((n,e)=>{if(!n)return;const r=n.variants.find((n=>t.has(n.variantId))),i=null==r?void 0:r.selectedOptions.Color;r&&i&&(t.delete(r.variantId),a.set(`${n.handle}_${e}`,{handle:n.handle,color:i}))})),a}({products:O,pinnedVariantColors:p,pinnedVariantIds:v});const C=(0,a.a)(function(n){return n.map((n=>{if(!n)return;const{handle:e,id:t,priceRange:a,compareAtRange:r,priceCurrency:i,title:o,oos:s,variants:l,vendor:d,imageMap:c,options:u,productType:f,promoInfo:p,plpPromoText:v,plpTagLabels:h,priceTextOverride:g,reviewCount:m,reviewRating:b,badge:O,isPack:C,combinedKey:I,preorderSiblingHandle:y}=n;return{id:t,oos:s,priceRange:a,compareAtRange:r,priceCurrency:i,title:o,handle:e,vendor:d,options:u,variants:l,imageMap:c,productType:f,promoInfo:p,plpPromoText:v,plpTagLabels:h,priceTextOverride:g,reviewCount:m,reviewRating:b,badge:O,isPack:C,combinedKey:I,preorderSiblingHandle:y}})).filter(i.e)}(O),n,s,t,l).map((e=>{const t=null==f?void 0:f[e.handle],a=t&&t.length>0?e.variants.filter((n=>t.includes(n.variantId))):e.variants;return Object.assign(Object.assign({},e),{variants:d(Object.assign(Object.assign({},e),{variants:a}),n),trackingParameters:null==g?void 0:g.get(e.handle)})})),I=[],y=null!=h?h:e;if(p&&p.size>0){const t=null!==(b=null!==(m=n.params.get("sort"))&&void 0!==m?m:n.params.get("sortBy"))&&void 0!==b?b:n.params.get("sort_by"),a=new Set(e),r=[];if(t)for(const n of e)for(const[,e]of p)e.handle===n&&r.push(e);else for(const[,n]of p)a.has(n.handle)&&r.push(n);for(const{handle:e,color:t}of r){const a=C.find((n=>n.handle===e));if(!a){console.warn(`Pinned variant product "${e}" not found`);continue}if("_default"===t){const n=a.variants.find((n=>n.variantId==a.defaultVariantId));if(!n)continue;I.push(Object.assign(Object.assign({},a),{variants:[n],defaultVariantId:n.variantId}));continue}const r=a.variants.find((n=>n.selectedOptions.Color===t));if(!r){console.warn(`Pinned variant color "${t}" not found for ${e}`);continue}const i=O.find((n=>(null==n?void 0:n.handle)===e)),s=(null==i?void 0:i.variants)?i.variants.filter((n=>n.selectedOptions.Color===t)):[],l=s.length?(0,o.b)(n,s):s,d=l.length>0&&l!==s?l[0]:r,c=a.variants.some((n=>n.selectedOptions.Color===t))?a.variants.map((n=>n.selectedOptions.Color===t?d:n)):[...a.variants,d];I.push(Object.assign(Object.assign({},a),{variants:c,defaultVariantId:d.variantId}))}}const w=new Set(I.map((n=>n.handle))),P=w.size&&"enabled"===n.getAssignment("pinVariantsDedupe"),V=C.filter((n=>n.variants.length>0)).filter((n=>y.includes(n.handle))).filter((n=>!P||!w.has(n.handle))).sort((0,o.f)(n));return[...I,...V]}))}function d({variants:n,defaultVariantId:e},t){var a;const r={},i=n.find((n=>n.variantId===e));i&&(r[null!==(a=i.selectedOptions.Color)&&void 0!==a?a:"default"]=i);const s={};return n.forEach((n=>{var e,t;const a=null!==(e=n.selectedOptions.Color)&&void 0!==e?e:"default";null!==(t=s[a])&&void 0!==t||(s[a]=[]),s[a].push(n)})),Object.entries(s).forEach((([n,e])=>{var a,i,s;if(r[n])return;const l=(0,o.b)(t,e);r[n]=null!==(s=null!==(i=null!==(a=l.filter((n=>!n.oos))[0])&&void 0!==a?a:l[0])&&void 0!==i?i:e.filter((n=>!n.oos))[0])&&void 0!==s?s:e[0]})),Object.values(r)}function c(n,e){var t;if(!e.length)return e;const a=null!==(t=n.getAssignment("exitProducts"))&&void 0!==t?t:"default";if("default"===a)return e;const r=a.split("||");return e.filter((n=>!r.includes(n)))}function u(n){if(n)return Object.fromEntries(Object.entries(n).map((([n,e])=>[n,e?new Set(Array.from(e).map((n=>function(n){try{return decodeURIComponent(n)}catch(e){return n}}(n)))):e])))}}}]);