1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,655663,e=>{"use strict";var t=e.i(86863),r=e.i(212923);let i=e=>(0,r.parseCustomizationDetailGroupsFromSource)({choices:e.choices,customdata:e.customdata},{formatIngredient:e=>(0,t.toTitleCaseProductName)(e.replace(/\s+/g," ").trim())});e.s(["buildCheckoutOrderSummaryItems",0,function(e,n){if(!e?.length)return[];let a="string"==typeof n?.fallbackOrderedBy?n.fallbackOrderedBy.trim():"",o=!!(n?.useFallbackOrderedBy&&a),s="string"==typeof n?.prioritizeOrderedByFirst?n.prioritizeOrderedByFirst.trim().toLowerCase():"",l=e.reduce((e,s)=>{let l,u=(0,t.toTitleCaseProductName)(s.name);if(!u)return e;let d=(e=>{if((0,r.isComboChoicesPayload)(e.choices))return null;let t=i(e);if(!t||0===t.length)return null;let n=t.flatMap(e=>[e.label,...e.details]).map(e=>e.trim()).filter(e=>e.length>0);return n.length>0?n:null})(s),c=n?.pairSubstitutions===!0,m=d??(l=(0,r.parseCustomizationDetailsFromSource)({choices:s.choices,customdata:s.customdata},{preferChoicesWhenPresent:!0,pairSubstitutions:c}),(0,r.formatCustomizationDetails)(l,{formatIngredient:e=>(0,t.toTitleCaseProductName)(e.replace(/\s+/g," ").trim()),...c?{substitutionWording:"removal-and-sub"}:{}})),f=(e=>{if(!(0,r.isComboChoicesPayload)(e.choices))return null;let n=i(e);return n&&0!==n.length?n.map(e=>({label:(0,t.toTitleCaseProductName)(e.label)||e.label,details:e.details})):null})(s),p="string"==typeof s.recipient?s.recipient.trim():void 0,g="string"==typeof s.specialinstructions?s.specialinstructions.trim():void 0;return e.push({name:u,quantity:s.quantity??1,orderedBy:(""===p?void 0:p)??(o?a:void 0),modifiers:m.length>0?m:void 0,...f?{modifierGroups:f}:{},notes:""===g?void 0:g}),e},[]);if(!s)return l;let u=[],d=[];return l.forEach(e=>{(e.orderedBy?.trim().toLowerCase()??"")===s?u.push(e):d.push(e)}),[...u,...d]}])},927246,e=>{"use strict";e.s(["readString",0,e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},"toPositiveInt",0,e=>{if("number"==typeof e&&Number.isFinite(e)&&e>0)return Math.trunc(e);if("string"==typeof e&&""!==e.trim()){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}}])},975740,e=>{"use strict";let t=e=>({isSoldOut:!1,matchedBy:"none",normalizedTitle:e}),r=e=>!1===e||"string"==typeof e&&"false"===e.trim().toLowerCase(),i=e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},n=e=>{if("number"==typeof e&&Number.isFinite(e)&&e>0)return e;if("string"==typeof e&&e.trim().length>0){let t=Number(e.trim());return Number.isFinite(t)&&t>0?t:void 0}},a=e=>[n(e.chainProductId),n(e.chainproductid),n(e.productId),n(e.productid),n(e.id)].filter(e=>"number"==typeof e),o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>10||!e||"object"!=typeof e)return[];if(Array.isArray(e))return e.flatMap(e=>o(e,t+1));let r=a(e).length>0,n=!!(i(e.title)??i(e.name)),s=Object.values(e).filter(e=>"object"==typeof e&&null!==e).flatMap(e=>o(e,t+1));return r&&n?[e,...s]:s},s=e=>{if(!1===e)return!0;if("string"==typeof e){let t=e.trim().toLowerCase();return"false"===t||"unavailable"===t||"disabled"===t}if(!e||"object"!=typeof e)return!1;if(!1===e.now||!1===e.available||!1===e.enabled||!0===e.isdisabled||!0===e.isDisabled)return!0;if("string"==typeof e.status){let t=e.status.trim().toLowerCase();if("unavailable"===t||"disabled"===t)return!0}return!1},l=e=>"string"!=typeof e?"":e.toLowerCase().replace(/[^a-z0-9]+/g," ").trim();e.s(["isOptionAvailable",0,e=>{let t=e.availability;if(null==t)return!0;if("boolean"==typeof t)return t;if("string"==typeof t){let e=t.trim().toLowerCase();return!e||"false"!==e&&"unavailable"!==e&&"disabled"!==e}if("object"==typeof t){if(r(t.available??t.isavailable??t.isAvailable)||r(t.enabled))return!1;let e="string"==typeof t.status?t.status.trim().toLowerCase():"";if("unavailable"===e||"disabled"===e)return!1}return!0},"isSoldOutBadgeLabel",0,e=>{if("string"!=typeof e)return!1;let t=e.trim().toLowerCase();return!!t&&(t.includes("sold out")||t.includes("out of stock")||t.includes("unavailable"))},"isUnavailableAvailability",0,s,"normalizeDeliveryModeCacheKey",0,e=>String(e??"").trim().toLowerCase().replace(/[^a-z0-9]/g,""),"resolvePdpSoldOutFromMenuResponse",0,(e,r,n)=>{let u=l(n);if(!e||"object"!=typeof e)return t(u);let d=o(e);if(0===d.length)return t(u);let c=Number.isFinite(r)&&(r??0)>0?r:void 0,m=c?d.find(e=>a(e).includes(c)):void 0,f=!m&&u?d.find(e=>l(i(e.title)??i(e.name))===u):void 0,p=m??f;return p?{isSoldOut:s(p.availability),matchedBy:m?"productId":"title",normalizedTitle:u,matchedTitle:i(p.title)??i(p.name),availability:p.availability}:t(u)}])},232780,e=>{"use strict";var t=e.i(271645),r=e.i(340290),i=e.i(438067),n=e.i(616303),a=e.i(157099);e.i(732832);var o=e.i(99292),s=e.i(86863),l=e.i(267648),u=e.i(663109);let d="125119";e.s(["useMenuProducts",0,(e,c,m)=>{let f=(0,i.useAppDispatch)(),p=(0,i.useAppSelector)(e=>e.menu?.cafeMenuCache)??{},g=(0,t.useRef)(p);g.current=p;let h=void 0===e?d:e,y=(c??"pickup").toLowerCase(),[b,v]=(0,t.useState)({mainCategories:[]}),[C,S]=(0,t.useState)(null!=e),[x,I]=(0,t.useState)(null);return(0,t.useEffect)(()=>
1{if(r.Logger.debug("[useMenuProducts] Checking menu for",{restaurantId:e,deliveryMode:c}),null===e){v({mainCategories:[]}),I(null),S(!1);return}let t=h?g.current[h]?.[y]:void 0,i="number"==typeof t?.cachedAt&&Date.now()-t.cachedAt<(0,u.getMenuCacheTtlMs)();if(t?.mainCategories?.length&&i){r.Logger.info("[useMenuProducts] Cache hit â skipping API fetch",{cafeId:h,deliveryMode:y}),v({...t,sourceRestaurantId:h??void 0,sourceDeliveryMode:y}),S(!1),I(null);return}let p=e??d;(async()=>{try{S(!0),r.Logger.info("[useMenuProducts] Fetching menu products for restaurant",p);let e=await (0,l.getCachedMenuCategoryList)({restaurantId:p,...c&&{deliveryMode:c.toLowerCase()},...void 0!==m&&{isNationalMenu:m}});if(r.Logger.debug("Menu API Response:",{categoriesCount:e?.categories?.length,menuId:e?.menuId}),!e?.categories?.length)throw Error("Invalid API response: missing categories.");let t=(e=>{let t=e?.data?.categories??e?.categories,i=(e=>{let t=e?.menuId??e?.menuid;if("string"!=typeof t)return;let r=t.trim();return r.length>0?r:void 0})(e?.data)??e?.menuId,n=e?.vendor;if(r.Logger.debug("[useMenuProducts] Transforming menu response",{hasCategories:Array.isArray(t),categoriesCount:t?.length??0,menuIdFromResponse:i}),!t||!Array.isArray(t))return{mainCategories:[],menuId:i};let a=n?.toUpperCase()==="DELIVERECT",o=new Map;return t.forEach(e=>{let t=e.metadata?.find(e=>"main-category"===e.key),n=t?.images??e.name??"Other";o.has(n)||o.set(n,{id:n,name:n,subCategories:[]});let l=(e.products??[]).map(e=>({id:e.id,productId:e.productId??e.productid,productid:e.productid??e.productId,chainProductId:e.chainProductId??e.chainproductid,title:(0,s.toTitleCaseProductName)(e.name),desc:e.description,calories:"string"==typeof e.basecalories&&""!==e.basecalories||"number"==typeof e.basecalories?String(e.basecalories):"",image:((e,t)=>{if(t){if(Array.isArray(e.images)){let t=e.images.find(e=>e.url);if(t?.url)return t.url}return""}if(Array.isArray(e.metadata)){let t=e.metadata.find(e=>"image"===e.key);if(t?.images)return t.images}return e.imagefilename??e.mobileImageUrl??""})(e,a),name:e.name,description:e.description,cost:e.cost,basecalories:e.basecalories,maxcalories:e.maxcalories,caloriesseparator:e.caloriesseparator,imagefilename:e.imagefilename,allergens:e.allergens,producttags:e.producttags,allergenfree:e.allergenfree,metadata:e.metadata,images:e.images,availability:e.availability,unavailablehandoffmodes:e.unavailablehandoffmodes,chainproductid:(e=>{if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(!t)return;let r=Number(t);if(Number.isFinite(r))return r}})(e.chainproductid??e.chainProductId),quantityincrement:e.quantityincrement,minimumquantity:e.minimumquantity,maximumquantity:e.maximumquantity,menuid:e.menuid??i,options:e.options,customdata:e.customdata}));if(l.length>0){let t=l[0];r.Logger.debug("[useMenuProducts] Transformed products metadata snapshot",{categoryId:e.id,categoryName:e.name,menuIdFromResponse:i,firstProductId:t.id,firstProductMenuId:t.menuid})}let u={id:String(e.id),name:e.name,nutritionType:n,products:l};o.get(n)?.subCategories.push(u)}),{mainCategories:Array.from(o.values()),menuId:i}})(e);if(r.Logger.debug("Hierarchical menu transformation:",{mainCategoriesCount:t.mainCategories.length,mainCategories:t.mainCategories.map(e=>({name:e.name,subCount:e.subCategories?.length}))}),t.mainCategories.length>0){r.Logger.info(`Successfully created hierarchical menu with ${t.mainCategories.length} main categories`);let e={...t,sourceRestaurantId:p,sourceDeliveryMode:y};{let t={...e,cachedAt:Date.now()};f((0,n.setCafeMenuCache)({cafeId:p,deliveryMode:y,data:t}))}v(e),I(null)}else throw Error("Failed to produce hierarchical menu: empty mainCategories array")}catch(t){let e=t instanceof Error?t.message:"Failed to fetch menu products";r.Logger.error("Error fetching menu products:",{error:t,message:e}),(0,o.trackMenuQMAPIFailure)({eventName:a.MENU_QM_EVENT_NAMES.MENU_PRODUCTS_FETCH_FAILURE,location:a.MENU_QM_LOCATIONS.MENU_CONTAINER,apiName:"API_URLS.menuCategories",errorMessage:e,metadata:{restaurantId:p}}),I(e),v({mainCategories:[],sourceRestaurantId:p,sourceDeliveryMode:y})}finally{S(!1)}})()},[e,c,h,y,m]),{...b,loading:C,error:x}}])},488391,e=>{"use strict";var t=e.i(353320);e.s(["buildGroupOrderPathWithParams",0,(e,t)=>{let r=t.toString();return r?`${e}?${r}`:e},"buildMenuProductPath",0,e=>{let{category:r,subcategory:i,productId:n,productName:a,baseMenuPath:o,includeProductId:s=!0}=e,l=(0,t.toSlug)(r)||"items",u=(0,t.toSlug)(i)||"products",d=(0,t.toSlug)(a)||"product",c=Number(n),m=s&&Number.isFinite(c)&&c>0,f=(o&&o.trim().length>0?o:"/menu").replace(/\/+$/,"");return m?`${f}/${l}/${u}/${c}/${d}`:`${f}/${l}/${u}/${d}
1`},"slugToTitle",0,e=>e.split("-").filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(" ")])},147465,e=>{"use strict";var t=e.i(444314),r=e.i(340290);async function i(e,i){r.Logger.info("[locationService] fetchNearByStores",{latitude:e.latitude,longitude:e.longitude,radius:e.radius});try{let n=await (0,t.getNearByStoresAPI)({...e,...i&&{headers:i}});return r.Logger.info("[locationService] fetchNearByStores success",{response:n}),n}catch(e){throw r.Logger.error("[locationService] fetchNearByStores failed",{error:e}),e}}async function n(e){r.Logger.info("[locationService] fetchFavoriteLocations");try{let i=await (0,t.getFavoriteLocationsAPI)(e);return r.Logger.info("[locationService] fetchFavoriteLocations success"),i}catch(e){throw r.Logger.error("[locationService] fetchFavoriteLocations failed",{error:e}),e}}e.s(["fetchFavoriteLocations",0,n,"fetchNearByStores",0,i])},221165,e=>{"use strict";let t=e=>{if("string"!=typeof e)return"";let t=e.trim();return t.length>0?t:""},r=e=>{if("number"==typeof e&&Number.isFinite(e)&&e>0)return String(Math.trunc(e));if("string"!=typeof e)return null;let t=e.trim();if(!/^\d+$/.test(t))return null;let r=Number(t);return!Number.isFinite(r)||r<=0?null:String(Math.trunc(r))};e.s(["resolveCafeStoreContext",0,e=>{let i=t(e.preferredStoreId),n=t(e.selectedCafeId),a=r(e.selectedCafe?.id)??r(e.selectedCafeDetails?.id)??r(n)??r(i),o=i&&i!==e.nationalMenuRestaurantId?i:(a??n)||i,s=o===e.nationalMenuRestaurantId;return{normalizedPreferredStoreId:i,normalizedSelectedCafeId:n,resolvedSelectedStoreNumber:a,effectiveMenuStoreId:o,isNationalMenuFlow:s}},"resolveNormalizedCartStoreNumber",0,function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];for(let e of t){let t=r(e);if(t)return t}},"toPositiveStoreNumberString",0,r])},801004,e=>{"use strict";let t=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(r>8||null==e)return;if("string"==typeof e){let t=e.trim();return t.includes("-MG")?t:void 0}if(Array.isArray(e)){for(let i of e){let e=t(i,r+1);if(e)return e}return}if("object"!=typeof e)return;let i=t(e.options,r+1)??t(e.value,r+1);if(i)return i;for(let i of Object.values(e)){let e=t(i,r+1);if(e)return e}},r=e=>{if(!e)return;let t=e.trim();if(t)return t};e.s(["getOptionIdLookupCandidates",0,e=>{let t=r(e);if(!t)return[];let i=new Set,n=e=>{let t=/^(\d+)-MG[^:]*:(\d+)-(\d+)/.exec(e);if(t){let e=t[2],r=t[3];i.add(`${e}-${r}`),i.add(r)}let r=/^(\d+):(\d+)-(\d+)/.exec(e);if(r){let e=r[2],t=r[3];i.add(`${e}-${t}`),i.add(t)}let n=/^(\d+)-(\d+)/.exec(e);n&&(i.add(`${n[1]}-${n[2]}`),i.add(n[2]))},a=e=>{let t=e.trim();if(!t)return;i.add(t);let r=t.includes(":")?t.split(":").slice(1).join(":").trim():"";for(let e of(r&&i.add(r),t.replaceAll("###PRNT->","###PRNT>").split(/(?:->|>)/).map(e=>e.trim()).filter(Boolean))){i.add(e);let t=e.includes(":")?e.split(":").slice(1).join(":").trim():"";t&&(i.add(t),n(t)),n(e)}n(t)};for(let e of t.split(",").map(e=>e.trim()).filter(Boolean))a(e);return Array.from(i)},"normalizeOptionSelectionId",0,r,"resolveOptionSelectionId",0,e=>{let i=e=>{if("string"==typeof e||"number"==typeof e)return String(e)},n=r(i(e.displayid)??i(e.id));if(n&&(n.includes("-MG")||n.includes(":")||n.includes("->")||n.includes("###PRNT")||/-B:/.test(n)))return n;let a=t(e.displayid)??t(e.id)??t(e)??e.displayid??e.id;if(null==a)return;let o=r(String(a));if(o)return o.length>0?o:void 0}])},909016,(e,t,r)=>{t.exports={allergyStatementIcon:"/assets/icons/allergy-statement-icon.svg",redIcon:"/assets/icons/checked-red.svg",greenIcon:"/assets/icons/checked-green.svg",dietIndicatorIcon:"/assets/icons/Diet.svg",avoidingIndicatorIcon:"/assets/icons/Avoiding.svg"}},43384,e=>{"use strict";let t=e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},r=e=>e?.trim().toLowerCase()??"",i=e=>r(e).replace(/[^a-z0-9]+/g," ").trim(),n=e=>{if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=Number.parseFloat(e);if(Number.isFinite(t))return t}},a=e=>{if("number"==typeof e&&Number.isFinite(e)&&e>0)return e;if("string"==typeof e){let t=e.trim();return t.length>0?t:void 0}},o=e=>{let t=a(e);return void 0===t?void 0:String(t).trim()},s=(e,n,a,s)=>{let l=Array.isArray(a)?a:[],u=new Set(e.map(e=>o(e)).filter(e=>"string"==typeof e&&e.length>0)),c=i(n),m=r(n),f=s?.allowTitleFallback??!0,p=e.length>0,g=f&&!p,{metadataOptions:h}=s??{},y=e=>void 0===h?e:e.filter(e=>h?!!d(e?.options):!d(e?.options)),b=l.filter(e=>
1{let t=o(e.productId);return!!(t&&u.has(t))});if(b.length>0)return y(b);let v=l.filter(e=>{let t=o(e.id);return!!(t&&u.has(t))});return v.length>0?y(v):l.filter(e=>{let n=r(t(e.name)),a=i(t(e.name));return!!g&&(m.length>0&&m===n||c.length>0&&a.length>0&&(c===a||c.includes(a)||a.includes(c)))})},l=function(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=t(e)??"";return r?i.toLowerCase():i},u=e=>Array.isArray(e)?e.map(u):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).sort((e,t)=>{let[r]=e,[i]=t;return r.localeCompare(i)}).map(e=>{let[t,r]=e;return[t,u(r)]})):e,d=e=>{let t=l(e);if(!t)return"";try{let e=JSON.parse(t);return JSON.stringify(u(e))}catch{return t.replaceAll(/\s+/g," ").trim()}},c=e=>{let t=d(e);return t?[...new Set(t.split(",").flatMap(e=>e.split(">")).map(e=>{let t;return(t=e.trim())?(t.includes(":")?t.slice(t.lastIndexOf(":")+1).trim():t).replace(/-?#O[\d-]+#(?:[A-Za-z]\d+#)*-?$/i,"").trim():""}).filter(e=>e.length>0))].sort((e,t)=>e.localeCompare(t)).join(","):""},m=e=>!!(d(e.options)||d(e.customdata)),f=e=>{if(0===e.length)return;let r=e[0];for(let i=1;i<e.length;i+=1){let a=e[i],o=Math.max(0,Math.trunc(n(r.quantity)??0)),s=Math.max(0,Math.trunc(n(a.quantity)??0));if(s>o){r=a;continue}if(s<o)continue;let l=t(r.id)??"";0>(t(a.id)??"").localeCompare(l)&&(r=a)}return r},p=e=>!(!e||e&&!l(e.recipient)&&!l(e.menuid)&&!l(e.customdata)&&l(e.options))&&!!(l(e.recipient,!0)||l(e.menuid)||l(e.options)||l(e.customdata)),g=(e,t)=>{if(!p(t)){let t=e.filter(e=>!m(e));if(0===t.length)return e;let r=f(t);return r?[r]:t}let r=l(t?.recipient,!0),i=l(t?.menuid),n=d(t?.options),a=d(t?.customdata),o=c(t?.options),s=(e,t)=>!e||!t||e===t,u=e.filter(e=>{let t=l(e.recipient,!0),u=l(e.menuid),m=d(e.customdata),f=s(r,t),p=s(i,u),g=!n||o===c(e.options);return f&&p&&g&&(!a||a===m)});if(u.length>0)return u;let g=e.filter(e=>{let t=l(e.recipient,!0),a=l(e.menuid),u=!n||o===c(e.options);return s(r,t)&&s(i,a)&&u});return g.length>0?g:n||a?[]:e};e.s(["clearHomepageCartBadgeOverride",0,(e,t)=>{globalThis.sessionStorage&&globalThis.dispatchEvent&&(globalThis.sessionStorage.removeItem(e),globalThis.dispatchEvent(new CustomEvent(t,{detail:{count:null}})))},"hasExplicitThunkFailure",0,e=>{if(!e||"object"!=typeof e)return!1;if("string"==typeof e.meta?.requestStatus&&"rejected"===e.meta.requestStatus||"string"==typeof e.type&&e.type.endsWith("/rejected"))return!0;let t=e.payload&&"object"==typeof e.payload?e.payload:void 0;return t?.success===!1||!!(e.error??t?.error)},"hasMetadataMatchCriteria",0,p,"isCustomizedCartLine",0,m,"resolve
1CartCandidates",0,s,"resolveExpectedCartCountAfterDecrease",0,(e,r,a,o,s)=>{let u=i(a),d=l(s?.menuid),c=l(s?.recipient,!0),f=o.filter(e=>{if(m(e))return!1;let r=i(t(e.name));if(!r||r!==u)return!1;let n=l(e.menuid),a=l(e.recipient,!0);return(!d||d===n)&&(!c||c===a)}).reduce((e,t)=>e+Math.max(0,Math.trunc(n(t.quantity)??0)),0),p=Math.max(0,Math.trunc(e));return Math.max(0,o.reduce((e,t)=>e+Math.max(0,Math.trunc(n(t.quantity)??0)),0)-(f>0?f:p)+Math.max(0,Math.trunc(r)))},"resolveRaiseTarget",0,e=>{let t=g(s(e.candidateIds,e.productTitle,e.cartItems,{metadataOptions:!!e.metadata?.options}),e.metadata);return 1!==t.length||c(e.metadata?.options)!==c(t[0].options)?null:t[0]},"selectPrimaryCandidate",0,f,"setHomepageCartBadgeOverride",0,(e,t,r)=>{if(!globalThis.sessionStorage||!globalThis.dispatchEvent)return;let i=Math.max(0,Math.trunc(e));globalThis.sessionStorage.setItem(t,String(i)),globalThis.dispatchEvent(new CustomEvent(r,{detail:{count:i}}))},"toCartIdentifier",0,a,"toNumber",0,n,"toScopedCandidates",0,g])},306253,e=>{"use strict";let t="cartLineSources",r=e=>{if(e)return"string"==typeof e?{source:e}:"string"==typeof e.source?e:void 0},i=()=>{try{let e=globalThis.localStorage?.getItem(t),r=e?JSON.parse(e):{};return r&&"object"==typeof r?r:{}}catch{return{}}},n=new Set,a=e=>{try{globalThis.localStorage?.setItem(t,JSON.stringify(e))}catch{}n.forEach(e=>{try{e()}catch{}})},o=e=>{let t,n=String(e?.source??"").trim().toLowerCase();return"reorder"===n||"favorite"===n||"menu"===n?n:(t=String(e?.id??"").trim())?r(i()[t])?.source??"menu":"menu"};e.s(["attributeNewCartLines",0,(e,t,r,n)=>{t.forEach(t=>{let o=String(t?.id??"").trim();o&&!e.has(o)&&((e,t,r)=>{let n=String(e??"").trim();if(!n)return;let o=i();o[n]=r?{source:t,cardKey:r}:{source:t},a(o)})(o,r,n)})},"filterCartLinesByCardKey",0,(e,t)=>Array.isArray(e)&&t?e.filter(e=>(e=>{let t=String(e??"").trim();if(t)return r(i()[t])?.cardKey})(e?.id)===t):[],"filterCartLinesBySource",0,(e,t)=>Array.isArray(e)?e.filter(e=>o(e)===t):[],"pruneCartLineSources",0,e=>{let t=i(),r=!1;Object.keys(t).forEach(i=>{e.has(i)||(delete t[i],r=!0)}),r&&a(t)},"resolveCartLineSource",0,o,"subscribeCartLineSources",0,e=>(n.add(e),()=>{n.delete(e)})])},974774,e=>{"use strict";var t=e.i(147465),r=e.i(129920),i=e.i(353320);let n=e=>"string"==typeof e?e.trim():"number"==typeof e&&Number.isFinite(e)?String(e):"",a=e=>(0,i.toSlug)(n(e))?.toLowerCase()??"",o=e=>[a(e.slug),a(e.name),a(e.storename),a(e.vendor),a(e.extref),a(e.storeNumber),a(e.storenumber)].filter(Boolean),s=e=>{for(let t of["vendorid","vendorId","storeId","storeid","storenumber","storeNumber","id"]){let r=n(e[t]);if(r)return r}return""};async function l(e){let i=await (0,t.fetchNearByStores)({storeNumber:e,is_calendar_required:!0}),a=((e,t)=>{if(!t)return null;let i=t.trim().toLowerCase(),a=e.filter(e=>![s(e),n(e.id),n(e.vendorid),n(e.vendorId),n(e.storeId),n(e.storeid)].some(e=>e===r.NATIONAL_MENU_RESTAURANT_ID));for(let e of a)if(o(e).includes(i))return e;return 1===a.length?a[0]??null:null})(Array.isArray(i?.data)?i.data:[],e);if(!a)return null;let l=s(a);if(!l)return null;let u=n(a.slug)||e,d=n(a.name)||n(a.storename)||u.split("-").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")||"Selected Cafe";return{cafeId:l,cafeSlug:u,cafeName:d,cafeDetails:{...a,slug:u}}}e.s(["bootstrapCafeFromSlug",0,l])},103669,e=>{"use strict";var t=e.i(927246);let r=e=>e?.trim().toLowerCase()??"",i=e=>r(e).replaceAll("&"," and ").replace(/[^a-z0-9]+/g," ").trim(),n=e=>{let r=[(0,t.toPositiveInt)(e.id),(0,t.toPositiveInt)(e.productid),(0,t.toPositiveInt)(e.productId),(0,t.toPositiveInt)(e.chainproductid),(0,t.toPositiveInt)(e.chainProductId)].filter(e=>"number"==typeof e&&e>0);return r.filter((e,t)=>r.indexOf(e)===t)},a=e=>{let r=[(0,t.toPositiveInt)(e.chainproductid),(0,t.toPositiveInt)(e.productid)].filter(e=>"number"==typeof e&&e>0);return r.filter((e,t)=>r.indexOf(e)===t)},o=(e,o)=>{let s=a(o);if(s.length>0)return e.find(e=>{let t=n(e);return s.some(e=>t.includes(e))});let l=r(o.title),u=i(o.title);return e.find(e=>{let n=r((0,t.readString)(e.title)??(0,t.readString)(e.name)),a=i((0,t.readString)(e.title)??(0,t.readString)(e.name)),o=l.length>0&&n.length>0&&l===n,s=u.length>0&&a.length>0&&(u===a||u.includes(a)||a.includes(u));return o||s})},s=e=>(0,t.readString)(e.image)??(0,t.readString)(e.product?.image);e.s(["findMatchedMenuProduct",0,o,"findMatchedMenuProductForReorderLineItem",0,(e,n)=>{if(a({productid:n.productid,chainproductid:n.chainproductid}).length>0){let a=o(e,{productid:n.productid,chainproductid:n.chainproductid,title:n.productname});if(!a)return;let s=r(n.productname),l=i(n.productname);if(!s&&!l)return a;let u=r((0,t.readString)(a.title)??(0,t.readString)(a.name)),d=i((0,t.readString)(a.title)??(0,t.readString)(a.name));return s.length>0&&u.length>0&&s===u||l.length>0&&d.length>0&&l===d?a:e.find(e=>{let n=r((0,t.readString)(e.title)??(0,t.readString)(e.name)),a=i((0,t.readString)(e.title)??(0,t.readString)(e.name)),o=s.length>0&&n.length>0&&s===n,u=l.length>0&&a.length>0&&l===a;return o||u})??a}let s=r(n.productname),l=i(n.productname);return e.find(e=>{let n=r((0,t.readString)(e.title)??(0,t.readString)(e.name)),a=i((0,t.readString)(e.title)??(0,t.readString)(e.name)),o=s.length>0&&n.length>0&&s===n,u=l.length>0&&a.length>0&&l===a;return o||u})},"flattenMenuCategoriesToProducts",0,e=>{let t=[];for(let r of e??[])for(let e of r.subCategories??[])for(let r of e.products??[])r&&"object"==typeof r&&t.push(r);return t},"getMenuProductDetails",0,e=>({image:s(e),description:(0,t.readString)(e.desc)??(0,t.readString)(e.description),calories:(0,t.readString)(e.basecalories)??(0,t.readString)(e.calories),cost:(e=>{if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}})(e.cost)}),"getMenuProductIds",0,n,"getMenuProductImage",0,s,"hasMeaningfulSavedCustomization",0,function(){for(var e=arguments.length,r=Array(e),i=0;i<e;i++)r[i]=arguments[i];let n=r.map(e=>{let r=(0,t.readString)(e);if(r)return r;if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}}).filter(e=>"string"==typeof e&&e.trim().length>0);return 0!==n.length&&n.some(e=>{try{let t=JSON.parse(e);if(Array.isArray(t))return t.length>0;if(t&&"object"==typeof t)return Object.keys(t).length>0;if("string"==typeof t)return t.trim().length>0;return!!t}catch{return e.trim().length>0}})}
1,"normalizeComparableTitle",0,i,"normalizeTitle",0,r,"resolveCardIdCandidates",0,a,"resolveMenuRouteSegments",0,(e,a,o,s)=>{let l=r(s),u=i(s),d=o.length>0,c=e=>{if(a&&e===a||o.some(t=>n(e).includes(t)))return!0;if(d)return!1;let s=r((0,t.readString)(e.title)??(0,t.readString)(e.name));if(l.length>0&&s.length>0&&l===s)return!0;let c=i((0,t.readString)(e.title)??(0,t.readString)(e.name));return u.length>0&&c.length>0&&(u===c||u.includes(c)||c.includes(u))};for(let r of e??[]){let e=(0,t.readString)(r.name)??(0,t.readString)(r.title);for(let i of r.subCategories??[]){let r=(0,t.readString)(i.name)??(0,t.readString)(i.title);for(let t of i.products??[])if(t&&"object"==typeof t&&c(t))return{category:e,subcategory:r}}}return{}}])},573804,e=>{"use strict";let t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,r=e.trim();if(!r)return"";let i=r.split(/\s+/).filter(e=>e.length>0);return i.length<=t?r:`${i.slice(0,t).join(" ")}...`},r=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,i=(e=>{let t=[];for(let r=0;r<e.length;r+=1){let i=(e[r]??"").trim(),n=(e[r+1]??"").trim();if(/^no\s+/i.test(i)&&/^sub\s+/i.test(n)){t.push(`${i.replace(/[.!?]$/,"")}, ${n.replace(/^[.!?]*/,"")}`),r+=1;continue}i&&t.push(i)}return t})(e.map(e=>e.trim()).filter(e=>e.length>0)).map(e=>t(e));if(i.length<=r)return i.map(e=>({text:e}));let n=i.length-r,a=i.slice(0,r).map(e=>({text:e})),o=r-1;return a[o]={text:a[o]?.text??"",suffix:`more (+${n})`},a};e.s(["buildCustomizationDisplayLineParts",0,r,"buildCustomizationDisplayLines",0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return r(e,t).map(e=>{let{text:t,suffix:r}=e;return r?`${t} ${r}`:t})}])},77887,636875,e=>{"use strict";var t=e.i(454100);let r=e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},i=(e,n)=>{if(!e)return;if(Array.isArray(e))return void e.forEach(e=>i(e,n));if("object"!=typeof e)return;let a=r(e.name)??r(e.displayname)??r(e.displayName)??r(e.optionname)??r(e.optionName),o=[e.subitems,e.subItems].flatMap(e=>Array.isArray(e)?e:[]).filter(e=>!!e&&"object"==typeof e).map(e=>r(e.name)??r(e.displayname)??r(e.displayName)??r(e.optionname)??r(e.optionName)).filter(e=>!!e);a&&!(0,t.isSupersededByReplacements)(a,o)&&n.push(a),i(e.subitems,n),i(e.subItems,n)};e.s(["extractSubitemCustomizationNames",0,e=>{let t=[];return i(e,t),t}],77887);var n=e.i(830114),a=e.i(181331);let o=/not a valid basket id|invalid basket|cartnotfound|statuscode\s*1060|\b1060\b/i,s=/statuscode\s*1102|status code\s*1102|\b1102\b|adding product to basket failed/i,l=e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},u=e=>"string"==typeof e.error?e.error:e.error instanceof Error?e.error.message:"",d=e=>s.test(u(e)),c=e=>{let t=e.trim();if(!t)return[];let r=[],i=new Set,n=e=>{let t=e?.trim();!t||i.has(t)||(i.add(t),r.push(t))},a=t.includes(":")?t.slice(t.lastIndexOf(":")+1).trim():t,o=a.replace(/-#O\d+(?:-\d+)?#-?$/i,"").trim();return[t,a,o].forEach(e=>{let t;n(e),(t=e.match(/\d+/g))&&0!==t.length&&(t.length>=2&&(n(`${t[0]}-${t[1]}`),n(t[1])),n(t.at(-1)))}),r},m=e=>{let t=new Set;return e.split("->").flatMap(e=>c(e)).filter(e=>!(!e||t.has(e))&&(t.add(e),!0))},f=e=>{let t=e.trim().replaceAll(" ","");if(!t)return"";let r=t.replaceAll(">","->");for(;r.includes("-->");)r=r.replaceAll("-->","->");return r},p=e=>f(e).split("->").map(e=>e.trim()).filter(Boolean),g=(e,t,r)=>{let i;if(0===e.length||0===t.length)return;let n=new Set(e),a=0;return t.forEach(e=>{let t=r?r(e):m(e);if(0===t.length)return;let o=0;t.forEach(e=>{n.has(e)&&(o+=1)}),0!==o&&(!i||o>a||o===a&&e.length>i.length)&&(i=e,a=o)}),i},h=e=>Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e):[],y=async e=>{let t,{cardTitle:r,candidateIds:i,requestedQuantity:s,activeCartId:y,storeNumber:b,token:v,deliveryMode:C,hasSavedCustomization:S,buildCardPayload:x,addCardToCart:I,clearInvalidBasketState:N,shouldRetryCustomizationAddFailure:w,loadModifiersForCandidate:A,onCandidateFailure:M}=e,P={success:!1,error:"Failed to add favorite to cart"},j=e=>!!(e.success&&e.cartId),L=async(e,t,r)=>{var i;let n,a=await I(e,t,s,v,b,C);return!a.success&&t&&(1060===(Number.isFinite(n=Number((i=a).statusCode))?n:void 0)||o.test(u(i)))&&(N?.(t,r),a=await I(e,null,s,v,b,C)),a},T=async(e,t,r,i)=>{let o=i;if(b&&A)try{let i=await A(t),n=((e,t)=>{let r,i,n=l(e);if(!n)return;let o=(r=new Set,(i=(e,t)=>
1{e.forEach(e=>{let n=l(e.id);n&&h(e.options).forEach(e=>{let o=l(e.displayid)??l(e.id);if(!o)return;let s=`${n}:${o}`,u=t?`${t}${t.endsWith("-")?">":"->"}${s}`:s;r.add(u);let d=Array.isArray(e.modifiers)?h(e.modifiers):h((0,a.extractOptionGroups)(e.modifiers));d.length>0&&i(d,u)})})})(h((0,a.extractOptionGroups)(t))),r);if(0===o.size)return;let s=new Map;Array.from(o).forEach(e=>{m(e).forEach(t=>{s.set(t,e)})});let u=new Set,d=n.split(",").map(e=>e.trim()).map(e=>{let t=f(e);if(!t)return;if(o.has(t))return t;let r=p(t);if(r.length>=2){let e=g(c(r[0]),Array.from(o).filter(e=>!e.includes("->")));if(e){let t=Array.from(o).filter(t=>t.startsWith(`${e}->`)),i=g(c(r.at(-1)??""),t,e=>c(p(e).at(-1)??""));if(i)return i}}let i=m(t).findLast(e=>!!s.get(e));return i?s.get(i):void 0}).filter(e=>!(!e||u.has(e))&&(u.add(e),!0));return d.length>0?d.join(","):void 0})(e.options,i),s=l(e.options);if(n&&n!==s){let i={...e,options:n,customdata:void 0};o=await L(i,r,t)}}catch{}if(j(o))return o;let s=(e=>{let t=(0,n.extractChoiceIdCandidatesFromChoices)(e.choices).map(e=>e.trim()).filter(Boolean);if(0===t.length)return;let r=t.join(",");if(("string"==typeof e.options?e.options.trim():"")!==r)return{...e,options:r,customdata:void 0}})(e);return(s&&(o=await L(s,r,t)),j(o))?o:L({...e,options:void 0,customdata:void 0,choices:void 0},r,t)};for(let e=0;e<i.length;e+=1){let n=i[e],a=0===e?y:null,o=x(n);P=await L(o,a,n);let s=S&&(w?w(P):d(P));if(!P.success&&s&&(P=await T(o,n,a,P)),j(P)){t=n;break}M?.({candidateProductId:n,nextCandidateProductId:i[e+1],errorText:u(P)||`Failed to add ${r??"favorite"} to cart`})}return{result:P,successfulProductId:t}};e.s(["addFavoriteAcrossCandidatesWithRetry",0,y,"isHomepageBasketAddFailure",0,e=>"string"==typeof e?s.test(e):e instanceof Error&&s.test(e.message),"isHomepageInvalidBasketError",0,e=>"string"==typeof e?o.test(e):e instanceof Error&&o.test(e.message),"markHomepageCartForValidation",0,e=>{let t=e.trim();if(t)try{globalThis.window.localStorage.setItem("homepageCartValidationCartId",t)}catch{}}],636875)},955892,e=>{"use strict";var t=e.i(801004);let r=e=>{let t="number"==typeof e?e:Number(e);return Number.isFinite(t)&&t>=0?Math.trunc(t):void 0},i=e=>{let t;return r(e.minselects)??r(e.minSelections)??r(e.min)??+!!(!0===(t=e.mandatory)||1===t||"string"==typeof t&&["true","1","yes"].includes(t.trim().toLowerCase()))};e.s(["doSavedSelectionsSatisfyRequiredGroups",0,(e,r)=>{if(!Array.isArray(e)||0===e.length)return!1;let n=(e=>{let r=new Set,i="string"==typeof e?e.trim():"";if(!i)return r;for(let e of(0,t.getOptionIdLookupCandidates)(i)){let t=e.trim();t&&r.add(t)}return r})(r);if(0===n.size)return!1;let a=e.filter(e=>!!e&&"object"==typeof e&&i(e)>0);return 0!==a.length&&a.every(e=>{let r=i(e);return(Array.isArray(e.options)?e.options:[]).reduce((e,r)=>r&&"object"==typeof r&&[r.id,r.displayid].filter(e=>"string"==typeof e||"number"==typeof e).map(e=>String(e)).some(e=>(0,t.getOptionIdLookupCandidates)(e).some(e=>n.has(e.trim())))?e+1:e,0)>=r})},"hasMandatoryGroups",0,e=>!!Array.isArray(e)&&0!==e.length&&e.some(e=>{if(!e||"object"!=typeof e)return!1;let t=e.mandatory,r="string"==typeof t?t.trim().toLowerCase():void 0;return!0===t||1===t||"true"===r||"1"===r||"yes"===r}),"isOptionGroupsEmpty",0,e=>!Array.isArray(e)||0===e.length||e.every(e=>{if(!e||"object"!=typeof e)return!0;let t=e.options;return!Array.isArray(t)||0===t.length})])},372777,e=>{"use strict";var t=e.i(843476);e.s(["QuantitySelector",0,e=>{let{quantity:r,onQuantityChange:i,onClose:n,disabled:a=!1,loading:o=!1}=e;return(0,t.jsxs)("div",{className:`relative ${o||a?"pointer-events-none":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-[2px] rounded-[500px] h-[36px] bg-[var(--color-background-surface-soft)]",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{if(!a&&r>0){let e=r-1;i(e),0===e&&n&&n()}},disabled:a||o,className:"flex items-center justify-center h-[30px] w-[30px] rounded-[12px] bg-(--color-background-disabled) transition-colors","aria-label":1===r?"Delete item":"Decrease quantity",children:1===r?(0,t.jsx)("img",{src:"/assets/icons/trash.svg",alt:"Delete",className:"h-[20px] w-[20px]"}):(0,t.jsx)("img",{src:"/assets/icons/cart-minus.svg",alt:"Decrease",className:"h-[20px] w-[20px]"})}),(0,t.jsx)("span",{className:"min-w-[32px] font-secondary text-center font-semibold text-[16px] text-[#1a1a1a]",children:r}),(0,t.jsx)("button",{type:"button",onClick:()=>{a||i(r+1)},disabled:a||o,className:"flex items-center justify-center h-[30px] w-[30px] rounded-[12px] bg-(--color-background-disabled) transition-colors","aria-label":"Increase quantity",children:(0,t.jsx)("img",{src:"/assets/icons/cart-plus.svg",alt:"Increase",className:"h-[20px] w-[20px]"})})]}),o&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center rounded-[500px] bg-[#e5e7eb]/80 pointer-events-none",children:(0,t.jsx)("span",{"aria-hidden":"true",className:"h-[14px] w-[14px] rounded-full border-2 border-[#9ca3af] border-t-transparent animate-spin"})})]})}])},323370,e=>{"use strict";var t=e.i(830114),r=e.i(103669);let i=/^(no|remove|hold|without)\b\s*/i,n=e=>{let t=new Set;return e.filter(e=>{let r;if((r=e.trim())&&(/^\d+$/.test(r)||r.includes(":")||r.includes("->")||r.includes("-MG")||r.includes("###PRNT")||r.includes("-B:")||/^\d+-\d+/.test(r)||/^\d+:\d+-\d+/.test(r)))return!1;let i=e.trim().toLowerCase();return!(!i||t.has(i))&&(t.add(i),!0)})},a=e=>e.trim().replace(i,"").trim().toLowerCase();e.s(["resolveFavoriteDisplayCustomizationNames",0,e=>{let o,s,{choices:l,customdata:u,options:d,detailsText:c,maxItems:m}=e,f=n((0,t.dedupeCustomizationNames)([...(0,t.extractCustomizationNamesFromCustomdata)(u),...(0,t.extractCustomizationNamesFromChoices)(l),...(0,t.extractCustomizationNamesFromOptions)(d)])),p=n((0,t.extractCustomizationNamesFromDetailsText)(c)),g=(o=new Map,p.forEach(e
1=>{if(!i.test(e.trim()))return;let t=a(e);!t||o.has(t)||o.set(t,e.trim())}),o),h=f.map(e=>{let t=a(e);return g.get(t)??e}),y=(0,r.hasMeaningfulSavedCustomization)(d,u,l),b=0===h.length&&(y||(s=(c??"").trim())&&(s.includes(",")||/\r?\n/.test(s)||/^(no|add|sub|extra|light|easy|less|remove|hold|half)\b/i.test(s)))?p:[],v=n((0,t.dedupeCustomizationNames)([...h,...b]));return"number"==typeof m&&Number.isFinite(m)&&m>0?(0,t.capCustomizationNames)(v,m):v}])},789237,e=>{"use strict";var t=e.i(271645),r=e.i(306253);e.s(["useCartLineSourceVersion",0,()=>{let[e,i]=(0,t.useState)(0);return(0,t.useEffect)(()=>(0,r.subscribeCartLineSources)(()=>{i(e=>e+1)}),[]),e}])},440775,e=>{"use strict";var t=e.i(271645);e.s(["usePendingCafeAddIntent",0,e=>{let{selectedCafeId:r,onReplayIntent:i,canReplayIntent:n}=e,[a,o]=(0,t.useState)(null),s=(0,t.useRef)(!1),l=(0,t.useCallback)((e,t)=>{o(e),t()},[]);return(0,t.useEffect)(()=>{r&&a&&!s.current&&(!n||n(a))&&(s.current=!0,o(null),Promise.resolve(i(a)).finally(()=>{s.current=!1}))},[n,i,a,r]),{queuePendingIntent:l,hasPendingIntent:null!==a}}])},558123,e=>{"use strict";let t=e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:void 0;if("string"==typeof e){let t=Number.parseFloat(e.trim());return Number.isFinite(t)&&t>=0?t:void 0}},r=e=>"string"==typeof e||"number"==typeof e?String(e).trim():"";e.s(["resolveCommerceAddOnTotal",0,(e,r)=>{let i=t(e),n=t(r);if(void 0!==i&&void 0!==n)return Number(Math.max(0,i-n).toFixed(2))},"resolveCommerceAddedLineUnitPrice",0,e=>{let{items:i,productId:n,productName:a,fallbackUnitPrice:o}=e,s=((e,t,i)=>{if(!Array.isArray(e))return;let n=r(t),a=r(i).toLowerCase();return e.find(e=>{if(!e||"object"!=typeof e)return!1;let t=r(e.productId??e.productid),i=r(e.name).toLowerCase(),o=n.length>0&&t.length>0&&t===n,s=a.length>0&&i.length>0&&i===a;return o||s})})(i,n,a);if(!s)return o;let l=t(s.totalPrice)??t(s.totalprice)??t(s.totalcost)??t(s.totalProductAmount);if("number"==typeof l&&l>0){let e=t(s.quantity);return Number((l/("number"==typeof e&&e>0?e:1)).toFixed(2))}let u=t(s.price);return"number"==typeof u&&u>0?u:o}])},679222,e=>{"use strict";var t=e.i(221165);let r="menu:deferred-reorder-add-intent",i=e=>e.map(Number).filter(e=>Number.isFinite(e)&&e>0),n=e=>e.filter(e=>"string"==typeof e&&e.trim().length>0).map(e=>e.trim()),a=e=>e?[e.vendorid,e.vendorId,e.storeid,e.storeId,e.restaurantid,e.restaurantId]:[],o=e=>i([e.id,e.productId,e.productid,e.chainProductId,e.chainproductid,e.plu,e.chainid,e.chainId,e.chain_product_id]),s=function(){for(var e=arguments.length,r=Array(e),i=0;i<e;i++)r[i]=arguments[i];return r.map(e=>(0,t.toPositiveStoreNumberString)(e)).find(e=>"string"==typeof e&&e.length>0)},l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.map(e=>"string"==typeof e?e.trim():"").find(e=>e.length>0)};e.s(["buildDeferredIntentLogKey",0,(e,t)=>[t,String(e.productId),e.productTitle,null!=e.quantity?String(e.quantity):"",e.metadata?.menuid??e.metadata?.menuId??""].join("::"),"clearMenuDeferredReorderIntent",0,()=>{if(void 0!==globalThis.window)try{globalThis.window.sessionStorage.removeItem(r)}catch{}},"getMenuProductIdCandidates",0,o,"getStoreNumberFieldCandidates",0,a,"persistMenuDeferredReorderIntent",0,e=>{if(void 0!==globalThis.window)try{globalThis.window.sessionStorage.setItem(r,JSON.stringify(e))}catch{}},"pickFirstNonEmptyString",0,l,"readMenuDeferredReorderIntent",0,()=>{if(void 0===globalThis.window)return null;try{let e=globalThis.window.sessionStorage.getItem(r);if(!e)return null;let t=JSON.parse(e);if(!t||"object"!=typeof t||!Number.isFinite(Number(t.productId)))return null;return t}catch{return null}},"resolveDeferredAddReturnPath",0,e=>{if(!e?.originRail)return null;let t="string"==typeof e.originPathname?e.originPathname.trim():"";return!t.startsWith("/")||t.startsWith("//")?null:t},"resolveDeferredReplayMenuProduct",0,e=>{let{intent:t,apiProducts:r,selectedStoreForReplay:u,normalizeLookupKey:d}=e,c=Array.isArray(t.reorderCard?.lineItems)?t.reorderCard?.lineItems[0]:void 0,m=t.deferredProductSnapshot,f=i([c?.productid,c?.chainproductid,m?.
1id,m?.productId,m?.productid,m?.chainProductId,m?.chainproductid,t.productId]),p=n([c?.productname,t.productTitle,m?.title,m?.name]).map(d),g=p[0]??"",h=l("number"==typeof c?.menuid?String(c.menuid):c?.menuid,t.metadata?.menuid,t.metadata?.menuId,m?.menuid,m?.menuId),y=r.filter(e=>{if(!u)return!0;let t=s(...a(e));return!t||t===u});if(f.length>0){let e=y.find(e=>{let t=o(e);return f.some(e=>t.includes(e))});if(e)return e}if(!g)return;let b=y.filter(e=>{let t=new Set(n([e.title,e.name]).map(d));return p.some(e=>t.has(e))});if(1===b.length)return b[0];if(h){let e=b.filter(e=>l("number"==typeof e.menuid?String(e.menuid):e.menuid,"number"==typeof e.menuId?String(e.menuId):e.menuId)===h);if(1===e.length)return e[0]}},"resolvePositiveStoreNumber",0,s,"toValidProductIds",0,i,"toValidTitles",0,n])},488824,e=>{"use strict";var t=e.i(43384),r=e.i(306253),i=e.i(103669),n=e.i(927246);let a=(e,r,i,n)=>{let a=!!n?.options,o=(0,t.resolveCartCandidates)(e,r,i,{metadataOptions:a});return(!(0,t.hasMetadataMatchCriteria)(n)&&e.length>0?o:(0,t.toScopedCandidates)(o,n)).reduce((e,r)=>e+Math.max(0,Math.trunc((0,t.toNumber)(r.quantity)??0)),0)},o=e=>{let t=e.map(e=>(0,n.toPositiveInt)(e)).filter(e=>"number"==typeof e&&e>0);return t.filter((e,r)=>t.indexOf(e)===r)};e.s(["resolveFavoriteRailIdentity",0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{matchedMenuProductIds:r=[],optionsValue:a}=t;return{key:[(0,n.readString)(e.productid),(0,n.toPositiveInt)(e.chainproductid)?String((0,n.toPositiveInt)(e.chainproductid)):"",(0,i.normalizeComparableTitle)(e.title)].filter(e=>e&&e.length>0).join("::")||`favorite::${(0,i.normalizeComparableTitle)(e.title)}`,title:e.title,candidateIds:o([e.chainproductid,e.productid,...r]),metadata:{recipient:e.recipient,menuid:e.menuid,options:a,customdata:e.customdata}}},"resolveRailQuantity",0,a,"resolveRailQuantityForCard",0,e=>{let i,{identity:n,journeyCartItems:o,allCartItems:s}=e;if(i=n.metadata,!(0,t.isCustomizedCartLine)({options:i?.options,customdata:i?.customdata}))return a(n.candidateIds,n.title,s,n.metadata);let l=(0,r.filterCartLinesByCardKey)(s,n.key);return l.length>0?l.reduce((e,r)=>e+Math.max(0,Math.trunc((0,t.toNumber)(r.quantity)??0)),0):a(n.candidateIds,n.title,o,n.metadata)},"resolveReorderRailIdentity",0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Array.isArray(e.lineItems)?e.lineItems[0]:void 0,a=r?.productname??e.title;return{key:[(0,n.readString)(e.id),(0,n.readString)(r?.productid),(0,n.toPositiveInt)(r?.chainproductid)?String((0,n.toPositiveInt)(r?.chainproductid)):"",(0,i.normalizeComparableTitle)(r?.productname??e.title)].filter(e=>e&&e.length>0).join("::")||`reorder::${(0,i.normalizeComparableTitle)(e.title)}`,title:a,candidateIds:o([r?.productid,r?.chainproductid,...t]),metadata:{recipient:r?.recipient,menuid:r?.menuid,options:r?.options,customdata:r?.customdata}}}])},436005,437137,975428,e=>{"use strict";var t=e.i(257104),r=e.i(340290),i=e.i(927246),n=e.i(488056),a=e.i(830114);let o=e=>{let t=new Set;return e.filter(e=>{let r=e.trim();if(!r)return!1;let i=r.toLowerCase();return!t.has(i)&&(t.add(i),!0)})},s=(e,t)=>{if(!e)return;if(Array.isArray(e))return void e.forEach(e=>s(e,t));if("object"!=typeof e)return;let r=(0,i.readString)(e.name);r&&t.push(r);let n=e.subItems??e.subitems;n&&s(n,t)},l=e=>{let t=e?.trim();if(t)return(0,n.toCamelCaseText)(t)},u=e=>{var t,r;let n,l,u=(0,a.extractCustomizationNamesFromCustomdata)(e.customdata);if(u.length>0)return u;let d=(0,a.extractCustomizationNamesFromChoices)(e.choices);if(d.length>0)return d;let c=(t=e.subitems,s(t,n=[]),o(n));if(c.length>0)return c;let m=(0,a.extractCustomizationNamesFromChoices)(e.options);if(m.length>0)return m;let f=(r=e.options,(l=(0,i.readString)(r))?l.split(",").map(e=>e.trim()).filter(e=>e.length>0&&!/^\d/.test(e)):[]);return f.length>0?f:[]},d=e=>{let t=o(u(e));if(0!==t.length)return t.join(", ")};e.s(["buildReorderCustomizationSummary",0,d,"buildReorderPdpPrefillParams",0,e=>{let t=(0,i.readString)(e.options),r=(0,a.toSelectedModifiersQueryValue)(e.customdata,d(e));return{...t?{cartOptions:t}:{},...r?{selectedModifiers:r}:{}}},"flattenReorderCardsToProducts",0,function(e){let n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{resolveMatchedMenuProductForLineItem:c,getMenuProductIds:m,getMenuProductImage:f,excludeUnmatched:p}=s,g=0,h=e.flatMap((e,r)=>{let n=Array.isArray(e.lineItems)?e.lineItems:[];return 0===n.length?[e]:n.flatMap((n,a)=>{let o=l(n.productname),s=l(e.title),u=o??s??"",h=(0,i.toPositiveInt)(n.quantity)??1,y=d(n),b=c?.({productid:n.productid,chainproductid:n.chainproductid,productname:u});if(p&&!b)return g+=1,[];let v=(b&&m?m(b):[])[0],C=b&&f?f(b):void 0,S="string"==typeof e.id&&""!==e.id.trim()?e.id:`order-${r}`,x=("string"==typeof n.productid&&""!==n.productid.trim()?n.productid:void 0)??("number"==typeof n.chainproductid&&Number.isFinite(n.chainproductid)?String(n.chainproductid):void 0)??`item-${a}`;return[{...e,id:`${S}-${x}-${a}`,image:(0,t.toOptimizedImageUrl)((0,i.readString)(n.image)??C??e.image,t.REMOTE_IMAGE_WIDTH.product),title:u,description:y??"",details:(0,i.readString)(e.details)??(0,i.readString)(e.description)??"",personalizationText:y??e.personalizationText,vendorid:n.vendorid??e.vendorid,lineItems:[{...n,productid:n.productid??("number"==typeof v?String(v):void 0),productname:n.productname??u,quantity:h}]}]})}),y=(n=new Set,h.filter(e=>{let t=e.lineItems?.[0];if(!t)return!0;let r=((e,t)=>{let r=(0,i.readString)(e.productid);if(r)return`id:${r.trim().toLowerCase()}`;if("number"==typeof e.chainproductid&&Number.isFinite(e.chainproductid))return`chain:${e.chainproductid}`;let n=(e.productname?.trim()??t?.trim()??"").toLowerCase();return`title:${n}`})(t,e.title),s=(e=>
1{let t=o([...(0,a.extractChoiceIdCandidatesFromChoices)(e.choices),...(0,a.extractChoiceIdCandidatesFromChoices)(e.options)].map(e=>e.toLowerCase())).sort((e,t)=>e.localeCompare(t));if(t.length>0)return`ids:${t.join("|")}`;let r=o(u(e).map(e=>e.toLowerCase())).sort((e,t)=>e.localeCompare(t));if(r.length>0)return`mods:${r.join("|")}`;let n=(0,i.readString)(e.options)?.trim().toLowerCase()??"",s=(0,i.readString)(e.customdata)?.trim().toLowerCase()??"";return n||s?`raw:${n}::${s}`:"plain"})(t),l=`${r}::${s}`;return!n.has(l)&&(n.add(l),!0)}));return r.Logger.info("[ReorderUtils][Diag][FlattenReorderCards]",{inputCards:e.length,outputCardsBeforeDedupe:h.length,outputCardsAfterDedupe:y.length,excludeUnmatched:!!p,droppedUnmatchedCount:g,usedMenuMatcher:"function"==typeof c,usedMenuIdResolver:"function"==typeof m,usedMenuImageResolver:"function"==typeof f}),y}],436005);var c=e.i(181331);let m=e=>{if("string"!=typeof e)return;let t=e.trim();return t.length>0?t:void 0},f=e=>e?.trim().toLowerCase()??"",p=e=>Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e):[],g=e=>Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e):[],h=e=>Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e):[],y=e=>m(e.displayid)??m(e.id),b=(e,t,r)=>{if(0===e.length)return;if(1===e.length)return e[0];let i=f(t);if(!i)return e[0];let n=e.find(e=>f(r(e))===i);return n||(e.find(e=>{let t=f(r(e));return t.includes(i)||i.includes(t)})??e[0])},v=(e,t,r)=>{let i=m(e.plu),n=m(e.customizationPlu),a=m(e.name);if(!i)return[];let o=t.filter(e=>{let t=m(e.id);return!!t&&!!n&&t.startsWith(n)}),s=b(o.length>0?o:t.filter(e=>h(e.options).some(e=>{let t=y(e);return!!t?.startsWith(i)})),a,e=>m(e.name)),l=m(s?.id);if(!s||!l)return r.push({reason:"missing-group",plu:i,customizationPlu:n,name:a}),[];let u=b(h(s.options).filter(e=>{let t=y(e);return!!t?.startsWith(i)}),a,e=>m(e.name)),d=u?y(u):void 0;if(!u||!d)return r.push({reason:"missing-option",plu:i,customizationPlu:n,name:a}),[];let c=`${l}:${d}`,f=p(e.subItems??e.subitems);if(0===f.length)return[c];let C=g(u.modifiers),S=[];return f.forEach(e=>{let t=v(e,C,r);0===t.length?r.push({reason:"missing-child-option",plu:m(e.plu),customizationPlu:m(e.customizationPlu),name:m(e.name)}):t.forEach(e=>{S.push(c.includes("###PRNT")||c.endsWith("-")?`${c}>${e}`:`${c}->${e}`)})}),S.length>0?[c,...S]:[c]};e.s(["reconstructRecentOrderOptionsFromModifiers",0,(e,t)=>{var r;let i,n=p(e.subitems);if(0===n.length)return{unresolved:[]};let a=g((0,c.extractOptionGroups)(t));if(0===a.length)return{unresolved:n.map(e=>({reason:"missing-group",plu:m(e.plu),customizationPlu:m(e.customizationPlu),name:m(e.name)}))};let o=[],s=(r=n.flatMap(e=>v(e,a,o)),i=new Set,r.filter(e=>{let t=e.trim();return!(!t||i.has(t))&&(i.add(t),!0)}));return{options:s.length>0?s.join(","):void 0,unresolved:o}}],437137);var C=e.i(271645);e.s(["useAddToCartOrchestrator",0,()=>({orchestrateAddToCart:(0,C.useCallback)(async e=>{let{hasSelectedCafe:t,onMissingCafeSelection:r,setPending:i,precheckRedirect:n,executeAdd:a,isSuccess:o,onSuccess:s,onFailure:l,onError:u}=e;if(!t)return r(),!1;i?.(!0);try{if(n&&await n())return!1;let e=await a();if(o(e))return await s(e),!0;return!!await l(e)}catch(e){if(u)return!!await u(e);return!1}finally{i?.(!1)}},[])})],975428)},556066,e=>{"use strict";var t=e.i(843476),r=e.i(247013);let i=e=>{let{logo:i,logoAlt:n,title:a,description:o,buttonLabel:s,rightIcon:l,ctaLink:u,isHomepage:d,isLoggedIn:c=!1,onButtonClick:m,onSecondaryButtonClick:f}=e;return(0,t.jsx)("div",{className:"\n w-full\n flex flex-col\n gap-[var(--spacing-16)]\n py-[var(--spacing-16)]\n md:px-[var(--spacing-16)]\n ",children:(0,t.jsxs)("div",{className:` 2 w-full 3 flex 4 ${d?"flex-row items-center justify-between":"flex-col md:flex-row md:justify-between md:items-center"} 5 gap-[var(--spacing-16)] 6 md:gap-[var(--spacing-24)] 7 `,children:[(0,t.jsxs)("div",{className:` 8 flex 9 flex-row 10 gap-[var(--spacing-16)] 11 md:gap-[var(--spacing-24)] 12 items-center 13 ${d?"flex-1 min-w-0":""} 14 `,children:[!d&&(0,t.jsx)("div",{className:"flex-shrink-0",children:(0,t.jsx)("img",{src:i,alt:n??"logo",className:"h-[59px] w-auto"})}),(0,t.jsxs)("div",{className:` 15 flex 16 flex-col 17 gap-0 18 min-w-0 19 md:text-left 20 ${d?"flex-1":""} 21 `,children:[(0,t.jsx)("h2",{className:`
22 font-[family-name:var(--font-family-primary)] 23 font-bold 24 text-[var(--color-content-inverse)] 25 text-[14px] 26 md:text-[16px] 27 leading-[16px] 28 md:leading-[18px] 29 m-0 30 p-0 31 ${d?"md:whitespace-nowrap md:overflow-hidden md:text-ellipsis":""} 32 `,children:(0,t.jsx)(r.LegalMarkText,{text:a})}),(0,t.jsx)("p",{className:` 33 font-[family-name:var(--font-family-secondary] 34 font-normal 35 text-[var(--color-content-inverse)] 36 text-[10px] 37 md:text-[14px] 38 leading-[16px] 39 md:leading-[24px] 40 m-0 41 mt-[var(--spacing-0)] 42 p-0 43 ${d?"lg:whitespace-nowrap lg:overflow-hidden lg:text-ellipsis":"w-[95%] md:max-w-[614px] text-ellipsis"} 44 `,children:(0,t.jsx)(r.LegalMarkText,{text:o})})]})]}),(0,t.jsxs)("div",{className:` 45 flex 46 gap-[var(--spacing-24)] 47 items-center 48 ${d?"justify-end flex-shrink-0 ml-auto w-auto":"justify-center md:justify-end w-full md:w-auto"} 49 `,children:[!d&&f&&(0,t.jsx)("button",{onClick:f,className:"\n bg-[var(--color-brand-support-default)]\n text-white\n px-[var(--spacing-16)]\n py-[var(--spacing-8)]\n rounded-full\n h-[28px]\n font-[family-name:var(--font-family-primary,'Montserrat:Bold',sans-serif)]\n font-bold\n text-[12px]\n leading-[18px]\n cursor-pointer\n transition-all\n hover:opacity-90\n md:h-[44px]\n md:text-[14px]\n ",children:"Hide"}),!d&&(0,t.jsx)("button",{onClick:"Start earning today"===s?()=>{window.open("https://api.punchh.com/customers/sign_in.iframe","_blank","noopener,noreferrer")}:m,className:"\n bg-[var(--color-background-default)]\n text-[color:var(--color-brand-support-default)]\n md:px-[var(--spacing-16)]\n md:py-[var(--spacing-8)]\n p-[4px]\n rounded-full\n md:h-[44px]\n min-w-[177px]\n font-[family-name:var(--font-family-primary,'Montserrat:Bold',sans-serif)]\n font-bold\n md:text-[14px]\n text-[12px]\n leading-[18px]\n cursor-pointer\n transition-all\n hover:opacity-90\n no-underline\n ",children:(0,t.jsx)(r.LegalMarkText,{text:s})}),d&&l&&(0,t.jsx)("button",{onClick:()=>{globalThis.location.assign(u??"/auth/login")},"aria-label":c?"Go to rewards":"Go to login",className:"cursor-pointer bg-transparent border-0 p-0 flex items-center justify-center",children:(0,t.jsx)("img",{src:l,alt:c?"Go to rewards":"Go to login",className:"w-[32px] h-[32px]"})})]})]})})};e.s(["BannerSection",0,e=>{let{logo:r,logoAlt:n,title:a,description:o,buttonLabel:s,rightIcon:l,ctaLink:u,isHomepage:d,isLoggedIn:c,onButtonClick:m,onSecondaryButtonClick:f}=e;return(0,t.jsx)("section",{className:"\n w-full\n rounded-bl-[var(--border-radius-2xl)]\n rounded-br-[var(--border-radius-2xl)]\n overflow-hidden\n ",style:{backgroundColor:"var(--color-brand-support-default)"},children:(0,t.jsx)("div",{className:"layout-container",children:(0,t.jsx)(i,{logo:r,logoAlt:n,title:a,description:o,buttonLabel:s,rightIcon:l,ctaLink:u,isHomepage:d,isLoggedIn:c,onButtonClick:m,onSecondaryButtonClick:f})})})}],556066)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.