UNPKG

@tidepool/viz

Version:

Tidepool data visualization for diabetes device data.

2 lines 103 kB
/*! For license information please see getAGPFigures.js.LICENSE.txt */ (()=>{var e={79947:(e,t,a)=>{"use strict";var r=a(44906).default;Object.defineProperty(t,"__esModule",{value:!0}),t.text=t.fontSizes=t.default=t.colors=t.AGP_UPPER_QUANTILE=t.AGP_TIR_MIN_TARGET_HEIGHT=t.AGP_TIR_MIN_HEIGHT=t.AGP_SECTION_HEADER_HEIGHT=t.AGP_SECTION_DESCRIPTION_HEIGHT=t.AGP_SECTION_BORDER_RADIUS=t.AGP_LOWER_QUANTILE=t.AGP_FOOTER_Y_PADDING=t.AGP_FONT_FAMILY=t.AGP_BG_CLAMP_MMOLL=t.AGP_BG_CLAMP_MGDL=void 0;var n,o,i,l,u,s,d,c,f,g=r(a(271)),h=r(a(27825)),m=r(a(56427)),v=a(56765),p=a(66871),y=m.default.t.bind(m.default);void 0===h.default.get(m.default,"options.returnEmptyString")&&m.default.init({returnEmptyString:!1,nsSeparator:"|"}),t.AGP_BG_CLAMP_MGDL=350,t.AGP_BG_CLAMP_MMOLL=19.4,t.AGP_FOOTER_Y_PADDING=.25*v.DPI,t.AGP_TIR_MIN_HEIGHT=6,t.AGP_TIR_MIN_TARGET_HEIGHT=12,t.AGP_SECTION_BORDER_RADIUS=8,t.AGP_SECTION_HEADER_HEIGHT=.25*v.DPI,t.AGP_SECTION_DESCRIPTION_HEIGHT=.25*v.DPI,t.AGP_LOWER_QUANTILE=.05,t.AGP_UPPER_QUANTILE=.95,t.AGP_FONT_FAMILY="Helvetica, Arial, Sans-Serif";var b=t.text={reportHeader:y("AGP Report:"),reportSubHeader:(n={},(0,g.default)(n,p.CGM_DATA_KEY,y("Continuous Glucose Monitoring")),(0,g.default)(n,p.BGM_DATA_KEY,y("Blood Glucose Monitoring")),n),reportFooter:y("Patent pending – HealthPartners Institute dba International Diabetes Center – All Rights Reserved. ©2022"),reportInsuffienctData:y("Insufficient data to generate an AGP Report."),percentInRanges:{title:(o={},(0,g.default)(o,p.CGM_DATA_KEY,y("Time in Ranges")),(0,g.default)(o,p.BGM_DATA_KEY,y("Percent BGM Readings")),o),subtitle:(u={},(0,g.default)(u,p.CGM_DATA_KEY,(i={},(0,g.default)(i,p.GLYCEMIC_RANGES_PRESET.ADA_STANDARD,y("Goals for Type 1 and Type 2 Diabetes")),(0,g.default)(i,p.GLYCEMIC_RANGES_PRESET.ADA_OLDER_HIGH_RISK,y("Goals for Older/High Risk (Type 1 and 2)")),(0,g.default)(i,p.GLYCEMIC_RANGES_PRESET.ADA_PREGNANCY_T1,y("Goals for Pregnancy (Type 1)")),(0,g.default)(i,p.GLYCEMIC_RANGES_PRESET.ADA_GESTATIONAL_T2,y("Goals for Pregnancy (Gestational and Type 2)")),(0,g.default)(i,"PWD_SELF_DEFINED",""),i)),(0,g.default)(u,p.BGM_DATA_KEY,(l={},(0,g.default)(l,p.GLYCEMIC_RANGES_PRESET.ADA_STANDARD,""),(0,g.default)(l,p.GLYCEMIC_RANGES_PRESET.ADA_OLDER_HIGH_RISK,y("Older/High Risk")),(0,g.default)(l,p.GLYCEMIC_RANGES_PRESET.ADA_PREGNANCY_T1,y("Pregnancy")),(0,g.default)(l,p.GLYCEMIC_RANGES_PRESET.ADA_GESTATIONAL_T2,y("Pregnancy")),(0,g.default)(l,"PWD_SELF_DEFINED",""),l)),u)},reportInfo:{dob:y("DOB:"),mrn:y("MRN:")},glucoseMetrics:(s={},(0,g.default)(s,p.CGM_DATA_KEY,{title:y("Glucose metrics"),averageGlucose:{label:y("Average Glucose"),goal:{mgdl:y("Goal: <154 mg/dL"),mmoll:y("Goal: <8.6 mmol/L")}},coefficientOfVariation:{label:y("Glucose Variability"),subLabel:y("Defined as percent coefficient of variation"),goal:y("Goal: <=36%")},glucoseManagementIndicator:{label:y("Glucose Management Indicator (GMI)"),goal:y("Goal: <7%")}}),(0,g.default)(s,p.BGM_DATA_KEY,{title:y("BGM Statistics"),averageGlucose:{label:y("Average Glucose")},bgExtents:{label:y("Lowest/Highest Glucose")},coefficientOfVariation:{label:y("Glucose Variability"),subLabel:y("Defined as percent coefficient of variation"),goal:y("Goal: <=36%")},dailyReadingsInRange:{label:y("Average Readings/Day")},readingsInRange:{label:y("Number of Readings")}}),s),ambulatoryGlucoseProfile:(d={},(0,g.default)(d,p.CGM_DATA_KEY,{title:y("Ambulatory Glucose Profile (AGP)"),description:y("AGP is a summary of glucose values from the report period, with median (50%) and other percentiles shown as if they occurred in a single day."),targetRange:y("Target<br>Range"),insufficientData:y("Insufficient CGM data to generate AGP graph")}),(0,g.default)(d,p.BGM_DATA_KEY,{title:y("Ambulatory Glucose Profile (AGP)"),insufficientDataTitle:y("Modal Day BGM Values Graph"),description:y("AGP is a summary of glucose values from the report period, with median (50%) and other percentiles shown as if they occurred in a single day."),targetRange:y("Target<br>Range"),insufficientData:y("Insufficient glucose data to generate AGP")}),d),dailyGlucoseProfiles:(c={},(0,g.default)(c,p.CGM_DATA_KEY,{title:y("Daily Glucose Profiles"),description:y("Each daily profile represents a midnight-to-midnight period.")}),(0,g.default)(c,p.BGM_DATA_KEY,{title:y("Daily Glucose Profiles"),description:y("Each daily profile represents a midnight-to-midnight period. The more readings available throughout the day, the more opportunities for improvement.")}),c),bgRanges:{veryHigh:y("Very High"),high:y("High"),target:y("Target"),low:y("Low"),veryLow:y("Very Low")},goals:(f={},(0,g.default)(f,p.GLYCEMIC_RANGES_PRESET.ADA_STANDARD,{veryHigh:y("Goal: <5%"),highCombined:y("Goal: <25%"),target:y("Goal: >70%"),lowCombined:y("Goal: <4%"),veryLow:y("Goal: <1%")}),(0,g.default)(f,p.GLYCEMIC_RANGES_PRESET.ADA_OLDER_HIGH_RISK,{veryHigh:y("Goal: <10%"),highCombined:y("Goal: <50%"),target:y("Goal: >50%"),lowCombined:y("Goal: <1%")}),(0,g.default)(f,p.GLYCEMIC_RANGES_PRESET.ADA_PREGNANCY_T1,{highCombined:y("Goal: <25%"),target:y("Goal: >70%"),lowCombined:y("Goal: <4%"),veryLow:y("Goal: <1%")}),(0,g.default)(f,p.GLYCEMIC_RANGES_PRESET.ADA_GESTATIONAL_T2,{highCombined:y("Goal: n/a"),target:y("Goal: n/a"),lowCombined:y("Goal: n/a"),veryLow:y("Goal: n/a")}),(0,g.default)(f,"PWD_SELF_DEFINED",{veryHigh:y("Goal: n/a"),highCombined:y("Goal: n/a"),target:y("Goal: n/a"),lowCombined:y("Goal: n/a"),veryLow:y("Goal: n/a")}),f),subLabels:{TIRtarget:y("Each 5% increase is clinically beneficial"),TIRminutes:y("Each 1% time in range = about 15 minutes")}},_=(t.fontSizes={reportHeader:14,reportSubHeader:14,reportFooter:7,reportInfo:{default:10,label:8},section:{title:9,subtitle:8,description:7,insufficientData:7},percentInRanges:{values:9,ticks:7,summaries:12,goals:7,subLabels:7},glucoseMetrics:{values:12,bgUnits:8,labels:9,subLabels:8,subStats:8,goals:8},ambulatoryGlucoseProfile:{hourlyTicks:7,bgTicks:9,percentileTicks:8,bgUnits:7,targetRange:9},dailyGlucoseProfiles:{bgTicks:7,bgUnits:7,timeTicks:7,weekdayTicks:8,calendarDates:8}},"#000000"),A="#FFFFFF",T="#D9D9D9",E="#7A7A7A",I="#626267",D=t.colors={text:{reportHeader:"#522398",label:I,reportFooter:_,section:{title:_,subtitle:I,description:_,insufficientData:_},reportInfo:_,calendarDates:I,goals:{veryHigh:I,highCombined:E,target:E,lowCombined:E,veryLow:I,glucoseMetrics:I},subLabels:{TIRtarget:I,TIRminutes:_,glucoseMetrics:I},subStats:{glucoseMetrics:_},ticks:{bg:I,dailyProfileBg:_,hour:I,percentile:I}},line:{default:I,ticks:T,range:{target:"#00AA51",dailyProfileTarget:_,default:T,divider:A}},white:A,black:_,lightGrey:T,mediumGrey:E,darkGrey:I,background:{shaded:T},bgRange:{veryLow:"#CC0019",low:"#FF0000",lowShaded:"#FF8080",target:"#0BAD5A",high:"#FFBF00",highShaded:"#FFD180",veryHigh:"#FF6900",empty:I},bgReadings:{veryLow:"#A30014",low:"#F20000",target:"#14B85C",high:"#FFA600",veryHigh:"#FF6900"},ambulatoryGlucoseProfile:{median:{veryLow:"#A30014",low:"#FF0000",target:"#00AA51",high:"#FFA600",veryHigh:"#FF7538"},interQuartile:{veryLow:"#A30014",low:"#FF0000",target:"#8BCD9E",high:"#FFC966",veryHigh:"#FFB380"},outerQuantile:{veryLow:"#A30014",low:"#FF8080",target:"#BEE1C6",high:"#FFE6B3",veryHigh:"#FFD9BF"}},dailyGlucoseProfiles:{low:{line:"#FF0000",fill:"#FF8080"},target:{line:"#00AA51",fill:T},high:{line:"#FFA600",fill:"#FFD180"}}};t.default={text:b,colors:D}},87307:(e,t,a)=>{"use strict";var r=a(44906).default;Object.defineProperty(t,"__esModule",{value:!0}),t.pointsToPixels=t.pixelsToChartScale=t.generatePercentInRangesFigure=t.generateDailyGlucoseProfilesFigure=t.generateChartSections=t.generateAmbulatoryGlucoseProfileFigure=t.createAnnotation=t.chartScaleToPixels=t.calculateCGMDataSufficiency=t.calculateBGMDataSufficiency=t.boldText=void 0;var n=r(a(37055)),o=r(a(84374)),i=r(a(27825)),l=a(79947),u=a(56765),s=a(99559),d=a(74501),c=a(84240),f=a(85199),g=a(80358),h=a(66871),m=r(a(74716)),v=t.boldText=function(e){return"<b>".concat(String(e),"</b>")},p=t.chartScaleToPixels=function(e,t){return t*e},y=t.pixelsToChartScale=function(e,t){return t/e},b=t.pointsToPixels=function(e){return.75*e},_=t.createAnnotation=function(e){return i.default.defaultsDeep(e,{arrowside:"none",font:{color:l.colors.black,family:l.AGP_FONT_FAMILY},showarrow:!1})},A=t.calculateCGMDataSufficiency=function(){var e,t,a,r,n,o,l,u,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},f=(null===(e=c.data)||void 0===e||null===(t=e.current)||void 0===t?void 0:t.aggregationsByDate).statsByDate,g=(null===(a=c.data)||void 0===a||null===(r=a.current)||void 0===r||null===(n=r.stats)||void 0===n?void 0:n.bgExtents)||{},v=g.newestDatum,p=g.bgDaysWorn,y=(null===(o=c.data)||void 0===o||null===(l=o.current)||void 0===l||null===(u=l.stats)||void 0===u?void 0:u.sensorUsage)||{},b=y.count,_=y.sampleInterval,A=y.sensorUsageAGP,T={ambulatoryGlucoseProfile:!0,dailyGlucoseProfiles:!0,glucoseMetrics:!0,percentInRanges:!0},E=b*_/h.MS_IN_HOUR;if(E<24)return{ambulatoryGlucoseProfile:!1,dailyGlucoseProfiles:!1,glucoseMetrics:!1,percentInRanges:!1};if(24===E){var I=A>=70;return{ambulatoryGlucoseProfile:!1,dailyGlucoseProfiles:I,glucoseMetrics:I,percentInRanges:I}}var D=i.default.map(i.default.range(i.default.max([p,7])),(function(e,t){return m.default.utc(v.time).tz((0,d.getTimezoneFromTimePrefs)(c.timePrefs)).subtract(t,"days").format("YYYY-MM-DD")})).reverse(),S=i.default.map(D,(function(e,t){var a,r,n=(null===(a=f[e])||void 0===a?void 0:a.sensorUsage)||{},o=n.count,i=n.sampleInterval,l=(null===(r=f[e])||void 0===r?void 0:r.bgExtents)||{},u=l.newestDatum,d=void 0===u?{}:u,c=l.oldestDatum,g=void 0===c?{}:c;if(!i||!o)return{sufficiencyMet:!1,sensorUsage:0};var m,v=h.MS_IN_HOUR/i;return{count:o,date:e,maxPossibleReadings:m=0===t?(0,s.bankersRound)((h.MS_IN_DAY-g.msPer24)/i):t===D.length-1?(0,s.bankersRound)(d.msPer24/i):(0,s.bankersRound)(h.MS_IN_DAY/i),sensorUsage:m>0?o/m*100:0,sufficiencyMet:o>=v}})),L=i.default.filter(S,{sufficiencyMet:!0}),G=i.default.slice(i.default.orderBy(L,["sensorUsage"],["desc"]),0,7);if(G.length<7)T.ambulatoryGlucoseProfile=!1;else{var M=i.default.meanBy(G,"sensorUsage");T.ambulatoryGlucoseProfile=M>=70}return T},T=t.calculateBGMDataSufficiency=function(){var e,t,a,r,n=(null===(e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data)||void 0===e||null===(t=e.current)||void 0===t||null===(a=t.data)||void 0===a||null===(r=a.smbg)||void 0===r?void 0:r.length)||0;return{ambulatoryGlucoseProfile:n>=30,dailyGlucoseProfiles:n>0,glucoseMetrics:n>0,percentInRanges:n>0}};t.generateChartSections=function(e,t){var a,r=3.375*u.DPI,n=.75*u.DPI,o=u.MARGINS.left+u.WIDTH,i=u.MARGINS.top+u.HEIGHT-(.75*u.DPI-u.MARGINS.bottom),s=.25*u.DPI,d={},c=t===h.CGM_DATA_KEY?A(e):T(e),g=(0,f.getGlycemicRangesPreset)(null===(a=e.query)||void 0===a?void 0:a.glycemicRanges);d.percentInRanges={bgSource:t,x:u.MARGINS.left,y:n,width:3.875*u.DPI,height:3*u.DPI,bordered:!0,text:{title:l.text.percentInRanges.title[t],subtitle:l.text.percentInRanges.subtitle[t][g]},sufficientData:c.percentInRanges},d.reportInfo={bgSource:t,x:o-r,y:n,width:r,height:u.DPI*(t===h.CGM_DATA_KEY?.875:.55),text:l.text.reportInfo},d.glucoseMetrics={bgSource:t,x:o-r,y:d.reportInfo.y+d.reportInfo.height+s,width:r,height:u.DPI*(t===h.CGM_DATA_KEY?1.875:2.2),bordered:!0,text:l.text.glucoseMetrics[t],sufficientData:c.glucoseMetrics},d.ambulatoryGlucoseProfile={bgSource:t,x:u.MARGINS.left,y:4*u.DPI,width:u.WIDTH,height:3.5*u.DPI,bordered:!0,text:l.text.ambulatoryGlucoseProfile[t],sufficientData:c.ambulatoryGlucoseProfile};var m=2.25*u.DPI;return d.dailyGlucoseProfiles={bgSource:t,x:u.MARGINS.left,y:i-m-l.AGP_FOOTER_Y_PADDING,width:u.WIDTH,height:m,bordered:!0,text:l.text.dailyGlucoseProfiles[t],sufficientData:c.dailyGlucoseProfiles},d},t.generatePercentInRangesFigure=function(e,t,a,r){var d,c,m,p=e.width-2,b=e.height-2-.25*u.DPI-l.AGP_SECTION_BORDER_RADIUS,A=.5*u.DPI,T=.425*u.DPI,E=.3*u.DPI,I=p-2*A,D=b-(T+E),S=.35*u.DPI,L=y.bind(null,D),G=y.bind(null,I),M=i.default.isNumber(null==a||null===(d=a.bgBounds)||void 0===d?void 0:d.veryLowThreshold),w=i.default.isNumber(null==a||null===(c=a.bgBounds)||void 0===c?void 0:c.veryHighThreshold),P=i.default.get(t,"data.raw.counts.total",0);if(e.sufficientData){var R,x,N,O,B,C,U=i.default.get(t,"data.raw.counts",{}),H=i.default.filter([M&&{id:"veryLow",value:U.veryLow},{id:"low",value:U.low},{id:"target",value:U.target},{id:"high",value:U.high},w&&{id:"veryHigh",value:U.veryHigh}],Boolean),Y=i.default.reduce(H,(function(e,t,a){var r=i.default.toNumber(t.value)/P*1,n="target"===t.id?l.AGP_TIR_MIN_TARGET_HEIGHT:l.AGP_TIR_MIN_HEIGHT,o=i.default.max([r,n/100]);return e.rawById[t.id]=r,e.raw.push(r),e.rendered.push(o),e.ticks.push((e.ticks[a-1]||0)+o),e}),{rawById:{},raw:[],rendered:[],ticks:[]}),k=1/i.default.last(Y.ticks);Y.rendered=i.default.map(Y.rendered,(function(e){return e*k})),Y.ticks=i.default.map(Y.ticks,(function(e){return e*k}));var F=i.default.map(H,(function(e,a){return{x:[t.id],y:[Y.rendered[a]],name:e.id,type:"bar",width:S/I*2,marker:{color:i.default.toNumber(e.value)>0?l.colors.bgRange[e.id]:l.colors.bgRange.empty,line:{color:l.colors.line.range.divider,width:2}}}})),V=(m=(0,o.default)(Y.ticks),M||m.unshift(0),w||m.push(1),{veryLowThreshold:m[0],targetLowerBound:m[1],targetUpperBound:m[2],veryHighThreshold:m[3],max:m[4]}),z=[M&&(null==a||null===(R=a.bgBounds)||void 0===R?void 0:R.veryLowThreshold),a.bgBounds.targetLowerBound,a.bgBounds.targetUpperBound,w&&(null==a||null===(x=a.bgBounds)||void 0===x?void 0:x.veryHighThreshold),null==a?void 0:a.bgUnits].filter(Boolean).map((function(e,t,r){return _({align:"right",font:{size:l.fontSizes.percentInRanges.ticks},text:t===r.length-1?v(e):v((0,s.formatBgValue)(e,a,void 0)),x:0,xanchor:"right",xshift:-2,y:t===r.length-1?V.targetLowerBound+(V.targetUpperBound-V.targetLowerBound)/2:Y.ticks[t],yanchor:"middle"})})),j=function(e,t,a,r,n){var o=L(13);if(i.default.isNumber(n)){var u=L(24);return r-n<o&&(n=r-o),{posX:t,posX2:a,posY:r,posY2:n,subBracketXOffset:(a-t)/2,subBracketYOffset:i.default.min([(r-n)/2,u])}}if("TARGET"===e){var s=[L(l.AGP_TIR_MIN_TARGET_HEIGHT),1-L(l.AGP_TIR_MIN_TARGET_HEIGHT)];r<s[0]&&(r=s[0]),r>s[1]&&(r=s[1])}return{posX:t,posX2:a,posY:r}},K=function(e){var t=e.posX,a=e.posX2,r=e.posY,n=e.posY2,o=e.subBracketXOffset,l=e.subBracketYOffset;if(i.default.isNumber(n)){var u=G(5),s=L(5);return["M ".concat(t," ").concat(r),"H ".concat(t+o-u),"Q ".concat(t+o," ").concat(r," ").concat(t+o," ").concat(r-s),"V ".concat(n+s),"Q ".concat(t+o," ").concat(n," ").concat(t+o-u," ").concat(n),"H ".concat(t),"M ".concat(t+o," ").concat(n+l),"H ".concat(a)].join(" ")}return["M ".concat(t," ").concat(r),"H ".concat(a)].join(" ")},W={veryLow:L(-11),low:V.veryLowThreshold,target:V.targetLowerBound+(V.targetUpperBound-V.targetLowerBound)/2,high:V.targetUpperBound+(V.veryHighThreshold-V.targetUpperBound)/2,veryHigh:V.max},Q=[G(S+5),G(I-S)],X={low:j.apply(void 0,["LOW"].concat(Q,M?[W.low,W.veryLow]:[W.low])),target:j.apply(void 0,["TARGET"].concat(Q,[W.target])),high:j.apply(void 0,["HIGH"].concat(Q,w?[W.veryHigh,W.high]:[W.high]))},q=i.default.map(i.default.values(X),(function(e){return{type:"path",path:K(e),line:{color:l.colors.line.default,width:.5},yref:"paper"}})),Z=function(e,t,a,r){var n=a>r,o=G(5),i=L(n?-5:5);return["M ".concat(e," ").concat(a),"V ".concat(r-i),"Q ".concat(e," ").concat(r," ").concat(e+o," ").concat(r),"H ".concat(t)].join(" ")},$=[0,X.low.posY2+L(6),1,X.high.posY+L(6)],J=[G(S/2),G(S+2)],ee=i.default.filter([M&&[].concat(J,(0,o.default)($.slice(0,2))),w&&[].concat(J,(0,o.default)($.slice(2)))],Boolean),te=i.default.map(ee,(function(e){return{type:"path",path:Z.apply(void 0,(0,o.default)(e)),line:{color:l.colors.black,width:.5},yref:"paper"}})),ae={veryLow:X.low.posY2,low:X.low.posY,target:X.target.posY,high:w?X.high.posY2:X.high.posY,veryHigh:X.high.posY},re=i.default.filter([M&&"veryLow","low","target","high",w&&"veryHigh"],Boolean),ne=i.default.map(re,(function(e){return _({align:"left",font:{size:l.fontSizes.percentInRanges.values},text:v(l.text.bgRanges[e]),x:Q[0],xanchor:"left",xshift:-1,y:ae[e],yanchor:"bottom",yref:"paper",yshift:-1})})),oe=i.default.filter([M&&"veryLow",M&&"low",w&&"high",w&&"veryHigh"],Boolean),ie=(0,g.reconcileTIRPercentages)(Y.rawById),le=i.default.map(oe,(function(e){return _({align:"right",font:{size:l.fontSizes.percentInRanges.values},text:v((0,s.formatPercentage)(ie[e],0,!0)),x:Q[0]+(Q[1]-Q[0])/2,xanchor:"right",xshift:-4,y:ae[e],yanchor:"bottom",yref:"paper",yshift:-1})})),ue={low:M?X.low.posY2+X.low.subBracketYOffset:X.low.posY,target:X.target.posY,high:w?X.high.posY2+X.high.subBracketYOffset:X.high.posY},se={low:(ie.veryLow||0)+ie.low,target:ie.target,high:(ie.veryHigh||0)+ie.high},de=i.default.map(["low","target","high"],(function(t){return _({align:"left",font:{size:l.fontSizes.percentInRanges.summaries},text:v((0,s.formatPercentage)(se[t],0,!0)),x:Q[0]+(Q[1]-Q[0])/2,xanchor:"left",xshift:e.bgSource===h.CGM_DATA_KEY?3:28,y:ue[t],yanchor:"bottom",yref:"paper",yshift:-2})})),ce={veryLow:{x:Q[0],xanchor:"left",xshift:-1,y:X.low.posY2,yshift:-11},lowCombined:{x:Q[1],xanchor:"right",xshift:5,y:M?X.low.posY2+X.low.subBracketYOffset:X.low.posY,yshift:0},target:{x:Q[1],xanchor:"right",xshift:5,y:X.target.posY,yshift:0},highCombined:{x:Q[1],xanchor:"right",xshift:5,y:w?X.high.posY2+X.high.subBracketYOffset:X.high.posY,yshift:0},veryHigh:{x:Q[0],xanchor:"left",xshift:-1,y:X.high.posY,yshift:9}},fe=(0,f.getGlycemicRangesPreset)(r),ge=fe!==h.GLYCEMIC_RANGES_PRESET.ADA_STANDARD||h.ADA_STANDARD_BG_BOUNDS[a.bgUnits||h.MGDL_UNITS].veryLowThreshold===(null===(N=a.bgBounds)||void 0===N?void 0:N.veryLowThreshold)&&h.ADA_STANDARD_BG_BOUNDS[a.bgUnits||h.MGDL_UNITS].targetLowerBound===(null===(O=a.bgBounds)||void 0===O?void 0:O.targetLowerBound)&&h.ADA_STANDARD_BG_BOUNDS[a.bgUnits||h.MGDL_UNITS].targetUpperBound===(null===(B=a.bgBounds)||void 0===B?void 0:B.targetUpperBound)&&h.ADA_STANDARD_BG_BOUNDS[a.bgUnits||h.MGDL_UNITS].veryHighThreshold===(null===(C=a.bgBounds)||void 0===C?void 0:C.veryHighThreshold)?fe:"PWD_SELF_DEFINED",he=i.default.filter(["veryLow","lowCombined","target","highCombined","veryHigh"],(function(e){return!!l.text.goals[ge][e]})),me=i.default.map(he,(function(e){return _((0,n.default)({align:"left",font:{color:l.colors.text.goals[e],size:l.fontSizes.percentInRanges.goals},text:l.text.goals[ge][e],yanchor:"bottom",yref:"paper"},ce[e]))})),ve={TIRtarget:{x:G(I),xanchor:"right",xref:"paper",xshift:A-15,y:X.target.posY,yshift:-12},TIRminutes:{x:G(I),xanchor:"right",xref:"paper",xshift:A-7,y:M?X.low.posY2:X.low.posY-.05,yshift:-12}},pe=i.default.map(["TIRtarget","TIRminutes"],(function(e){return _((0,n.default)({align:"left",font:{color:l.colors.text.subLabels[e],size:l.fontSizes.percentInRanges.subLabels},text:l.text.subLabels[e],yanchor:"bottom",yref:"paper"},ve[e]))})),ye={veryLow:[ne[0],le[0],e.bgSource===h.CGM_DATA_KEY&&me[0]],low:[ne[1],le[1]],lowSummary:[de[0],e.bgSource===h.CGM_DATA_KEY&&me[1]],target:[ne[2],de[1],e.bgSource===h.CGM_DATA_KEY&&me[2],e.bgSource===h.CGM_DATA_KEY&&pe[0]],high:[ne[3],le[2]],veryHigh:[ne[4],le[3],e.bgSource===h.CGM_DATA_KEY&&me[4]],highSummary:[de[2],e.bgSource===h.CGM_DATA_KEY&&me[3]]};return{data:F,layout:{barmode:"stack",width:p,height:b,showlegend:!1,margin:{l:A,r:A,b:E,t:T},xaxis:{range:[0,1],showgrid:!1,showline:!1,showticklabels:!1,zeroline:!1},yaxis:{range:[0,1],showgrid:!1,showline:!1,showticklabels:!1,zeroline:!1},annotations:[].concat((0,o.default)(z),(0,o.default)(ye.veryHigh),(0,o.default)(ye.high),(0,o.default)(ye.highSummary),(0,o.default)(ye.target),(0,o.default)(ye.low),(0,o.default)(ye.veryLow),(0,o.default)(ye.lowSummary),[e.bgSource===h.CGM_DATA_KEY&&pe[1]]),shapes:[].concat((0,o.default)(q),(0,o.default)(te))}}}return null},t.generateAmbulatoryGlucoseProfileFigure=function(e,t,a,r){var f,g,A=e.width-2,T=e.height-2-(l.AGP_SECTION_HEADER_HEIGHT+l.AGP_SECTION_DESCRIPTION_HEIGHT)-l.AGP_SECTION_BORDER_RADIUS,E=.5*u.DPI,I=.2*u.DPI,D=A-2*E,S=T-2*I,L=i.default.isNumber(null==a||null===(f=a.bgBounds)||void 0===f?void 0:f.veryHighThreshold),G=i.default.isNumber(null==a||null===(g=a.bgBounds)||void 0===g?void 0:g.veryLowThreshold);if(e.sufficientData||r===h.BGM_DATA_KEY){var M=(null==a?void 0:a.bgUnits)===h.MGDL_UNITS?l.AGP_BG_CLAMP_MGDL:l.AGP_BG_CLAMP_MMOLL,w=(0,c.mungeBGDataBins)(r,d.ONE_HR,t,[l.AGP_LOWER_QUANTILE,l.AGP_UPPER_QUANTILE]),P=["lowerQuantile","firstQuartile","median","thirdQuartile","upperQuantile"],R=w[0],x=w[w.length-1],N=i.default.map(w,(function(e,t){return(0,n.default)((0,n.default)({},e),i.default.reduce(P,(function(a,r){var n,o,l,u,s;return a[r]=(l=(null===(n=w[t-1])||void 0===n?void 0:n[r])||x[r],u=e[r],s=(null===(o=w[t+1])||void 0===o?void 0:o[r])||R[r],(l||s)&&u?l&&s?i.default.sum([l,4*u,s])/6:i.default.sum([l||0,4*u,s||0])/5:u),a}),{}))})),O=N[0],B=N[N.length-1];N.unshift((0,n.default)((0,n.default)({},B),{},{msX:O.msX-d.ONE_HR})),N.push((0,n.default)((0,n.default)({},O),{},{msX:B.msX+d.ONE_HR}));var C=function(e,t,a,r,n){return{name:a,type:"scatter",x:[].concat((0,o.default)(i.default.map(N,"msX")),(0,o.default)(i.default.map(i.default.reverse((0,o.default)(N)),"msX"))),y:[].concat((0,o.default)(i.default.map(N,e)),(0,o.default)(i.default.map(i.default.reverse((0,o.default)(N)),t))),yaxis:0===n?"y":"y".concat(n+1),fill:"tozerox",fillcolor:l.colors.ambulatoryGlucoseProfile[a][r],mode:"none",line:{simplify:!1,shape:"spline",smoothing:.5}}},U=i.default.filter([G&&"veryLow","low","target","high",L&&"veryHigh"],Boolean),H=i.default.filter([0,G&&a.bgBounds.veryLowThreshold,a.bgBounds.targetLowerBound,a.bgBounds.targetUpperBound,L&&a.bgBounds.veryHighThreshold,M],(function(e){return i.default.isNumber(e)})),Y=i.default.findIndex(U,(function(e){return"target"===e})),k=Y+1,F=i.default.map(H,(function(e,t){var r=i.default.includes([Y,k],t),n=0;return 0===t&&(n=4),1===t&&(n=-2),_({align:"right",font:{color:r?l.colors.white:l.colors.text.ticks.bg,size:l.fontSizes.ambulatoryGlucoseProfile.bgTicks},height:9,text:v(0===t?e:(0,s.formatBgValue)(e,a,void 0,!0)),y:e/M,yanchor:"middle",yref:"paper",yshift:n,xanchor:"right",xref:"x",xshift:-2,x:0})})),V=i.default.map(i.default.slice(H,Y,k+1),(function(e){return{fillcolor:l.colors.line.range.target,line:{width:0},tick:e,path:(t=e/M*S,a=-23,r=t+5,n=t-5,["M ".concat(-1," ").concat(t),"V ".concat(t-1),"L ".concat(-5," ").concat(n),"H ".concat(-21),"Q ".concat(a," ").concat(n," ").concat(a," ").concat(n+2),"V ".concat(r-2),"Q ".concat(a," ").concat(r," ").concat(-21," ").concat(r),"H ".concat(-5),"L ".concat(-1," ").concat(t+1),"V ".concat(t)].join(" ")),type:"path",xanchor:0,xref:"paper",xsizemode:"pixel",yanchor:0,yref:"paper",ysizemode:"pixel"};var t,a,r,n})),z=i.default.map(H,(function(e,t){var a=5===t,n=i.default.includes([Y,k],t),o=0===t;return{layer:r===h.CGM_DATA_KEY&&(n||a)?"above":"below",line:{color:n?l.colors.line.range.target:l.colors.line.range.default,width:n?2:1},type:"line",x0:a||o?-1:0,x1:a||o?D+1:D,xref:"paper",xanchor:0,xsizemode:"pixel",y0:e/M,y1:e/M,yref:"paper"}})),j=i.default.map(P,(function(e){return O[e]&&B[e]?(O[e]+B[e])/2:r===h.CGM_DATA_KEY?O[e]||B[e]:void 0})),K=["5%","25%","50%","75%","95%"],W=i.default.map(j,(function(e){return p(S,e/M)})),Q=(0,o.default)(W),X=W[2],q=b(l.fontSizes.ambulatoryGlucoseProfile.percentileTicks)+2;Q[1]=i.default.min([X-q,Q[1]]),Q[0]=i.default.min([Q[1]-q,Q[0]]),Q[3]=i.default.max([X+q,Q[3]]),Q[4]=i.default.max([Q[3]+q,Q[4]]);var Z=i.default.map(Q,(function(e,t){return e-W[t]})),$=i.default.map(j,(function(e,t){return _({align:"left",font:{color:2===t?l.colors.black:l.colors.text.ticks.percentile,size:l.fontSizes.ambulatoryGlucoseProfile.percentileTicks},name:U[t],text:v(K[t]),visible:i.default.isFinite(e)&&e/M<=1,y:e/M,yanchor:"middle",yref:"paper",yshift:Z[t],xanchor:"left",xref:"x",xshift:5,x:h.MS_IN_DAY})})),J=i.default.map(j,(function(e,t){return{line:{color:l.colors.line.ticks,width:1},type:"line",visible:i.default.isFinite(e)&&e/M<=1,x0:D,x1:D+5,xref:"paper",xanchor:0,xsizemode:"pixel",y0:e/M,y1:e/M+y(S,Z[t]),yref:"paper"}})),ee=i.default.range(0,h.MS_IN_DAY+1,6*h.MS_IN_HOUR),te=i.default.filter(i.default.range(0,h.MS_IN_DAY+1,h.MS_IN_HOUR),(function(e){return e/h.MS_IN_HOUR%12!=0})),ae=i.default.map(i.default.range(0,h.MS_IN_DAY+1,3*h.MS_IN_HOUR),(function(e){return _({align:"center",font:{color:e/h.MS_IN_HOUR%12==0?l.colors.black:l.colors.darkGrey,size:l.fontSizes.ambulatoryGlucoseProfile.hourlyTicks},text:v(m.default.utc(e).format("ha")),y:0,yanchor:"top",yref:"y",yshift:0,xanchor:"middle",xref:"x",x:e})})),re=[],ne=[],oe=[],ie=[],le=!1;if(i.default.each(U,(function(t,a){var n=[H[a],H[a+1]];r===h.CGM_DATA_KEY?(re.push(C("upperQuantile","lowerQuantile","outerQuantile",t,a)),re.push(C("thirdQuartile","firstQuartile","interQuartile",t,a)),re.push({name:"median",type:"scatter",x:i.default.map(N,"msX"),y:i.default.map(N,"median"),yaxis:0===a?"y":"y".concat(a+1),mode:"lines",fill:"none",line:{color:l.colors.ambulatoryGlucoseProfile.median[t],simplify:!1,shape:"spline",width:3,smoothing:.5}})):r===h.BGM_DATA_KEY&&e.sufficientData&&i.default.each(N,(function(e,r){var n=[N[r-1],e],u=i.default.filter(n,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.thirdQuartile,a=e.firstQuartile;return i.default.isFinite(t)&&i.default.isFinite(a)}));2===u.length&&re.push(function(e,t,a,r,n,u){return{name:a,type:"scatter",x:[].concat((0,o.default)(i.default.map(u,"msX")),(0,o.default)(i.default.map(i.default.reverse((0,o.default)(u)),"msX"))),y:[].concat((0,o.default)(i.default.map(u,"thirdQuartile")),(0,o.default)(i.default.map(i.default.reverse((0,o.default)(u)),"firstQuartile"))),yaxis:0===n?"y":"y".concat(n+1),fill:"toself",fillcolor:l.colors.ambulatoryGlucoseProfile[a][r],mode:"none",line:{simplify:!1,shape:"line",smoothing:0}}}(0,0,"interQuartile",t,a,u));var s=i.default.filter(n,(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).median;return i.default.isFinite(e)})),d=r===N.length-1;if(d&&u.length<2){var c=(n[0].median+n[1].median)/2;le=c>M/2?"bottom":"top"}if(2===s.length){var f=1===r,g=s[0].msX/h.MS_IN_DAY,m=s[1].msX/h.MS_IN_DAY,v=s[0].median,p=s[1].median;f&&(g=0,v=p-(p-v)/2),d&&(m=1,p-=(p-v)/2),oe.push({type:"line",x0:g,x1:m,y0:v,y1:p,line:{color:l.colors.ambulatoryGlucoseProfile.median[t],width:3},xref:"paper",xsizemode:"scaled",yref:0===a?"y":"y".concat(a+1),ysizemode:"scaled"});var b=y(D,1.5),_=y(S,1.5)*M,A=[N[r-2],N[r-1]];if(2===i.default.filter(A,(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).median;return i.default.isFinite(e)})).length){var T=n[0];oe.push({type:"circle",x0:T.msX/h.MS_IN_DAY-b,x1:T.msX/h.MS_IN_DAY+b,y0:T.median-_,y1:T.median+_,line:{width:0},fillcolor:l.colors.ambulatoryGlucoseProfile.median[t],xref:"paper",xsizemode:"scaled",yref:0===a?"y":"y".concat(a+1),ysizemode:"scaled"})}}}));var u={domain:[n[0]/M,n[1]/M],range:n,showgrid:!1,showline:!0,linecolor:l.colors.lightGrey,mirror:!0,showticklabels:!1,zeroline:!1};ne.push(u)})),le){var ue=y(D,4),se="top"===le?1-y(S,79):y(S,4);i.default.each($,(function(e,t){var a=i.default.includes([0,2,4],t),r=2===t,n=15*t;if(ie.push({type:"rect",x0:0,x1:5,y0:n,y1:n+15,line:{width:0},fillcolor:l.colors.ambulatoryGlucoseProfile.interQuartile[e.name],xanchor:1+ue,xref:"paper",xsizemode:"pixel",yanchor:0+se,yref:"paper",ysizemode:"pixel"}),r&&ie.push({type:"line",x0:0,x1:5,y0:n+7.5,y1:n+7.5,line:{color:l.colors.ambulatoryGlucoseProfile.median.target,width:3},xanchor:1+ue,xref:"paper",xsizemode:"pixel",yanchor:0+se,yref:"paper",ysizemode:"pixel"}),a){var o=.5,u=t+1;t>0&&(o=r?7.5:14.5,u=r?t:t-1),J.push({type:"line",x0:0,x1:5,y0:n+o,y1:n+o,line:{color:l.colors.line.ticks,width:1},xanchor:1+y(D,5)+ue,xref:"paper",xsizemode:"pixel",yanchor:0+se,yref:"paper",ysizemode:"pixel"}),$.push(_({align:"left",font:{color:r?l.colors.black:l.colors.text.ticks.percentile,size:l.fontSizes.ambulatoryGlucoseProfile.percentileTicks},name:U[t],text:v(K[u]),xanchor:"left",xref:"paper",xshift:5,x:1+y(D,5)+ue,y:y(S,n+o),yanchor:"middle",yref:"paper",yshift:p(S,se)}))}}))}var de=[],ce=[],fe=[],ge=[],he=[];if(r===h.BGM_DATA_KEY){var me=y(D,2.25),ve=y(S,2.25),pe=function(e){return i.default.map(i.default.filter(t,(function(t){var r=t.value;return(0,c.classifyBgValue)(a.bgBounds,a.bgUnits,r,"fiveWay")===e})),(function(t){return{type:"circle",x0:t.msPer24/h.MS_IN_DAY-me,x1:t.msPer24/h.MS_IN_DAY+me,y0:i.default.min([t.value,M])/M-ve,y1:i.default.min([t.value,M])/M+ve,fillcolor:l.colors.bgReadings[e],line:{color:l.colors.black,width:.25},xref:"paper",xsizemode:"scaled",yref:"paper",ysizemode:"scaled"}}))};fe=pe("veryLow"),ce=pe("low"),de=pe("target"),ge=pe("high"),he=pe("veryHigh")}var ye=(0,n.default)((0,n.default)({width:A,height:T,showlegend:!1,margin:{l:E,r:E,b:I,t:I},xaxis:{gridcolor:l.colors.line.ticks,linecolor:l.colors.line.ticks,range:[0,h.MS_IN_DAY],showgrid:!0,showline:!1,showticklabels:!1,tickvals:ee,zeroline:!1},xaxis2:{range:[0,h.MS_IN_DAY],overlaying:"x",showgrid:!1,showline:!1,showticklabels:!1,ticks:"inside",tickcolor:l.colors.lightGrey,ticklen:5,tickvals:te,zeroline:!1}},i.default.reduce(ne,(function(e,t,a){return e[0===a?"yaxis":"yaxis".concat(a+1)]=t,e}),{})),{},{annotations:[].concat((0,o.default)(F),(0,o.default)($),(0,o.default)(ae),[_({font:{color:l.colors.text.ticks.bg,size:l.fontSizes.ambulatoryGlucoseProfile.bgUnits},text:null==a?void 0:a.bgUnits,x:0,xanchor:"right",xref:"paper",xshift:-2,y:H[5]/M,yanchor:"top",yref:"paper",yshift:-4}),_({font:{color:l.colors.black,size:l.fontSizes.ambulatoryGlucoseProfile.bgUnits},text:v(l.text.ambulatoryGlucoseProfile[r].targetRange),x:0,xanchor:"right",xref:"paper",xshift:-2,y:i.default.mean(i.default.slice(H,2,4))/M,yanchor:"middle",yref:"paper"})]),shapes:[].concat((0,o.default)(z),(0,o.default)(V),(0,o.default)(de),(0,o.default)(ce),(0,o.default)(fe),(0,o.default)(ge),(0,o.default)(he),oe,(0,o.default)(J),ie)}),be={data:[].concat(re,[{visible:!1,xaxis:"x2"}],(0,o.default)(i.default.map(ne,(function(e,t){return{visible:!1,yaxis:0===t?"y":"y".concat(t+1)}})))),layout:ye};return be}return null},t.generateDailyGlucoseProfilesFigure=function(e,t,a,r){var d=e.width-2,f=(e.height-2-(l.AGP_SECTION_HEADER_HEIGHT+l.AGP_SECTION_DESCRIPTION_HEIGHT)-l.AGP_SECTION_BORDER_RADIUS)/2,g=.5*u.DPI,p=.2*u.DPI,b=d-2*g,A=f-(p+1);if(e.sufficientData){var T,E,I=(null==a?void 0:a.bgUnits)===h.MGDL_UNITS?l.AGP_BG_CLAMP_MGDL:l.AGP_BG_CLAMP_MMOLL,D=[0,null==a||null===(T=a.bgBounds)||void 0===T?void 0:T.targetLowerBound,null==a||null===(E=a.bgBounds)||void 0===E?void 0:E.targetUpperBound,I],S=i.default.map(i.default.slice(D,1,3),(function(e){return _({align:"right",font:{color:l.colors.text.ticks.dailyProfileBg,size:l.fontSizes.dailyGlucoseProfiles.bgTicks},text:v((0,s.formatBgValue)(e,a,void 0,!0)),y:e/I,yanchor:"middle",yref:"paper",xanchor:"right",xref:"x",xshift:-2,x:0})})),L=i.default.map(D,(function(e,t){var a=3===t,r=i.default.includes([1,2],t),n=0===t;return{layer:r||a?"above":"below",line:{color:r?l.colors.line.range.dailyProfileTarget:l.colors.line.range.default,width:1},type:"line",x0:a||n?-1:0,x1:a||n?b+1:b,xref:"paper",xanchor:0,xsizemode:"pixel",y0:e/I,y1:e/I,yref:"paper"}})),G=i.default.range(0,7*h.MS_IN_DAY+1,12*h.MS_IN_HOUR),M=i.default.map(i.default.filter(G,(function(e,t){return t%2!=0})),(function(e,a){return _({align:"center",font:{color:l.colors.black,size:"ha"===r?l.fontSizes.dailyGlucoseProfiles.timeTicks:l.fontSizes.dailyGlucoseProfiles.weekdayTicks},text:v("ha"===r?m.default.utc(e).format(r):m.default.utc(String(t[a][0])).format(r)),y:1,yanchor:"bottom",yref:"paper",yshift:1,xanchor:"middle",xref:"x",x:e})})),w=i.default.flatten(i.default.map(t,(function(e){return e[0]}))),P=i.default.map(w,(function(e,t){return _({align:"left",font:{color:l.colors.text.calendarDates,size:l.fontSizes.dailyGlucoseProfiles.calendarDates},text:v(m.default.utc(e).format("D")),y:1,yanchor:"top",yref:"paper",yshift:0,xanchor:"left",xref:"x",xshift:0,x:t*h.MS_IN_DAY})})),R=[],x=[],N=i.default.flatten(i.default.map(t,(function(e,t){return i.default.map(e[1],(function(e){return(0,n.default)((0,n.default)({},e),{},{msPer24:e.msPer24+h.MS_IN_DAY*t,bgRange:e.type===h.BGM_DATA_KEY?(0,c.classifyBgValue)(a.bgBounds,a.bgUnits,e.value,"threeWay"):void 0})}))}))),O=[],B=[],C=[];if(e.bgSource===h.CGM_DATA_KEY&&i.default.each(["low","target","high"],(function(e,t){var a=0===t,r=1===t,n=i.default.first(N),u=i.default.last(N),s=[D[t],D[t+1]],d=a?1:0;R.push({name:"rangeFill",type:"scatter",x:r?[0,7*h.MS_IN_DAY,7*h.MS_IN_DAY,0]:[null==n?void 0:n.msPer24].concat((0,o.default)(i.default.map(N,"msPer24")),[null==u?void 0:u.msPer24,null==n?void 0:n.msPer24]),y:r?[s[1],s[1],s[0],s[0]]:[s[d]].concat((0,o.default)(i.default.map(N,"value")),[s[d],s[d]]),yaxis:0===t?"y":"y".concat(t+1),mode:"none",fill:"tonextx",fillcolor:l.colors.dailyGlucoseProfiles[e].fill,line:{color:l.colors.dailyGlucoseProfiles[e].line,simplify:!1,width:1}}),R.push({name:"median",type:"scatter",x:i.default.map(N,"msPer24"),y:i.default.map(N,"value"),yaxis:0===t?"y":"y".concat(t+1),mode:"lines",fill:"none",line:{color:l.colors.dailyGlucoseProfiles[e].line,simplify:!1,width:1}});var c={domain:[s[0]/I,s[1]/I],range:s,showgrid:!1,showline:!0,linecolor:l.colors.lightGrey,mirror:!0,showticklabels:!1,zeroline:!1};x.push(c)})),e.bgSource===h.BGM_DATA_KEY){var U=y(b,2),H=y(A,2),Y=function(e){return i.default.map(i.default.filter(N,{bgRange:e}),(function(t){return{type:"circle",x0:t.msPer24/(7*h.MS_IN_DAY)-U,x1:t.msPer24/(7*h.MS_IN_DAY)+U,y0:i.default.min([t.value,I])/I-H,y1:i.default.min([t.value,I])/I+H,fillcolor:l.colors.bgReadings[e],line:{color:l.colors.black,width:.25},xref:"paper",xsizemode:"scaled",yref:"paper",ysizemode:"scaled"}}))};O=Y("low"),B=Y("target"),C=Y("high"),R.push({name:"rangeFill",type:"scatter",x:[0,7*h.MS_IN_DAY,7*h.MS_IN_DAY,0],y:[D[2],D[2],D[1],D[1]],yaxis:"y",mode:"none",fill:"tonextx",fillcolor:l.colors.dailyGlucoseProfiles.target.fill,line:{color:l.colors.dailyGlucoseProfiles.target.line,simplify:!1,width:1}});var k={domain:[0,1],range:[0,I],showgrid:!1,showline:!0,linecolor:l.colors.lightGrey,mirror:!0,showticklabels:!1,zeroline:!1};x.push(k)}var F=(0,n.default)((0,n.default)({width:d,height:f,showlegend:!1,margin:{l:g,r:g,b:1,t:p},xaxis:{gridcolor:l.colors.line.ticks,linecolor:l.colors.line.ticks,range:[0,7*h.MS_IN_DAY],showgrid:!0,showline:!1,showticklabels:!1,tickvals:G,zeroline:!1}},i.default.reduce(x,(function(e,t,a){return e[0===a?"yaxis":"yaxis".concat(a+1)]=t,e}),{})),{},{annotations:[].concat((0,o.default)(S),(0,o.default)(M),(0,o.default)(P),[_({font:{color:l.colors.text.ticks.bg,size:l.fontSizes.dailyGlucoseProfiles.bgUnits},text:v(null==a?void 0:a.bgUnits),textangle:270,x:0,xanchor:"right",xref:"paper",xshift:-18,y:i.default.mean(i.default.slice(D,1,3))/I,yanchor:"middle",yref:"paper",yshift:0})]),shapes:[].concat((0,o.default)(L),(0,o.default)(B),(0,o.default)(O),(0,o.default)(C))}),V={data:[].concat(R,(0,o.default)(i.default.map(x,(function(e,t){return{visible:!1,yaxis:0===t?"y":"y".concat(t+1)}})))),layout:F};return V}return null}},56765:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WIDTH=t.SMALL_FONT_SIZE=t.MARGINS=t.MARGIN=t.LARGE_FONT_SIZE=t.HEIGHT=t.HEADER_FONT_SIZE=t.FOOTER_FONT_SIZE=t.EXTRA_SMALL_FONT_SIZE=t.DPI=t.DEFAULT_FONT_SIZE=void 0;var a=t.DPI=72,r=t.MARGIN=a/2;t.HEIGHT=11*a-2*r,t.WIDTH=8.5*a-2*r,t.MARGINS={left:r,top:r,right:r,bottom:r},t.DEFAULT_FONT_SIZE=10,t.LARGE_FONT_SIZE=12,t.FOOTER_FONT_SIZE=8,t.HEADER_FONT_SIZE=14,t.SMALL_FONT_SIZE=8,t.EXTRA_SMALL_FONT_SIZE=6},84240:(e,t,a)=>{"use strict";var r=a(44906).default;Object.defineProperty(t,"__esModule",{value:!0}),t.calculateCbgStatsForBin=h,t.calculateSmbgStatsForBin=m,t.classifyBgValue=function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"threeWay";if(i.default.isEmpty(e)||!i.default.isNumber(i.default.get(e,"targetLowerBound"))||!i.default.isNumber(i.default.get(e,"targetUpperBound")))throw new Error("You must provide a `bgBounds` object with a `targetLowerBound` and a `targetUpperBound`!");if(!i.default.isNumber(a)||!i.default.gt(a,0))throw new Error("You must provide a positive, numerical blood glucose value to categorize!");if(!i.default.includes([u.MMOLL_UNITS,u.MGDL_UNITS],t))throw new Error("Must provide a valid blood glucose unit of measure!");var n=e.veryLowThreshold,o=e.targetLowerBound,l=e.targetUpperBound,s=e.veryHighThreshold,c=t===u.MMOLL_UNITS?1:0,f=(0,d.bankersRound)(a,c);return"fiveWay"===r?i.default.isNumber(n)&&f<n?"veryLow":i.default.isNumber(s)&&f>s?"veryHigh":f<o?"low":f>l?"high":"target":f<o?"low":f>l?"high":"target"},t.classifyCvValue=function(e){return e<=36?"target":"high"},t.convertToMGDL=function(e){return e*u.MGDL_PER_MMOLL},t.convertToMmolL=function(e){return e/u.MGDL_PER_MMOLL},t.determineRangeBoundaries=c,t.findBinForTimeOfDay=f,t.findOutOfRangeAnnotations=g,t.generateBgRangeLabels=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=e.bgBounds,r=e.bgUnits,n=u.BG_DISPLAY_MINIMUM_INCREMENTS[r],o=i.default.mapValues(a,(function(t){return i.default.isNumber(t)?(0,d.formatBgValue)(t,e):null}));o.highLowerBound=(0,d.formatBgValue)(a.targetUpperBound+n,e),o.lowUpperBound=(0,d.formatBgValue)(a.targetLowerBound-n,e);var l=o.veryLowThreshold,s=o.lowUpperBound,c=o.targetLowerBound,f=o.targetUpperBound,g=o.highLowerBound,h=o.veryHighThreshold,m=o.extremeHighThreshold;return t.condensed?{veryLow:l?"<".concat(l):null,low:l?"".concat(l,"-").concat(s):"<".concat(c),anyLow:"<".concat(c),target:"".concat(c,"-").concat(f),high:h?"".concat(g,"-").concat(h):">".concat(f),anyHigh:">".concat(f),veryHigh:h?">".concat(h):null,extremeHigh:m?">".concat(m):null}:t.segmented?{veryLow:{suffix:r,value:l?"<".concat(l):null},low:{prefix:"between",suffix:r,value:l?"".concat(l,"-").concat(s):"<".concat(c)},anyLow:{suffix:r,value:"<".concat(c)},target:{prefix:"between",suffix:r,value:"".concat(c,"-").concat(f)},high:{prefix:"between",suffix:r,value:h?"".concat(g,"-").concat(h):">".concat(f)},anyHigh:{suffix:r,value:">".concat(f)},veryHigh:{suffix:r,value:h?">".concat(h):null},extremeHigh:{suffix:r,value:m?">".concat(m):null}}:{veryLow:l?"below ".concat(l," ").concat(r):null,low:l?"between ".concat(l," - ").concat(s," ").concat(r):"below ".concat(c," ").concat(r),anyLow:"below ".concat(c," ").concat(r),target:"between ".concat(c," - ").concat(f," ").concat(r),high:h?"between ".concat(g," - ").concat(h," ").concat(r):"above ".concat(f," ").concat(r),anyHigh:"above ".concat(f," ").concat(r),veryHigh:h?"above ".concat(h," ").concat(r):null,extremeHigh:m?"above ".concat(m," ").concat(r):null}},t.getOutOfRangeThreshold=function(e){var t=i.default.find(e.annotations||[],(function(e){return"bg/out-of-range"===e.code}));return t?(0,o.default)({},t.value,t.threshold):null},t.isCustomBgRange=function(e){var t=e.bgBounds,a=e.bgUnits;return t.targetUpperBound!==u.DEFAULT_BG_BOUNDS[a].targetUpperBound||t.targetLowerBound!==u.DEFAULT_BG_BOUNDS[a].targetLowerBound},t.mungeBGDataBins=function(e,t,a,r){for(var n=i.default.groupBy(a,(function(e){return f(t,e.msPer24)})),o=g(a),u=i.default.map((0,l.range)(t/2,s.TWENTY_FOUR_HRS,t),(function(e){return String(e)})),d="smbg"===e?m:h,c=function(e){return e.value},v=[],p=0;p<u.length;++p){var y=i.default.map(i.default.get(n,u[p],[]),c);v.push(d(u[p],t,y,o,r))}return v},t.reshapeBgClassesToBgBounds=function(e){var t=e.bgClasses,a=e.bgUnits;return{veryHighThreshold:i.default.get(t,"high.boundary",u.DEFAULT_BG_BOUNDS[a].veryHighThreshold),targetUpperBound:i.default.get(t,"target.boundary",u.DEFAULT_BG_BOUNDS[a].targetUpperBound),targetLowerBound:i.default.get(t,"low.boundary",u.DEFAULT_BG_BOUNDS[a].targetLowerBound),veryLowThreshold:i.default.get(t,"very-low.boundary",u.DEFAULT_BG_BOUNDS[a].veryLowThreshold),extremeHighThreshold:u.DEFAULT_BG_BOUNDS[a].extremeHighThreshold,clampThreshold:u.DEFAULT_BG_BOUNDS[a].clampThreshold}},t.weightedCGMCount=function(e){return i.default.reduce(e,(function(e,t){return e+i.default.get(t,"sampleInterval",5*u.MS_IN_MIN)/u.MS_IN_MIN/5}),0)};var n=r(a(21580)),o=r(a(271)),i=r(a(27825)),l=a(17897),u=a(66871),s=a(74501),d=a(99559);function c(e){var t=i.default.filter(e,{value:"low"}),a=i.default.filter(e,{value:"high"}),r={};return i.default.isEmpty(t)||(r.low=(0,l.max)(t,(function(e){return e.threshold}))),i.default.isEmpty(a)||(r.high=(0,l.min)(a,(function(e){return e.threshold}))),r}function f(e,t){if(t<0||t>=s.TWENTY_FOUR_HRS)throw new Error("`msPer24` < 0 or >= 86400000 is invalid!");return Math.floor(t/e)*e+e/2}function g(e){var t=function(e){return"bg/out-of-range"===e.code},a=i.default.filter(e,(function(e){return i.default.some(e.annotations||[],t)})),r=i.default.map(a,(function(e){return i.default.pick(i.default.find(e.annotations||[],t),["threshold","value"])}));return i.default.uniqBy(r,(function(e){return e.threshold}))}function h(e,t,a,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=(0,n.default)(o,2),s=u[0],d=void 0===s?.1:s,f=u[1],g=void 0===f?.9:f,h=i.default.sortBy(a,(function(e){return e})),m=parseInt(e,10),v={id:e,min:(0,l.min)(h),lowerQuantile:(0,l.quantile)(h,d),firstQuartile:(0,l.quantile)(h,.25),median:(0,l.median)(h),thirdQuartile:(0,l.quantile)(h,.75),upperQuantile:(0,l.quantile)(h,g),max:(0,l.max)(h),msX:m,msFrom:m-t/2,msTo:m+t/2};if(!i.default.isEmpty(r)){var p=c(r);v.outOfRangeThresholds=p}return v}function m(e,t,a,r){var n=i.default.sortBy(a,(function(e){return e})),o=parseInt(e,10),u={id:e,min:(0,l.min)(n),mean:(0,l.mean)(n),max:(0,l.max)(n),msX:o,firstQuartile:a.length>=5?(0,l.quantile)(n,.25):void 0,median:a.length>=3?(0,l.median)(n):void 0,thirdQuartile:a.length>=5?(0,l.quantile)(n,.75):void 0,msFrom:o-t/2,msTo:o+t/2};if(!i.default.isEmpty(r)){var s=c(r);u.outOfRangeThresholds=s}return u}},66871:(e,t,a)=>{"use strict";var r=a(44906).default;Object.defineProperty(t,"__esModule",{value:!0}),t.trends=t.springConfig=t.settingsOverrides=t.pumpVocabulary=t.TWIIST_LOOP=t.TIDEPOOL_LOOP=t.TANDEM=t.SLEEP=t.SITE_CHANGE_TYPE_UNDECLARED=t.SITE_CHANGE_TUBING=t.SITE_CHANGE_RESERVOIR=t.SITE_CHANGE_CANNULA=t.SITE_CHANGE=t.SETTINGS_OVERRIDE=t.SCHEDULED_DELIVERY=t.PREPRANDIAL=t.PHYSICAL_ACTIVITY=t.ONE_BUTTON_BOLUS=t.NO_SITE_CHANGE=t.MS_IN_MIN=t.MS_IN_HOUR=t.MS_IN_DAY=t.MMOLL_UNITS=t.MMOLL_CLAMP_TOP=t.MICROTECH=t.MGDL_UNITS=t.MGDL_PER_MMOLL=t.MGDL_CLAMP_TOP=t.MEDTRONIC=t.MAX_BOLUS=t.MAX_BASAL=t.LBS_PER_KG=t.INSULIN_MODEL_LABELS=t.INSULIN_DURATION=t.INSULIN_ACTING_TYPE_SHORT=t.INSULIN_ACTING_TYPE_RAPID=t.INSULIN_ACTING_TYPE_LONG=t.INSULIN_ACTING_TYPE_INTERMEDIATE=t.INSULET=t.GLYCEMIC_RANGES_TYPE=t.GLYCEMIC_RANGES_PRESET=t.EVENT_PUMP_SHUTDOWN=t.EVENT_PHYSICAL_ACTIVITY=t.EVENT_NOTES=t.EVENT_HEALTH=t.EVENT=t.DUPLICATE_SMBG_TIME_TOLERANCE_MS=t.DUPLICATE_SMBG_COUNT_THRESHOLD=t.DIY_LOOP=t.DIABETES_DATA_TYPES=t.DEFAULT_BG_BOUNDS=t.CGM_READINGS_ONE_DAY=t.CGM_DATA_KEY=t.BG_LOW=t.BG_HIGH=t.BG_DISPLAY_MINIMUM_INCREMENTS=t.BG_DATA_TYPES=t.BG_COLORS=t.BGM_DATA_KEY=t.AUTOMATED_SUSPEND=t.AUTOMATED_MODE_EXITED=t.AUTOMATED_DELIVERY=t.AUTOMATED_BOLUS=t.AUTOMATED_BASAL_DEVICE_MODELS=t.ANIMAS=t.ALARM_OVER_LIMIT=t.ALARM_OCCLUSION=t.ALARM_NO_POWER=t.ALARM_NO_INSULIN=t.ALARM_NO_DELIVERY=t.ALARM_AUTO_OFF=t.ALARM=t.ADA_STANDARD_BG_BOUNDS=t.ADA_PREGNANCY_T1_BG_BOUNDS=t.ADA_OLDER_HIGH_RISK_BG_BOUNDS=t.ADA_GESTATIONAL_T2_BG_BOUNDS=void 0;var n,o,i,l,u,s,d,c,f,g,h,m,v,p,y,b=r(a(271)),_=r(a(27825)),A=r(a(56427)),T=A.default.t.bind(A.default);void 0===_.default.get(A.default,"options.returnEmptyString")&&A.default.init({returnEmptyString:!1,nsSeparator:"|"}),t.BG_HIGH=T("High"),t.BG_LOW=T("Low"),t.springConfig={stiffness:180,damping:40,precision:.1},t.MGDL_CLAMP_TOP=400,t.MMOLL_CLAMP_TOP=22.5;var E=t.MGDL_UNITS=T("mg/dL"),I=t.MMOLL_UNITS=T("mmol/L"),D=(t.MGDL_PER_MMOLL=18.01559,t.BG_DISPLAY_MINIMUM_INCREMENTS=(n={},(0,b.default)(n,E,1),(0,b.default)(n,I,.1),n),t.GLYCEMIC_RANGES_PRESET={ADA_STANDARD:"adaStandard",ADA_OLDER_HIGH_RISK:"adaHighRisk",ADA_PREGNANCY_T1:"adaPregnancyType1",ADA_GESTATIONAL_T2:"adaPregnancyType2"},t.GLYCEMIC_RANGES_TYPE={PRESET:"preset",CUSTOM:"custom"},t.DEFAULT_BG_BOUNDS=(o={},(0,b.default)(o,E,{veryLowThreshold:54,targetLowerBound:70,targetUpperBound:180,veryHighThreshold:250,extremeHighThreshold:350,clampThreshold:600}),(0,b.default)(o,I,{veryLowThreshold:3,targetLowerBound:3.9,targetUpperBound:10,veryHighThreshold:13.9,extremeHighThreshold:19.4,clampThreshold:33.3}),o)),S=(t.ADA_STANDARD_BG_BOUNDS=D,t.ADA_OLDER_HIGH_RISK_BG_BOUNDS=(i={},(0,b.default)(i,E,{veryLowThreshold:null,targetLowerBound:70,targetUpperBound:180,veryHighThreshold:250,extremeHighThreshold:null,clampThreshold:600}),(0,b.default)(i,I,{veryLowThreshold:null,targetLowerBound:3.9,targetUpperBound:10,veryHighThreshold:13.9,extremeHighThreshold:null,clampThreshold:33.3}),i),t.ADA_PREGNANCY_T1_BG_BOUNDS=(l={},(0,b.default)(l,E,{veryLowThreshold:54,targetLowerBound:63,targetUpperBound:140,veryHighThreshold:null,extremeHighThreshold:null,clampThreshold:600}),(0,b.default)(l,I,{veryLowThreshold:3,targetLowerBound:3.5,targetUpperBound:7.8,veryHighThreshold:null,extremeHighThreshold:null,clampThreshold:33.3}),l)),L=(t.ADA_GESTATIONAL_T2_BG_BOUNDS=S,t.LBS_PER_KG=2.2046226218,t.trends={extentSizes:{ONE_WEEK:7,TWO_WEEKS:14,FOUR_WEEKS:28}},t.MS_IN_DAY=864e5,t.MS_IN_HOUR=36e5),G=(t.MS_IN_MIN=L/60,t.CGM_READINGS_ONE_DAY=288,t.CGM_DATA_KEY="cbg",t.BGM_DATA_KEY="smbg",t.DUPLICATE_SMBG_COUNT_THRESHOLD=10,t.DUPLICATE_SMBG_TIME_TOLERANCE_MS=500,t.NO_SITE_CHANGE="noSiteChange",t.SITE_CHANGE="siteChange",t.SITE_CHANGE_RESERVOIR="reservoirChange"),M=t.SITE_CHANGE_TUBING="tubingPrime",w=t.SITE_CHANGE_CANNULA="cannulaPrime",P=(t.ALARM="alarm",t.ALARM_NO_DELIVERY="no_delivery"),R=t.ALARM_AUTO_OFF="auto_off",x=t.ALARM_NO_INSULIN="no_insulin",N=t.ALARM_NO_POWER="no_power",O=t.ALARM_OCCLUSION="occlusion",B=t.ALARM_OVER_LIMIT="over_limit",C=(t.EVENT="event",t.EVENT_HEALTH="health",t.EVENT_NOTES="notes",t.EVENT_PHYSICAL_ACTIVITY="physical_activity",t.EVENT_PUMP_SHUTDOWN="pump_shutdown"),U=t.AUTOMATED_BOLUS="automatedBolus",H=t.AUTOMATED_DELIVERY="automatedDelivery",Y=t.AUTOMATED_SUSPEND="automatedSuspend",k=t.AUTOMATED_MODE_EXITED="automatedModeExited",F=t.SCHEDULED_DELIVERY="scheduledDelivery",V=t.SETTINGS_OVERRIDE="settingsOverride",z=t.SLEEP="sleep",j=t.PHYSICAL_ACTIVITY="physicalActivity",K=t.PREPRANDIAL="preprandial",W=t.MAX_BOLUS="maxBolus",Q=t.MAX_BASAL="maxBasal",X=t.ONE_BUTTON_BOLUS="oneButtonBolus",q=t.INSULIN_DURATION="insulinDuration",Z=t.INSULIN_ACTING_TYPE_INTERMEDIATE="intermediate",$=t.INSULIN_ACTING_TYPE_LONG="long",J=t.INSULIN_ACTING_TYPE_RAPID="rapid",ee=t.INSULIN_ACTING_TYPE_SHORT="short",te=(t.SITE_CHANGE_TYPE_UNDECLARED="undeclared",t.INSULET="Insulet"),ae=t.TANDEM="Tandem",re=t.ANIMAS="Animas",ne=t.TIDEPOOL_LOOP="Tidepool Loop",oe=t.DIY_LOOP="DIY Loop",ie=t.TWIIST_LOOP="twiist",le=t.MEDTRONIC="Medtronic",ue=t.MICROTECH="Microtech",se=(t.pumpVocabulary=(p={},(0,b.default)(p,re,(u={},(0,b.default)(u,G,T("Go Rewind")),(0,b.default)(u,M,T("Go Prime")),(0,b.default)(u,w,T("Cannula Fill")),u)),(0,b.default)(p,te,(s={},(0,b.default)(s,G,T("Pod Change")),(0,b.default)(s,M,T("Pod Activate")),(0,b.default)(s,w,T("Prime")),(0,b.default)(s,W,T("Maximum Bolus")),(0,b.default)(s,Q,T("Max Basal Rate")),(0,b.default)(s,q,T("Duration of Insulin Action")),s)),(0,b.default)(p,le,(d={},(0,b.default)(d,G,T("Rewind")),(0,b.default)(d,M,T("Prime")),(0,b.default)(d,w,T("Cannula Prime")),(0,b.default)(d,H,T("Auto Mode")),(0,b.default)(d,F,T("Manual")),(0,b.default)(d,W,T("Max Bolus")),(0,b.default)(d,Q,T("Max Basal")),(0,b.default)(d,q,T("Active Insulin Time")),d)),(0,b.default)(p,ue,(c={},(0,b.default)(c,G,T("Rewind")),(0,b.default)(c,M,T("Reservoir Prime")),(0,b.default)(c,w,T("Cannula Prime")),c)),(0,b.default)(p,ae,(f={},(0,b.default)(f,G,T("Cartridge Change")),(0,b.default)(f,M,T("Tubing Fill")),(0,b.default)(f,w,T("Cannula Fill")),(0,b.default)(f,H,T("Automation")),(0,b.default)(f,F,T("Manual")),(0,b.default)(f,V,T("Activity")),(0,b.default)(f,z,{label:T("Sleep"),marker:T("Z")}),(0,b.default)(f,j,{label:T("Exercise"),marker:T("E")}),(0,b.default)(f,W,T("Max Bolus")),(0,b.default)(f,q,T("Insulin Duration")),f)),(0,b.default)(p,ne,(g={},(0,b.default)(g,H,T("Automation")),(0,b.default)(g,k,T("Off")),(0,b.default)(g,F,T("Manual")),(0,b.default)(g,V,T("Preset")),(0,b.default)(g,j,{label:T("Workout"),marker:T("W")}),(0,b.default)(g,W,T("Maximum Bolus")),(0,b.default)(g,Q,T("Maximum Basal Rate")),g)),(0,b.default)(p,ie,(h={},(0,b.default)(h,G,T("Cassette Change")),(0,b.default)(h,H,T("Automation")),(0,b.default)(h,k,T("Off")),(0,b.default)(h,F,T("Manual")),(0,b.default)(h,V,T("Preset")),(0,b.default)(h,j,{label:T("Workout"),marker:T("W")}),(0,b.default)(h,W,T("Maximum Bolus")),(0,b.default)(h,Q,T("Maximum Basal Rate")),(0,b.default)(h,x,T("Cassette Empty")),(0,b.default)(h,O,T("Line Blocked")),h)),(0,b.default)(p,oe,(m={},(0,b.default)(m,H,T("Automation")),(0,b.default)(m,k,T("Off")),(0,b.default)(m,F,T("Manual")),(0,b.default)(m,V,T("Preset")),(0,b.default)(m,j,{label:T("Workout"),marker:T("W")}),(0,b.default)(m,W,T("Maximum Bolus")),(0,b.default)(m,Q,T("Maximum Basal Rate")),m)),(0,b.default)(p,"default",(v={},(0,b.default)(v,G,T("Cartridge Change")),(0,b.default)(v,M,T("Tubing Fill")),(0,b.default)(v,w,T("Cannula Fill")),(0,b.default)(v,U,T("Automated")),(0,b.default)(v,H,T("Automated")),(0,b.default)(v,Y,T("Automated Suspend")),(0,b.default)(v,k,T("Exited")),(0,b.default)(v,F,T("Manual")),(0,b.default)(v,V,T("Settings Override")),(0,b.default)(v,z,{label:T("Sleep"),marker:T("Z")}),(0,b.default)(v,j,{label:T("Exercise"),marker:T("E")}),(0,b.default)(v,K,{label:T("Pre-Meal"),marker:T("P")}),(0,b.default)(v,W,T("Max Bolus")),(0,b.default)(v,Q,T("Max Basal")),(0,b.default)(v,q,T("Insulin Duration")),(0,b.default)(v,X,T("One-Button Bolus")),(0,b.default)(v,P,T("Insulin Delivery Stopped")),(0,b.default)(v,R,T("Pump Auto-Off")),(0,b.default)(v,x,T("Reservoir Empt