1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,677169,e=>{"use strict";let t=(0,e.i(607655).default)("combine",[["path",{d:"M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"1l7d7l"}],["path",{d:"M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"9955pe"}],["path",{d:"m7 15 3 3",key:"4hkfgk"}],["path",{d:"m7 21 3-3H5a2 2 0 0 1-2-2v-2",key:"1xljwe"}],["rect",{x:"14",y:"14",width:"7",height:"7",rx:"1",key:"1cdgtw"}],["rect",{x:"3",y:"3",width:"7",height:"7",rx:"1",key:"zi3rio"}]]);e.s(["Combine",()=>t],677169)},673345,e=>{"use strict";var t=e.i(391610),r=e.i(638511),a=e.i(361687);e.i(577630);var i=e.i(455852),n=e.i(486596);e.i(53759);var o=e.i(541048),s=e.i(264847);let l="__root__";function d({teams:e,folders:d,accountId:c,projectId:u,disabled:f,onChange:p}){let{t:g}=(0,i.useTranslation)("drawings"),m=(0,s.folderOptionsFor)(d,c);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-1 overflow-y-auto",role:"radiogroup","aria-label":g("drawingSetCard.workspace"),children:e.map(e=>(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":c===e.id,disabled:f,onClick:()=>p({accountId:e.id,projectId:null}),className:(0,o.cn)("flex items-center gap-2 rounded-md border px-3 py-2 text-left text-sm transition-colors disabled:opacity-50",c===e.id?"border-primary bg-primary/5":"hover:bg-accent"),"data-test":"local-upload-target",children:[(0,t.jsx)(r.Building2,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.id))}),m.length>0&&(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-medium",children:g("localViewer.uploadFolderLabel")}),(0,t.jsxs)(n.Select,{value:u||l,disabled:f,onValueChange:e=>p({accountId:c,projectId:e===l?null:e}),children:[(0,t.jsx)(n.SelectTrigger,{className:"h-9","data-test":"local-upload-folder","aria-label":g("localViewer.uploadFolderLabel"),children:(0,t.jsx)(n.SelectValue,{})}),(0,t.jsxs)(n.SelectContent,{children:[(0,t.jsx)(n.SelectItem,{value:l,children:g("localViewer.uploadFolderRoot")}),m.map(e=>(0,t.jsx)(n.SelectItem,{value:e.id,style:{paddingLeft:8+14*e.depth},children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Folder,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]})},e.id))]})]})]})]})}e.s(["WorkspaceDestinationPicker",()=>d])},438275,e=>{"use strict";var t=e.i(391610),r=e.i(638511),a=e.i(525393),i=e.i(716012),n=e.i(623334);e.i(577630);var o=e.i(455852),s=e.i(236610),l=e.i(554662);function d(e){switch(e.kind){case"upload":return"upload";case"shared":return"shared";default:return`${e.kind}:${e.id}`}}function c(e,t=[]){return e?[...e.workspaces.map(e=>({kind:"workspace",id:e.accountId,name:e.name})),{kind:"upload"},...e.hasShared?[{kind:"shared"}]:[],...e.integrations.filter(e=>{var t;return"dropbox"===(t=e.provider)||"google_drive"===t}).map(e=>({kind:"integration",id:e.integrationId,provider:e.provider,name:e.displayName,blocked:t.includes(e.integrationId),unavailable:"dropbox"!==e.provider}))]:[{kind:"upload"}]}function u({origin:e,className:a}){switch(e.kind){case"workspace":return(0,t.jsx)(r.Building2,{className:a});case"shared":return(0,t.jsx)(n.Users,{className:a});case"integration":return(0,t.jsx)(l.ProviderIcon,{provider:e.provider,className:a});default:return(0,t.jsx)(l.ProviderIcon,{provider:"local",className:a})}}function f({origin:e,iconClassName:r="h-4 w-4"}){let{t:a}=(0,o.useTranslation)("drawings"),[i,n]="integration"===e.kind?[(0,l.getProviderLabel)(e.provider),e.name]:"upload"===e.kind?[a("fileOrigin.thisComputer"),null]:"shared"===e.kind?[a("fileOrigin.sharedWithMe"),null]:[e.name,null];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u,{origin:e,className:`mr-2 shrink-0 ${r}`}),(0,t.jsx)("span",{className:"truncate",children:i}),n?(0,t.jsx)("span",{className:"text-muted-foreground ml-1.5 truncate text-xs",children:n}):null]})}function p({origins:e,selected:r,onPick:n,header:l,footer:c,align:u="start",onCloseAutoFocus:p,children:g}){let{t:m}=(0,o.useTranslation)("drawings"),h=r?d(r):null,w=e.filter(e=>"workspace"===e.kind),x=e.filter(e=>"workspace"!==e.kind),y=w.length>0&&x.length>0,v=e=>(0,t.jsxs)(s.DropdownMenuItem,{disabled:!("integration"!==e.kind||!(e.blocked||e.unavailable)),onSelect:()=>n(e),children:[(0,t.jsx)(f,{origin:e}),"integration"===e.kind&&e.blocked?(0,t.jsx)(i.Lock,{className:"ml-auto h-3.5 w-3.5 pl-1"}):h===d(e)&&(0,t.jsx)(a.Check,{className:"ml-auto h-4 w-4 pl-1"})]},d(e));return(0,t.jsxs)(s.DropdownMenu,{children:[(0,t.jsx)(s.DropdownMenuTrigger,{asChild:!0,children:g}),(0,t.jsxs)(s.DropdownMenuContent,{align:u,"data-test":"file-origin-menu",onClick:e=>e.stopPropagation(),onCloseAutoFocus:p,children:[l&&(0,t.jsx)(s.DropdownMenuLabel,{className:"text-muted-foreground text-xs font-normal",children:l}),y&&(0,t.jsx)(s.DropdownMenuLabel,{className:"text-muted-foreground text-xs font-normal",children:m("fileOrigin.workspaces")}),w.map(v),y&&(0,t.jsx)(s.DropdownMenuLabel,{className:"text-muted-foreground text-xs font-normal",children:m("fileOrigin.elsewhere")}
1),x.map(v),c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DropdownMenuSeparator,{}),c]})]})]})}e.s(["FileOriginIcon",()=>u,"FileOriginLabel",()=>f,"FileOriginMenu",()=>p,"fileOriginKey",()=>d,"originsFromRoots",()=>c])},287751,e=>{"use strict";var t=e.i(391610),r=e.i(138415),a=e.i(275346),i=e.i(770203),n=e.i(361687),o=e.i(827764);e.i(577630);var s=e.i(455852),l=e.i(7205),d=e.i(963633),c=e.i(308370),u=e.i(424942),f=e.i(843462),p=e.i(978502),g=(0,p.createServerReference)("7f4092bb1839a15d2bd0034756b25d81f089e18b85",p.callServer,void 0,p.findSourceMapURL,"listSharedInsertableDocumentsAction");function m(e){return e.arrangement_page_count??e.arrangement_sheets?.length??e.page_count??0}function h(e){return!e.isWhiteboard&&null!==e.currentVersionId&&m(e)>0}function w(e){return{drawingSetId:e.id,name:e.name,versionId:e.currentVersionId,pageCount:m(e)}}function x({root:e,excludeDrawingSetId:p,title:x,description:y,multiple:v=!1,onPick:k,onPickMany:b,onOpenChange:I}){let{t:S}=(0,s.useTranslation)("drawings"),j=e.kind,_="workspace"===e.kind?e.accountId:null,P="workspace"===e.kind?e.name:x,[N,T]=(0,r.useState)([{projectId:null,name:P}]),[C,D]=(0,r.useState)({key:"",status:"loading"}),[M,U]=(0,r.useState)(""),[R,E]=(0,r.useState)(""),[O,$]=(0,r.useState)([]),F=N.at(-1);(0,r.useEffect)(()=>{let e=setTimeout(()=>E(M.trim()),300);return()=>clearTimeout(e)},[M]);let A=(0,r.useRef)(0),B=(0,r.useCallback)(async(e,t,r)=>{if(null===_)return{folders:[],nextCursor:null,drawings:(await g(p?{hostDrawingSetId:p}:{})).map(e=>({id:e.drawingSetId,name:e.name,description:null,current_version:null,current_branch_count:0,page_count:e.pageCount,created_at:null,updated_at:null,external_file_id:null,external_file_path:null,owner_user_id:null,provider:null,thumbnailUrl:null,currentVersionId:e.versionId}))};let a=new URLSearchParams({accountId:_,sortField:"name",sortDirection:"asc"});e&&a.set("projectId",e),t&&a.set("search",t),r?a.set("cursor",r):a.set("include","folders");let i=await fetch(`/api/file-browser/workspace?${a}`);if(!i.ok)throw Error(`Workspace listing failed (${i.status})`);let n=await i.json();return{folders:n.folders??[],drawings:n.drawings,nextCursor:n.nextCursor}},[_,p]),V=JSON.stringify([_,F.projectId,R]),L=C.key===V?C:{key:V,status:"loading"},z=(0,r.useCallback)((e,t,r)=>{let a=++A.current;B(t,r,null).then(t=>{A.current===a&&D({key:e,status:"ready",more:"idle",...t})},()=>{A.current===a&&D({key:e,status:"failed"})})},[B]);(0,r.useEffect)(()=>{z(V,F.projectId,R)},[V,F.projectId,R,z]);let q=async()=>{if("ready"!==L.status||!L.nextCursor||"loading"===L.more)return;let e=A.current,t=L.nextCursor,r=e=>D(t=>"ready"===t.status?{...t,more:e}:t);r("loading");try{let r=await B(F.projectId,R,t);if(A.current!==e)return;D(e=>"ready"===e.status?{...e,drawings:[...e.drawings,...r.drawings],nextCursor:r.nextCursor,more:"idle"}:e)}catch{if(A.current!==e)return;r("failed")}},W="ready"===L.status?L.drawings.filter(e=>e.id!==p):[],G=W.filter(h).map(w),H=new Set(O.map(e=>e.versionId)),J=G.length>0&&G.every(e=>H.has(e.versionId));return(0,t.jsx)(c.Dialog,{open:!0,onOpenChange:I,children:(0,t.jsxs)(c.DialogContent,{className:"sm:max-w-lg","data-test":"workspace-file-picker",onOpenAutoFocus:e=>e.preventDefault(),children:[(0,t.jsxs)(c.DialogHeader,{children:[(0,t.jsx)(c.DialogTitle,{children:x}),y?(0,t.jsx)(c.DialogDescription,{children:y}):null]}),"workspace"===j&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("nav",{className:"text-muted-foreground flex min-w-0 flex-wrap items-center text-xs",children:N.map((e,r)=>(0,t.jsxs)("span",{className:"flex items-center",children:[r>0&&(0,t.jsx)(a.ChevronRight,{className:"mx-0.5 h-3 w-3 shrink-0"}),(0,t.jsx)("button",{type:"button",disabled:r===N.length-1,onClick:()=>T(e=>e.slice(0,r+1)),className:"hover:text-foreground max-w-40 truncate disabled:hover:text-inherit",children:e.name})]},e.projectId??"root"))}),(0,t.jsx)(u.Input,{value:M,onChange:e=>U(e.target.value),placeholder:S("filePicker.search"),"data-test":"workspace-file-picker-search"})]}),"loading"===L.status?(0,t.jsx)("div",{className:"flex justify-center py-10",children:(0,t.jsx)(f.Spinner,{})}):"failed"===L.status?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3 py-10 text-center","data-test":"workspace-file-picker-error",children:[(0,t.jsx)("p",{role:"alert",className:"text-destructive text-sm",children:S("filePicker.loadFailed")}),(0,t.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D({key:V,status:"loading"}),z(V,F.projectId,R)},"data-test":"workspace-file-picker-retry",children:S("filePicker.retry")})]}):0===L.folders.length&&0===W.length?(0,t.jsx)("p",{className:"text-muted-foreground py-10 text-center text-sm",children:S("filePicker.empty")}):(0,t.jsxs)(t.Fragment,{children:[v&&G.length>0&&(0,t.jsxs)("label",{className:"text-muted-foreground flex cursor-pointer items-center gap-3 px-3 text-xs",children:[(0,t.jsx)(d.
1Checkbox,{checked:J,onCheckedChange:()=>$(e=>{let t=new Set(e.map(e=>e.versionId));if(G.every(e=>t.has(e.versionId))){let t=new Set(G.map(e=>e.versionId));return e.filter(e=>!t.has(e.versionId))}return[...e,...G.filter(e=>!t.has(e.versionId))]}),"data-test":"workspace-file-picker-select-all"}),S("filePicker.selectAll")]}),(0,t.jsxs)("div",{className:"-mx-1 flex max-h-80 flex-col gap-1 overflow-y-auto px-1",children:[L.folders.map(e=>(0,t.jsxs)("button",{type:"button","data-test":"workspace-file-picker-folder",onClick:()=>T(t=>[...t,{projectId:e.id,name:e.name}]),className:"hover:bg-accent flex items-center gap-3 rounded-md border px-3 py-2.5 text-left text-sm transition-colors",children:[(0,t.jsx)(n.Folder,{className:"text-muted-foreground h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)(a.ChevronRight,{className:"text-muted-foreground ml-auto h-4 w-4 shrink-0"})]},e.id)),W.map(e=>{let r=h(e),a=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.FileText,{className:"text-muted-foreground h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground ml-auto shrink-0 text-xs",children:e.isWhiteboard?S("filePicker.whiteboard"):S("filePicker.pages",{count:m(e)})})]});if(!v)return(0,t.jsx)("button",{type:"button","data-test":"workspace-file-picker-file",disabled:!r,onClick:()=>k?.(w(e)),className:"hover:bg-accent flex items-center gap-3 rounded-md border px-3 py-2.5 text-left text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50",children:a},e.id);let n=r&&H.has(e.currentVersionId);return(0,t.jsxs)("label",{"data-test":"workspace-file-picker-file","data-selected":n||void 0,"data-disabled":!r||void 0,className:"hover:bg-accent data-[selected]:bg-accent/60 flex cursor-pointer items-center gap-3 rounded-md border px-3 py-2.5 text-left text-sm transition-colors data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:hover:bg-transparent",children:[(0,t.jsx)(d.Checkbox,{checked:n,disabled:!r,onCheckedChange:()=>{let t;return t=w(e),$(e=>e.some(e=>e.versionId===t.versionId)?e.filter(e=>e.versionId!==t.versionId):[...e,t])},"data-test":"workspace-file-picker-checkbox"}),a]},e.id)}),L.nextCursor&&(0,t.jsxs)(t.Fragment,{children:["failed"===L.more&&(0,t.jsx)("p",{role:"alert",className:"text-destructive pt-1 text-center text-xs",children:S("filePicker.loadFailed")}),(0,t.jsxs)(l.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>void q(),disabled:"loading"===L.more,"data-test":"workspace-file-picker-more",children:["loading"===L.more&&(0,t.jsx)(o.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"failed"===L.more?S("filePicker.retry"):S("filePicker.loadMore")]})]})]})]}),v&&(0,t.jsx)(c.DialogFooter,{children:(0,t.jsx)(l.Button,{type:"button",disabled:0===O.length,onClick:()=>{0!==O.length&&(b?.(O),I(!1))},"data-test":"workspace-file-picker-add",children:0===O.length?S("filePicker.add"):S("filePicker.addSelected",{count:O.length})})})]})})}e.s(["WorkspaceFilePicker",()=>x],287751)},735021,493955,814486,e=>{"use strict";function t(e){if(e.length<=300)return e;let t=e.slice(0,300);return/[\uD800-\uDBFF]$/.test(t)?t.slice(0,-1):t}function r(e){let t=e.trim();return t.replace(/\.(pdf|png|jpe?g)$/i,"").trim()||t}function a(e,t,r){let a=[];for(let i=1;i<=t;i+=1)a.push({ordinal:i,source:e,sourcePage:i,rotation:0,crop:null,size:r[i]??null});return a}function i(e,t){if(t<1)return{ok:!1,error:"Source has no pages."};let r=(e??"").trim();if(0===r.length)return{ok:!0,indices:n(1,t)};let a=r.split(",").map(e=>e.trim()).filter(e=>e.length>0);if(0===a.length)return{ok:!1,error:`Empty page range "${e}".`};let i=[];for(let e of a){let r=function(e,t){let r=e.match(/^(\d*)(-(\d*))?$/);if(!r)return{ok:!1,error:`Invalid page token "${e}".`};let[,a,i,o]=r;if(!i){if(!a)return{ok:!1,error:`Invalid page token "${e}".`};let r=parseInt(a,10);return!Number.isFinite(r)||r<1?{ok:!1,error:`Pages are 1-based (got "${e}").`}:r>t?{ok:!1,error:`Page "${e}" is out of range (source has ${t} pages).`}:{ok:!0,indices:[r]}}if(!a&&!o)return{ok:!1,error:`Invalid page token "${e}".`};let s=a?parseInt(a,10):1,l=o?parseInt(o,10):t;return!Number.isFinite(s)||!Number.isFinite(l)||s<1||l<1?{ok:!1,error:`Pages are 1-based (got "${e}").`}:s>t||l>t?{ok:!1,error:`Range "${e}" is out of bounds (source has ${t} pages).`}:s>l?{ok:!1,error:`Reverse ranges aren't supported â got "${e}". Use comma-separated pages (e.g. "${s},${s-1},${l}") to reorder.`}:{ok:!0,indices:n(s,l)}}(e,t);if(!r.ok)return r;i.push(...r.indices)}return{ok:!0,indices:i}}function n(e,t){let r=[];for(let a=e;a<=t;a+=1)r.push(a);return r}e.i(437402),e.s(["MAX_INSERT_UPLOAD_BYTES",0,0xc800000,"MAX_MERGE_PAGES",0,2e3,"MAX_MERGE_SOURCES",0,50,"MAX_SHEETS_PER_INSERT",0,200,"mergeSourceLabel",()=>t,"mergeSourceTitle",()=>r,"offerRawPages",()=>a],735021),e.s(["parsePageRange",()=>i],493955);var o=e.i(978502),s=(0,o.createServerReference)("7f32f4d91c101d581c24aefc15acc6ada3ba22d6ef",o.callServer,void 0,o.findSourceMapURL,"listInsertableRootsAction");e.s(["listInsertableRootsAction",()=>s],814486)},420136,e=>{"use strict";var t=e.i(391610),r=e.i(728387);e.i(577630);var a=e.i(455852),i=e.i(7205),n=e.i(308370);function o({provider:e,accounts:o,onChoose:s,onCancel:l}){let{t:d}=(0,a.useTranslation)("drawings"),c=new Map;for(let e of o)c.set(e.displayName,(c.get(e.displayName)??0)+1);return(0,t.jsx)(n.Dialog,{open:!0,onOpenChange:e=>!e&&l(),children:(0,t.jsxs)(n.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(n.DialogHeader,{children:[(0,t.jsx)(n.DialogTitle,{children:d("relinkSource.chooseAccountTitle")}),(0,t.jsx)(n.DialogDescription,{children:d(o.length>0?"relinkSource.chooseAccountDescription":"relinkSource.noConnectionDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[o.map(e=>(0,t.jsxs)(i.Button,{variant:"outline",className:"h-auto w-full flex-col items-start gap-0 px-3 py-2 text-left",onClick:()=>s(e.id),"data-test":"relink-account-option",children:[(0,t.jsx)("span",{className:"max-w-full truncate",children:e.displayName}),(c.get(e.displayName)??0)>1&&e.email?(0,t.jsx)("span",{className:"text-muted-foreground max-w-full truncate text-xs font-normal",children:e.email}):null]},e.id)),(0,t.jsxs)(i.Button,{variant:"ghost",className:"w-full justify-start",onClick:()=>{window.location.href=`${"dropbox"===e?"/dropbox/connect":"/google-drive/connect"}?returnUrl=${encodeURIComponent(window.location.pathname+window.location.search)}`},"data-test":"relink-connect-another",children:[(0,t.jsx)(r.Plus,{className:"mr-2 h-3.5 w-3.5 shrink-0"}),d("dropbox"===e?"dropboxSaveButton.connectAnother":"googleDriveSaveButton.connectAnother")]})]})]})})}e.s(["RelinkAccountDialog",()=>o])},377401,e=>{"use strict";let t=(0,e.i(607655).default)("cloud-upload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);e.s(["default",()=>t])},719274,618404,e=>{"use strict";let t=e=>new Promise(t=>setTimeout(t,e));async function r(e){let r;for(let a=0;a<3;a++){a>0&&await t(250*2**(a-1));let i=new AbortController,n=setTimeout(()=>i.abort(),2e4);try{let t=await fetch("/api/word-geometry/chunks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({versionId:e}),signal:i.signal});if(!t.ok)throw Error(`word-geometry chunks: ${t.status}`);return await t.json()}catch(e){r=e}finally{clearTimeout(n)}}throw r??Error("word-geometry chunks: exhausted retries")}function a(e,t){return e[t.endsWith("/annotation")?"annotation":"text_layer"].map(e=>e.path)}function i(e){let t=new Map;for(let r of e.text_layer)t.set(r.path,r.url);
1for(let r of e.annotation)t.set(r.path,r.url);return t}e.s(["chunkPathsForFolder",()=>a,"chunkUrlByPath",()=>i,"fetchVersionChunks",()=>r],719274);let n=["text_layer","annotation"];function o(e,t){return`word-geometry/${e}/${t}`}async function s(e,t,r,a){let i=await a(o(e,t)),n=`${o(e,t)}.bin`,s=i.includes(n)?i:[n,...i],l=await Promise.all(s.map(e=>r(e))),d=new Map;for(let e of l)for(let[t,r]of function(e){if(!e)return new Map;try{return function(e){let t=new DataView(e),r=new TextDecoder,a=new Map;if(e.byteLength<12)return a;if(0x314d4757!==t.getUint32(0,!0))throw Error("word-geometry: bad magic");let i=t.getUint16(4,!0);if(1!==i)throw Error(`word-geometry: unsupported format version ${i}`);let n=t.getUint32(8,!0),o=new Uint8Array(e),s=12;for(let e=0;e<n;e++){let e=t.getUint32(s,!0),i=t.getUint32(s+4,!0),n=t.getUint32(s+8,!0);s+=12;let l=[],d=i;for(let e=0;e<n;e++){let e=t.getUint8(d);d+=1;let a=t.getUint32(d,!0);d+=4;let i=t.getUint16(d,!0);d+=2;let n=t.getUint16(d,!0)/65535,s=t.getUint16(d+2,!0)/65535,c=t.getUint16(d+4,!0)/65535,u=t.getUint16(d+6,!0)/65535;d+=8;let f=t.getUint16(d,!0);d+=2;let p=null,g=null,m=null;1&e&&(p=t.getInt32(d,!0)/1e4,g=t.getUint16(d+4,!0)/32767,m=t.getUint16(d+6,!0)/32767,d+=8);let h=r.decode(o.subarray(d,d+f));d+=f,l.push({text:h,charStart:a,charEnd:a+i,bboxX:n,bboxY:s,bboxW:c,bboxH:u,angle:p,obbW:g,obbH:m})}a.set(e,l)}return a}(e)}catch{return new Map}}(e))d.set(t,r);return d}async function l(e,t,r){let a=await Promise.all(n.map(a=>s(e,a,t,r))),i={text_layer:a[0],annotation:a[1]};return{words:(e,t)=>i[e]?.get(t)??[],pageWords:e=>[...i.text_layer.get(e)??[],...i.annotation.get(e)??[]]}}function d(e,t,r){return e.filter(e=>e.charStart<r&&e.charEnd>t)}e.s(["buildVersionGeometry",()=>l,"loadSourceGeometry",()=>s,"wordsInCharRange",()=>d],618404)},368531,525755,e=>{"use strict";e.i(916612);var t=e.i(971917),r=e.i(698481),a=e.i(114166),i=e.i(233945),n=e.i(126696),o=e.i(420307),s=e.i(292908),l=e.i(555647),d=e.i(978997),c=e.i(958007);async function u(e,t){let r=await (0,c.loadVersionPageManifest)(e,t);return await a.offlinePageManifest.put({versionId:t,sourceVersionIds:(0,l.borrowedSources)(r?.entries??[],t),entries:r?.entries??null,persistenceSeq:r?.persistenceSeq??0,cachedAt:Date.now()}),r}async function f(e){await a.offlinePageManifest.remove(e)}var p=e.i(994977),g=e.i(624623),m=e.i(82258);async function h(e){let{client:t,versionId:r,pageCount:a,onProgress:i,signal:n}=e,o=Date.now()+9e5;for(;;){if(n?.aborted)return{ready:!1,reason:"timeout"};let{data:e,error:s}=await t.from("drawing_set_versions").select("tile_status, pages_with_bundle, page_count, file_path").eq("id",r).single();if(s||!e)return{ready:!1,reason:"failed"};if(!e.file_path)return{ready:!0,fileless:!0};let l=e.page_count??a,d=Array.isArray(e.pages_with_bundle)?e.pages_with_bundle.length:0;if(i?.(d,l),"failed"===e.tile_status)return{ready:!1,reason:"failed"};if(l>0&&d>=l)return{ready:!0};if("pending"===e.tile_status&&await (0,m.triggerTileGenerationAction)({versionId:r}).catch(()=>{}),Date.now()>o)return{ready:!1,reason:"timeout"};await new Promise(e=>setTimeout(e,2500))}}async function w(e){if(0===e.length)return 0;try{let t=await fetch("/api/offline/version-bytes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({versionIds:e})});if(!t.ok)return 0;let{totalBytes:r}=await t.json();return"number"==typeof r?r:0}catch{return 0}}async function x(e){let[{available:r},a,i]=await Promise.all([t.offlineBudget.estimate(),t.offlineBudget.getBudget(),w(e)]);return{fits:i<=Math.max(0,r-a.reserveBytes-0x3200000),requiredBytes:i,availableBytes:r}}async function y(){let[{usage:e,quota:r,available:a},i]=await Promise.all([t.offlineBudget.estimate(),t.offlineBudget.getBudget()]),n=r>0?Math.round(e/r*100):0,o="normal";return a<=0?o="terminal":a<=i.lowWaterBytes&&(o="low"),{level:o,usedPercent:n}}e.s(["computeHeadroom",()=>y,"runPreflightGate",()=>x],525755);var v=e.i(203998),k=e.i(692164),b=e.i(719274),I=e.i(618404);let S=["text_layer","annotation"];async function j(e,t){let{data:r}=await e.from("version_page_text").select("page_number, extraction_source, full_text").eq("version_id",t),{data:a}=await e.from("drawing_set_versions").select("text_started_at, text_completed_at, text_error").eq("id",t).maybeSingle(),{data:i}=await e.from("text_edit_layers").select("id").eq("drawing_set_version_id",t).eq("name","Default").limit(1),n=i?.[0]?.id??null,{data:o}=n?await e.from("text_edits").select("id, page_number, manifest_entry_id, text, source, geometry, removed_ranges").eq("layer_id",n):{data:null},s={}
1,l=await (0,b.fetchVersionChunks)(t).catch(()=>null);if(l){let e=(0,b.chunkUrlByPath)(l),r=async t=>{let r=e.get(t);if(!r)return null;let a=await fetch(r);if(!a.ok)return null;let i=await a.arrayBuffer();return s[t]=i,i},a=async e=>(0,b.chunkPathsForFolder)(l,e);await Promise.all(S.map(e=>(0,I.loadSourceGeometry)(t,e,r,a)))}await k.offlineText.put({versionId:t,textStartedAt:a?.text_started_at??null,textCompletedAt:a?.text_completed_at??null,textError:a?.text_error??null,pages:(r??[]).map(e=>({pageNumber:e.page_number,extractionSource:e.extraction_source,fullText:e.full_text??""})),textEdits:(o??[]).map(e=>({id:e.id,pageNumber:e.page_number,manifestEntryId:e.manifest_entry_id??null,text:e.text??"",source:e.source??"text_layer",geometry:e.geometry??null,removedRanges:e.removed_ranges??[]})),geometry:s})}async function _(e){await k.offlineText.remove(e)}var P=e.i(393998),N=e.i(966587);let T=P.z.object({entries:P.z.array(P.z.object({zoom:P.z.number().int().nonnegative(),col:P.z.number().int().nonnegative(),row:P.z.number().int().nonnegative(),off:P.z.number().int().nonnegative(),len:P.z.number().int().positive()})).min(1)});async function C(e,t,r){let a=new Map;for(let i=0;i<r.length;i+=16){let n=r.slice(i,i+16),o=n.map(e=>`pyramids/${t}/page-${e}.bundle`),{data:s,error:l}=await e.storage.from("drawings").createSignedUrls(o,3600);!l&&s&&s.forEach((e,t)=>{let r=n[t];null!=r&&e.signedUrl&&a.set(r,e.signedUrl)})}return a}async function D(e){let{client:t,drawingId:r,versionId:a,pageCount:n,signal:o,onProgress:s}=e;await i.offlinePins.pin(a,r);let l=Array.from({length:n},(e,t)=>t+1),d=await C(t,a,l),c={versionId:a,pagesDone:0,pageCount:n,pagesMissing:0};async function u(e){if(o?.aborted)return;let t=d.get(e);if(!t){c.pagesMissing+=1;return}try{let r=await fetch(t,{signal:o});if(!r.ok){c.pagesMissing+=1;return}let i=await r.arrayBuffer(),n=function(e){if(e.byteLength<8)return[];let t=new DataView(e);if("DPB1"!==new TextDecoder().decode(new Uint8Array(e,0,4)))return[];let r=t.getUint32(4,!1),a=8+r;if(a>e.byteLength)return[];let i=new TextDecoder().decode(new Uint8Array(e,8,r)),n=T.parse(JSON.parse(i)),o=[],s=new Set,l=0;for(let t of n.entries){let r=a+t.off,i=r+t.len,n=`${t.zoom}:${t.col}:${t.row}`;if(t.off!==l||i>e.byteLength||s.has(n))return[];s.add(n),l+=t.len,o.push({zoom:t.zoom,col:t.col,row:t.row,blob:new Blob([e.slice(r,i)],{type:"image/webp"})})}return a+l!==e.byteLength?[]:o}(i);if(0===n.length){c.pagesMissing+=1;return}await N.pdfiumTileCache.setMany(a,n.map(t=>({page:e,zoom:t.zoom,col:t.col,row:t.row,blob:t.blob}))),await N.pdfiumTileCache.set(a,e,-1,0,0,new Blob([new Uint8Array([1])],{type:"application/octet-stream"}))}catch(e){if(e?.name==="AbortError")return;c.pagesMissing+=1}}let f=0;async function p(){for(;f<l.length;){if(o?.aborted)return;let e=l[f++];await u(e),c.pagesDone+=1,s?.({...c})}}return await Promise.all(Array.from({length:Math.min(6,l.length)},()=>p())),c}async function M(e){await i.offlinePins.unpin(e),await N.pdfiumTileCache.invalidateVersion(e)}async function U(e,t,r){if("undefined"!=typeof fetch)try{let a=await fetch(`/home/${e}/drawings/${t}?v=${r}`,{credentials:"include"});(!a.ok||a.redirected)&&console.warn(`[offline] viewer document warm rejected (status=${a.status}, redirected=${String(a.redirected)}) â offline opens will bounce to /site-visit until re-prepped signed in`)}catch{}}async function R(e){let{supabase:r,accountId:o,drawingId:s,versionId:c,versionNumber:p,pageCount:g,title:m,projectName:w=null,workspaceName:y=null,onProgress:k}=e,b=[],I=await n.offlineRegistry.get(s);if(I&&I.sourceVersionId!==c)return{ok:!1,reason:"error",error:Error("Remove the existing offline copy before changing its version.")};let S=new Set(I?await i.offlinePins.listForDrawing(s):[]),P=async()=>{for(let e of[c,...b])S.has(e)||I&&e===c||(await M(e).catch(()=>{}),await _(e).catch(()=>{}),await f(e).catch(()=>{}));I?await n.offlineRegistry.setPrepState(s,"stale"):(await i.offlinePins.unpinDrawing(s).catch(()=>{}),await n.offlineRegistry.remove(s).catch(()=>{})),(0,v.invalidateOfflineStore)()},N=(0,d.pauseLatencySampling)();try{let e=await u(r,c);b.push(...(0,l.borrowedSources)(e?.entries??[],c));let i=await x([c,...b]);if(!i.fits)return I?(await n.offlineRegistry.setPrepState(s,"stale"),(0,v.invali
1dateOfflineStore)()):await f(c),{ok:!1,reason:"insufficient_storage",requiredBytes:i.requiredBytes,availableBytes:i.availableBytes};await t.offlineBudget.requestPersist(),I?await n.offlineRegistry.setPrepState(s,"preparing"):await n.offlineRegistry.upsert({drawingId:s,accountId:o,sourceVersionId:c,sourceVersionNumber:p,prepState:"preparing",visitState:"none",activeVisitBranchId:null,title:m,projectName:w,workspaceName:y,addedAt:Date.now()}),(0,v.invalidateOfflineStore)();let d=await h({client:r,versionId:c,pageCount:g,onProgress:(e,t)=>k?.(t>0?e/t:0,"rendering")});if(!d.ready||!d.fileless&&(await D({client:r,drawingId:s,versionId:c,pageCount:g,signal:void 0,onProgress:e=>k?.(e.pageCount>0?e.pagesDone/e.pageCount:0,"downloading")})).pagesMissing>0)return await P(),{ok:!1,reason:"render_failed"};for(let e of b){let t=await (0,l.loadBorrowedSource)(r,e),i=await h({client:r,versionId:e,pageCount:t.pageCount});if(!i.ready||i.fileless||(await D({client:r,drawingId:s,versionId:e,pageCount:t.pageCount})).pagesMissing>0)return await P(),{ok:!1,reason:"render_failed"};await a.offlinePageManifest.put({versionId:e,entries:null,persistenceSeq:0,cachedAt:Date.now(),source:t}),await j(r,e).catch(()=>{})}await j(r,c).catch(()=>{}),await U(o,s,p);let S=await a.offlinePageManifest.completePreparation(s,c);return(0,v.invalidateOfflineStore)(),S?{ok:!0}:{ok:!1,reason:"error",error:Error("The document changed during the download. Update the offline copy again.")}}catch(e){return await P(),{ok:!1,reason:"error",error:e}}finally{N()}}async function E(e){let t=await n.offlineRegistry.get(e.drawingId);if(t?.visitState==="active"&&t.activeVisitBranchId)return{ok:!0,branchId:t.activeVisitBranchId};if(t?.prepState!=="ready"||t.sourceVersionId!==e.versionId)return{ok:!1,error:Error("Update the offline copy before starting a visit.")};let a=crypto.randomUUID();if("healthy"!==(0,p.getNetworkHealth)())await r.offlineOpLog.enqueueCreateBranch({drawingId:e.drawingId,versionId:e.versionId,branchId:a});else{try{await (0,o.createSiteVisitBranchAction)({versionId:e.versionId,branchId:a})}catch(e){return{ok:!1,error:e}}window.dispatchEvent(new CustomEvent(s.VERSION_TREE_UPDATE_EVENT,{detail:{refetch:!0}}))}return await n.offlineRegistry.startVisit(e.drawingId,a),(0,v.invalidateOfflineStore)(),(0,g.drainOpLog)(),{ok:!0,branchId:a}}async function O(e){let t=await n.offlineRegistry.get(e);t?.activeVisitBranchId&&(await r.offlineOpLog.enqueuePublish({drawingId:e,versionId:t.sourceVersionId,branchId:t.activeVisitBranchId}),await n.offlineRegistry.endVisit(e),(0,v.invalidateOfflineStore)(),(0,g.drainOpLog)())}async function $(){for(let e of(await n.offlineRegistry.listWithVisit()))"active"===e.visitState&&await O(e.drawingId)}async function F(e){let t=await n.offlineRegistry.get(e);if(t){for(let r of(await i.offlinePins.listForDrawing(e)).filter(e=>e!==t.sourceVersionId))await M(r),await _(r),await f(r);await M(t.sourceVersionId),await _(t.sourceVersionId),await f(t.sourceVersionId),await i.offlinePins.unpinDrawing(e)}await r.offlineOpLog.clearDrawing(e),await n.offlineRegistry.remove(e)}async function A(e){let t=await n.offlineRegistry.get(e);
1return t&&"none"!==t.visitState?{ok:!1,reason:"visit_active"}:await r.offlineOpLog.count(e)>0?{ok:!1,reason:"pending_ops"}:(await F(e),(0,v.invalidateOfflineStore)(),{ok:!0})}async function B(e){(await n.offlineRegistry.get(e)||await r.offlineOpLog.count(e)!==0)&&(await F(e),(0,v.invalidateOfflineStore)())}e.s(["addDrawingOffline",()=>R,"endAllVisits",()=>$,"endVisit",()=>O,"purgeDrawingOffline",()=>B,"removeDrawingOffline",()=>A,"startVisit",()=>E],368531)},443886,262753,e=>{"use strict";var t=e.i(391610),r=e.i(138415),a=e.i(875487),i=e.i(796552),n=e.i(33542),o=e.i(978502),s=(0,o.createServerReference)("7f233253197394fddd9ec3828d2f49fbf4e9525120",o.callServer,void 0,o.findSourceMapURL,"getGoogleDriveFileParentAction");e.s(["getGoogleDriveFileParentAction",()=>s],262753);var l=e.i(485350),d=(0,o.createServerReference)("7f55eb41222fd381d3ef494894902014d581cab2f1",o.callServer,void 0,o.findSourceMapURL,"relinkDrawingSourceAction"),c=e.i(706048);function u({drawingSetId:e,drawingName:o,integrationId:u,provider:f,open:p,onOpenChange:g,sourceFileId:m,sourcePath:h,suggestedFileName:w,onRelinked:x}){let[y,v]=(0,r.useState)(!1),k=(0,r.useCallback)(async(t,r)=>{if(y)return;v(!0);let n=a.notify.progress(`relink-${e}`,`Relinking "${o}" to "${r}"â¦`);try{let r=await (0,i.runAction)(d({drawingSetId:e,fileId:t,viaIntegrationId:u}),{fallback:"Failed to relink the file",onError:e=>(n.fail(e.message,{fallback:"Failed to relink the file",duration:8e3}),!0)});if(!r)return;n.succeed(r.newVersion?`Version ${r.versionNumber} created from "${r.fileName}"`:`Relinked to "${r.fileName}" â content unchanged`),x?.(r)}finally{v(!1),g(!1)}},[e,o,u,y,g,x]),b=(0,r.useRef)(!1);if((0,r.useEffect)(()=>{if("google_drive"===f){if(!p){b.current=!1;return}b.current||(b.current=!0,(async()=>{try{let e,t=await (0,i.runAction)((0,l.getGoogleDriveTokenAction)({integrationId:u}),{fallback:"Failed to open Google Drive"});if(!t)return void g(!1);if(m){let t=await (0,i.runAction)(s({integrationId:u,fileId:m}),{fallback:"",onError:()=>!0});e=t?.parentFolderId??void 0}let r=(await (0,n.openFilePicker)({accessToken:t.accessToken,title:"Select the new source file",multiSelect:!1,parentFolderId:e,query:w??void 0}))[0];if(!r)return void g(!1);await k(r.fileId,r.name)}catch(e){a.notify.error(e,{fallback:"Failed to open Google Drive"}),g(!1)}})())}},[p,f,u,m,w,g,k]),"dropbox"!==f)return null;let I=h?.includes("/")?h.split("/").slice(0,-1).join("/"):void 0;return(0,t.jsx)(c.DropboxFilePicker,{integrationId:u,open:p,onOpenChange:e=>{e||y||g(!1)},mode:"select",title:"Select the new source file",initialPath:I,onSelect:e=>void k(e.id,e.name)})}e.s(["RelinkSourceDialog",()=>u],443886)},264847,e=>{"use strict";function t(e,t){let r=e.filter(e=>e.account_id===t),a=new Set(r.map(e=>e.id)),i=new Map;for(let e of r){let t=e.parent_id&&a.has(e.parent_id)?e.parent_id:null,r=i.get(t);r?r.push(e):i.set(t,[e])}for(let e of i.values())e.sort((e,t)=>e.name.localeCompare(t.name));let n=[],o=new Set,s=(e,t)=>{for(let r of i.get(e)??[])o.has(r.id)||(o.add(r.id),n.push({id:r.id,name:r.name,depth:t}),s(r.id,t+1))};return s(null,0),n}e.s(["folderOptionsFor",()=>t])},395002,e=>{"use strict";var t=e.i(138415);e.i(822309);var r=e.i(976308),a=e.i(502916),i=e.i(875487),n=e.i(22726),o=e.i(767130),s=e.i(768455),l=e.i(548566),d=e.i(108627),c=e.i(531783),u=e.i(319984),f=e.i(752889);function p({account:e,projectId:p,onImported:g,parkInViewer:m=!0}){let h=(0,n.useImportLanding)(),w=(0,a.useSupabase)(),{addUploads:x,updateEntry:y,removeEntries:v}=(0,o.useUploads)(),k=(0,t.useCallback)(async t=>{(0,c.perfTap)("instant-drop",{size:t.size});let a=0,i={},n=URL.createObjectURL(t),o=(0,d.createPDFiumEngine)({pdfUrl:n}),s=!1;try{let n;try{let e=performance.now();(0,c.perfTap)("instant-parse-start",{size:t.size}),await o.load(),a=o.numPages,(0,c.perfTap)("instant-parse-done",{pageCount:a,ms:Math.round(performance.now()-e)});let r=performance.now();i=await o.getAllPageDimensions(),(0,c.perfTap)("instant-dims-done",{ms:Math.round(performance.now()-r)})}catch{return{status:"fallback"}}if(a<1||0===Object.keys(i).length)return{status:"fallback"};try{let r=performance.now(),o=await fetch("/api/drawings/provision-local",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:t.name,accountId:e,projectId:p??void 0,fileSize:t.size,pageCount:a,pageDimensions:i}),signal:AbortSignal.timeout(3e4)});if(n=await o.json(),(0,c.perfTap)("instant-provision-done",{ms:Math.round(performance.now()-r)}
1),!o.ok||!n.success){let e=n.error??(n.errors?.length?n.errors.join(", "):"Import failed");return{status:"failed",error:e}}}catch{return{status:"failed",error:"Import failed"}}(0,u.markVersionProvisional)(n.versionId),(0,u.holdProvisionalBlob)(n.versionId,t);let l=i[1];return l&&((0,c.perfTap)("instant-prerender-start",{versionId:n.versionId}),(0,u.holdProvisionalFirstTile)(n.versionId,o.renderFullPageEncoded(1,(0,r.getScaleForZoomLevel)(0,l.width,l.height),"canvas").then(e=>((0,c.perfTap)("instant-prerender-done",{size:e.size}),e)).catch(()=>null))),s=(0,u.holdProvisionalEngine)(n.versionId,o),(0,c.perfTap)("instant-settle",{versionId:n.versionId}),g?g(n.drawingSetId,t.name):h.settle(`/home/${e}/drawings/${n.drawingSetId}`),{status:"opened",versionId:n.versionId}}finally{URL.revokeObjectURL(n),s||o.destroy()}},[e,p,h,g]),b=(0,t.useCallback)(async t=>{let r=t.map(e=>({id:`up_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,fileName:e.name,progress:0,status:"uploading"}));if(1===t.length){let a=t[0],n=r[0],o=await k(a);if("opened"===o.status)return(0,f.transferInstantImport)({supabase:w,file:a,owner:e,versionId:o.versionId,uploads:{addUploads:x,updateEntry:y,removeEntries:v}}),{ok:!0};if("failed"===o.status)return i.notify.error(o.error,{fallback:"Upload failed"}),g||h.abort(),{ok:!1,error:(0,s.mapErrorToMessage)(o.error,"Upload failed")};x([n]);let d=(0,f.tempPathFor)(e,n.id,a);try{let t=await (0,l.uploadWithProgress)(w,"drawings",d,a,e=>y(n.id,{progress:e}));if(t.error)throw t.error;y(n.id,{status:"processing",progress:100});let r=await fetch("/api/drawings/import-local",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tempFilePath:d,fileName:a.name,accountId:e,projectId:p??void 0}),signal:AbortSignal.timeout(f.IMPORT_REQUEST_TIMEOUT_MS)}),i=await r.json();if(!r.ok||!("success"in i)||!i.success){let e="error"in i?i.error:"errors"in i&&i.errors.length>0?i.errors.join(", "):"Import failed";throw Error(e)}return y(n.id,{status:"done"}),setTimeout(()=>v([n.id]),2500),g?g(i.drawingSetId,a.name):h.settle(`/home/${e}/drawings/${i.drawingSetId}`),{ok:!0}}catch(t){let e=t instanceof DOMException&&"TimeoutError"===t.name?"Import timed out":t instanceof Error?t.message:"Upload failed";return y(n.id,{status:"error",error:e}),i.notify.error(e,{fallback:"Upload failed"}),setTimeout(()=>v([n.id]),2500),g||h.abort(),{ok:!1,error:(0,s.mapErrorToMessage)(e,"Upload failed")}}}x(r);let a=await Promise.all(r.map(async(r,a)=>{let i=t[a];try{let t=(0,f.tempPathFor)(e,r.id,i),a=await (0,l.uploadWithProgress)(w,"drawings",t,i,e=>y(r.id,{progress:e}));if(a.error)throw a.error;y(r.id,{status:"processing",progress:100});let n=await fetch("/api/drawings/import-local",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tempFilePath:t,fileName:i.name,accountId:e,projectId:p??void 0}),signal:AbortSignal.timeout(f.IMPORT_REQUEST_TIMEOUT_MS)}),o=await n.json();if(!n.ok||!("success"in o)||!o.success){let e="error"in o?o.error:"errors"in o&&o.errors.length>0?o.errors.join(", "):"Import failed";throw Error(e)}return y(r.id,{status:"done"}),{success:!0,drawingSetId:o.drawingSetId,versionId:o.versionId}}catch(t){let e=t instanceof DOMException&&"TimeoutError"===t.name?"Import timed out":t instanceof Error?t.message:"Upload failed";return y(r.id,{status:"error",error:e}),{success:!1,error:e}}})),n=a.filter(e=>e.success).length,o=a.length-n,d=a.find(e=>!e.success)?.error;n>0&&0===o?n>1&&i.notify.success(`${n} drawings uploaded`):n>0?i.notify.warning(`${n} uploaded, ${o} failed`):1===o?i.notify.error(d,{fallback:"Upload failed"}):i.notify.error(`${o} uploads failed`);let c=r.map(e=>e.id);return setTimeout(()=>v(c),2500),1===a.length&&a[0]?.success?h.settle(`/home/${e}/drawings/${a[0].drawingSetId}`):g||h.abort(),0===o?{ok:!0}:{ok:!1,error:(0,s.mapErrorToMessage)(d,"Upload failed")}},[e,p,w,x,y,v,h,k,g]);return{handleFiles:(0,t.useCallback)(async e=>{let t=e.filter(e=>"application/pdf"===e.type||e.name.toLowerCase().endsWith(".pdf")),r=e.length-t.length;return(r>0&&i.notify.error(1===r?"Skipped 1 file (only PDFs are supported)":`Skipped ${r} files (only PDFs are supported)`),1===t.length&&m&&!g&&h.enter(),0===t.length)?{ok:!1,error:"Only PDFs are supported"}:b(t)},[h,m,b,g])}}e.s(["usePdfImport",()=>p])}]);
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.