1import { Fc as p, Q as _, Sc as l, T as b, Uc as u, Wc as $, Yd as f, d as o, de as w, ee as n, md as m } from "./chunk-KILRP42Q.js"; 2import { i as g } from "./chunk-FQRK5E2F.js"; 3var r, 4 I = (() => { 5 let c = class c { 6 constructor(s, e) { 7 this.http = s, this.message = e, this._managedGroups$ = new o(), this.managedGroups$ = this._managedGroups$.asObservable(), this._newUser$ = new o(), this.newUser$ = this._newUser$.asObservable(), this._activeUser$ = new o(), this.activeUser$ = this._activeUser$.asObservable(), this._newIncome$ = new o(), this.newIncome$ = this._newIncome$.asObservable(), this._newContent$ = new o(), this.newContent$ = this._newContent$.asObservable(), this._total$ = new o(), this.total$ = this._total$.asObservable(), this._aMonthAgoNewUser$ = new o(), this.aMonthAgoNewUser$ = this._aMonthAgoNewUser$.asObservable(), this._aMonthAgoActiveUser$ = new o(), this.aMonthAgoActiveUser$ = this._aMonthAgoActiveUser$.asObservable(), this._aMonthAgoNewIncome$ = new o(), this.aMonthAgoNewIncome$ = this._aMonthAgoNewIncome$.asObservable(), this._aMonthAgoTotal$ = new o(), this.aMonthAgoTotal$ = this._aMonthAgoTotal$.asObservable(), this._rankList$ = new o(), this.rankList$ = this._rankList$.asObservable(), this._qrcodeData$ = new o(), this.qrcodeData$ = this._qrcodeData$.asObservable(), this._qrcodeRemark$ = new o(), this.qrcodeRemark$ = this._qrcodeRemark$.asObservable(), this._couponsInfo$ = new o(), this.couponsInfo$ = this._couponsInfo$.asObservable(), this._serviceFee$ = new o(), this.serviceFee$ = this._serviceFee$.asObservable(), this._couponsList$ = new o(), this.couponsList$ = this._couponsList$.asObservable(), this._couponCardUrl$ = new o(), this.couponCardUrl$ = this._couponCardUrl$.asObservable(), this._couponInviteUrl$ = new o(), this.couponInviteUrl$ = this._couponInviteUrl$.asObservable(), this._stopCoupon$ = new o(), this.stopCoupon$ = this._stopCoupon$.asObservable(), this._newCoupon$ = new o(), this.newCoupon$ = this._newCoupon$.asObservable(), this._couponInfo$ = new o(), this.couponInfo$ = this._couponInfo$.asObservable(), this._membersNotifications$ = new o(), this.membersNotifications$ = this._membersNotifications$.asObservable(), this._notificationTargets$ = new o(), this.notificationTargets$ = this._notificationTargets$.asObservable(), this._newNotification$ = new o(), this.newNotification$ = this._newNotification$.asObservable(), this._renewalUrl$ = new o(), this.renewalUrl$ = this._renewalUrl$.asObservable(), this._incomesRealtime$ = new o(), this.incomesRealtime$ = this._incomesRealtime$.asObservable(), this._incomesOverview$ = new o(), this.incomesOverview$ = this._incomesOverview$.asObservable(), this._incomesTrend$ = new o(), this.incomesTrend$ = this._incomesTrend$.asObservable(), this._incomesList$ = new o(), this.incomesList$ = this._incomesList$.asObservable(), this._membersOverview$ = new o(), this.membersOverview$ = this._membersOverview$.asObservable(), this._membersTrend$ = new o(), this.membersTrend$ = this._membersTrend$.asObservable(), this._membersList$ = new o(), this.membersList$ = this._membersList$.asObservable(), this._contentsOverview$ = new o(), this.contentsOverview$ = this._contentsOverview$.asObservable(), this._contentsTrend$ = new o(), this.contentsTrend$ = this._contentsTrend$.asObservable(), this._contentsList$ = new o(), this.contentsList$ = this._contentsList$.asObservable(), this._recordsList$ = new o(), this.recordsList$ = this._recordsList$.asObservable(), this._successSetting$ = new o(), this.successSetting$ = this._successSetting$.asObservable(), this._numberGroupSearch$ = new o(), this.numberGroupSearch$ = this._numberGroupSearch$.asObservable(), this._group$ = new o(), this.group$ = this._group$.asObservable(), this._groupUnfind$ = new o(), this.groupUnfind$ = this._groupUnfind$.asObservable(), this.noActiveUsers = !1, this.noNewUsers = !1, this.noNewIncome = !1, this.noNewContent = !1, this.noMemberAnalysisData = !1, this.noQrcodeAnalysisData = !1; 8 } 9 setCurrentGroup(s) { 10 this.currentGroup = s; 11 } 12 getManagedGroups() { 13 this.http.get(n.managedGroups).subscribe(s => { 14 s.succeeded ? this._managedGroups$.next(s.resp_data.groups) : this.http.handleExceptionCode(s, "\u83B7\u53D6\u6211\u7BA1\u7406\u7684\u661F\u7403\u5217\u8868\u5931\u8D25"); 15 }); 16 } 17 getNewUsersData(s, e) { 18 if (e) { 19 let t = this.formatReqTime("end", e), 20 i = this.formatReqTime("start", e),
21 a = n.getNewUsersData(s) + "?end_time=" + t + "&begin_time=" + i; 22 this.http.get(a).subscribe(h => { 23 h.succeeded && this._aMonthAgoNewUser$.next(h.resp_data[0]); 24 }); 25 } else this.http.get(n.getNewUsersData(s)).subscribe(t => { 26 if (t.succeeded) { 27 let i = t.resp_data; 28 i && i.length > 0 ? this._newUser$.next(i) : this.noNewUsers = !0; 29 } else this.noNewUsers = !0; 30 }); 31 } 32 getActiveUsersData(s, e) { 33 if (e) { 34 let t = this.formatReqTime("end", e), 35 i = this.formatReqTime("start", e), 36 a = n.getActiveUsersData(s) + "?end_time=" + t + "&begin_time=" + i; 37 this.http.get(a).subscribe(h => { 38 h.succeeded && this._aMonthAgoActiveUser$.next(h.resp_data[0]); 39 }); 40 } else this.http.get(n.getActiveUsersData(s)).subscribe(t => { 41 if (t.succeeded) { 42 let i = t.resp_data; 43 i && i.length > 0 ? this._activeUser$.next(i) : this.noActiveUsers = !0; 44 } else this.noActiveUsers = !0; 45 }); 46 } 47 getNewIncomeData(s, e) { 48 if (e) { 49 let t = this.formatReqTime("end", e), 50 i = this.formatReqTime("start", e), 51 a = n.getNewAmountsData(s) + "?end_time=" + t + "&begin_time=" + i; 52 this.http.get(a).subscribe(h => { 53 h.succeeded && this._aMonthAgoNewIncome$.next(h.resp_data[0]); 54 }); 55 } else this.http.get(n.getNewAmountsData(s)).subscribe(t => { 56 if (t.succeeded) { 57 let i = t.resp_data; 58 i && i.length > 0 ? this._newIncome$.next(i) : this.noNewIncome = !0; 59 } else this.noNewIncome = !0; 60 }); 61 } 62 getNewContentData(s) { 63 this.http.get(n.getContentData(s)).subscribe(e => { 64 if (e.succeeded) { 65 let t = e.resp_data; 66 t && t.length > 0 ? this._newContent$.next(t) : this.noNewContent = !0; 67 } else this.noNewContent = !0; 68 }); 69 } 70 getTotalData(s, e) { 71 if (e) { 72 let t = this.formatReqTime("end", e), 73 i = this.formatReqTime("start", e), 74 a = n.getTotalData(s) + "?end_time=" + t + "&begin_time=" + i; 75 this.http.get(a).subscribe(h => { 76 h.succeeded && this._aMonthAgoTotal$.next(h.resp_data[0]); 77 }); 78 } else this.http.get(n.getTotalData(s)).subscribe(t => { 79 t.succeeded && this._total$.next(t.resp_data); 80 }); 81 } 82 getMemberAnalysisData(s, e, t, i = 20) { 83 this.http.get(n.getMemberAnalysisData(s, e, t, i)).subscribe(a => { 84 if (a.succeeded) { 85 let h = a.resp_data.ranking_list; 86 h && h.length > 0 ? (this._rankList$.next(h), this.noMemberAnalysisData = !1) : this.noMemberAnalysisData = !0; 87 } else this.http.handleExceptionCode(a, "\u83B7\u53D6\u6210\u5458\u5206\u6790\u6570\u636E\u5931\u8D25"), this.noMemberAnalysisData = !0; 88 }); 89 } 90 getQrcodeAnalysisData(s, e, t = 20) { 91 this.http.get(n.getQrcodeAnalysisData(s, e, t)).subscribe(i => { 92 if (i.succeeded) { 93 let a = i.resp_data.qr_code; 94 a && a.length > 0 ? (this._qrcodeData$.next(i.resp_data), this.noQrcodeAnalysisData = !1) : this.noQrcodeAnalysisData = !0; 95 } else this.http.handleExceptionCode(i, "\u83B7\u53D6\u4E8C\u7EF4\u7801\u5206\u6790\u6570\u636E\u5931\u8D25"), this.noQrcodeAnalysisData = !0; 96 }); 97 } 98 setQrCodeRemark(s, e, t) { 99 this.http.put(n.setQrCodeRemark(s, e), t).subscribe(i => { 100 i.succeeded ? this._qrcodeRemark$.next(!0) : (this._qrcodeRemark$.next(!1), this.http.handleExceptionCode(i, "\u8BBE\u7F6E\u661F\u7403\u4E8C\u7EF4\u7801\u5907\u6CE8\u5931\u8D25")); 101 }); 102 } 103 formatReqTime(s, e) { 104 if (s === "start") return m(l($(u(new Date(), e)), "yyyy-MM-dd'T'HH:mm:ss.SSSXX")); 105 if (s === "end") return m(l(p(u(new Date(), e)), "yyyy-MM-dd'T'HH:mm:ss.SSSXX")); 106 } 107 getCouponsStatistics(s) { 108 this.http.get(n.getCouponsStatistics(s)).subscribe(e => { 109 e.succeeded ? this._couponsInfo$.next(e.resp_data) : this.http.handleExceptionCode(e, "\u83B7\u53D6\u4F18\u60E0\u5238\u4FE1\u606F\u5931\u8D25"); 110 }); 111 } 112 getGroupServiceFee(s) { 113 this.http.get(n.getGroupServiceFee(s)).subscribe(e => { 114 e.succeeded ? this._serviceFee$.next(e.resp_data) : this.http.handleExceptionCode(e, "\u83B7\u53D6\u661F\u7403\u624B\u7EED\u8D39\u4FE1\u606F\u5931\u8D25"); 115 }); 116 } 117 getCoupons(s, e, t = 10) { 118 this.http.get(n.getCoupons(s, e, t)).subscribe(i => { 119 i.succeeded ? this._couponsList$.next(i.resp_data) : (this.http.handleExceptionCode(i, "\u83B7\u53D6\u4F18\u60E0\u5238\u5217\u8868\u5931\u8D25"), this._couponsList$.next(null)); 120 }); 121 } 122 stopCoupon(s, e) { 123 let t = { 124 req_data: { 125 stop: !0 126 } 127 }; 128 this.http.put(n.setCoupon(s, e), t).subscribe(i => { 129 i.succeeded ? this._stopCoupon$.next(!0) : this.http.handleExceptionCode(i, "\u4FEE\u6539\u4F18\u60E0\u5238\u593
1291\u8D25"); 130 }); 131 } 132 createCouponCard(s, e, t) { 133 this.http.get(n.getCouponsCard(s, e, t)).subscribe(i => { 134 i.succeeded ? this._couponCardUrl$.next(i.resp_data.image_url) : this.http.handleExceptionCode(i, "\u751F\u6210\u4F18\u60E0\u5238\u5361\u7247\u5931\u8D25"); 135 }); 136 } 137 createCoupon(s, e) { 138 this.http.post(n.creatCoupon(s), e).subscribe(t => { 139 t.succeeded ? this._newCoupon$.next(t.resp_data.coupon_code) : (this._newCoupon$.next("fail"), this.http.handleExceptionCode(t, "\u521B\u5EFA\u4F18\u60E0\u5238\u5931\u8D25")); 140 }); 141 } 142 fetchCouponSettingInfo(s) { 143 this.http.get(n.getGroupCouponSettingInfo(s)).subscribe(e => { 144 e.succeeded ? this._couponInfo$.next(e.resp_data) : (this._couponInfo$.next(null), this.http.handleExceptionCode(e, "\u83B7\u53D6\u4F18\u60E0\u5238\u4FE1\u606F\u5931\u8D25")); 145 }); 146 } 147 setGroup(s, e, t) { 148 let i = { 149 req_data: e 150 }; 151 this.http.put(n.getGroup(s), i).subscribe(a => { 152 a.succeeded ? (this._successSetting$.next({ 153 group: a.resp_data.group, 154 settingName: t 155 }), this.message.info({ 156 content: "\u8BBE\u7F6E\u6210\u529F", 157 type: "success" 158 })) : this.http.handleExceptionCode(a, "\u914D\u7F6E\u661F\u7403\u5931\u8D25"); 159 }); 160 } 161 getNotifications(s, e, t = 10) { 162 this.http.get(n.getMembersNotifications(s, e, t)).subscribe(i => { 163 i.succeeded ? this._membersNotifications$.next(i.resp_data) : (this._membersNotifications$.next(null), this.http.handleExceptionCode(i, "\u83B7\u53D6\u5206\u7EC4\u901A\u77E5\u5217\u8868\u5931\u8D25")); 164 }); 165 } 166 getNotificationTargets(s) { 167 this.http.get(n.getNotificationTargets(s)).subscribe(e => { 168 e.succeeded ? this._notificationTargets$.next(e.resp_data) : (this._notificationTargets$.next(null), this.http.handleExceptionCode(e, "\u83B7\u53D6\u5206\u7EC4\u901A\u77E5\u7684\u63A8\u9001\u5BF9\u8C61\u5217\u8868\u5931\u8D25")); 169 }); 170 } 171 createNotification(s, e) { 172 this.http.post(n.createNotification(s), e).subscribe(t => { 173 t.succeeded ? this._newNotification$.next({ 174 id: t.resp_data.notification_id 175 }) : t.code === 1026 ? this.message.info({ 176 content: "\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u63A8\u9001\u5185\u5BB9", 177 type: "warning" 178 }) : (this._newNotification$.next({ 179 id: "fail", 180 code: t.code 181 }), this.http.handleExceptionCode(t, "\u521B\u5EFA\u5206\u7EC4\u901A\u77E5\u5931\u8D25")); 182 }); 183 } 184 getRenewal(s) { 185 this.http.get(n.getRenewal(s)).subscribe(e => { 186 e.succeeded ? this._renewalUrl$.next(e.resp_data.renewal_url) : (this._renewalUrl$.next(""), this.http.handleExceptionCode(e, "\u83B7\u53D6\u7EED\u671F\u4FE1\u606F\u5931\u8D25")); 187 }); 188 } 189 getIncomesRealtime(s) { 190 this.http.get(n.getIncomesRealtime(s)).subscribe(e => { 191 e.succeeded ? this._incomesRealtime$.next(e.resp_data) : (this._incomesRealtime$.next({}), this.http.handleExceptionCode(e, "\u83B7\u53D6\u5B9E\u65F6\u6536\u5165\u6570\u636E\u5931\u8D25")); 192 }); 193 } 194 getIncomesOverview(s) { 195 this.http.get(n.getIncomesOverview(s)).subscribe(e => { 196 e.succeeded ? this._incomesOverview$.next(e.resp_data.overview) : (this._incomesOverview$.next({}), this.http.handleExceptionCode(e, "\u83B7\u53D6\u6536\u5165\u6570\u636E\u6982\u89C8\u5931\u8D25")); 197 }); 198 } 199 getIncomesTrend(s, e) { 200 this.http.get(n.getIncomesTrend(s, e.scope, e.beginDate, e.endDate)).subscribe(t => { 201 t.succeeded ? this._incomesTrend$.next(t.resp_data.trend_data) : (this._incomesTrend$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u6536\u5165\u8D8B\u52BF\u6570\u636E\u5931\u8D25")); 202 }); 203 } 204 getIncomesList(s, e) { 205 this.http.get(n.getIncomesList(s, e.beginTime, e.endTime, e.direction)).subscribe(t => { 206 t.succeeded ? this._incomesList$.next(t.resp_data.incomes) : (this._incomesList$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u6536\u5165\u6570\u636E\u5217\u8868\u5931\u8D25")); 207 }); 208 } 209 getIncomesTrendFile(s, e) { 210 this.http.get(n.getIncomesTrendFile(s, e.beginDate, e.endDate)).subscribe(t => { 211 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 212 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 213 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u6536\u5165\u8D8B\u52BF\u6587\u4EF6\u5931\u8D25"); 214 }); 215 } 216 getIncomesListFile(s, e) { 217 this.http.get(n.getIncomesListFile(s, e.beginDate, e.endDate)).subscribe(t => { 218 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 219 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 220 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u6536\u5165\u6570\u636E\u6587\u4EF6\u5931\u8D25"); 221 }); 222 } 223 getMembersOverview(s) { 224 this.http.get(n.getMembersOverview(s)).subscribe(e => { 225 e.succeeded ? this._membersOverview$.next(e.resp_data.overview) : (this._membersOverview$.next({}), this.http.handleExceptionCode(e, "\u83B7\u53D6\u6210\u5458\u6570\u636E\u6982\u89C8\u5931\u8D25")); 226 }); 227 } 228 getMembersTrend(s, e) { 229 this.http.get(n.getMembersTrend(s, e.type, e.scope, e.beginDate, e.endDate)).subscribe(t => { 230 t.succeeded ? this._membersTrend$.next(t.resp_data.trend_data) : (this._membersTrend$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u6210\u5458\u8D8B\u52BF\u6570\u636E\u5931\u8D25")); 231 }); 232 } 233 getMembersList(s, e) { 234 this.http.get(n.getMembersList(s, e.beginTime, e.endTime, e.direction)).subscribe(t => { 235 t.succeeded ? this._membersList$.next(t.resp_data.members) : (this._membersList$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u6210\u5458\u6570\u636E\u5217\u8868\u5931\u8D25")); 236 }); 237 } 238 getMembersTrendFile(s, e) { 239 this.http.get(n.getMembersTrendFile(s, e.type, e.beginDate, e.endDate)).subscribe(t => { 240 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 241 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 242 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u6210\u5458\u8D8B\u52BF\u6587\u4EF6\u5931\u8D25"); 243 }); 244 } 245 getMembersListFile(s, e) { 246 this.http.get(n.getMembersListFile(s, e.beginDate, e.endDate)).subscribe(t => { 247 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 248 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 249 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u6210\u5458\u6570\u636E\u6587\u4EF6\u5931\u8D25"); 250 }); 251 } 252 getContentsOverview(s) { 253 this.http.get(n.getContentsOverview(s)).subscribe(e => { 254 e.succeeded ? this._contentsOverview$.next(e.resp_data.overview) : (this._contentsOverview$.next({}), this.http.handleExceptionCode(e, "\u83B7\u53D6\u5185\u5BB9\u6570\u636E\u6982\u89C8\u5931\u8D25")); 255 }); 256 } 257 getContentsTrend(s, e) { 258 this.http.get(n.getContentsTrend(s, e.scope, e.beginDate, e.endDate)).subscribe(t => { 259 t.succeeded ? this._contentsTrend$.next(t.resp_data.trend_data) : (this._contentsTrend$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u5185\u5BB9\u8D8B\u52BF\u6570\u636E\u5931\u8D25")); 260 }); 261 } 262 getContentsList(s, e) { 263 this.http.get(n.getContentsList(s, e.beginTime, e.endTime, e.direction)).subscribe(t => { 264 t.succeeded ? this._contentsList$.next(t.resp_data.contents) : (this._contentsList$.next([]), this.http.handleExceptionCode(t, "\u83B7\u53D6\u5185\u5BB9\u6570\u636E\u5217\u8868\u5931\u8D25")); 265 }); 266 } 267 getContentsTrendFile(s, e) { 268 this.http.get(n.getContentsTrendFile(s, e.beginDate, e.endDate)).subscribe(t => { 269 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 270 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 271 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u5185\u5BB9\u8D8B\u52BF\u6587\u4EF6\u5931\u8D25"); 272 }); 273 } 274 getContentsListFile(s, e) { 275 this.http.get(n.getContentsListFile(s, e.beginDate, e.endDate)).subscribe(t => { 276 t.succeeded ? this.getExportRecords() : t.code === 20601 ? this.message.info({ 277 content: "\u6BCF\u4E2A\u661F\u7403\u6BCF\u5929\u6700\u591A\u5BFC\u51FA 30 \u6B21\u6570\u636E" 278 }) : this.http.handleExceptionCode(t, "\u5BFC\u51FA\u5185\u5BB9\u6570\u636E\u6587\u4EF6\u5931\u8D25"); 279 }); 280 } 281 getExportRecords() { 282 this.http.get(n.getExportRecords()).subscribe(s => { 283 s.succeeded ? this._recordsList$.next(s.resp_data.export_records) : (this._recordsList$.next([]), this.http.handleExceptionCode(s, "\u83B7\u53D6\u5BFC\u51FA\u8BB0\u5F55\u5217\u8868\u5931\u8D25")); 284 }); 285 } 286 getEcharts() { 287 return g(this, null, function* () { 288 return r || (r = (yield import("./chunk-S3C2LBAH.js")).default, r); 289 }); 290 } 291 getChartTheme() { 292 if (document.documentElement.dataset.theme !== "dark") return { 293 muted: "#8B8E9D", 294 border: void 0 295 }; 296 let s = getComputedStyle(document.documentElement), 297 e = (t, i) => s.getPropertyValue(t).trim() || i; 298 return { 299 muted: e("--dweb-text-muted", "#8B8E9D"), 300 border: e("--dweb-border-faint", "rgba(0, 0, 0, 0.05)") 301 }; 302 } 303 getGroupPublicInfo(s) { 304 this.http.get(n.getGroupPublicInfoWithNum(s)).subscribe(e => { 305 e.succeeded ? this._group$.next(e.resp_data.public_info) : e.code === 1044 ? this._groupUnfind$.next(!0) : this.http.handleExceptionCode(e, "\u83B7\u53D6\u661F\u7403\u516C\u5F00\u4FE1\u606F\u5931\u8D25"); 306 }); 307 } 308 }; 309 c.ɵfac = function (e) { 310 return new (e || c)(b(w), b(f)); 311 }, c.ɵprov = _({ 312 token: c, 313 factory: c.ɵfac, 314 providedIn: "root" 315 }); 316 let d = c; 317 return d; 318 })(); 319export { I as a };
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.