1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[391],{222:(e,t,n)=>{n.d(t,{N:()=>s});var a=n(95704);function s(){var e;let t=null!=(e=window.__RERERE_ENV)?e:{};return{apiUrl:t.apiUrl||a.env.NEXT_PUBLIC_API_URL||"http://localhost:8000",clerkPublishableKey:t.clerkPublishableKey||a.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",agGridLicenseKey:t.agGridLicenseKey||a.env.NEXT_PUBLIC_AG_GRID_LICENSE_KEY||"",gaId:t.gaId||a.env.NEXT_PUBLIC_GA_ID||"",siteEnv:t.siteEnv||a.env.NEXT_PUBLIC_SITE_ENV||""}}},2082:(e,t,n)=>{n.d(t,{A:()=>i});var a=n(95155);let s={received:"#9ca3af",dispatched:"#3b82f6",processed:"#10b981",failed:"#ef4444",skipped:"#a855f7",pending:"#f59e0b",in_progress:"#3b82f6",active:"#10b981",inactive:"#6b7280",cancelled:"#ef4444",completed:"#10b981",paid:"#10b981",refunded:"#a855f7",partially_refunded:"#a855f7",fulfilled:"#10b981",partially_fulfilled:"#f59e0b",unfulfilled:"#6b7280",unknown:"#6b7280"};function i(e){var t;let{status:n,colors:i,label:r,className:l="",style:o}=e,c=null!=(t=({...s,...null!=i?i:{}})[n])?t:"#6b7280";return(0,a.jsx)("span",{className:"inline-flex items-center rounded-full ".concat(l),style:{padding:"0 6px",height:18,lineHeight:"16px",fontSize:10,fontWeight:500,whiteSpace:"nowrap",backgroundColor:"".concat(c,"18"),color:c,border:"1px solid ".concat(c,"30"),...o},children:null!=r?r:n})}},47101:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(95155);let s={primary:"bg-brand text-on-accent hover:bg-brand/85 active:bg-brand/75 disabled:bg-brand/30 disabled:text-on-accent/40",secondary:"bg-hovertint text-ink hover:bg-hovertint active:bg-hovertint border border-line disabled:opacity-40",ghost:"bg-transparent text-ink hover:bg-hovertint hover:text-ink active:bg-hovertint disabled:opacity-40",danger:"bg-red-500/90 text-on-accent hover:bg-red-500 active:bg-red-600 disabled:bg-red-500/30"},i={sm:"h-7 px-3 text-xs",md:"h-9 px-4 text-sm",lg:"h-11 px-6 text-base"};function r(e){let{variant:t="primary",size:n="md",loading:r=!1,leadingIcon:l,trailingIcon:o,disabled:c,className:d="",children:u,...h}=e;return(0,a.jsxs)("button",{...h,disabled:c||r,className:"inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-brand/40 focus:ring-offset-2 focus:ring-offset-surface disabled:cursor-not-allowed ".concat(s[t]," ").concat(i[n]," ").concat(d),children:[r?(0,a.jsx)("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-current border-r-transparent"}):l,(0,a.jsx)("span",{children:u}),!r&&o]})}},70391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>m});var a=n(95155),s=n(12115),i=n(90960),r=n(47101),l=n(81636),o=n(2082);let c={strong:"#10b981",workable:"#f59e0b",weak:"#ef4444",insufficient_data:"#6b7280"},d={strong:"Strong fit",workable:"Workable",weak:"Weak fit",insufficient_data:"Not enough data"},u=[{key:"returned_on",label:"Return date",required:!0},{key:"upc",label:"UPC"},{key:"sku",label:"SKU"},{key:"condition",label:"Condition"},{key:"quantity",label:"Quantity"},{key:"unit_price",label:"Unit price"}];function h(e){return"".concat((100*e).toFixed(1),"%")}function p(e){let{title:t,subtitle:n,children:s}=e;return(0,a.jsxs)("div",{className:"rounded-xl border border-line bg-surface-100 p-5",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-ink mb-1",children:t}),n&&(0,a.jsx)("p",{className:"text-xs text-ink-faint mb-4",children:n}),s]})}function x(e){let{label:t,value:n,hint:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-ink-faint",children:t}),(0,a.jsx)("div",{className:"text-xl font-semibold text-ink",children:n}),s&&(0,a.jsx)("div",{className:"text-[11px] text-ink-faint",children:s})]})}function m(){let e=(0,s.useRef)(null),[t,n]=(0,s.useState)(null),[m,f]=(0,s.useState)(null),[b,g]=(0,s.useState)(null),[v,y]=(0,s.useState)(null),[j,w]=(0,s.useState)(""),[N,k]=(0,s.useState)(null),[C,P]=(0,s.useState)(null),[E,S]=(0,s.useState)(null),T=(0,s.useCallback)(async()=>{if(t){P("Reading the fileâ¦"),S(null);try{let e=new FormData;e.append("file",t);let n=await (0,i.apiPostForm)("/api/v1/prospect/inspect",e);f(n),g(n.mapping),y(null)}catch(e){S(e instanceof Error?e.message:"Could not read that file.")}finally{P(null)}}},[t]),_=(0,s.useCallback)(async()=>
1{if(t&&b){P("Running the engineâ¦"),S(null);try{let e=new FormData;e.append("file",t),u.forEach(t=>{let{key:n}=t,a=b[n];a&&e.append(n,a)}),y(await (0,i.apiPostForm)("/api/v1/prospect/analyze",e))}catch(e){S(e instanceof Error?e.message:"The analysis failed.")}finally{P(null)}}},[t,b]),I=(0,s.useMemo)(()=>((null==v?void 0:v.topPools)||[]).map(e=>e.key),[v]),R=(0,s.useCallback)(async()=>{if(j.trim()){P("Reading their storefrontâ¦"),S(null);try{k(await (0,i.apiPost)("/api/v1/prospect/site-catalog",{site:j,poolKeys:I}))}catch(e){S(e instanceof Error?e.message:"Could not read that site.")}finally{P(null)}}},[j,I]),A=(null==v?void 0:v.verdict.rating)||"";return(0,a.jsxs)("div",{className:"p-6 max-w-6xl space-y-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"font-display text-2xl font-semibold text-ink mb-1",children:"Prospect Analyzer"}),(0,a.jsx)("p",{className:"text-sm text-ink-soft",children:"Upload 90â180 days of a prospect's returns and we run the same engine production uses â so the capture rate here is the one they would get. Nothing is saved: the file is read, analysed and dropped."})]}),E&&(0,a.jsx)("div",{className:"rounded-xl border border-bad/40 bg-bad/10 px-4 py-3",children:(0,a.jsx)("p",{className:"text-sm text-ink",children:E})}),(0,a.jsx)(p,{title:"1. Their returns file",subtitle:"Excel or CSV. 90 days is the minimum the engine will read; 180 gives a materially better answer.",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsx)("input",{ref:e,type:"file",accept:".csv,.xlsx,.xlsm,.xls",onChange:e=>{var t;n((null==(t=e.target.files)?void 0:t[0])||null),f(null),g(null),y(null),k(null),S(null)},className:"text-xs text-ink-soft file:mr-3 file:rounded-lg file:border file:border-line file:bg-hovertint file:px-3 file:py-1.5 file:text-xs file:text-ink"}),(0,a.jsx)(r.A,{onClick:T,disabled:!t||null!==C,children:"Reading the fileâ¦"===C?"Readingâ¦":"Read columns"}),m&&(0,a.jsxs)("span",{className:"text-xs text-ink-faint",children:[m.rowCount.toLocaleString()," rows in ",m.filename]})]})}),m&&b&&(0,a.jsxs)(p,{title:"2. Check the column mapping",subtitle:"We guessed these from the headers. Correct anything wrong before running â a number computed off the wrong column is worse than an error.",children:[!m.usable&&m.problem&&(0,a.jsx)("p",{className:"text-xs text-bad mb-3",children:m.problem}),(0,a.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3 mb-4",children:u.map(e=>{let{key:t,label:n,required:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"block text-xs font-medium text-ink-soft mb-1",children:[n,s&&(0,a.jsx)("span",{className:"text-bad",children:" *"})]}),(0,a.jsxs)(l.l6,{value:b[t]||"",onChange:e=>g({...b,[t]:e.target.value||null}),className:"text-xs w-full",children:[(0,a.jsx)("option",{value:"",children:"â none â"}),m.headers.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]})]},t)})}),(0,a.jsx)(r.A,{onClick:_,disabled:null!==C||!b.returned_on,children:"Running the engineâ¦"===C?"Runningâ¦":"Analyse"})]}),v&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(p,{title:"3. The verdict",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-3 flex-wrap",children:[(0,a.jsx)(o.A,{status:A,label:d[A]||A,colors:c}),(0,a.jsx)("span",{className:"text-sm font-medium text-ink",children:v.verdict.headline})]}),(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4 mb-5",children:[(0,a.jsx)(x,{label:"Capture rate",value:h(v.engine.captureRate),hint:"of returned units, at ".concat(h(v.engine.successTarget)," success")}),(0,a.jsx)(x,{label:"Qualifying pools",value:"".concat(v.engine.qualifyingPools," / ").concat(v.engine.distinctPools),hint:"products that can hold the service floor"}),(0,a.jsx)(x,{label:"Promisable / window",value:"".concat(v.engine.promisableUnitsPerWindow),hint:"of ".concat(v.engine.totalUnitsPerWindow," returned units")}),(0,a.jsx)(x,{label:"History supplied",value:"".concat(v.coverage.daysCovered," days"),hint:"".concat(v.coverage.windowsCovered," ten-day windows")})]}),(0,a.jsx)("div",{className:"space-y-1 mb-4",children:v.verdict.reasons.map((e,t)=>(0,a.jsxs)("p",{className:"text-xs text-ink-soft",children:["⢠",e]},t))}),v.verdict.suggestions.length>0&&(0,a.jsx)("div",{className:"rounded-lg bg-hovertint border border-line p-3 space-y-1",children:v.verdict.suggestions.map((e,t)=>(0,a.jsx)("p",{className:"text-xs text-ink-soft",children:e},t))}),(0,a.jsx)("p",{className:"text-[11px] text-ink-faint mt-3",children:"The rating is decided by capture rate alone. Everything below is reported so you can argue with it â none of it gates the verdict."})]}),(0,a.jsx)(p,{title:"Signals",subtitle:"What kind of account this is. Facts, not thresholds â they shape the conversation without pre-deciding it.",children:(0,a.jsx)("div",{className:"grid gap-4 sm:grid-cols-2",children:(v.signals||[]).map(e=>(0,a.jsxs)("div",{className:"rounded-lg border border-line p-3",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-ink-faint",children:e.label}),(0,a.jsx)("div",{className:"text-lg font-semibold text-ink mb-1",children:e.value}),(0,a.jsx)("div",{className:"text-xs text-ink-faint leading-relaxed",children:e.detail})]},e.key))})}),(0,a.jsxs)(p,{title:"Coverage â what we actually used",subtitle:"Stated so the number above is never resting on a fraction of the file without saying so.",children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,a.jsx)(x,{label:"Rows used",value:"".concat(v.coverage.rowsUsed.toLocaleStr
1ing()," / ").concat(v.coverage.rowsInFile.toLocaleString())}),(0,a.jsx)(x,{label:"Units",value:v.coverage.unitsUsed.toLocaleString()}),(0,a.jsx)(x,{label:"Date range",value:v.coverage.firstReturn&&v.coverage.lastReturn?"".concat(v.coverage.firstReturn," â ").concat(v.coverage.lastReturn):"â"})]}),Object.entries(v.coverage.skipped).some(e=>{let[,t]=e;return t>0})&&(0,a.jsxs)("p",{className:"text-xs text-ink-faint mt-3",children:["Skipped:"," ",Object.entries(v.coverage.skipped).filter(e=>{let[,t]=e;return t>0}).map(e=>{let[t,n]=e;return"".concat(n.toLocaleString()," with ").concat(t.replace(/_/g," "))}).join(", "),"."]})]}),(0,a.jsxs)(p,{title:"What more volume would buy them",subtitle:"Capture isn't a fixed percentage of a business â it rises with volume, because more arrivals per product push pools over the 98% line that can't hold it today.",children:[(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-xs",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"text-left text-ink-faint border-b border-line",children:[(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Volume"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Products qualifying"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Capture (conservative)"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Range"}),(0,a.jsx)("th",{className:"py-2 font-medium",children:"Ceiling"})]})}),(0,a.jsx)("tbody",{children:(v.volumeCurve||[]).map(e=>(0,a.jsxs)("tr",{className:"border-b border-line/50 ".concat(1===e.multiplier?"bg-hovertint":""),children:[(0,a.jsxs)("td",{className:"py-2 pr-3 font-mono text-ink",children:[e.multiplier,"\xd7",1===e.multiplier?" (today)":""]}),(0,a.jsx)("td",{className:"py-2 pr-3 text-ink-soft",children:e.qualifyingPools}),(0,a.jsx)("td",{className:"py-2 pr-3 font-medium text-ink",children:h(e.captureRate)}),(0,a.jsxs)("td",{className:"py-2 pr-3 text-ink-faint",children:[h(e.captureLow),"â",h(e.captureHigh)]}),(0,a.jsx)("td",{className:"py-2 text-ink-faint",children:h(e.captureOptimistic)})]},e.multiplier))})]})}),(0,a.jsxs)("div",{className:"mt-3 space-y-1",children:[(0,a.jsxs)("p",{className:"text-[11px] text-ink-faint",children:[(0,a.jsx)("strong",{className:"text-ink-soft",children:"This is a model, not a measurement."})," ","The measured figure is ",h(v.engine.captureRate)," â the headline above. Every row here, including 1\xd7, is simulated by resampling each product's own observed arrival pattern, so all rows are comparable to each other. The gap between the 1\xd7 row and the measured number is the model's own bias, shown rather than hidden."]}),(0,a.jsxs)("p",{className:"text-[11px] text-ink-faint",children:[(0,a.jsx)("strong",{className:"text-ink-soft",children:"Quote the conservative column."})," ","It assumes arrivals get lumpier as volume grows, which is what we have measured. The ceiling assumes they stay as regular as today â the gap between them is a modelling assumption, not a fact. The range is the simulation's own uncertainty."]}),(0,a.jsx)("p",{className:"text-[11px] text-ink-faint",children:"It assumes growth comes from the same products arriving more often. A longer tail of one-off products does not move capture, and a discontinued product is not revived by volume â dead and too-new products are held out at every level."})]})]}),(0,a.jsx)(p,{title:"Top pools",subtitle:"A pool is one product in one condition. Most will not qualify â that is the honest shape of this business, not a fault in the data.",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-xs",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"text-left text-ink-faint border-b border-line",children:[(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Pool"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Units"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Windows"}),(0,a.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Can promise"}),(0,a.jsx)("th",{className:"py-2 font-medium",children:"Why"})]})}),(0,a.jsx)("tbody",{children:v.topPools.map(e=>(0,a.jsxs)("tr",{className:"border-b border-line/50",children:[(0,a.jsx)("td",{className:"py-2 pr-3 font-mono text-ink",children:e.key}),(0,a.jsx)("td",{className:"py-2 pr-3 text-ink-soft",children:e.units}),(0,a.jsxs)("td",{className:"py-2 pr-3 text-ink-soft",children:[e.windowsWithArrivals,"/",e.spanWindows]}),(0,a.jsx)("td",{className:"py-2 pr-3 text-ink-soft",children:e.qMax}),(0,a.jsx)("td",{className:"py-2 text-ink-faint",children:e.reason})]},e.key))})]})})})]}),(0,a.jsxs)(p,{title:"4. Their storefront (optional)",subtitle:"Pull their catalog and check it corresponds to the file. A low match usually means the export used internal SKUs the storefront doesn't publish.",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsx)(l.ks,{value:j,onChange:e=>w(e.target.value),placeholder:"example.com",className:"text-xs w-64"}),(0,a.jsx)(r.A,{onClick:R,disabled:!j.trim()||null!==C,children:"Reading their storefrontâ¦"===C?"Readingâ¦":"Read catalog"})]}),N&&(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,a.jsx)(x,{label:"Products found",value:N.productC
1ount.toLocaleString()}),(0,a.jsx)(x,{label:"Source",value:N.platform,hint:"".concat(N.pagesFetched," requests")}),N.returnsJoin&&(0,a.jsx)(x,{label:"Matches the file",value:h(N.returnsJoin.matchRate),hint:"".concat(N.returnsJoin.matched," of ").concat(N.returnsJoin.returnIdentities," identities")})]}),N.notes.map((e,t)=>(0,a.jsx)("p",{className:"text-xs text-ink-faint",children:e},t)),N.errors.map((e,t)=>(0,a.jsx)("p",{className:"text-xs text-bad",children:e},t))]})]})]})}},81636:(e,t,n)=>{n.d(t,{D0:()=>s,Q6:()=>d,Sc:()=>c,fs:()=>l,ks:()=>r,l6:()=>o});var a=n(95155);function s(e){let{label:t,error:n,helpText:s,children:i,className:r=""}=e;return(0,a.jsxs)("label",{className:"flex flex-col gap-1 ".concat(r),children:[void 0!==t&&(0,a.jsx)("span",{className:"text-xs text-ink-soft",children:t}),i,n?(0,a.jsx)("span",{className:"text-[11px] text-bad",children:n}):s?(0,a.jsx)("span",{className:"text-[11px] text-ink-faint",children:s}):null]})}let i="h-9 px-3 rounded-md bg-card3 border border-line text-ink placeholder:text-ink-faint focus:outline-none focus:border-brand/60 focus:ring-1 focus:ring-brand/40 disabled:opacity-50 disabled:cursor-not-allowed";function r(e){let{invalid:t,className:n="",...s}=e;return(0,a.jsx)("input",{...s,className:"".concat(i," ").concat(t?"border-bad focus:border-bad":""," ").concat(n)})}function l(e){let{invalid:t,className:n="",...s}=e;return(0,a.jsx)("textarea",{...s,className:"px-3 py-2 rounded-md bg-card3 border border-line text-ink placeholder:text-ink-faint focus:outline-none focus:border-brand/60 focus:ring-1 focus:ring-brand/40 disabled:opacity-50 disabled:cursor-not-allowed ".concat(t?"border-bad focus:border-bad":""," ").concat(n)})}function o(e){let{invalid:t,className:n="",children:s,...r}=e;return(0,a.jsx)("select",{...r,className:"".concat(i," pr-8 ").concat(t?"border-bad focus:border-bad":""," ").concat(n),children:s})}function c(e){let{label:t,className:n="",...s}=e;return(0,a.jsxs)("label",{className:"inline-flex items-center gap-2 cursor-pointer ".concat(n),children:[(0,a.jsx)("input",{type:"checkbox",...s,className:"h-4 w-4 rounded border-line-strong bg-card3 accent-brand focus:ring-2 focus:ring-brand/40"}),void 0!==t&&(0,a.jsx)("span",{className:"text-sm text-ink",children:t})]})}function d(e){let{className:t="",style:n,...s}=e;return(0,a.jsx)("input",{type:"range",...s,className:"w-full ".concat(t),style:{accentColor:"#ABA3FF",...n}})}},90960:(e,t,n)=>{n.r(t),n.d(t,{ApiError:()=>f,apiDelete:()=>E,apiGet:()=>j,apiGetBlob:()=>w,apiPatch:()=>P,apiPost:()=>N,apiPostForm:()=>k,apiPut:()=>C,getApiBase:()=>s,getImpersonateUserId:()=>m,setApiToken:()=>o,setApiTokenProvider:()=>c,setImpersonateUserId:()=>x,setSessionExpiredHandler:()=>p,withTimeout:()=>b});var a=n(222);function s(){return(0,a.N)().apiUrl}let i="rerere_impersonate_user_id",r=null,l=null;function o(e){r=e}function c(e){l=e}async function d(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(l)try{let t=await l({skipCache:e});return t&&(r=t),null!=t?t:r}catch(e){}return r}let u=null,h=!1;function p(e){u=e,null===e&&(h=!1)}function x(e){e?window.localStorage.setItem(i,e):window.localStorage.removeItem(i)}function m(){return window.localStorage.getItem(i)}class f extends Error{constructor(e,t){super(t),this.name="ApiError",this.status=e}}function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:45e3,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"request";return Promise.race([e,new Promise((e,a)=>setTimeout(()=>a(new f(0,"".concat(n," timed out after ").concat(Math.round(t/1e3),"s"))),t))])}function g(e,t){let n={"Content-Type":"application/json",...e.headers};""===n["Content-Type"]&&delete n["Content-Type"],t&&(n.Authorization="Bearer ".concat(t));let a=m();a&&(n["X-Impersonate-User-Id"]=a);let s=function(){try{let e=window.localStorage.getItem("rerere.activeInstance");return e&&"null"!==e&&""!==e?e:null}catch(e){return null}}();return s&&(n["X-Active-Instance"]=s),n}async function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=await fetch("".concat(s()).concat(e),{...t,headers:g(t,await d(!1))});return 401===n.status&&l&&(n=await fetch("".concat(s()).concat(e),{...t,headers:g(t,await d(!0))})),401===n.status&&u&&!h&&(h=!0,u()),n}async function y(e,t,n){let a="".concat(t," ").concat(n," failed: ").concat(e.status),s=null;try{let t=await e.clone().json(),n=null==t?void 0:t.detail;"string"==typeof n&&n.trim()&&(s=n)}catch(e){}return 401!==e.status||s&&"Not authenticated"!==s&&"Invalid or expired token"!==s?new f(e.status,null!=s?s:a):new f(401,"Your session has expired â sign in again to continue. [AUTH 401]")}async function j(e){let t=await v(e);if(!t.ok)throw await y(t,"GET",e);return t.json()}async function w(e){let t=await v(e);if(!t.ok)throw await y(t,"GET",e);return t.blob()}async function N(e,t){let n=await v(e,{method:"POST",body:t?JSON.stringify(t):void 0});if(!n.ok)throw await y(n,"POST",e);return n.json()}async function k(e,t){let n=await v(e,{method:"POST",body:t,headers:{"Content-Type":""}});if(!n.ok)throw await y(n,"POST",e);return n.json()}async function C(e,t){let n=await v(e,{method:"PUT",body:t?JSON.stringify(t):void 0});if(!n.ok)throw await y(n,"PUT",e);return n.json()}async function P(e,t){let n=await v(e,{method:"PATCH",body:t?JSON.stringify(t):void 0});if(!n.ok)throw await y(n,"PATCH",e);return n.json()}async function E(e){let t=await v(e,{method:"DELETE"});if(!t.ok)throw await y(t,"DELETE",e)}}}]);
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.