1"use strict";(self.webpackChunkthe_union_gk=self.webpackChunkthe_union_gk||[]).push([[1365],{21365:(x,C,r)=>{r.d(C,{_:()=>z});var e=r(64537),d=r(88692),M=r(99558),m=r(23854),h=r(15490),w=r(38023),p=r(13528),f=r(42384),O=r(59302),I=r(67030),v=r(59735),T=r(22274),V=r(96993),A=r(84539),b=r(86370),S=r(45268),B=r(6913),F=r(66682),j=r(33460);const D=["videoContainer"];function L(n,a){if(1&n&&e._UZ(0,"img",8),2&n){const o=e.oxw(3);e.Q6J("src",o.posterUrl,e.LSH)}}function R(n,a){if(1&n&&e._UZ(0,"video",9),2&n){const o=e.oxw(3);e.Q6J("src",o.preloadVideoSrc,e.LSH)}}function k(n,a){if(1&n&&(e.TgZ(0,"div",5),e.YNc(1,L,1,1,"img",6),e.YNc(2,R,1,1,"video",7),e.qZA()),2&n){const o=e.oxw(2);e.xp6(1),e.Q6J("ngIf",o.posterUrl),e.xp6(1),e.Q6J("ngIf",!o.posterUrl)}}function W(n,a){if(1&n&&(e.TgZ(0,"div",15),e._UZ(1,"img",8),e.qZA()),2&n){const o=e.oxw(3);e.xp6(1),e.Q6J("src",o.posterUrl,e.LSH)}}function U(n,a){if(1&n){const o=e.EpF();e.TgZ(0,"div",16),e.NdJ("click",function(){e.CHM(o);const i=e.oxw(3);return e.KtG(i.onWatchAgainClick())}),e._uU(1),e.qZA()}if(2&n){const o=e.oxw(3);e.xp6(1),e.hij(" ",o.commonEnums.WATCH_AGAIN," ")}}function H(n,a){1&n&&(e.TgZ(0,"div",17),e._UZ(1,"em",18),e.qZA())}const Z=function(n,a,o){return{"watch-again-video":n,"video-playing":a,"livestream-feed-fill":o}},K=function(n,a,o,t,i,s,l){return{autoPlay:n,muted:a,setAspectRatio:o,videoMode:t,controlBar:i,isLivestream:s,hideBigPlayButton:l}},N=function(n){return{smallSizeOverlay:n}};function Y(n,a){if(1&n){const o=e.EpF();e.ynx(0),e.YNc(1,W,2,1,"div",10),e._UZ(2,"vjs-ivs-player",11),e.ALo(3,"videoOption"),e.YNc(4,U,2,1,"div",12),e.YNc(5,H,2,0,"div",13),e.TgZ(6,"div",14),e.NdJ("click",function(){e.CHM(o);const i=e.oxw(2);return e.KtG(i.onOverlayClick())}),e.qZA(),e.BQk()}if(2&n){const o=e.oxw().ngIf,t=e.oxw();e.xp6(1),e.Q6J("ngIf",t.posterUrl&&!t.isVideoStarted),e.xp6(1),e.Q6J("ngClass",e.kEZ(9,Z,t.showWatchAgainButton&&t.viewShowAgainInMiddle,t.isVideoStarted&&!t.isReelType,t.applyLivestreamFeedFill))("options",e.xi3(3,6,o,e.Hh0(13,K,t.autoPlay,t.muted,t.setAspectRatio&&!t.effectiveVideoMode,t.effectiveVideoMode,null==t.post?null:t.post.controlBar,t.applyLivestreamFeedFill,t.hideBigPlayButton))),e.xp6(2),e.Q6J("ngIf",t.showWatchAgainButton&&t.viewShowAgainInMiddle),e.xp6(1),e.Q6J("ngIf",t.isMuted&&!t.hideMutedIcon),e.xp6(1),e.Q6J("ngClass",e.VKq(21,N,t.totalPosts>=5&&t.postIndex>1))}}function J(n,a){if(1&n&&(e.ynx(0),e.YNc(1,k,3,2,"div",4),e.YNc(2,Y,7,23,"ng-container",2),e.BQk()),2&n){const o=e.oxw();e.xp6(1),e.Q6J("ngIf","preload"===o.videoState),e.xp6(1),e.Q6J("ngIf","high"===o.videoState)}}function Q(n,a){if(1&n){const o=e.EpF();e.TgZ(0,"button",19),e.NdJ("click",function(i){e.CHM(o);const s=e.oxw();return e.KtG(s.onCenteredPlayClick(i))}),e._UZ(1,"em",20),e.qZA()}if(2&n){const o=e.oxw();e.uIk("aria-label",o.commentVideo.labels.PLAY)}}let z=(()=>{const a=class{get effectiveVideoMode(){return this.videoMode||this.resolvedVideoMode}get applyLivestreamFeedFill(){return this.livestreamFeedFill&&!!this.post?.livestream}get showCenteredPlayButton(){return this.hideBigPlayButton&&!this.isPlaying}constructor(t,i,s,l,_,c,y){this.mediaService=t,this.commonService=i,this.apiCallService=s,this.deviceService=l,this.authService=_,this.cdr=c,this.platformId=y,this.viewShowAgainInMiddle=!1,this.autoPlay=!0,this.muted=!0,this.setAspectRatio=!1,this.playPauseOnClick=!1,this.isReelType=!1,this.startTime=0,this.isHeightFull=!1,this.videoHeightClass="h-100",this.skipIntersectionObserver=!1,this.showLogin=!1,this.livestreamFeedFill=!1,this.hideMutedIcon=!1,this.hideBigPlayButton=!1,this.posterImage="",this.videoMode="",this.fitPosterAspect=!1,this.resolvedVideoMode="",this.screenClick=new e.vpe,this.postTypeKey=A.iR,this.subscriptionList=[],this.commonEnums=V.i4,this.currentTime$=(0,h.F)(1e3),this.showWatchAgainButton=!1,this.isVideoStarted=!1,this.isPlaying=!1,this.videoState="lazy",this.isMuted=this.muted,this.commentVideo=b.jc,this.destroy$=new w.x,this.viewportObserver=null,this.preloadObserver=null,this.inViewportZone=!1,this.inPreloadZone=!1,this.currentSrc="",this.appliedContainerHeight=null,this.isPlayerBound=!1,this.updateUserEngagement=()=>{this.authService.isAuthenticated()&&this.apiCallService.post(O.Y9.userEngagement,this.engageData,!1).subscribe({next:g=>!g.status&&this.commonService.showErrorMessage(g.message),error:g=>this.commonService.showErrorMessage(g.message)})}}get posterUrl(){return this.posterImage?this.posterImage:"string"==typeof this.post?"":this.post?.feed_preview_image_url||""}get preloadVideoSrc(){const t=(this.post?.media_url??this.post?.media)?.[v.Mx.ZERO]??(Array.isArray(this.post)?this.post[v.Mx.ZERO]:this.post);return t&&"string"==typeof t?t.includes("#")?t:`${t}#t=0.1`:""}onVideoVisible(){"high"!==this.videoState&&(this.inViewportZone=!0,this.inPreloadZone=!0,this.resolveVideoState())}resolveVideoState(){const t=this.inViewportZone?"high":this.inPreloadZone?"preload":"lazy";if(t===this.videoState||"high"===this.videoState&&"preload"===t&&this.isPlayerBound)return;const i=this.videoState;"high"===i&&"high"!==t&&this.teardownPlayer(),"lazy"===t&&"lazy"!==i&&this.teardownFull(),this.videoState=t,"high"===t&&this.initializePlayer()}initializePlayer(){this.isPlayerBound||setTimeout(()=>{this.setVideoData()},0)}teardownPlayer(){this.isPlayerBound=!1;const t=this.videoContainer?.nativeElement;t&&(t.style.minHeight=`${t.offsetHeight}px`),this.ivsChildren?.forEach(i=>
1{const s=i.player;s&&s.pause(),this.mediaService?.intersectionObserver?.unobserve(i.elementRef?.nativeElement)}),this.currentSrc&&this.mediaService.removePlayer(this.currentSrc),this.subscriptionList?.forEach(i=>i.unsubscribe()),this.subscriptionList=[],this.isVideoStarted=!1,this.isPlaying=!1,this.showWatchAgainButton=!1}teardownFull(){"high"===this.videoState&&this.teardownPlayer();const t=this.videoContainer?.nativeElement;t&&!t.style.minHeight&&(t.style.minHeight=`${t.offsetHeight}px`)}onWatchAgainClick(){this.ivsChildren?.forEach(t=>{const i=t.player;i&&(i.currentTime(0),i.play())}),this.showWatchAgainButton=!1}onCenteredPlayClick(t){t?.stopPropagation(),this.togglePlayback()}togglePlayback(){const t=this.ivsChildren?.first?.player;t&&(t.paused()?t.play():t.pause())}onOverlayClick(){if(this.hideBigPlayButton)return void this.togglePlayback();const t=this.ivsChildren?.first?.player;if(this.deviceService.isMobile()&&(this.post.type===this.postTypeKey.VIDEO||this.post.type===this.postTypeKey.REEL&&this.playPauseOnClick))this.ivsChildren.forEach(i=>{const s=i.player;s&&(s.paused()?s.play():s.pause())}),this.showLogin&&this.screenClick.emit();else if(t){const i=t.currentTime();this.screenClick.emit({currentTime:i})}else this.screenClick.emit()}get engageData(){return{post_creator_id:this.post?.user?.gsi4pk,post_id:this.post?.sk,type:"VideoPlayed"}}ngAfterViewInit(){if(this.skipIntersectionObserver&&this.preparePosterFit().then(()=>{this.inViewportZone=!0,this.inPreloadZone=!0,this.videoState="high",this.cdr.detectChanges(),setTimeout(()=>this.setVideoData(),0)}),this.commonService.isBrowser&&this.mediaService.musicPlayerStarted$.pipe((0,p.R)(this.destroy$)).subscribe(()=>{this.ivsChildren?.forEach(t=>{const i=t.player;i&&!i.paused()&&!i.muted()&&(i.muted(!0),this.isMuted=!0)})}),(0,d.NF)(this.platformId)&&!this.skipIntersectionObserver&&this.videoContainer?.nativeElement){const t=this.videoContainer.nativeElement;this.viewportObserver=new IntersectionObserver(([i])=>{this.inViewportZone=i.isIntersecting,this.resolveVideoState()},{rootMargin:"300px 0px"}),this.viewportObserver.observe(t),this.preloadObserver=new IntersectionObserver(([i])=>{this.inPreloadZone=i.isIntersecting,this.resolveVideoState()},{rootMargin:"150% 0px"}),this.preloadObserver.observe(t)}}preparePosterFit(){if(!this.fitPosterAspect)return Promise.resolve();if(this.videoMode)return this.applyPosterFitWidth(this.videoMode===v.Mx.PORTRAIT),Promise.resolve();const t=this.posterUrl;return t?new Promise(i=>{const s=new Image;s.onload=()=>{this.applyPosterFitFromSize(s.width,s.height),i()},s.onerror=()=>i(),s.src=t}):Promise.resolve()}applyPosterFitFromSize(t,i){const s=t<i;this.resolvedVideoMode=s?v.Mx.PORTRAIT:v.Mx.LANDSCAPE,this.applyPosterFitWidth(s),this.cdr.markForCheck()}applyPosterFitWidth(t){const s=this.videoContainer?.nativeElement;s&&(s.style.width=`${t?b.jc.PREVIEW.PORTRAIT_WIDTH:b.jc.PREVIEW.LANDSCAPE_WIDTH}px`,s.style.maxWidth="100%",s.style.aspectRatio=t?"9 / 16":"16 / 9")}applyLivestreamFill(t){if(!this.applyLivestreamFeedFill||!t)return;const i=t.el();i&&(i.style.paddingTop="0",i.style.width="100%",i.style.height="100%",i.style.maxWidth="none",i.style.maxHeight="none",i.style.objectFit="cover",i.style.objectPosition="center")}setVideoData(){this.commonService.isBrowser&&this.ivsChildren.forEach(t=>{const i=t.player;this.applyLivestreamFeedFill&&(i.on("loadedmetadata",()=>this.applyLivestreamFill(i)),this.applyLivestreamFill(i));const s=this.posterUrl;if(s){const c=new Image;c.onload=()=>{const y=c.width,g=c.height,$=y/g,u=this.videoContainer.nativeElement;if(u){if(this.fitPosterAspect)this.applyPosterFitFromSize(y,g);else{const E=u.offsetWidth/$,G=this.applyLivestreamFeedFill||!u?.clientHeight?E:Math.min(u.clientHeight,E),P=Math.round(G);this.appliedContainerHeight!==P&&(this.appliedContainerHeight=P,u.style.height=`${P}px`,u.style.minHeight=`${P}px`)}this.applyLivestreamFeedFill&&this.applyLivestreamFill(i)}},c.src=s,i.poster(s)}const l=(this.post?.media_url??this.post?.media)?.[v.Mx.ZERO]??(Array.isArray(this.post)?this.post[v.Mx.ZERO]:this.post);let _;this.currentSrc=l,this.isPlayerBound=!0,this.mediaService.setIVSPlayer(l,t?.elementRef?.
1nativeElement?.firstElementChild?.firstElementChild,this.autoPlay),this.isMuted=i.muted(),i.on("volumechange",()=>{const c=this.isMuted;this.isMuted=i.muted(),c&&!this.isMuted&&this.mediaService.notifyVideoUnmuted()}),i.on("play",()=>{this.mediaService.pauseRestPlayers(l)}),i.on("playing",()=>{this.isVideoStarted=!0,this.isPlaying=!0,this.cdr.markForCheck(),this.applyLivestreamFill(i),this.post?.user?.email&&this.post?.sk&&this.updateUserEngagement(),_?.unsubscribe(),_=this.currentTime$.subscribe(()=>{this.mediaService.currentTimeMap.set(l,i.currentTime())}),this.subscriptionList.push(_)}),i.on("pause",()=>{this.isPlaying=!1,this.cdr.markForCheck(),_?.unsubscribe()}),i.on("ended",()=>{this.isPlaying=!1,this.showWatchAgainButton=!0,this.cdr.markForCheck()}),i&&this.startTime>0&&i.currentTime(this.startTime)})}ngOnDestroy(){this.commonService.isBrowser&&(this.ivsChildren?.forEach(t=>{this.mediaService?.intersectionObserver?.unobserve(t.elementRef?.nativeElement)}),this.subscriptionList?.forEach(t=>{t.unsubscribe()})),this.viewportObserver?.disconnect(),this.preloadObserver?.disconnect(),this.viewportObserver=null,this.preloadObserver=null,this.destroy$.next(),this.destroy$.complete()}};let n=a;return a.\u0275fac=function(i){return new(i||a)(e.Y36(M.y),e.Y36(f.v),e.Y36(I.F),e.Y36(S.x0),e.Y36(T.AuthService),e.Y36(e.sBO),e.Y36(e.Lbi))}
1,a.\u0275cmp=e.Xpm({type:a,selectors:[["app-video-player-v2"]],viewQuery:function(i,s){if(1&i&&(e.Gf(D,5),e.Gf(m.q,5)),2&i){let l;e.iGM(l=e.CRH())&&(s.videoContainer=l.first),e.iGM(l=e.CRH())&&(s.ivsChildren=l)}},hostVars:10,hostBindings:function(i,s){2&i&&e.ekj("streamed-livestream-video",s.applyLivestreamFeedFill)("livestream-feed-fill",s.applyLivestreamFeedFill)("hide-big-play",s.hideBigPlayButton)("fit-poster",s.fitPosterAspect)("is-playing",s.isPlaying)},inputs:{post:"post",viewShowAgainInMiddle:"viewShowAgainInMiddle",autoPlay:"autoPlay",muted:"muted",postIndex:"postIndex",totalPosts:"totalPosts",setAspectRatio:"setAspectRatio",playPauseOnClick:"playPauseOnClick",isReelType:"isReelType",startTime:"startTime",isHeightFull:"isHeightFull",videoHeightClass:"videoHeightClass",skipIntersectionObserver:"skipIntersectionObserver",showLogin:"showLogin",livestreamFeedFill:"livestreamFeedFill",hideMutedIcon:"hideMutedIcon",hideBigPlayButton:"hideBigPlayButton",posterImage:"posterImage",videoMode:"videoMode",fitPosterAspect:"fitPosterAspect"},outputs:{screenClick:"screenClick"},decls:4,vars:5,consts:[["appIntersectionObserver","",1,"video-container",3,"ngClass","visible"],["videoContainer",""],[4,"ngIf"],["type","button","class","centered-play-btn",3,"click",4,"ngIf"],["class","video-preload-poster",4,"ngIf"],[1,"video-preload-poster"],["alt","","class","video-poster-img","loading","eager","decoding","async",3,"src",4,"ngIf"],["class","video-poster-img","preload","metadata","muted","","playsinline","",3,"src",4,"ngIf"],["alt","","loading","eager","decoding","async",1,"video-poster-img",3,"src"],["preload","metadata","muted","","playsinline","",1,"video-poster-img",3,"src"],["class","video-preload-poster video-loading-poster",4,"ngIf"],["appDisableRightClick","",1,"ivs_video",3,"ngClass","options"],["class","watch-again",3,"click",4,"ngIf"],["class","muted-icon",4,"ngIf"],[1,"videoPlayerOverlay",3,"ngClass","click"],[1,"video-preload-poster","video-loading-poster"],[1,"watch-again",3,"click"],[1,"muted-icon"],[1,"icon-litespeaker-mute"],["type","button",1,"centered-play-btn",3,"click"],[1,"icon-liteplay"]],template:function(i,s){1&i&&(e.TgZ(0,"div",0,1),e.NdJ("visible",function(){return s.onVideoVisible()}),e.YNc(2,J,3,2,"ng-container",2),e.YNc(3,Q,2,1,"button",3),e.qZA()),2&i&&(e.ekj("hide-controls",s.showCenteredPlayButton),e.Q6J("ngClass",s.videoHeightClass),e.xp6(2),e.Q6J("ngIf",(null==s.post?null:s.post.media_url)||(null==s.post?null:s.post.media)||s.post),e.xp6(1),e.Q6J("ngIf",s.showCenteredPlayButton))},dependencies:[d.mk,d.O5,m.q,B.m,F.Z,j.D],styles:[".video-container[_ngcontent-%COMP%]{position:relative;overflow-anchor:none}.centered-play-btn[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;z-index:20;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:var(--configThemeColor);transform:translate(-50%,-50%);cursor:pointer}.centered-play-btn[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{font-size:20px;margin-left:5px}.centered-play-btn[_ngcontent-%COMP%] em[_ngcontent-%COMP%]:before{color:var(--configButtonTextColor)}.video-container[_ngcontent-%COMP%]:hover .muted-icon[_ngcontent-%COMP%]{display:none}.hide-big-play[_nghost-%COMP%] .videoPlayerOverlay[_ngcontent-%COMP%]{pointer-events:none}.hide-big-play[_nghost-%COMP%] .video-container.hide-controls[_ngcontent-%COMP%] .vjs-control-bar, .hide-big-play[_nghost-%COMP%] .video-container.hide-controls[_ngcontent-%COMP%]:hover .video-js .vjs-control-bar{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.hide-big-play[_nghost-%COMP%] .video-js .vjs-big-play-button{display:none!important}.hide-big-play[_nghost-%COMP%] .vjs-mouse-display, .hide-big-play[_nghost-%COMP%] .vjs-play-progress .vjs-time-tooltip, .hide-big-play[_nghost-%COMP%] .vjs-progress-control .vjs-time-tooltip{display:none!important}.hide-big-play[_nghost-%COMP%] .vjs-time-control, .hide-big-play[_nghost-%COMP%] .vjs-time-divider{display:flex!important;align-items:center;flex-shrink:0;min-width:auto!important;padding-right:0;white-space:nowrap}.hide-big-play[_nghost-%COMP%] .vjs-time-control span, .hide-big-play[_nghost-%COMP%] .vjs-time-control div, .hide-big-play[_nghost-%COMP%] .vjs-time-divider span, .hide-big-play[_nghost-%COMP%] .vjs-time-divider div{display:inline!important;width:auto!important;height:auto!important;white-space:nowrap}.hide-big-play[_nghost-%COMP%] .vjs-time-control .vjs-control-text, .hide-big-play[_nghost-%COMP%] .vjs-time-divider .vjs-control-text{display:none!important}.hide-big-play.is-playing[_nghost-%COMP%] .video-container[_ngcontent-%COMP%]:hover .video-js .vjs-control-bar{display:flex!important;visibility:visible!important;opacity:1!important;z-index:30}.hide-big-play.is-playing[_nghost-%COMP%] .vjs-control-bar{z-index:30;pointer-events:auto} .vjs-big-play-button{display:none!important}.video-preload-poster[_ngcontent-%COMP%]{width:100%;height:100%;background-color:#000;display:flex;align-items:center;justify-content:center}.video-preload-poster[_ngcontent-%COMP%] .video-poster-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:contain}.video-loading-poster[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:10;pointer-events:none}.watch-again[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99;cursor:pointer}.watch-again-video[_ngcontent-%COMP%]{opacity:.5}.muted-icon[_ngcontent-%COMP%]{position:absolute;bottom:10px;right:10px;z-index:98;background:rgba(0,0,0,.5);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;pointer-events:none}.muted-icon[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{color:#fff!important;font-size:18px}.height-750[_ngcontent-%COMP%]{max-height:750px!important}
1 vjs-ivs-player.video-playing video{object-fit:contain!important} vjs-ivs-player.livestream-feed-fill{display:block;width:100%;height:100%} vjs-ivs-player.livestream-feed-fill video.video-js{width:100%!important;height:100%!important;padding-top:0!important;overflow:hidden} vjs-ivs-player.livestream-feed-fill video, vjs-ivs-player.livestream-feed-fill .vjs-tech{position:absolute!important;top:0!important;left:0!important;transform:none!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}.fit-poster[_nghost-%COMP%]{display:inline-block;max-width:100%;vertical-align:top}.fit-poster[_nghost-%COMP%] .video-container[_ngcontent-%COMP%]{overflow:hidden;max-width:100%}.fit-poster[_nghost-%COMP%] .video-preload-poster[_ngcontent-%COMP%]{background-color:transparent}.fit-poster[_nghost-%COMP%] .video-js{background:transparent!important}.fit-poster[_nghost-%COMP%] video, .fit-poster[_nghost-%COMP%] .vjs-tech, .fit-poster[_nghost-%COMP%] .video-poster-img{object-fit:cover!important}.livestream-feed-fill[_nghost-%COMP%]{display:block;width:100%}.livestream-feed-fill[_nghost-%COMP%] .video-container[_ngcontent-%COMP%]{overflow:hidden;width:100%}.livestream-feed-fill[_nghost-%COMP%] vjs-ivs-player.livestream-feed-fill video.video-js.vjs-fluid{padding-top:0!important;height:100%!important}"]}),n})()},66682:(x,C,r)=>{r.d(C,{Z:()=>M});var e=r(64537),d=r(88692);let M=(()=>{const h=class{constructor(p,f){this.element=p,this.platformId=f,this.visible=new e.vpe,this.threshold=.5,(0,d.NF)(this.platformId)&&(this.observer=new IntersectionObserver(([O])=>{O.isIntersecting&&this.visible.emit()},{threshold:this.threshold}))}ngAfterViewInit(){(0,d.NF)(this.platformId)&&(this.observer.observe(this.element.nativeElement),this.checkVisibility())}ngOnDestroy(){(0,d.NF)(this.platformId)&&this.observer.disconnect()}checkVisibility(){if((0,d.NF)(this.platformId)){const p=this.element.nativeElement.getBoundingClientRect();p.top<window.innerHeight*this.threshold&&p.bottom>=window.innerHeight*this.threshold&&this.visible.emit()}}};let m=h;return h.\u0275fac=function(f){return new(f||h)(e.Y36(e.SBq),e.Y36(e.Lbi))},h.\u0275dir=e.lG2({type:h,selectors:[["","appIntersectionObserver",""]],outputs:{visible:"visible"}}),m})()}}]);
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.