1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8684],{26186:(e,t,a)=>{"use strict";a.d(t,{rQ:()=>p,Gg:()=>y,OX:()=>g,g9:()=>l,R_:()=>c,P0:()=>m,Jn:()=>_,E1:()=>eC.E,Ht:()=>es.Ht,DD:()=>w,m0:()=>f,yM:()=>Q,co:()=>C,WE:()=>s,KW:()=>o,d1:()=>d,uH:()=>G,Ww:()=>ei,v5:()=>ed,Re:()=>ec,oZ:()=>ey,b7:()=>ef,Mv:()=>el,XH:()=>eE,p_:()=>ev,vA:()=>eF,bs:()=>eD,zB:()=>e$,YK:()=>eI,fS:()=>eb,SE:()=>ek,z8:()=>eQ});var n=a(95155),i=a(16365),r=a(12115);let s=(0,r.createContext)({streamClient:void 0,currentFeedQueryKey:"",setCurrentFeedQueryKey:()=>null});function o({children:e,config:t,streamFeedToken:a}){let[d,l]=(0,r.useState)(),[c,u]=(0,r.useState)("");!d&&a&&l((0,i.connect)(t?.apiKey,a,t?.appId));let m=(0,r.useMemo)(()=>({streamClient:d,currentFeedQueryKey:c,setCurrentFeedQueryKey:u}),[c,d]);return(0,n.jsx)(s.Provider,{value:m,children:e})}let d="agg_timeline",l="public",c="group",u="group_pin",m="notification",p=["like","celebrate","insightful","concerned"],y=["post","poll","event"],g=["post","poll","event"],_=["post","poll"],f=["post","poll","event","eventv2"],w={article:"Article",event:"Event",expertpanel:"Expert Panel",follow:"Follow",group_expertpanel:"Group Expert Panel",join:"Join",poll:"Post",post:"Post"};var h=a(81616);let v=(0,h.J1)` 2 fragment MC_FeedEvent_Fragment on FeedEvent { 3 id 4 createdAt 5 updatedAt 6 cta 7 description 8 endTime 9 link 10 startDate 11 startTime 12 timezone 13 type 14 title 15 activityId 16 audience 17 resourceCta 18 resourceLink 19 author { 20 id 21 } 22 host { 23 id 24 snapshot { 25 name 26 avatar 27 } 28 } 29 group { 30 id 31 name 32 slug 33 } 34 attachment { 35 url 36 } 37 } 38`,F=(0,h.J1)` 39 fragment MC_UserSnapshot_Fragment on UserSnapshot { 40 __typename 41 id 42 name 43 jobTitle 44 companyName 45 avatar 46 location 47 pronouns 48 displayPronouns 49 } 50`,D=(0,h.J1)` 51 fragment MC_User_Fragment on User { 52 id 53 snapshot { 54 ...MC_UserSnapshot_Fragment 55 } 56 type 57 } 58 ${F} 59`,$=(0,h.J1)` 60 fragment MC_FeedGroup_Fragment on FeedGroup { 61 id 62 slug 63 name 64 description 65 imageUrl 66 leadership { 67 user { 68 ...MC_User_Fragment 69 } 70 type 71 role 72 capabilities 73 } 74 followers(first: $first) { 75 edges { 76 node { 77 ...MC_User_Fragment 78 } 79 cursor 80 } 81 pageInfo { 82 hasPreviousPage 83 hasNextPage 84 } 85 } 86 totalFollowers 87 type 88 } 89 ${D} 90`,I=(0,h.J1)` 91 fragment MC_ExpertPanelAnswer_Fragment on ExpertPanelAnswer { 92 id 93 answer 94 author { 95 ...MC_User_Fragment 96 } 97 createdAt 98 likeCount 99 hasLiked 100 reactionId 101 questionId 102 question { 103 id 104 activityId 105 } 106 } 107 ${D} 108`;(0,h.J1)` 109 query feedPollVotes($input: FeedPollVotesInput!) { 110 feedPollVotes(input: $input) { 111 numberOfVotes 112 voters { 113 edges { 114 node { 115 id 116 snapshot { 117 name 118 avatar 119 companyName 120 } 121 } 122 } 123 } 124 } 125 } 126`;let b=(0,h.J1)` 127 mutation feedPostCreate($input: FeedPostCreateInput!, $first: Int) { 128 feedPostCreate(input: $input) { 129 id 130 audience 131 group { 132 ...MC_FeedGroup_Fragment 133 } 134 attachment { 135 url 136 mediaType 137 } 138 mentionedUsers { 139 ...MC_User_Fragment 140 } 141 } 142 } 143 ${$} 144 ${D} 145`,k=(0,h.J1)` 146 mutation feedPostUpdate($input: FeedPostUpdateInput!, $first: Int) { 147 feedPostUpdate(input: $input) { 148 id 149 audience 150 group { 151 ...MC_FeedGroup_Fragment 152 } 153 attachment { 154 url 155 mediaType 156 } 157 mentionedUsers { 158 ...MC_User_Fragment 159 } 160 } 161 } 162 ${$} 163 ${D} 164`,E=(0,h.J1)` 165 mutation feedPostDelete($id: ID!) { 166 feedPostDelete(id: $id) 167 } 168`,Q=(0,h.J1)` 169 mutation streamFlagActivity($input: StreamFlagActivityInput!) { 170 streamFlagActivity(input: $input) 171 } 172`,C=(0,h.J1)` 173 mutation streamFlagReaction($input: StreamFlagReactionInput!) { 174 streamFlagReaction(input: $input) 175 } 176`;(0,h.J1)` 177 mutation feedEventCreate($input: FeedEventCreateInput!) { 178 feedEventCreate(input: $input) { 179 id 180 } 181 } 182`,(0,h.J1)` 183 mutation feedEventDelete($id: ID!) { 184 feedEventDelete(id: $id) 185 } 186`,(0,h.J1)` 187 mutation feedEventUpdate($input: FeedEventUpdateInput!) { 188 feedEventUpdate(input: $input) { 189 id 190 ...MC_FeedEvent_Fragment 191 } 192 } 193 ${v} 194`,(0,h.J1)` 195 mutation mediaUpload($dataUri: String!) { 196 mediaUpload(input: { dataUri: $dataUri, type: FEED_IMAGE }) 197 } 198`;let P=(0,h.J1)` 199 mutation feedCommentCreate($input: FeedCommentCreateInput!) { 200 feedCommentCreate(input: $input) { 201 id 202 } 203 } 204`,S=(0,h.J1)` 205 mutation feedCommentUpdate($input: FeedCommentUpdateInput!) { 206 feedCommentUpdate(input: $input) { 207 id 208 } 209 } 210`,U=(0,h.J1)` 211 mutation FeedGroupPin($input: FeedGroupPinInput!) { 212 feedGroupPin(input: $input) 213 } 214`,q=(0,h.J1)` 215 mutation FeedGroupUnpin($input: FeedGroupPinInput!) { 216 feedGroupUnpin(input: $input) 217 } 218`;(0,h.J1)` 219 mutation epGroupQuestionAnswer($input: EpGroupQuestionAnswerInput!) { 220 epGroupQuestionAnswer(input: $input) { 221 id 222 answers { 223 id 224 answer 225 author { 226 id 227 name { 228 fullName 229 } 230 snapshot { 231 ...MC_UserSnapshot_Fragment 232 } 233 type 234 } 235 } 236 } 237 } 238 ${F} 239`;let K=(0,h.J1)` 240 mutation feedPollVoteCreate($input: FeedPollVoteCreateInput!) { 241 feedPollVoteCreate(input: $input) { 242 pollId 243 } 244 } 245`,x=(0,h.J1)` 246 mutation feedPollVoteUpdate($input: FeedPollVoteUpdateInput!) { 247 feedPollVoteUpdate(input: $input) { 248 pollId 249 } 250 } 251`,M=(0,h.J1)` 252 mutation feedPollVoteDelete($input: FeedPollVoteDeleteInput!) { 253 feedPollVoteDelete(input: $input) 254 } 255`,O=(0,h.J1)` 256 mutation feedPollCreate($input: FeedPollCreateInput!) { 257 feedPollCreate(input: $input) { 258 id 259 } 260 } 261`,T=(0,h.J1)` 262 mutation feedPollUpdate($input: FeedPollUpdateInput!) { 263 feedPollUpdate(input: $input) { 264 id 265 } 266 } 267`,J=(0,h.J1)` 268 mutation feedPollDelete($input: FeedPollDeleteInput!) { 269 feedPollDelete(input: $input) 270 } 271`,A=(0,h.J1)` 272 mutation expertPanelAnswerLike($answerId: ID!) { 273 expertPanelAnswerLike(answerId: $answerId) { 274 ...MC_ExpertPanelAnswer_Fragment 275 } 276 } 277 ${I} 278`,j=(0,h.J1)` 279 mutation expertPanelAnswerUnlike($answerId: ID!) { 280 expertPanelAnswerUnlike(answerId: $answerId) { 281 ...MC_ExpertPanelAnswer_Fragment 282 } 283 } 284 ${I} 285`;var N=a(78468),R=a(86436),L=a(56873);function G(e){let t=new Date(e?.includes("Z")?e:`${e}Z`);return(0,N.c)(t)?(0,R.GP)(t,"h:mm a"):(0,L.e)(t)?(0,R.GP)(t,"MMMM d 'at' h:mm a"):(0,R.GP)(t,"MMMM d y 'at' h:mm a")}function W({activity:e,myId:t}){return Object.entries(e.latest_children).find(([e,a])=>a.find(e=>e.user.id===t&&p.includes(e.kind)))?.[1]?.[0]}let V=({author:e})=>{let{id:t,profile:a,name:n}=e;return{id:t,data:{avatar:a?.avatar,name:n?.fullName,company:a?.company?.name}}};function B(){return{reaction_counts:{},own_reactions:{},latest_reactions:{}}}let H=({author:e,input:t})=>{let a=new Date().toISOString();return{id:`pending:${a}
285`,time:a,audience:t.audience,groupRef:t?.group?(({group:e})=>{let{id:t,name:a,type:n}=e;return{id:t,data:{name:a,type:n}}})({group:t?.group}):void 0,actor:V({author:e}),...B()}},z=({author:e,kind:t})=>{let a=new Date().toISOString();return{id:`pending:${a}`,kind:t,created_at:new Date().toISOString(),user:V({author:e})}},Z=({author:e,input:t,type:a})=>{let n=t.mentionedUserIds?.map(e=>`USER:${e}`)||[],i=new Date().toISOString();return{id:`pending:${i}`,children_counts:{},created_at:i,data:{body:t.markdown,mediaType:t.mediaType,mediaUrl:t.mediaFile,mentions:n},kind:a,latest_children:{},updated_at:i,user_id:e.id,user:V({author:e})}},X=["like","celebrate","insightful","concerned"];function Y({activity:e,feed:t,newData:a,queryKey:n}){return n.startsWith("activity:")?t.activities?{...t,activities:t.activities.with(0,{...e,...a})}:{...e,...a}:n?.startsWith("group-eps-")?function({feed:e,activity:t,newData:a}){return e?.map(e=>e?.id===t.id?a:e)}({feed:t,activity:e,newData:a}):t?.pages?{...t,pages:t?.pages?.map(t=>({...t,results:t?.results.map(t=>{if(t.activities){let n=function({foreignId:e,object:t,time:a,verb:n}){return"expertpanel"===n?`${n}_SO:${t.foreign_id}`:"eventv2"===n?`${n}_SO:event:${e}__${a.split("T")[0]}`:`${n}_SO:${n}:${e}__${a.split("T")[0]}`}({foreignId:e.foreign_id,object:e.object,time:e.time,verb:e.verb});return t.group===n?{...t,activities:function({feed:e,activity:t,newData:a}){return e.map(e=>e.id===t.id?{...e,...a}:e)}({feed:t.activities,activity:e,newData:a})}:t}return t.id===e.id?{...t,...a}:t})}))}:{...e,...a}}function ee(e){return e.map(e=>({...B(),...e}))}function et({feedData:e,activities:t}){let a=function({feedData:e,activities:t}){return t.filter(t=>!e.pages[0]?.results.some(e=>e.id===t.id))}({feedData:e,activities:t}),n=e?.pages?.map((e,t)=>0===t?{...e,results:[...a,...e.results]}:e);return{...e,pages:n}}function ea({activity:e,type:t}){let a=e.latest_children?"latest_children":"latest_reactions";return e[a][t]=e?.[a]?.[t]?.filter(e=>!e.id.startsWith("pending:")),e.own_reactions?.[t]&&(e.own_reactions[t]=e.own_reactions[t].filter(e=>!e.id.startsWith("pending:"))),e}function en(e){let t=e.latest_children?"latest_children":"latest_reactions";return Object.keys(e[t]).forEach(a=>{e[t][a]=e[t][a].filter(e=>!e.id.startsWith("pending:"))}),e}function ei({activity:e,myId:t}){let{children_counts:a,latest_children:n}=e,i={counts:{},latest:{},own:void 0};return Object.keys(a).forEach(e=>{if(X.includes(e)&&a[e]){i.counts[e]=a[e],i.latest[e]=n[e];let r=n?.[e]?.find(e=>e.user.id===t);r&&(i.own=r)}}),i}var er=a(58179),es=a(15423),eo=a(81300);function ed({activity:e,alertCallback:t}){let a=(0,es.jE)(),{currentFeedQueryKey:n,streamClient:i}=(0,r.useContext)(s),[o,{loading:d}]=(0,er.n)(E),{mutate:l,isLoading:c}=(0,eo.n)({mutationKey:[n],mutationFn:async()=>{await o({variables:{id:e?.foreign_id}})},onMutate:async()=>{await a.cancelQueries({queryKey:[n]});let t=a.getQueryData([n]);return a.setQueryData([n],t=>{if(t?.pages){let a=t?.pages?.map(t=>({...t,results:t?.results?.filter(t=>t?.id!==e?.id)}));return{...t,pages:a}}return null}),{previousState:t}},onSuccess:()=>{t({message:"Post successfully deleted.",type:"success"})},onError:(e,i,r)=>{a.setQueryData([n],r.previousState),t({message:"Failed to delete post. Try again.",type:"error"})}}),{isLoading:u,mutate:m}=(0,eo.n)({mutationFn:async()=>{await a.cancelQueries({queryKey:[n]});let t=e.latest_reactions.comment[0].id,r=Math.min(e.reaction_counts.comment-e.latest_reactions.comment.length,10),{results:s}=await i.reactions.filter({activity_id:e.id,kind:"comment",id_lt:t,limit:r});s.forEach(e=>{e.latest_children.reply&&(e.latest_children.reply=[])});let o={...e,latest_reactions:{...e.latest_reactions,comment:[...s,...e.latest_reactions.comment]}};a.setQueryData([n],t=>Y({activity:e,feed:t,newData:o,queryKey:n}))},onError:(e,t,a)=>{console.error(e)}});return{deleteActivity:l,isDeleting:c||d,loadingMoreComments:u,loadMoreComments:m}}function el(){let{streamClient:e}=(0,r.useContext)(s),[t,a]=(0,r.useState)(!1);return{uploadFile:async({file:t,type:n})=>{a(!0);let i="";if(n.includes("image")&&e)try{let{file:a}=await e.images.upload(t);i=a}catch(e){console.error("Error uploading file",JSON.stringify(e,null,2))}return a(!1),{url:i,mediaType:n}},isUploadingFile:t}}function ec({activity:e,alertCallback:t,comment:a,me:n}){let{streamClient:i,currentFeedQueryKey:o}=(0,r.useContext)(s),d=(0,es.jE)(),{uploadFile:l}=el(),[c]=(0,er.n)(P),[u]=(0,er.n)(S),{mutateAsync:p,isLoading:y,error:g}=(0,eo.n)({mutationKey:[o],mutationFn:async t=>{let a;t?.mediaFile instanceof File&&t?.mediaFile?a=await l(t.mediaFile):t?.mediaFile?.startsWith("http")&&(a={url:t.mediaFile,mediaType:t.mediaType});let{data:n}=await c({variables:{input:{activityId:e.id,markdown:t.markdown,mentionedUserIds:t.mentionedUserIds,attachment:a,shouldNotify:["post","poll","eventv2"].includes(e.verb)}}});return{newComment:await i.reactions.get(n?.feedCommentCreate?.id)}},onMutate:async t=>{await d.cancelQueries({queryKey:[o]});let a=d.getQueryData([o]),i=Z({author:n,input:t,type:"comment"}),r={...e,reaction_counts:{...e.reaction_counts,comment:(e.reaction_counts.comment||0)+1},latest_reactions:{...e.latest_reactions,comment:[i,...e.latest_reactions.comment||[]]},own_reactions:{...e.own_reactions,comment:[i,...e.own_reactions.comment||[]]}};return d.setQueryData([o],t=>Y({feed:t,activity:e,newData:r,queryKey:o})),{prevFeed:a}},onSuccess:({newComment:a})=>{let n=ea({activity:e,type:"comment"});n?.latest_reactions?.comment?n.latest_reactions.comment.push(a):n.latest_reactions.comment=[a],n?.own_reactions?.comment?n.own_reactions.comment.push(a):n.own_reactions.comment=[a],d.setQueryData([o],t=>
285Y({activity:e,feed:t,newData:n,queryKey:o})),t({message:"Comment successfully created.",type:"success"})},onError:(e,a,n)=>{t({message:"Failed to create comment. Try again.",type:"error"}),d.setQueryData([o],n.prevFeed)}}),{mutateAsync:_,isLoading:f,error:w}=(0,eo.n)({mutationFn:async e=>{let t;e?.mediaFile&&(t=e?.mediaFile instanceof File?await l(e.mediaFile):{url:e.mediaFile,mediaType:e.mediaType}),await u({variables:{input:{commentId:a.id,markdown:e.markdown,attachment:t,mentionedUserIds:e.mentionedUserIds}}})},onMutate:async n=>{await d.cancelQueries({queryKey:[o]});let i=d.getQueryData([o]),r={...a,data:{...a.data,body:n.markdown,mediaUrl:n.mediaFile,mediaType:n.mediaType},updated_at:new Date().toISOString()},s={...e,latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?r:e)},own_reactions:{...e.own_reactions,comment:e.own_reactions.comment.map(e=>e.id===a.id?r:e)}};return d.setQueryData([o],t=>Y({feed:t,activity:e,newData:s,queryKey:o})),t({message:"Comment successfully updated.",type:"success"}),{prevFeed:i}},onError:(e,a,n)=>{d.setQueryData([o],n.prevFeed),t({message:"Failed to update comment. Try again.",type:"error"})}}),{mutate:h,isLoading:v,error:F}=(0,eo.n)({mutationFn:async t=>{await d.cancelQueries({queryKey:[o]});let r=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(a)),{latest_children:l,children_counts:c}=s,u=W({activity:s,myId:n.id});u&&(l[u.kind]=l[u.kind].filter(e=>e.id!==u.id));let p=z({author:n,kind:t});l[t]=[...l[t]||[],p],u&&(c[u.kind]-=1),c[t]=c[t]?c[t]+1:1;let y=r.latest_reactions.comment.findIndex(e=>e.id===s.id);return r.latest_reactions.comment[y]=s,d.setQueryData([o],t=>Y({feed:t,activity:e,newData:r,queryKey:o})),u&&await i?.reactions?.delete(u.id),{newReaction:await i.reactions.addChild(t,a,{type:t,activityType:"comment",redirectUrl:`/activities/${e.id}`},{targetFeeds:a.user_id!==n.id?[`${m}:${a.user_id}`]:[],targetFeedsExtraData:{parentId:a.id}})}},onSuccess:({newReaction:t})=>{d.setQueryData([o],n=>{let i=en(a);i?.latest_children?.[t.kind]?i.latest_children[t.kind].push(t):i.latest_children[t.kind]=[t];let r={...e,latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?i:e)}};return Y({activity:e,feed:n,newData:r,queryKey:o})})},onError:e=>{console.log(e)}}),{mutate:D,isLoading:$}=(0,eo.n)({mutationFn:async()=>{await d.cancelQueries({queryKey:[o]});let t=JSON.parse(JSON.stringify(e)),r=JSON.parse(JSON.stringify(a)),{latest_children:s,children_counts:l}=r,c=W({activity:r,myId:n.id});if(c){s[c.kind]=s[c.kind].filter(e=>e.id!==c.id),l[c.kind]-=1;let a=t.latest_reactions.comment.findIndex(e=>e.id===r.id);t.latest_reactions.comment[a]=r,d.setQueryData([o],a=>Y({activity:e,feed:a,newData:t,queryKey:o})),await i?.reactions?.delete(c.id)}},onError:()=>{}}),{isLoading:I,mutate:b}=(0,eo.n)({mutationKey:[o],mutationFn:async()=>{await d.cancelQueries({queryKey:[o]});let t=a.latest_children.reply?.[0]?.id,n=Math.min(a.children_counts.reply-a.latest_children.reply.length,10),{results:r}=await i.reactions.filter({id_lt:t,kind:"reply",limit:n,reaction_id:a.id});d.setQueryData([o],t=>Y({feed:t,activity:e,newData:{...e,latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?{...e,latest_children:{...e.latest_children,reply:[...r,...e.latest_children.reply]}}:e)}},queryKey:o}))},onError:()=>{}});return{addComment:p,addCommentLoading:y,addCommentError:g,updateComment:_,updateCommentLoading:f,updateCommentError:w,addReaction:h,addReactionLoading:v,addReactionError:F,loadingMoreReplies:I,loadMoreReplies:b,removeReaction:D,removeReactionLoading:$}}var eu=a(15681);let em=["public","agg_timeline","group"];async function ep({activities:e,feed:t}){return Promise.all(e.map(async e=>{if("community_expertpanel_answer"===e.verb)try{let{results:a}=await t.get({id_gte:e.id,enrich:!0,withReactionCounts:!0,withOwnReactions:!0,withRecentReactions:!0,recentReactionsLimit:2}),n=a[0].activities[0];if(n.id===e.id)return n}catch(t){console.error(`Error fetching activity with ID ${e.id}`,t)}return e}))}function ey({feedGroup:e,feedId:t,meId:a}){let n=(0,r.useMemo)(()=>`${e}:${t}`,[e,t]),{streamClient:i,setCurrentFeedQueryKey:o}=(0,r.useContext)(s),[d,l]=(0,r.useState)([]),c=(0,es.jE)(),[u,m]=(0,r.useState)([]),p=i?.feed(e,t),y=(0,r.useCallback)(()=>m([]),[m]);(0,r.useEffect)(()=>{o(n)},[n,o]);let g=(0,r.useCallback)(()=>{p&&p.subscribe(async e=>{if(0===e.new.length)return;await c.cancelQueries({queryKey:[n]});let{newActivitiesByMe:t,newActivitiesByOthers:i}=function({meId:e,data:t}){let{newActivitiesByMe:a,newActivitiesByOthers:n}=t.new.reduce((t,a)=>(a.actor&&(a?.verb||0)&&(a.actor.id===e?t.newActivitiesByMe.push(a):t.newActivitiesByOthers.push(a)),t),{newActivitiesByMe:[],newActivitiesByOthers:[]});return{newActivitiesByMe:a,newActivitiesByOthers:n}}({meId:a,data:e});if(t?.length>0&&c.setQueryData([n],e=>et({feedData:function({feedData:e}){let t=e?.pages?.map((e,t)=>0===t?{...e,results:e.results.filter(e=>!e.id.startsWith("pending:"))}:e);return{...e,pages:t}}({feedData:e}),activities:ee(t)})),i?.length>0){let e=await ep({activities:i,feed:p});m(t=>[...t,...e]);let t=ee(e);c.setQueryData([n],e=>et({feedData:e,activities:t}))}}).then(()=>{console.log(`Subscribed to ${p.id}`)},e=>{console.log(`Error subscribing to ${p.id}`,e)})},[p,n,a,c]);(0,r.useEffect)(()=>{em.includes(e)&&!d.includes(n)&&(l(e=>[...e,n]),setTimeout(g,3e3))},[e,n,g,d]);let{error:_,fetchNextPage:f,hasNextPage:w,isFetching:h,isFetchingNextPage:v,isLoading:F,refetch:D,...$}=(0,eu.q)({enabled:!!i,refetchOnWindowFocus:!1,queryKey:[n],queryFn:async({pageParam:e=0})=>{let t={...await p?.get({limit:50,offset:50*e,enrich:!0,withReactionCounts:!0,withOwnReactions:!0,withRecentReactions:!0,recentReactionsLimit:2}),pageParam:e};return t.pageParam=e,t.results=t.results.map(e=>
285(e?.activities?.forEach(e=>(e.latest_reactions.comment&&(e.latest_reactions.comment=e.latest_reactions.comment.slice(0,2),e.latest_reactions.comment.forEach(e=>{e.latest_children.reply&&(e.latest_children.reply=[])})),e)),e)),t},getNextPageParam:e=>!!e.next&&e.pageParam+1,meta:{errorMessage:`Failed to fetch ${e} feed`}});return{activities:$?.data?.pages?.flatMap(e=>e.results)||[],clearNewActivities:y,error:_,fetchNextPage:f,hasNext:w,isFetching:h||v,isLoading:F,newActivities:u,refetch:D}}var eg=a(80634);let e_=(e,t)=>e?.parentId===t||e?.id===t||e?.activities?.[0]?.id===t;function ef({activityId:e,identity:t,onInvalidActivity:a=()=>{}}){let{streamClient:n,setCurrentFeedQueryKey:i}=(0,r.useContext)(s),{role:o,communityCode:c,userId:u}=t,m="ADMIN"===o?`${c}_admin`:u,p=n?.feed("ADMIN"===o?l:d,m),[y,g]=(0,r.useState)(null),{isLoading:_,isFetched:f,data:w,error:h}=(0,eg.I)({enabled:!!n,queryKey:[`activity:${e}`],queryFn:async()=>{let t;i(`activity:${e}`);let a={enrich:!0,withOwnChildren:!0,withOwnReactions:!0,withReactionCounts:!0,withRecentReactions:!0,recentReactionsLimit:2};try{let n=await p?.get({id_gte:e,limit:1,...a});t=n?.results?.[0]}catch(e){t=null}if(!e_(t,e)){let i=await n.getActivities({ids:[e],...a});(i?.results?.[0].verb==="expertpanel"||i?.results?.[0].verb==="eventv2")&&(t=i?.results?.[0])}return t},refetchOnWindowFocus:!1,retryOnMount:!1,onSuccess:t=>{e_(t,e)&&g(t)},meta:{errorMessage:`Error fetching activities ID ${e}`}});(h instanceof Error||f&&e&&!e_(w,e))&&a();let v=w?.activities?.[0]??w;return{activity:e_(w,e)?v:y,error:h,isFetched:f,isLoading:_}}var ew=a(63580);async function eh({baseUrl:e,url:t}){try{var a;let n=await fetch(`${e}/api/url-metadata?url=${encodeURIComponent(t)}`);if(!n.ok)throw Error(`HTTP error! status: ${n.status}`);let{data:i}=await n.json();if(!i||"object"!=typeof i)throw Error("No valid data returned from the server.");return i.url&&i.url.match("bizjournals.com")&&(a=i.url,i.url=`${a}?utm_source=om&utm_medium=dr&utm_campaign=lt&utm_content=leadershiptrust`),i.title&&i.title.match("&038;")&&(i.title=i.title.replaceAll("&038;","&")),i}catch(e){throw console.error("Error occurred while fetching metadata:",e),Error("An error occurred while fetching the metadata.")}}function ev({baseUrl:e,item:t}){let a=t?.data?.id,n=t?.data?.url,i=!!n&&(0,ew.t6)(n),{data:r,error:s,isLoading:o}=(0,eg.I)({queryKey:["metadata",n],queryFn:()=>eh({baseUrl:e,url:n}),enabled:i,retry:1,staleTime:36e5,onError:()=>{console.warn(`A feed item of type "Article" and id "${a}" was hidden due to an error retrieving the url metadata`)},refetchOnWindowFocus:!1,meta:{errorMessage:`Error fetching metadata for url ${n}`}});return{data:r,error:s,loading:o}}function eF({activity:e,alertCallback:t,group:a}){let n=(0,es.jE)(),i=e?.groupRef?.id,s=(0,r.useMemo)(()=>a?`${u}:${a.restrictedId??a.id}`:`${u}:${i}`,[a,i]),[o]=(0,er.n)(U),[d]=(0,er.n)(q),{mutate:l}=(0,eo.n)({mutationFn:async e=>{await o({variables:{input:e}}),n.invalidateQueries([s])},onMutate:async()=>{await n.cancelQueries({queryKey:[s]});let t=n.getQueryData([s]);return n.setQueryData([s],t=>(function({feedData:e=[],activity:t}){return[...e,{...t,order:(e?.length??0)+1}]})({feedData:t,activity:e})),{prevFeed:t}},onSuccess:()=>{t({message:"Post has been successfully pinned.",title:"Congratulations!",type:"success"})},onError:(e,a,i)=>{let r="Maximum of 5 Posts can be pinned. Please unpin a Post and try again.";e instanceof Error&&e.message===r?t({message:r,type:"error"}):t({type:"error",message:"An error has occurred. Please try again."}),n.setQueryData([s],i.prevFeed)}}),{mutate:c}=(0,eo.n)({mutationFn:async e=>{await d({variables:{input:e}}),n.invalidateQueries([s])},onMutate:async()=>{await n.cancelQueries({queryKey:[s]});let t=n.getQueryData([s]);return n.setQueryData([s],t=>(function({feedData:e,activity:t}){return e.filter(e=>e.id!==t.id)})({feedData:t,activity:e})),{prevFeed:t}},onSuccess:()=>{t({message:"Post has been successfully unpinned.",title:"Congratulations!",type:"success"})},onError:(e,a,i)=>{t({type:"error",message:"An error has occurred. Please try again."}),n.setQueryData([s],i.prevFeed)}});return{pinActivity:l,unpinActivity:c}
285}function eD(e){let t=(0,r.useMemo)(()=>`${u}:${e}`,[e]),{streamClient:a}=(0,r.useContext)(s),n=a?.feed(u,e),i=(0,es.jE)(),{data:o,error:d,isLoading:l,refetch:c}=(0,eg.I)({enabled:!!a,queryKey:[t],staleTime:1/0,queryFn:async()=>{let e=await n?.get({enrich:!0,withReactionCounts:!0,withOwnReactions:!0,withRecentReactions:!0});return e&&e?.results?.length>0?e.results:[]},refetchOnWindowFocus:!1,meta:{errorMessage:`Error fetching pinned activities for feed ID ${e}`}});return{activities:o??[],error:d,isLoading:l,updatePinnedActivitiesCache:e=>{i.setQueryData([t],()=>e)},refetch:c}}function e$({activity:e,alertCallback:t,me:a}){let{streamClient:n,currentFeedQueryKey:i}=(0,r.useContext)(s),o=(0,es.jE)(),[d]=(0,er.n)(O),[l]=(0,er.n)(J),[c]=(0,er.n)(T),[u]=(0,er.n)(K),[m]=(0,er.n)(M),[p]=(0,er.n)(x);async function y(t){return n?.reactions?.add("vote",e.id,{choices:[t]})}let{mutateAsync:g,isLoading:_}=(0,eo.n)({mutationFn:async e=>({newActivity:await d({variables:{input:{type:"SINGLE",audience:e.audience.toUpperCase(),postText:e.postText,question:e.question,options:e.options,closeAt:e.closeAt,groupId:e?.group?.id}}})}),onMutate:async e=>{await o.cancelQueries({queryKey:[i]});let t=o.getQueryData([i]),n=(({author:e,input:t})=>{let a=H({author:e,input:t});return{...a,verb:"poll",object:{id:a.id,collection:"poll",data:{postText:t.postText,question:t.question,options:t.options,closeAt:t.closeAt,results:[]}}}}
285)({author:a,input:e});return o.setQueryData([i],e=>et({feedData:e,activities:[n]})),{prevFeed:t}},onSuccess:()=>{t({message:"Post successfully created.",type:"success"})},onError:(e,a,n)=>{o.setQueryData([i],n.prevFeed),t({message:"Failed to create post. Try again.",type:"error"})}}),{mutate:f,isLoading:w}=(0,eo.n)({mutationFn:async t=>{await o.cancelQueries({queryKey:[i]});let r={...e},s=r.own_reactions.vote?.[0];s&&(r.latest_reactions.vote=r.latest_reactions.vote.filter(e=>e.user.id!==a.id));let d=(({author:e,choices:t})=>{let a=new Date().toISOString();return{id:`pending:${a}`,kind:"vote",created_at:a,data:{choices:t},user:V({author:e})}})({author:a,choices:[t]});if(r.latest_reactions.vote=[...r.latest_reactions.vote||[],d],s||(r.object.data.numberOfParticipants=String(Number(r.object.data.numberOfParticipants)+1)),s){let e=r.object.data.options.findIndex(e=>e===s.data.choices[0]);r.object.data.results[e]=String(Number(r.object.data.results[e])-1)}let l=r.object.data.options.findIndex(e=>e===t);return r.object.data.results[l]=String(Number(r.object.data.results[l])+1),s&&delete r.own_reactions.vote,r.own_reactions.vote=[d],s||(r.reaction_counts.vote=(r?.reaction_counts?.vote||0)+1),o.setQueryData([i],t=>Y({feed:t,activity:e,newData:r,queryKey:i})),s&&await n?.reactions?.delete(s.id),{newVote:await y(t),updatedActivity:r,voteMutation:s?p:u}},onSuccess:async({newVote:t,updatedActivity:a,voteMutation:n})=>{let r=a.latest_reactions?.vote.filter(e=>!e.id.startsWith("pending:"))||[];o.setQueryData([i],n=>Y({feed:n,activity:e,newData:{own_reactions:{...a.own_reactions,vote:[t]},latest_reactions:{...a.latest_reactions,vote:[...r,t]},object:a.object},queryKey:i})),await n({variables:{input:{pollId:e.foreign_id,choices:[t.data.choices[0]]}}})},onError:()=>{t({message:"Failed to add vote. Try again.",type:"error"})}}),{mutate:h,isLoading:v}=(0,eo.n)({mutationFn:async()=>{await o.cancelQueries({queryKey:[i]});let t={...e},r=t.own_reactions.vote?.[0];t.latest_reactions.vote=t.latest_reactions.vote.filter(e=>e.user.id!==a.id),t.object.data.numberOfParticipants=String(Number(t.object.data.numberOfParticipants)-1);let s=t.object.data.options.findIndex(e=>e===r.data.choices[0]);return t.object.data.results[s]=String(Number(t.object.data.results[s])-1),delete t.own_reactions.vote,t.reaction_counts.vote-=1,o.setQueryData([i],a=>Y({feed:a,activity:e,newData:t,queryKey:i})),await n?.reactions?.delete(r.id),{voteId:r.id}},onSuccess:async({voteId:t})=>{await m({variables:{input:{pollId:e.foreign_id,voteId:t}}})},onError:()=>{t({message:"Failed to remove vote. Try again.",type:"error"})}}),{mutate:F}=(0,eo.n)({mutationFn:async t=>{let a=t.deleted?l:c;return{updatedPoll:await a({variables:{input:{pollId:e.foreign_id,postText:t.postText}}})}},onMutate:async t=>{await o.cancelQueries({queryKey:[i]});let a=o.getQueryData([i]),n=e.object,r={object:{data:{...n.data,postText:t.postText},updated_at:new Date().toISOString()}};return t.postText!==n.data.postText&&(r.object.data.isUpdated=!0),t.deleted&&(r.object.data.deleted=!0),o.setQueryData([i],t=>Y({feed:t,activity:e,newData:r,queryKey:i})),{prevFeed:a}},onSuccess:()=>{t({message:"Post successfully updated.",type:"success"})},onError:(e,a,n)=>{o.setQueryData([i],n.prevFeed),t({message:"Failed to update post. Try again.",type:"error"})}});return{addPoll:g,addPollLoading:_,addVote:f,addVoteLoading:w,removeVote:h,removeVoteLoading:v,updatePoll:F}}function eI({activity:e,alertCallback:t,me:a}){let{currentFeedQueryKey:n}=(0,r.useContext)(s),i=(0,es.jE)(),[o]=(0,er.n)(b),[d]=(0,er.n)(k),{mutateAsync:l,isLoading:c}=(0,eo.n)({mutationFn:async e=>({newActivity:await o({variables:{input:{markdown:e.markdown,audience:e.audience.toUpperCase(),attachment:e?.attachment,mentionedUserIds:e.mentionedUserIds,groupId:e?.group?.id}}})}),onMutate:async e=>{await i.cancelQueries({queryKey:[n]});let t=i.getQueryData([n]),r=(({author:e,input:t})=>{let a=H({author:e,input:t});return{...a,verb:"post",object:{id:a.id,collection:"post",mediaUrl:t?.attachment?.url,mediaType:t?.attachment?.mediaType,data:{body:t?.markdown}}}}
285)({author:a,input:e});return i.setQueryData([n],e=>et({feedData:e,activities:[r]})),{prevFeed:t}},onSuccess:()=>{t({message:"Post successfully created.",type:"success"})},onError:(e,a,r)=>{i.setQueryData([n],r.prevFeed),t({message:"Failed to create post. Try again.",type:"error"})}}),{mutateAsync:u,isLoading:m}=(0,eo.n)({mutationFn:async t=>({updatedActivity:await d({variables:{input:{feedPostId:e?.foreign_id,markdown:t.markdown,attachment:t?.attachment,mentionedUserIds:t.mentionedUserIds}}})}),onMutate:async t=>{await i.cancelQueries({queryKey:[n]});let a=i.getQueryData([n]);return i.setQueryData([n],a=>Y({feed:a,activity:e,newData:{mediaUrl:t?.attachment?.url,mediaType:t?.attachment?.mediaType,object:{data:{body:t.markdown},updated_at:new Date().toISOString()}},queryKey:n})),{prevFeed:a}},onSuccess:()=>{t({message:"Post successfully updated.",type:"success"})},onError:(e,a,r)=>{i.setQueryData([n],r.prevFeed),t({message:"Failed to update post. Try again.",type:"error"})}});return{addPost:l,addPostLoading:c,updatePost:u,updatePostLoading:m}}function eb({activity:e,alertCallback:t,me:a}){let n,i,{streamClient:o,currentFeedQueryKey:d}=(0,r.useContext)(s),l=(0,es.jE)(),[c]=(0,er.n)(A),[u]=(0,er.n)(j),{own_reactions:y,reaction_counts:g,latest_reactions:_}=e??{};async function f(t){return o?.reactions?.add(t,e.id,{kind:t,activityType:e.verb,redirectUrl:`/activities/${e.id}`},{targetFeeds:(e.user_id??e.actor?.id)!==a.id?[`${m}:${e.actor.id}`]:[],targetFeedsExtraData:{parentId:e.id}})}y&&(i=(n=p.find(e=>y[e]))?y[n]?.[0]:void 0);let{mutate:w,isLoading:h}=(0,eo.n)({mutationFn:async t=>{await l.cancelQueries({queryKey:[d]});let n=z({author:a,kind:t}),r={[t]:g?.[t]?g[t]+1:1},s={[t]:[n]},c={..._,[t]:[..._?.[t]||[],n]};return i&&(delete y?.[i.kind],r[i.kind]=g?.[i.kind]?g[i.kind]-1:0,c[i.kind]=c[i.kind].filter(e=>e.id!==i?.id),0===c[i.kind].length&&delete c[i.kind]),l.setQueryData([d],t=>Y({feed:t,activity:e,newData:{reaction_counts:{...g,...r},own_reactions:{...y,...s},latest_reactions:c},queryKey:d})),i&&await o?.reactions?.delete(i.id),{newReaction:await f(t)}},onSuccess:({newReaction:t})=>{t&&l.setQueryData([d],a=>{let n=e?.latest_reactions?.[t.kind]?.filter(e=>!e.id.includes("pending"))||[];return Y({feed:a,activity:e,newData:{own_reactions:{...e?.own_reactions??{},[t.kind]:[t]},latest_reactions:{...e.latest_reactions,[t.kind]:[...n,t]}},queryKey:d})})},onError:()=>{t({message:"Unable to complete action. Please try again.",type:"error"})}}),{mutate:v,isLoading:F}=(0,eo.n)({mutationFn:async()=>{await l.cancelQueries({queryKey:[d]});let t=l.getQueryData([d]);if(i){if(delete y?.[i.kind],_?.[i.kind]){let e=_[i.kind].filter(e=>e.id!==i?.id);0===e.length?delete _[i.kind]:_[i.kind]=e}l.setQueryData([d],t=>{if(i)return Y({feed:t,activity:e,newData:{reaction_counts:{...g,[i.kind]:g?.[i.kind]?g?.[i.kind]-1:0},own_reactions:y,latest_reactions:_},queryKey:d})}),await o?.reactions?.delete(i.id)}return{prevFeed:t}},onError:()=>{t({message:"Unable to complete action. Please try again.",type:"error"})}}),{mutate:D}=(0,eo.n)({mutationFn:async()=>{await l.cancelQueries({queryKey:[d]});let t=e.reaction,n=t.latest_children?.like?.some(e=>e.user.id===a.id),i=z({author:a,kind:"like"});t.children_counts={like:t.children_counts?.like?t.children_counts.like+(n?-1:1):1},t.latest_children={like:[...t.latest_children?.like||[]]},n?t.latest_children.like=t.latest_children.like.filter(e=>e.user.id!==a.id):t.latest_children.like.push(i),l.setQueryData([d],a=>Y({feed:a,activity:e,newData:{reaction:t},queryKey:d})),await (n?u:c)({variables:{answerId:t.data.foreign_id}})},onError:()=>{t({message:"Unable to complete action. Please try again.",type:"error"})}});return{addReaction:w,addReactionLoading:h,myReaction:i,removeReaction:v,removeReactionLoading:F,toggleEPAnswerLike:D}}function ek({activity:e,alertCallback:t,comment:a,me:n,reply:i}){let{streamClient:o,currentFeedQueryKey:d}=(0,r.useContext)(s),l=(0,es.jE)(),c=n.id,{uploadFile:u}=el(),[p]=(0,er.n)(P),[y]=(0,er.n)(S),{mutateAsync:g,isLoading:_}=(0,eo.n)({mutationFn:async t=>{let n;t?.mediaFile instanceof File&&t?.mediaFile?n=await u(t.mediaFile):t?.mediaFile?.startsWith("http")&&(n={url:t.mediaFile,mediaType:t.mediaType});let{data:i}=await p({variables:{input:{activityId:e.id,parentCommentId:a.id,markdown:t.markdown,mentionedUserIds:t.mentionedUserIds,shouldNotify:["post","poll","eventv2"].includes(e.verb),attachment:n}}});return{newReply:await o.reactions.get(i.feedCommentCreate.id)}},onMutate:async t=>{await l.cancelQueries({queryKey:[d]});let i=l.getQueryData([d]),r=Z({author:n,input:t,type:"reply"}),s={...a,latest_children:{...a.latest_children,reply:[r,...a.latest_children.reply||[]]},children_counts:{...a.children_counts,reply:(a.children_counts.reply||0)+1}},o={latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?s:e)},own_reactions:{...e.own_reactions,comment:e?.own_reactions?.comment?.map(e=>e.id===a.id?s:e)}};return l.setQueryData([d],t=>Y({feed:t,activity:e,newData:o,queryKey:d})),{prevFeed:i}},onSuccess:({newReply:n})=>{let i=ea({activity:a,type:"reply"});i?.latest_children?.reply?i.latest_children.reply.push(n):i.latest_children.reply=[n];let r={...e,latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?i:e)}};l.setQueryData([d],t=>
285Y({activity:e,feed:t,newData:r,queryKey:d})),t({message:"Reply successfully added.",type:"success"})},onError:(e,a,n)=>{l.setQueryData([d],n.prevFeed),t({message:"Failed to add reply. Try again.",type:"error"})}}),{mutateAsync:f,isLoading:w}=(0,eo.n)({mutationFn:async e=>{let t;e?.mediaFile&&(t=e?.mediaFile instanceof File?await u(e.mediaFile):{url:e.mediaFile,mediaType:e.mediaType}),await y({variables:{input:{commentId:i.id,markdown:e.markdown,attachment:t,mentionedUserIds:e.mentionedUserIds}}})},onMutate:async t=>{await l.cancelQueries({queryKey:[d]});let n=l.getQueryData([d]),r={...i,data:{...i.data,body:t.markdown,mediaUrl:t.mediaFile,mediaType:t.mediaType},updated_at:new Date().toISOString()},s={...a,latest_children:{...a.latest_children,reply:a.latest_children.reply.map(e=>e.id===i.id?r:e)},children_counts:{...a.children_counts}},o={latest_reactions:{...e.latest_reactions,comment:e.latest_reactions.comment.map(e=>e.id===a.id?s:e)},own_reactions:{...e.own_reactions,comment:e.own_reactions.comment?.map(e=>e.id===a.id?s:e)}};return l.setQueryData([d],t=>Y({feed:t,activity:e,newData:o,queryKey:d})),{prevFeed:n}},onSuccess:()=>{t({message:"Reply successfully updated.",type:"success"})},onError:(e,a,n)=>{l.setQueryData([d],n.prevFeed),t({message:"Failed to update reply. Try again.",type:"error"})}}),{mutate:h,isLoading:v}=(0,eo.n)({mutationFn:async t=>{await l.cancelQueries({queryKey:[d]});let r=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(a)),u=JSON.parse(JSON.stringify(i)),{latest_children:p,children_counts:y}=u,g=W({activity:u,myId:c});g&&(p[g.kind]=p[g.kind].filter(e=>e.id!==g.id));let _=z({author:n,kind:t});p[t]=[...p[t]||[],_],g&&(y[g.kind]-=1),y[t]=y[t]?y[t]+1:1;let f=s.latest_children.reply.findIndex(e=>e.id===u.id);s.latest_children.reply[f]=u;let w=r.latest_reactions.comment.findIndex(e=>e.id===s.id);return r.latest_reactions.comment[w]=s,l.setQueryData([d],t=>Y({activity:e,feed:t,newData:r,queryKey:d})),g&&await o?.reactions?.delete(g.id),{newReaction:await o.reactions.addChild(t,i,{type:t,activityType:"reply",redirectUrl:`/activities/${e.id}`},{targetFeeds:u.user_id!==c?[`${m}:${u.user_id}`]:[],targetFeedsExtraData:{parentId:u.id}})}},onSuccess:({newReaction:t})=>{l.setQueryData([d],n=>{let r=en(i);r?.latest_children?.[t.kind]?r.latest_children[t.kind].push(t):r.latest_children[t.kind]=[t];let s=a.latest_children.reply.findIndex(e=>e.id===r.id);a.latest_children.reply[s]=r;let o=e.latest_reactions.comment.findIndex(e=>e.id===a.id);return e.latest_reactions.comment[o]=a,Y({activity:e,feed:n,newData:e,queryKey:d})})},onError:()=>{}}),{mutate:F,isLoading:D}=(0,eo.n)({mutationFn:async()=>{await l.cancelQueries({queryKey:[d]});let t=JSON.parse(JSON.stringify(e)),n=JSON.parse(JSON.stringify(a)),r=JSON.parse(JSON.stringify(i)),{latest_children:s,children_counts:u}=r,m=W({activity:r,myId:c});if(m){s[m.kind]=s[m.kind].filter(e=>e.id!==m.id),u[m.kind]-=1;let a=n.latest_children.reply.findIndex(e=>e.id===r.id);n.latest_children.reply[a]=r;let i=t.latest_reactions.comment.findIndex(e=>e.id===n.id);t.latest_reactions.comment[i]=n,l.setQueryData([d],a=>Y({activity:e,feed:a,newData:t,queryKey:d})),await o?.reactions?.delete(m.id)}},onError:()=>{}});return{addReply:g,addReplyLoading:_,updateReply:f,updateReplyLoading:w,addReaction:h,addReactionLoading:v,removeReaction:F,removeReactionLoading:D}}function eE({activityId:e,alertCallback:t,customOptions:a,reactQueryOptions:n}){let{streamClient:i}=(0,r.useContext)(s),{isLoading:o,isFetched:d,data:l,refetch:c}=(0,eg.I)({enabled:!!i&&!!e,queryKey:[`activity:${e}`],queryFn:async()=>{let t={enrich:!0,withOwnChildren:!0,withOwnReactions:!0,withReactionCounts:!0,withRecentReactions:!0,recentReactionsLimit:2,...a},n=await i?.getActivities({ids:[e],limit:1,...t});return n?.results?.[0]},onError:e=>{e instanceof Error&&t({message:e.message,type:"error",title:"Error fetching activity"})},meta:{errorMessage:`Error fetching activity ID ${e}`},...n});return{activity:l,isFetched:d,isLoading:o,refetch:c}}function eQ(){let{streamClient:e}=(0,r.useContext)(s);return e}var eC=a(39165)},43451:()=>{},43747:()=>{},75772:()=>{},95459:()=>{},96976:()=>{}}]);
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.