1(function(){function ruleExcludesWeekDay(rule,date){var dayName=dayNames[date.getDay()];return rule.daysOfWeek.length&&rule.daysOfWeek.indexOf(dayName)==-1}function addHours(date,hours){var clone=new Date(date.getTime());return hours?(clone.setTime(date.getTime()+hours*36e5),clone):clone}function getNowInShopTime(locationInfo){var now=new Date,netOffsetMins=now.getTimezoneOffset()+locationInfo.utcOffsetMinutes;return netOffsetMins&&now.setTime(now.getTime()+netOffsetMins*6e4),now}function adjustForTime(dateTime,adjust){var clone=new Date(dateTime.getTime());return clone.setHours(adjust.hours,adjust.minutes,0,0),clone}var maxAge,dayNames;try{window.cmsTimeZoneId=Intl.DateTimeFormat().resolvedOptions().timeZone;maxAge=31536e3;document.cookie="SimpleCmsTimeZoneId="+window.cmsTimeZoneId+"; Max-Age="+maxAge+"; Path=/; SameSite=Lax"}catch(ex){}dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];window.cmsGetNextPickupDate=function(rulesResp,locationInfo,minLeadTimeHours){var today=new Date,i,result;for(today.setHours(0,0,0,0),i=0;i<365;i++){if(result=window.cmsCheckShopOpenRulesDate(rulesResp,today,locationInfo,minLeadTimeHours),result.open)return result.date;today.setDate(today.getDate()+1)}return null};window.cmsCheckShopOpenRulesDate=function(rulesResp,date,locationInfo,minLeadTimeHours){var now=getNowInShopTime(locationInfo),minTime=addHours(now,minLeadTimeHours),dayStart=date,dayEnd=new Date(date.getFullYear(),date.getMonth(),date.getDate(),23,59,59),applicableRules,hadAnyAllDayRule,rule,end,start;if(minTime>dayEnd)return{open:!1,reasonCode:"MinTimeAfterDayEnd"};if(!rulesResp.anyRules)return{open:!0,reasonCode:"NoRules",date:new Date(date.getTime())};applicableRules=[];hadAnyAllDayRule=!1;for(rule of rulesResp.rules)if((!rule.start||!(rule.start>dayEnd))&&(!rule.end||!(rule.end<dayStart))&&!ruleExcludesWeekDay(rule,date)){if(!rule.startTime){if(rule.closeReason)return{open:!1,reasonCode:"CloseReason",reason:rule.closeReason};hadAnyAllDayRule=!0}applicableRules.push(rule)}if(!applicableRules.length)return{open:!1,reasonCode:"NoApplicableRules"};if(hadAnyAllDayRule)return{open:!0,reasonCode:"AllDayRule",date:new Date(date.getTime())};applicableRules.sort(function(a,b){return a.startTimeObj.combined-b.startTimeObj.combined});for(rule of applicableRules)if(end=adjustForTime(date,rule.endTimeObj),minTime<end)return start=adjustForTime(date,rule.startTimeObj),{open:!0,reasonCode:"OpenRule",date:new Date(start.getTime())};return{open:!1,reasonCode:"NoRuleOverlap"}};window.cmsCheckShopOpenRulesDateTime=function(rulesResp,dateTime,locationInfo,minLeadTimeHours){var debug=!1,now=getNowInShopTime(locationInfo),minTime=addHours(now,minLeadTimeHours),hadAnyAvailability,reasonCode,rule,startTimeDate,endTimeDate;if(debug&&console.log("Checking",dateTime,now,minTime),dateTime<minTime)return{open:!1,reasonCode:"MinTimeAfter"};if(!rulesResp.anyRules)return{open:!0,reasonCode:"NoRules"};hadAnyAvailability=!1;reasonCode="NoRuleApplied";debug&&console.log("Checking rules",rulesResp.rules,dateTime);for(rule of rulesResp.rules){if(debug&&console.log("Checking rule",rule),rule.start&&rule.start>dateTime){debug&&console.log("Rule starts in the future",rule.start);continue}if(rule.end&&rule.end<dateTime){debug&&console.log("Rule ends in the past",rule.end);continue}if(ruleExcludesWeekDay(rule,dateTime)){debug&&console.log("Rule excludes this day of the week");continue}if(rule.startTimeObj&&(startTimeDate=adjustForTime(dateTime,rule.startTimeObj),startTimeDate>dateTime)){debug&&console.log("Rule starts later today",startTimeDate);continue}if(rule.endTimeObj&&(endTimeDate=adjustForTime(dateTime,rule.endTimeObj),endTimeDate<dateTime)){debug&&console.log("Rule ended earlier today",endTimeDate);continue}if(rule.closeReason)return{open:!1,resonCode:"CloseReason"};hadAnyAvailability=!0}return{open:hadAnyAvailability,reasonCode}}})();
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.