birdclaw 0.9.5 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +28 -9
  3. package/dist/cli/birdclaw.js +12422 -10181
  4. package/dist/client/assets/FeedState-DhMv4zXD.js +1 -0
  5. package/dist/client/assets/ProfileAnalysisStream-B8zyyye-.js +1 -0
  6. package/dist/client/assets/SavedTimelineView-CFgHR6di.js +1 -0
  7. package/dist/client/assets/SyncNowButton-DDYT2jQT.js +1 -0
  8. package/dist/client/assets/TimelineRouteFrame-DcipwBqo.js +1 -0
  9. package/dist/client/assets/TweetRichText-D-amgcEl.js +1 -0
  10. package/dist/client/assets/account-selection-h7m9xmzU.js +1 -0
  11. package/dist/client/assets/blocks-GWWj1dXr.js +1 -0
  12. package/dist/client/assets/blocks-qrevFiNI.js +2 -0
  13. package/dist/client/assets/{bookmarks-f8mrhE5v.js → bookmarks-BMf6Ytua.js} +1 -1
  14. package/dist/client/assets/chevron-down-e-c5H12y.js +1 -0
  15. package/dist/client/assets/circle-DiJUdlek.js +1 -0
  16. package/dist/client/assets/data-sources-CqxgDfE3.js +1 -0
  17. package/dist/client/assets/database-Dl3XWRaa.js +1 -0
  18. package/dist/client/assets/discuss-BeFPn8mN.js +2 -0
  19. package/dist/client/assets/discuss-ZvGdSAmA.js +1 -0
  20. package/dist/client/assets/dms-CMp6bAR_.js +1 -0
  21. package/dist/client/assets/dms-DBexFtGg.js +2 -0
  22. package/dist/client/assets/external-link-CfdTAkvn.js +1 -0
  23. package/dist/client/assets/gauge-DP2ku9zz.js +1 -0
  24. package/dist/client/assets/heart-D-ERjZPN.js +1 -0
  25. package/dist/client/assets/inbox-CeGwsGo_.js +1 -0
  26. package/dist/client/assets/inbox-DvSRkOiH.js +2 -0
  27. package/dist/client/assets/index-Bz8aYylW.js +31 -0
  28. package/dist/client/assets/lazyRouteComponent-CLLbUvMd.js +1 -0
  29. package/dist/client/assets/{likes-bYLP-Iur.js → likes-BaljrAHC.js} +1 -1
  30. package/dist/client/assets/links-CbC-fX7T.js +2 -0
  31. package/dist/client/assets/links-DMGuDd-B.js +1 -0
  32. package/dist/client/assets/mapbox-DfIoNJn2.js +2 -0
  33. package/dist/client/assets/mapbox-gl-BdaHQI9U.js +3220 -0
  34. package/dist/client/assets/{mentions-CceV_r9w.js → mentions-TFNyR9F4.js} +1 -1
  35. package/dist/client/assets/message-circle-79LZr2oN.js +1 -0
  36. package/dist/client/assets/network-map-1fXIqI3Y.js +2 -0
  37. package/dist/client/assets/network-map-CKiXfloJ.js +2 -0
  38. package/dist/client/assets/network-map-CrXvY--k.css +1 -0
  39. package/dist/client/assets/preload-helper-MpqUbZCn.js +1 -0
  40. package/dist/client/assets/profile-analyze-B5Rr41WP.js +2 -0
  41. package/dist/client/assets/profile-analyze-BqvM9hSa.js +1 -0
  42. package/dist/client/assets/{profile-hydration-client-kffyMcqf.js → profile-hydration-client-DoFW3yKH.js} +1 -1
  43. package/dist/client/assets/profiles._handle-DWyWAGG8.js +1 -0
  44. package/dist/client/assets/profiles._handle-DdZ9wAT-.js +2 -0
  45. package/dist/client/assets/query-client-CA-do_IS.js +17 -0
  46. package/dist/client/assets/rate-limits-DyRTb_U4.js +1 -0
  47. package/dist/client/assets/refresh-cw-IUfM9D_1.js +1 -0
  48. package/dist/client/assets/route-search-CmZT7pGD.js +1 -0
  49. package/dist/client/assets/{routes-DYUCTi0s.js → routes-P7NzOusD.js} +1 -1
  50. package/dist/client/assets/styles-CjeA43Ci.css +2 -0
  51. package/dist/client/assets/today-DOUIqDPa.js +2 -0
  52. package/dist/client/assets/today-Dq8qoGhX.js +1 -0
  53. package/dist/client/assets/useDebouncedValue-BJLRInUq.js +1 -0
  54. package/dist/client/assets/useQuery-CL_NXLnc.js +1 -0
  55. package/dist/client/assets/useTimelineRouteData-2v9TVG9L.js +1 -0
  56. package/dist/client/assets/user-search-DL5_6EZd.js +1 -0
  57. package/dist/server/assets/{SavedTimelineView-BGZvQIYS.js → SavedTimelineView-lVz_ZZnh.js} +2 -2
  58. package/dist/server/assets/{SyncNowButton-CsgOFaO_.js → SyncNowButton-C3OQghU4.js} +5 -3
  59. package/dist/server/assets/{TimelineRouteFrame-BWWFisJF.js → TimelineRouteFrame-Dj1TeYrD.js} +2 -2
  60. package/dist/server/assets/_tanstack-start-manifest_v-DQT-Q-zz.js +221 -0
  61. package/dist/server/assets/{blocks-VXmcBqKD.js → blocks-BSvPOa_E.js} +2 -2
  62. package/dist/server/assets/{blocks-DWZAKPAX.js → blocks-Cv7I4iVs.js} +2 -2
  63. package/dist/server/assets/{bookmarks-B-I4ELcA.js → bookmarks-BcFpV8qD.js} +1 -1
  64. package/dist/server/assets/{discuss-4b2z14mT.js → discuss-BuLhalye.js} +2 -2
  65. package/dist/server/assets/{discuss-CJ_vThu8.js → discuss-D1q_L77A.js} +2 -2
  66. package/dist/server/assets/{dms-BAKB1Mia.js → dms-C-s5l0cs.js} +4 -4
  67. package/dist/server/assets/{dms-BCI8W9u2.js → dms-OtbAd5nR.js} +3 -3
  68. package/dist/server/assets/{empty-plugin-adapters-D9UWiqvJ.js → empty-plugin-adapters-YdH6Vqte.js} +1 -1
  69. package/dist/server/assets/{inbox-D607zrwZ.js → inbox-Wf8xGIjq.js} +2 -2
  70. package/dist/server/assets/{inbox-BJzEE8Aa.js → inbox-wLir608r.js} +1 -1
  71. package/dist/server/assets/{likes-CMQGc5bh.js → likes-BfFIyEbU.js} +1 -1
  72. package/dist/server/assets/{links-BU_FRxcz.js → links-BWt4ORY4.js} +2 -2
  73. package/dist/server/assets/{links-Dz-6bmkg.js → links-_ePW92kI.js} +2 -2
  74. package/dist/server/assets/{mentions-B2K8tGvx.js → mentions-oO4uv0Ju.js} +1 -1
  75. package/dist/server/assets/{network-map-BLqLL8CR.js → network-map-S3bgKEDj.js} +1 -1
  76. package/dist/server/assets/{network-map-DvfpJQy1.js → network-map-rmU1NSHD.js} +1 -1
  77. package/dist/server/assets/{router-DeGdUXyx.js → router-DY-ahyjD.js} +14730 -14056
  78. package/dist/server/assets/{routes-C4caR_ZX.js → routes-CYJ-dTi6.js} +1 -1
  79. package/dist/server/assets/start-CHdfdlfD.js +4 -0
  80. package/dist/server/assets/{today-CRa6Y-Tg.js → today-BLDqhLvT.js} +2 -2
  81. package/dist/server/assets/{today-CScZDxQx.js → today-D8zExFWH.js} +2 -2
  82. package/dist/server/server.js +3515 -51
  83. package/package.json +89 -91
  84. package/dist/client/assets/SavedTimelineView-HNbc1InN.js +0 -1
  85. package/dist/client/assets/TimelineRouteFrame-DUF8ETx2.js +0 -1
  86. package/dist/client/assets/blocks-CLV8UyL1.js +0 -1
  87. package/dist/client/assets/data-sources-obqEq3vx.js +0 -1
  88. package/dist/client/assets/discuss-IVQmzPlf.js +0 -1
  89. package/dist/client/assets/dms-Dz53c2A8.js +0 -1
  90. package/dist/client/assets/inbox-OtMwyDqg.js +0 -1
  91. package/dist/client/assets/index-bpFrQ5yG.css +0 -1
  92. package/dist/client/assets/index-gdLl886E.js +0 -31
  93. package/dist/client/assets/links-Calv868h.js +0 -1
  94. package/dist/client/assets/mapbox-D8DIktls.js +0 -2
  95. package/dist/client/assets/mapbox-gl-CL_i4VMi.js +0 -3215
  96. package/dist/client/assets/network-map-7r9If3kD.js +0 -2
  97. package/dist/client/assets/profile-analyze-BeyDxO7C.js +0 -1
  98. package/dist/client/assets/profiles._handle-BH11vR7-.js +0 -1
  99. package/dist/client/assets/query-client-CD880OPj.js +0 -17
  100. package/dist/client/assets/rate-limits-pf5ibAYx.js +0 -1
  101. package/dist/client/assets/styles-DAoXpgpq.css +0 -2
  102. package/dist/client/assets/today-CwzttriK.js +0 -1
  103. package/dist/client/assets/useTimelineRouteData-BE84vgO5.js +0 -1
  104. package/dist/server/assets/_tanstack-start-manifest_v-AFEKQ2i-.js +0 -148
  105. package/dist/server/assets/start-5Z2QO8AU.js +0 -4
  106. package/dist/server/assets/{useTimelineRouteData-BWxx9yQl.js → useTimelineRouteData-wthflgOe.js} +1 -1
@@ -1 +1 @@
1
- import{Rn as e}from"./schemas-CMQMhQXI.js";import{t}from"./TimelineRouteFrame-DUF8ETx2.js";var n=e();function r(e){return e?`${String(e.stats.mentions)} mention/reply items in local store`:`Loading mentions...`}function i(){return(0,n.jsx)(t,{emptyDetail:`Try All, search less narrowly, or sync mentions.`,emptyLabel:`No mentions in this view`,errorFallback:`Mentions unavailable`,errorTitle:`Could not load mentions`,initialReplyFilter:`unreplied`,loadingDetail:`Checking local mentions and reply context`,loadingLabel:`Loading mentions`,resource:`mentions`,searchPlaceholder:`Search mentions`,subtitle:r,syncKind:`mentions`,syncLabel:`Sync mentions`,title:`Mentions`})}export{i as component};
1
+ import{Rn as e}from"./schemas-CMQMhQXI.js";import{t}from"./TimelineRouteFrame-DcipwBqo.js";var n=e();function r(e){return e?`${String(e.stats.mentions)} mention/reply items in local store`:`Loading mentions...`}function i(){return(0,n.jsx)(t,{emptyDetail:`Try All, search less narrowly, or sync mentions.`,emptyLabel:`No mentions in this view`,errorFallback:`Mentions unavailable`,errorTitle:`Could not load mentions`,initialReplyFilter:`unreplied`,loadingDetail:`Checking local mentions and reply context`,loadingLabel:`Loading mentions`,resource:`mentions`,searchPlaceholder:`Search mentions`,subtitle:r,syncKind:`mentions`,syncLabel:`Sync mentions`,title:`Mentions`})}export{i as component};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CMLcIxOz.js";var t=e(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]);export{t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mapbox-DfIoNJn2.js","assets/rolldown-runtime-B-9mzPXz.js","assets/react-BwGzW7mM.js","assets/react-dom-DEMAB80t.js","assets/preload-helper-MpqUbZCn.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-B-9mzPXz.js";import{t}from"./react-BwGzW7mM.js";import{Gt as n,Ht as r,Kt as i,M as a,Rn as o,Tn as s,Ut as c,Wt as l,an as u,cn as d,dn as f,dt as p,fn as m,on as h,sn as g}from"./schemas-CMQMhQXI.js";import{t as _}from"./createLucideIcon-CMLcIxOz.js";import{a as v,c as y,d as b,f as x,h as S,i as C,l as w,m as T,n as E,o as D,p as O,r as k,s as A,t as j,u as M}from"./network-map-CKiXfloJ.js";import{t as N}from"./refresh-cw-IUfM9D_1.js";import{t as P}from"./search-C_LqodNa.js";import{t as F}from"./users-DI3w8Mol.js";import{n as I,t as L}from"./preload-helper-MpqUbZCn.js";import{o as R}from"./route-search-CmZT7pGD.js";var z=_(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),B=_(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),V=e(t()),H=o();I();function U({icon:e,label:t,value:n}){return(0,H.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 border-b border-[var(--line)] px-4 py-3 sm:border-r`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] font-medium text-[var(--ink-soft)]`,children:[(0,H.jsx)(e,{className:`size-4`,strokeWidth:1.8}),(0,H.jsx)(`span`,{children:t})]}),(0,H.jsx)(`div`,{className:`truncate text-[24px] font-bold tracking-tight text-[var(--ink)]`,children:w(n)})]})}function W(){let[e,t]=(0,V.useState)(null),[n,r]=(0,V.useState)(null);return(0,V.useEffect)(()=>{let e=!1;return L(()=>import(`./mapbox-DfIoNJn2.js`).then(n=>{e||t(n)}),__vite__mapDeps([0,1,2,3,4])).catch(t=>{e||r(t instanceof Error?t.message:`Map failed`)}),()=>{e=!0}},[]),{module:e,error:n}}function G({feature:e,size:t=36,className:n,style:r}){let i=v(e),[o,s]=(0,V.useState)(null),c=i&&o!==i;return(0,H.jsx)(`div`,{className:a(`relative grid shrink-0 place-items-center overflow-hidden rounded-full bg-[var(--accent-soft)] text-[12px] font-bold text-[var(--accent)] ring-2 ring-white`,n),style:{width:t,height:t,...r},children:c?(0,H.jsx)(`img`,{src:i,alt:``,className:`h-full w-full object-cover`,loading:`lazy`,onError:()=>s(i)}):(0,H.jsx)(`span`,{children:C(e)})})}function K({feature:e}){let t=T(e.properties.relationship);return(0,H.jsxs)(`button`,{type:`button`,className:`group relative grid size-11 place-items-center rounded-full border-0 bg-transparent p-0 transition-transform hover:z-10 hover:scale-110`,"aria-label":`Open @${e.properties.handle}`,title:`@${e.properties.handle}`,children:[(0,H.jsx)(`span`,{className:`absolute inset-0 rounded-full opacity-90 shadow-[0_10px_28px_rgba(15,20,25,0.28)]`,style:{backgroundColor:t}}),(0,H.jsx)(G,{feature:e,size:34,className:`relative ring-[3px]`})]})}function q({count:e,features:t,stats:n}){let r=Math.min(82,Math.max(52,44+Math.log2(e)*7)),i=r>=72?30:25;return(0,H.jsxs)(`button`,{type:`button`,className:`group relative rounded-full border-0 bg-transparent p-0 transition-transform hover:z-10 hover:scale-105`,"aria-label":`${w(e)} located profiles`,title:`${w(e)} profiles`,style:{width:r,height:r},children:[(0,H.jsx)(`span`,{className:`absolute inset-0 rounded-full opacity-95 shadow-[0_18px_42px_rgba(15,20,25,0.32)]`,style:{background:A(n)}}),(0,H.jsx)(`span`,{className:`absolute inset-[4px] rounded-full bg-white/88 backdrop-blur-sm`}),(0,H.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:t.slice(0,4).map((e,t)=>(0,H.jsx)(G,{feature:e,size:i,className:`absolute`,style:{transform:`translate(${[-10,10,-7,8][t]??0}px, ${[-9,-8,11,10][t]??0}px)`}},e.properties.profileId))}),(0,H.jsx)(`span`,{className:`absolute -right-1 -top-1 min-w-7 rounded-full bg-[#0f1419] px-1.5 py-0.5 text-center text-[11px] font-bold leading-5 text-white ring-2 ring-white`,children:e>99?`99+`:w(e)})]})}function J({data:e,onViewportChange:t}){let{module:n,error:r}=W(),i=(0,V.useRef)(null),[a,o]=(0,V.useState)(k),[c,l]=(0,V.useState)(null),u=(0,V.useMemo)(()=>D(e.features),[e]),d=(0,V.useMemo)(()=>u.getClusters(a.bounds,Math.max(0,Math.floor(a.zoom))),[u,a]);(0,V.useEffect)(()=>{l(null)},[e]);let f=(0,V.useCallback)(e=>{let n=O(e.target);n&&(o(n),t(n))},[t]);if(!e.config.mapboxToken)return(0,H.jsx)(Y,{data:e});if(r)return(0,H.jsxs)(`div`,{className:s,children:[(0,H.jsx)(B,{className:`mr-2 inline size-4`,strokeWidth:1.8}),r]});if(!n)return(0,H.jsx)(`div`,{className:s,children:`Loading map...`});let{default:p,Marker:m,NavigationControl:h,Popup:g}=n;return(0,H.jsx)(`div`,{className:`min-h-[520px] flex-1 overflow-hidden bg-[var(--bg-active)] min-[1180px]:min-h-0`,children:(0,H.jsxs)(p,{ref:i,initialViewState:{longitude:9,latitude:24,zoom:1.2},mapStyle:document.documentElement.dataset.theme===`dark`?`mapbox://styles/mapbox/dark-v11`:`mapbox://styles/mapbox/light-v11`,mapboxAccessToken:e.config.mapboxToken,onClick:()=>l(null),onLoad:f,onMoveEnd:f,projection:`mercator`,style:{width:`100%`,height:`100%`},children:[(0,H.jsx)(h,{position:`top-right`,showCompass:!1}),d.map(t=>{let[n,r]=t.geometry.coordinates;if(x(t)){let n=t.geometry.coordinates,r=u.getLeaves(t.properties.cluster_id,48).map(t=>e.features[t.properties.featureIndex]).filter(e=>!!e).sort(y),[o,s]=b(r,n);return(0,H.jsx)(m,{longitude:o,latitude:s,anchor:`center`,onClick:e=>{e.originalEvent?.stopPropagation();let n=Math.min(u.getClusterExpansionZoom(t.properties.cluster_id),12);i.current?.flyTo?.({center:[o,s],zoom:Math.max(a.zoom+.85,n-.6),duration:520}),l({kind:`cluster`,coordinates:[o,s],count:t.properties.point_count,features:r,stats:t.properties})},children:(0,H.jsx)(q,{count:t.properties.point_count,features:r,stats:t.properties})},`cluster-${String(t.properties.cluster_id)}`)}let o=e.features[t.properties.featureIndex];return o?(0,H.jsx)(m,{longitude:n,latitude:r,anchor:`center`,onClick:e=>{e.originalEvent?.stopPropagation(),l({kind:`profile`,feature:o})},children:(0,H.jsx)(K,{feature:o})},o.properties.profileId):null}),c?(0,H.jsx)(g,{longitude:c.kind===`profile`?c.feature.geometry.coordinates[0]:c.coordinates[0],latitude:c.kind===`profile`?c.feature.geometry.coordinates[1]:c.coordinates[1],closeButton:!1,offset:12,onClose:()=>l(null),children:c.kind===`profile`?(0,H.jsx)(X,{feature:c.feature}):(0,H.jsx)(Z,{count:c.count,features:c.features,stats:c.stats})}):null]})})}function Y({data:e}){let t=e.features.slice(0,1500).map(e=>{let[t,n]=e.geometry.coordinates;return{feature:e,x:(t+180)/360*1e3,y:(90-n)/180*500}});return(0,H.jsx)(`div`,{className:`border-b border-[var(--line)] bg-[var(--bg-active)] px-4 py-4`,children:(0,H.jsxs)(`svg`,{viewBox:`0 0 1000 500`,className:`h-auto w-full rounded-md border border-[var(--line)] bg-[var(--bg)]`,role:`img`,"aria-label":`Network map`,children:[(0,H.jsx)(`defs`,{children:(0,H.jsx)(`pattern`,{id:`map-grid`,width:`100`,height:`100`,patternUnits:`userSpaceOnUse`,children:(0,H.jsx)(`path`,{d:`M 100 0 L 0 0 0 100`,fill:`none`,stroke:`currentColor`,strokeOpacity:`0.08`,strokeWidth:`1`})})}),(0,H.jsx)(`rect`,{width:`1000`,height:`500`,fill:`url(#map-grid)`}),(0,H.jsx)(`path`,{d:`M60 205 C145 155 210 145 280 178 C352 212 424 186 495 194 C594 206 665 157 746 178 C836 201 907 227 952 282`,fill:`none`,stroke:`currentColor`,strokeOpacity:`0.18`,strokeWidth:`36`,strokeLinecap:`round`}),t.map(({feature:e,x:t,y:n})=>(0,H.jsx)(`circle`,{cx:t,cy:n,r:e.properties.relationship===`mutual`?4.5:3.5,fill:e.properties.relationship===`mutual`?`#22c55e`:e.properties.relationship===`following`?`#f59e0b`:`#1d9bf0`,opacity:`0.86`},e.properties.profileId))]})})}function X({feature:e}){return(0,H.jsxs)(`div`,{className:`flex max-w-[280px] gap-3 text-[13px] text-[#0f1419]`,children:[(0,H.jsx)(G,{feature:e,size:48,className:`ring-[#d9e2ea]`}),(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsx)(`div`,{className:`truncate font-bold`,children:e.properties.name}),(0,H.jsxs)(`div`,{className:`truncate text-[#536471]`,children:[`@`,e.properties.handle]}),(0,H.jsx)(`div`,{className:`mt-1 line-clamp-2`,children:e.properties.location}),e.properties.resolvedLocation?(0,H.jsx)(`div`,{className:`truncate text-[#536471]`,children:e.properties.resolvedLocation}):null]})]})}function Z({count:e,features:t,stats:n}){return(0,H.jsxs)(`div`,{className:`w-[290px] text-[13px] text-[#0f1419]`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{className:`font-bold`,children:[w(e),` profiles here`]}),(0,H.jsxs)(`div`,{className:`text-[#536471]`,children:[w(n.mutual),` mutual ·`,` `,w(n.following),` following ·`,` `,w(n.followers),` followers`]})]}),(0,H.jsx)(`div`,{className:`size-11 shrink-0 rounded-full ring-2 ring-[#d9e2ea]`,style:{background:A(n)}})]}),(0,H.jsx)(`div`,{className:`mt-3 flex -space-x-2`,children:t.slice(0,6).map(e=>(0,H.jsx)(G,{feature:e,size:36,className:`ring-[#ffffff]`},e.properties.profileId))}),(0,H.jsx)(`div`,{className:`mt-3 divide-y divide-[#eff3f4]`,children:t.slice(0,5).map(e=>(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 py-2`,children:[(0,H.jsx)(G,{feature:e,size:28,className:`ring-[#ffffff]`}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`div`,{className:`truncate font-semibold`,children:e.properties.name}),(0,H.jsxs)(`div`,{className:`truncate text-[#536471]`,children:[`@`,e.properties.handle]})]}),(0,H.jsx)(`div`,{className:`size-2 rounded-full`,style:{backgroundColor:T(e.properties.relationship)}})]},e.properties.profileId))})]})}function Q({feature:e}){return(0,H.jsxs)(`a`,{className:`flex min-w-0 gap-3 border-b border-[var(--line)] px-4 py-3 transition-colors hover:bg-[var(--bg-hover)]`,href:`/profiles/${encodeURIComponent(e.properties.handle)}`,children:[(0,H.jsx)(G,{feature:e,size:40,className:`ring-[var(--bg)]`}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,H.jsx)(`span`,{className:`truncate font-bold text-[var(--ink)]`,children:e.properties.name}),(0,H.jsxs)(`span`,{className:`truncate text-[var(--ink-soft)]`,children:[`@`,e.properties.handle]})]}),(0,H.jsxs)(`div`,{className:`truncate text-[13px] text-[var(--ink-soft)]`,children:[e.properties.location,e.properties.resolvedLocation?` -> ${e.properties.resolvedLocation}`:``]}),(0,H.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2 text-[12px] text-[var(--ink-soft)]`,children:[(0,H.jsx)(`span`,{children:M(e.properties.relationship)}),(0,H.jsxs)(`span`,{children:[w(e.properties.followersCount),` followers`]})]})]})]})}function ee({features:e,search:t,onSearchChange:n,totalVisible:r,zoom:i}){return(0,H.jsxs)(`aside`,{className:`flex min-h-[420px] min-w-0 flex-col border-t border-[var(--line)] bg-[var(--bg)] min-[1180px]:h-full min-[1180px]:border-t-0 min-[1180px]:border-l`,children:[(0,H.jsxs)(`header`,{className:`sticky top-0 z-10 border-b border-[var(--line)] bg-[color:color-mix(in_srgb,var(--bg)_88%,transparent)] px-4 py-3 backdrop-blur`,children:[(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsx)(`h2`,{className:`truncate text-[16px] font-bold text-[var(--ink)]`,children:`Who's In View`}),(0,H.jsxs)(`p`,{className:`truncate text-[13px] text-[var(--ink-soft)]`,children:[w(r),` in this map view · zoom`,` `,i.toFixed(1)]})]}),(0,H.jsx)(`div`,{className:`rounded-full border border-[var(--line)] px-2 py-1 text-[12px] font-semibold text-[var(--ink-soft)]`,children:w(e.length)})]}),(0,H.jsxs)(`label`,{className:a(g,`mt-3 h-10`),children:[(0,H.jsx)(P,{className:u,strokeWidth:2}),(0,H.jsx)(`input`,{className:h,onChange:e=>n(e.target.value),placeholder:`Search visible people`,value:t})]})]}),(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.length>0?e.map(e=>(0,H.jsx)(Q,{feature:e},e.properties.profileId)):(0,H.jsx)(`div`,{className:s,children:t.trim()?`No visible profiles match that search.`:`Pan or zoom the map to see profiles in this area.`})})]})}function te(){let e=j.useSearch(),t=j.useNavigate();return(0,H.jsx)($,{searchState:e,onSearchChange:(e,n)=>void t({search:e,replace:n?.replace})})}function $({searchState:e,onSearchChange:t}={}){let[o,u]=(0,V.useState)(()=>R({})),{type:h,setType:g,viewport:_,setViewport:v,visibleSearch:y,setVisibleSearch:b,data:x,loading:C,error:T,refresh:D,visibleFeatures:O,filteredVisibleFeatures:k,mapTypes:A}=E(e??o,(e,n)=>t?t(e,n):u(e));return(0,H.jsxs)(`section`,{className:`flex min-h-screen flex-col min-[1180px]:h-screen min-[1180px]:min-h-0 min-[1180px]:overflow-hidden`,children:[(0,H.jsxs)(`header`,{className:c,children:[(0,H.jsxs)(`div`,{className:l,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h1`,{className:i,children:`Network Map`}),(0,H.jsx)(`div`,{className:n,children:x?`${w(x.meta.locatedProfiles)} located · ${w(x.meta.meaningfulProfiles)} with usable locations`:`Loading network geography...`})]}),(0,H.jsx)(`div`,{className:r,children:(0,H.jsxs)(`button`,{className:d,type:`button`,onClick:()=>D(),disabled:C,children:[(0,H.jsx)(N,{className:a(`size-4`,C&&`animate-spin`)}),`Refresh`]})})]}),(0,H.jsx)(`div`,{className:`border-t border-[var(--line)] px-4 py-3`,children:(0,H.jsx)(`div`,{className:m,children:A.map(e=>(0,H.jsx)(`button`,{type:`button`,className:a(f,h===e.value&&`bg-[var(--bg-active)] text-[var(--ink)]`),onClick:()=>g(e.value),children:e.label},e.value))})})]}),T?(0,H.jsx)(`div`,{className:p,children:T}):null,x?(0,H.jsxs)(`div`,{className:`grid min-h-[620px] flex-1 grid-cols-1 min-[1180px]:min-h-0 min-[1180px]:grid-cols-[minmax(0,1fr)_390px] min-[1180px]:overflow-hidden min-[1500px]:grid-cols-[minmax(0,1fr)_430px]`,children:[(0,H.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-col`,children:[(0,H.jsxs)(`div`,{className:`grid sm:grid-cols-4`,children:[(0,H.jsx)(U,{icon:F,label:`Profiles`,value:x.meta.totalProfiles}),(0,H.jsx)(U,{icon:z,label:`Locations`,value:x.meta.meaningfulProfiles}),(0,H.jsx)(U,{icon:S,label:`Located`,value:x.meta.locatedProfiles}),(0,H.jsx)(U,{icon:N,label:`Geocoded`,value:x.meta.geocodedThisRun})]}),!x.meta.opencageConfigured&&x.meta.missingGeocodes>0?(0,H.jsx)(`div`,{className:s,children:`OpenCage key missing; showing cached and coordinate locations only.`}):null,x.meta.mapboxTokenConfigured?null:(0,H.jsx)(`div`,{className:s,children:`Mapbox token missing; showing the lightweight map.`}),(0,H.jsx)(J,{data:x,onViewportChange:v})]}),(0,H.jsx)(ee,{features:k,onSearchChange:b,search:y,totalVisible:O.length,zoom:_.zoom})]}):C?(0,H.jsx)(`div`,{className:s,children:`Loading map...`}):null]})}export{$ as NetworkMapRouteView,te as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/network-map-1fXIqI3Y.js","assets/rolldown-runtime-B-9mzPXz.js","assets/react-BwGzW7mM.js","assets/schemas-CMQMhQXI.js","assets/createLucideIcon-CMLcIxOz.js","assets/refresh-cw-IUfM9D_1.js","assets/search-C_LqodNa.js","assets/users-DI3w8Mol.js","assets/preload-helper-MpqUbZCn.js","assets/route-search-CmZT7pGD.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-B-9mzPXz.js";import{t}from"./react-BwGzW7mM.js";import{n,t as r}from"./lazyRouteComponent-CLLbUvMd.js";import{Rn as i}from"./schemas-CMQMhQXI.js";import{t as a}from"./createLucideIcon-CMLcIxOz.js";import{a as o,b as s,g as c,n as l,r as u}from"./query-client-CA-do_IS.js";import{t as d}from"./useQuery-CL_NXLnc.js";import{i as f,r as p}from"./account-selection-h7m9xmzU.js";import{n as m,t as h}from"./preload-helper-MpqUbZCn.js";import{o as g}from"./route-search-CmZT7pGD.js";var _=a(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),v=e(t(),1);i();var y=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],b=1,x=8,S=new Uint32Array(96),C=class e{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error(`Data must be an instance of ArrayBuffer or SharedArrayBuffer.`);let[n,r]=new Uint8Array(t,0,2);if(n!==219)throw Error(`Data does not appear to be in a KDBush format.`);let i=r>>4;if(i!==b)throw Error(`Got v${i} data when expected v${b}.`);let a=y[r&15];if(!a)throw Error(`Unrecognized array type.`);let[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new e(s,o,a,void 0,t)}constructor(e,t=64,n=Float64Array,r=ArrayBuffer,i){if(isNaN(e)||e<0)throw Error(`Unexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let a=y.indexOf(this.ArrayType),o=e*2*this.ArrayType.BYTES_PER_ELEMENT,s=e*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-s%8)%8;if(a<0)throw Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this.ids=new this.IndexArrayType(i,x,e),this.coords=new n(i,x+s+c,e*2),this._pos=e*2,this._finished=!0;else{let i=this.data=new r(x+o+s+c);this.ids=new this.IndexArrayType(i,x,e),this.coords=new n(i,x+s+c,e*2),this._pos=0,this._finished=!1,new Uint8Array(i,0,2).set([219,(b<<4)+a]),new Uint16Array(i,2,1)[0]=t,new Uint32Array(i,4,1)[0]=e}}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return w(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;S[0]=0,S[1]=i.length-1,S[2]=0;let s=3,c=[];for(;s>0;){let l=S[--s],u=S[--s],d=S[--s];if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(S[s++]=d,S[s++]=f-1,S[s++]=1-l),(l===0?n>=p:r>=m)&&(S[s++]=f+1,S[s++]=u,S[s++]=1-l)}return c}within(e,t,n){let r=[];return this.withinInto(e,t,n,r),r}withinInto(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;S[0]=0,S[1]=i.length-1,S[2]=0;let s=3,c=0,l=n*n;for(;s>0;){let u=S[--s],d=S[--s],f=S[--s];if(d-f<=o){for(let n=f;n<=d;n++)O(a[2*n],a[2*n+1],e,t)<=l&&(r[c++]=i[n]);continue}let p=f+d>>1,m=a[2*p],h=a[2*p+1];O(m,h,e,t)<=l&&(r[c++]=i[p]),(u===0?e-n<=m:t-n<=h)&&(S[s++]=f,S[s++]=p-1,S[s++]=1-u),(u===0?e+n>=m:t+n>=h)&&(S[s++]=p+1,S[s++]=d,S[s++]=1-u)}return c}};function w(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;T(e,t,o,r,i,a),w(e,t,n,r,o-1,1-a),w(e,t,n,o+1,i,1-a)}function T(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);T(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(E(e,t,r,n),t[2*i+a]>o&&E(e,t,r,i);s<c;){for(E(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?E(e,t,r,c):(c++,E(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function E(e,t,n,r){D(e,n,r),D(t,2*n,2*r),D(t,2*n+1,2*r+1)}function D(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function O(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var k={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},A=Math.fround||(e=>(t=>(e[0]=+t,e[0])))(new Float32Array(1)),j=2,M=3,N=4,P=5,F=6,I=class{constructor(e){this.options=Object.assign(Object.create(k),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n.geometry)continue;let[r,i]=n.geometry.coordinates,o=A(z(r)),s=A(B(i));a.push(o,s,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this._createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,+Date.now()-n)}return t&&console.timeEnd(`total time`),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,i=180;else if(n>i){let e=this.getClusters([n,r,180,a],t),o=this.getClusters([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(z(n),B(a),z(i),B(r)),c=o.data,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+P]>1?L(c,t,this.clusterProps):this.points[c[t+M]])}return l}getChildren(e){let t=this._getOriginId(e),n=this._getOriginZoom(e),r=`No cluster with the specified id.`,i=this.trees[n];if(!i)throw Error(r);let a=i.data;if(t*this.stride>=a.length)throw Error(r);let o=this.options.radius/(this.options.extent*2**(n-1)),s=a[t*this.stride],c=a[t*this.stride+1],l=i.within(s,c,o),u=[];for(let t of l){let n=t*this.stride;a[n+N]===e&&u.push(a[n+P]>1?L(a,n,this.clusterProps):this.points[a[n+M]])}if(u.length===0)throw Error(r);return u}getLeaves(e,t,n){t||=10,n||=0;let r=[];return this._appendLeaves(r,e,t,n,0),r}getTile(e,t,n){let r=this.trees[this._limitZoom(e)],i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={features:[]};return this._addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.data,t,n,i,u),t===0&&this._addTileFeatures(r.range(1-s/i,c,1,l),r.data,i,n,i,u),t===i-1&&this._addTileFeatures(r.range(0,c,s/i,l),r.data,-1,n,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let n=this.getChildren(e);if(t++,n.length!==1)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=r?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}_createTree(e){let t=new C(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+P]>1,c,l,u;if(s)c=R(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+M]];c=n.properties;let[r,i]=n.geometry.coordinates;l=z(r),u=B(i)}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+M]:this.points[t[e+M]].id,f!==void 0&&(d.id=f),a.features.push(d)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.data,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+j]<=t)continue;s[n+j]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+P],p=f;for(let e of d){let n=e*l;s[n+j]>t&&(p+=s[n+P])}if(p>f&&p>=a){let e=r*f,a=u*f,o,m=-1,h=((n/l|0)<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+j]<=t)continue;s[c+j]=t;let u=s[c+P];e+=s[c]*u,a+=s[c+1]*u,s[c+N]=h,i&&(o||(o=this._map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(o)),i(o,this._map(s,c)))}s[n+N]=h,c.push(e/p,a/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+j]<=t)){s[n+j]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+P]>1){let r=this.clusterProps[e[t+F]];return n?Object.assign({},r):r}let r=this.points[e[t+M]].properties,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}};function L(e,t,n){return{type:`Feature`,id:e[t+M],properties:R(e,t,n),geometry:{type:`Point`,coordinates:[V(e[t]),H(e[t+1])]}}}function R(e,t,n){let r=e[t+P],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?`${Math.round(r/100)/10}k`:r,a=e[t+F],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+M],point_count:r,point_count_abbreviated:i})}function z(e){return e/360+.5}function B(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function V(e){return(e-.5)*360}function H(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}var U=[{value:`all`,label:`All`},{value:`followers`,label:`Followers`},{value:`following`,label:`Following`},{value:`mutual`,label:`Mutual`}],W={bounds:[-180,-85,180,85],zoom:1.15};async function G(e,t,n,r){let i=new URL(`/api/network-map`,window.location.origin);return i.searchParams.set(`type`,e),i.searchParams.set(`limit`,`50000`),i.searchParams.set(`geocodeLimit`,t?`80`:`12`),n&&i.searchParams.set(`account`,n),t&&i.searchParams.set(`refresh`,`true`),u(i,{signal:r},c,`Map request failed`)}function K(e){return new Intl.NumberFormat().format(e)}function q(e){return e===`mutual`?`mutual`:e===`following`?`following`:`follower`}function J(e){return e===`mutual`?`#22c55e`:e===`following`?`#f59e0b`:`#1d9bf0`}function Y(e){return(e.properties.name||e.properties.handle||`?`).slice(0,1).toUpperCase()}function X(e){return e.properties.avatarUrl?`/api/avatar?${new URLSearchParams({profileId:e.properties.profileId,v:e.properties.avatarUrl}).toString()}`:null}function Z(e){let t=Math.max(1,e.followers+e.following+e.mutual),n=e.mutual/t*100,r=n+e.following/t*100;return`conic-gradient(#22c55e 0 ${n}%, #f59e0b ${n}% ${r}%, #1d9bf0 ${r}% 100%)`}function Q(e){let t=e.map((e,t)=>({type:`Feature`,geometry:e.geometry,properties:{featureIndex:t,handle:e.properties.handle,name:e.properties.name,avatarUrl:e.properties.avatarUrl,relationship:e.properties.relationship,followersCount:e.properties.followersCount}}));return new I({maxZoom:18,minPoints:2,radius:64,map:e=>({followers:+(e.relationship===`followers`),following:+(e.relationship===`following`),mutual:+(e.relationship===`mutual`)}),reduce:(e,t)=>{e.followers+=t.followers,e.following+=t.following,e.mutual+=t.mutual}}).load(t)}function $(e){return`cluster`in e.properties&&e.properties.cluster===!0}function ee(e,t){return t.properties.followersCount-e.properties.followersCount||e.properties.handle.localeCompare(t.properties.handle)}function te(e,t){let n=new Map;for(let t of e){let[e,r]=t.geometry.coordinates,i=`${e.toFixed(4)},${r.toFixed(4)}`,a=n.get(i);a?(a.count+=1,a.followers+=t.properties.followersCount):n.set(i,{coordinates:[e,r],count:1,followers:t.properties.followersCount})}return[...n.values()].sort((e,t)=>t.count-e.count||t.followers-e.followers)[0]?.coordinates??t}function ne(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.getBounds!=`function`||typeof t.getZoom!=`function`)return null;let n=t.getBounds();return{bounds:[n.getWest(),n.getSouth(),n.getEast(),n.getNorth()],zoom:t.getZoom()}}function re(e,t){let[n,r,i,a]=e,[o,s]=t.geometry.coordinates,c=(n+540)%360-180,l=(i+540)%360-180,u=s>=Math.max(-85,r)&&s<=Math.min(85,a),d=i-n>=360?!0:c<=l?o>=c&&o<=l:o>=c||o<=l;return u&&d}function ie(e,t){let n=t.trim().toLowerCase();return!n||[e.properties.name,e.properties.handle,e.properties.location,e.properties.resolvedLocation??``,q(e.properties.relationship)].join(` `).toLowerCase().includes(n)}function ae(e,t){let n=s(),{type:r,q:i}=e,[a,c]=(0,v.useState)(W),u=p(d({queryKey:l.status,queryFn:({signal:e})=>o({signal:e})}).data?.accounts),m=[...l.networkMap,{type:r,selectedAccountId:u??null}],h=d({queryKey:m,queryFn:({signal:e})=>G(r,!1,u,e),staleTime:5*6e4}),g=f({mutationFn:()=>G(r,!0,u),onSuccess:e=>{n.setQueryData(m,e)}}),_=h.data??null,y=h.isPending||g.isPending,b=g.error??h.error,x=(0,v.useMemo)(()=>(_?.features??[]).slice().filter(e=>re(a.bounds,e)).sort((e,t)=>t.properties.followersCount-e.properties.followersCount||e.properties.handle.localeCompare(t.properties.handle)),[_,a]),S=(0,v.useMemo)(()=>x.filter(e=>ie(e,i)).slice(0,160),[x,i]);return{type:r,setType:n=>t({...e,type:n}),viewport:a,setViewport:c,visibleSearch:i,setVisibleSearch:n=>t({...e,q:n},{replace:!0}),data:_,loading:y,error:b?b instanceof Error?b.message:`Map unavailable`:null,refresh:g.mutate,visibleFeatures:x,filteredVisibleFeatures:S,mapTypes:U}}m();var oe=n(`/network-map`)({component:r(()=>h(()=>import(`./network-map-1fXIqI3Y.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),`component`),validateSearch:g});export{X as a,ee as c,te as d,$ as f,_ as h,Y as i,K as l,J as m,ae as n,Q as o,ne as p,W as r,Z as s,oe as t,q as u};
@@ -0,0 +1 @@
1
+ .mapboxgl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.mapboxgl-canvas{position:absolute;top:0;left:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top{top:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-right{top:50%;right:0;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{top:50%;left:0;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.mapboxgl-ctrl-group button{box-sizing:border-box;background-color:initial;cursor:pointer;border:0;outline:none;width:32px;height:32px;padding:0;display:block;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid buttontext}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#eee}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 11.7071C4.68342 12.0976 5.31658 12.0976 5.70711 11.7071L9 8.41421L12.2929 11.7071C12.6834 12.0976 13.3166 12.0976 13.7071 11.7071C14.0976 11.3166 14.0976 10.6834 13.7071 10.2929L9.70711 6.29289C9.31658 5.90237 8.68342 5.90237 8.29289 6.29289L4.29289 10.2929C3.90237 10.6834 3.90237 11.3166 4.29289 11.7071Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 6.29289C4.68342 5.90237 5.31658 5.90237 5.70711 6.29289L9 9.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071L4.29289 7.70711C3.90237 7.31658 3.90237 6.68342 4.29289 6.29289Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:2s linear infinite mapboxgl-spin}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;box-sizing:initial;background-color:#fff;border-radius:12px;margin:10px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{visibility:visible;padding:2px 28px 2px 8px}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left)>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{cursor:pointer;box-sizing:border-box;background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left) .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{margin-left:2px;font-weight:700}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{color:#333;box-sizing:border-box;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.mapboxgl-popup{will-change:transform;pointer-events:none;display:flex;position:absolute;top:0;left:0}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.mapboxgl-popup-close-button{cursor:pointer;background-color:initial;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.mapboxgl-popup-close-button:hover{background-color:#eee}.mapboxgl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:10px 10px 15px;position:relative;box-shadow:0 1px 2px #0000001a}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{will-change:transform;opacity:1;transition:opacity .2s;position:absolute;top:0;left:0}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.mapboxgl-user-location-dot:before{content:"";animation:2s infinite mapboxgl-user-location-dot-pulse;position:absolute}.mapboxgl-user-location-dot:after{content:"";box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px)skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px)skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;text-align:center;opacity:0;pointer-events:none;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;transition:opacity .75s ease-in-out 1s;display:flex;position:absolute;top:0;left:0}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{text-align:center;font-size:14px;font-weight:600}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{color:#000;background-color:#bccbd7}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-B-9mzPXz.js";var t,n,r,i,a=e((()=>{t=`modulepreload`,n=function(e){return`/`+e},r={},i=function(e,i,a){let o=Promise.resolve();if(i&&i.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function u(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}o=l(i.map(i=>{if(i=n(i,a),i=u(i),i in r)return;r[i]=!0;let o=i.endsWith(`.css`);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.href===i&&(!o||n.rel===`stylesheet`))return}let s=document.createElement(`link`);if(s.rel=o?`stylesheet`:t,o||(s.as=`script`),s.crossOrigin=``,s.href=i,c&&s.setAttribute(`nonce`,c),document.head.appendChild(s),o)return new Promise((e,t)=>{s.addEventListener(`load`,e),s.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})}}));export{a as n,i as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/profile-analyze-BqvM9hSa.js","assets/rolldown-runtime-B-9mzPXz.js","assets/react-BwGzW7mM.js","assets/schemas-CMQMhQXI.js","assets/client-stream-contracts-CNz2FSrQ.js","assets/createLucideIcon-CMLcIxOz.js","assets/AvatarChip-DsHj3LT7.js","assets/ProfilePreview-CaaMHV2N.js","assets/SmartTimestamp-CXaNLqN7.js","assets/refresh-cw-IUfM9D_1.js","assets/search-C_LqodNa.js","assets/user-search-DL5_6EZd.js","assets/ProfileAnalysisStream-B8zyyye-.js","assets/circle-check-BCK_qvXt.js","assets/sparkles-Gx_BHkDX.js","assets/query-client-CA-do_IS.js","assets/profile-hydration-client-DoFW3yKH.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,t}from"./lazyRouteComponent-CLLbUvMd.js";import{n,t as r}from"./preload-helper-MpqUbZCn.js";n();var i=e(`/profile-analyze`)({component:t(()=>r(()=>import(`./profile-analyze-BqvM9hSa.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])),`component`),validateSearch:e=>({handle:typeof e.handle==`string`?e.handle:``})});export{i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-B-9mzPXz.js";import{t}from"./react-BwGzW7mM.js";import{Gt as n,Ht as r,Kt as i,M as a,Rn as o,Ut as s,Wt as c,Xt as l,an as u,cn as d,on as f,sn as p}from"./schemas-CMQMhQXI.js";import{s as m}from"./client-stream-contracts-CNz2FSrQ.js";import{t as h}from"./refresh-cw-IUfM9D_1.js";import{t as g}from"./search-C_LqodNa.js";import{t as _}from"./user-search-DL5_6EZd.js";import{t as v}from"./profile-analyze-B5Rr41WP.js";import{a as y,i as b,n as x,r as S,t as C}from"./ProfileAnalysisStream-B8zyyye-.js";var w=e(t()),T=o();function E(){let e=v.useSearch(),[t,o]=(0,w.useState)(b(e.handle)),E=(0,w.useMemo)(()=>b(t),[t]),D=S(E),O=(0,w.useRef)(``),k=(0,w.useRef)(D.run);return(0,w.useEffect)(()=>{k.current=D.run},[D.run]),(0,w.useEffect)(()=>{let t=b(e.handle);o(t),t&&O.current!==t&&(O.current=t,k.current(!1,t))},[e.handle]),(0,T.jsxs)(`section`,{className:`flex min-h-screen flex-col gap-6 px-4 py-8`,children:[(0,T.jsxs)(`header`,{className:a(s,`border-b-0`),children:[(0,T.jsxs)(`div`,{className:c,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`h1`,{className:i,children:`Profile Analyse`}),(0,T.jsx)(`p`,{className:n,children:y(D.context)})]}),(0,T.jsx)(`div`,{className:r,children:(0,T.jsxs)(`button`,{className:d,disabled:!E||D.loading,onClick:()=>D.run(!0),type:`button`,children:[(0,T.jsx)(h,{className:`size-4`,strokeWidth:1.8}),`Refresh`]})})]}),(0,T.jsxs)(`form`,{className:`mt-5 flex flex-col gap-3 sm:flex-row`,onSubmit:e=>{e.preventDefault(),D.run(!1)},children:[(0,T.jsxs)(`label`,{className:a(p,`min-w-0 flex-1`),children:[(0,T.jsx)(g,{className:u,strokeWidth:1.8}),(0,T.jsx)(`input`,{className:f,onChange:e=>o(e.target.value),placeholder:`handle`,value:t})]}),(0,T.jsxs)(`button`,{className:l,disabled:!E||D.loading,type:`submit`,children:[D.loading?(0,T.jsx)(m,{className:`size-4 animate-spin`,strokeWidth:1.8}):(0,T.jsx)(_,{className:`size-4`,strokeWidth:1.8}),`Analyse`]})]})]}),(0,T.jsx)(x,{analysis:D}),(0,T.jsx)(C,{analysis:D})]})}export{E as component};
@@ -1 +1 @@
1
- import{_ as e,n as t,r as n}from"./query-client-CD880OPj.js";var r=30*6e4,i=5*6e4,a=new WeakMap;function o(e){return e.trim().replace(/^@/,``).toLowerCase()}function s(e){return[...t.profileHydration,o(e)]}function c(e){let t=a.get(e);return t||(t=new Map,a.set(e,t)),t}function l(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function u(e){return e.status===`hit`?r:e.status===`miss`?i:0}function d(e,t){let n=s(t),r=e.getQueryData(n),i=e.getQueryState(n);if(!r||!i)return null;let a=u(r);return a>0&&Date.now()-i.dataUpdatedAt<a?r:null}function f(e,t){let n=new Set;for(let r of e){let e=o(r);if(/^[a-z0-9_]{1,15}$/.test(e)&&(n.add(e),n.size>=t))break}return[...n]}async function p(t){let r=new URL(`/api/profile-hydrate`,window.location.origin);return r.searchParams.set(`handles`,t.join(`,`)),n(r,void 0,e,`Profile hydration failed`)}function m(e){return{handle:e,status:`error`,source:`cache`,error:`Profile hydration response omitted this handle`}}async function h(e,t,n={}){let r=Math.max(0,Math.floor(n.limit??50)),i=Math.min(r,50);if(i===0)return{results:[],profiles:[],fetchedResults:[]};let a=f(t,i);if(a.length===0)return{results:[],profiles:[],fetchedResults:[]};let u=c(e),h=new Map,g=[];for(let t of a){let n=d(e,t);if(n){h.set(t,Promise.resolve({result:n,fetched:!1}));continue}let r=u.get(t);if(r){h.set(t,r.promise);continue}let i=l();u.set(t,i),h.set(t,i.promise),g.push(t)}g.length>0&&p(g).then(t=>{let n=new Map(t.results.map(e=>[o(e.handle),e]));for(let t of g){let r=n.get(t),i=r?{...r,handle:t}:m(t);e.setQueryData(s(t),i),u.get(t)?.resolve({result:i,fetched:!0}),u.delete(t)}}).catch(e=>{for(let t of g)u.get(t)?.reject(e),u.delete(t)});let _=await Promise.all(a.map(e=>h.get(e))),v=_.map(({result:e})=>e);return{results:v,profiles:v.flatMap(e=>e.status===`hit`&&e.profile?[e.profile]:[]),fetchedResults:_.flatMap(({result:e,fetched:t})=>t?[e]:[])}}export{o as n,h as t};
1
+ import{_ as e,n as t,r as n}from"./query-client-CA-do_IS.js";var r=30*6e4,i=5*6e4,a=new WeakMap;function o(e){return e.trim().replace(/^@/,``).toLowerCase()}function s(e){return[...t.profileHydration,o(e)]}function c(e){let t=a.get(e);return t||(t=new Map,a.set(e,t)),t}function l(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function u(e){return e.status===`hit`?r:e.status===`miss`?i:0}function d(e,t){let n=s(t),r=e.getQueryData(n),i=e.getQueryState(n);if(!r||!i)return null;let a=u(r);return a>0&&Date.now()-i.dataUpdatedAt<a?r:null}function f(e,t){let n=new Set;for(let r of e){let e=o(r);if(/^[a-z0-9_]{1,15}$/.test(e)&&(n.add(e),n.size>=t))break}return[...n]}async function p(t){let r=new URL(`/api/profile-hydrate`,window.location.origin);return r.searchParams.set(`handles`,t.join(`,`)),n(r,void 0,e,`Profile hydration failed`)}function m(e){return{handle:e,status:`error`,source:`cache`,error:`Profile hydration response omitted this handle`}}async function h(e,t,n={}){let r=Math.max(0,Math.floor(n.limit??50)),i=Math.min(r,50);if(i===0)return{results:[],profiles:[],fetchedResults:[]};let a=f(t,i);if(a.length===0)return{results:[],profiles:[],fetchedResults:[]};let u=c(e),h=new Map,g=[];for(let t of a){let n=d(e,t);if(n){h.set(t,Promise.resolve({result:n,fetched:!1}));continue}let r=u.get(t);if(r){h.set(t,r.promise);continue}let i=l();u.set(t,i),h.set(t,i.promise),g.push(t)}g.length>0&&p(g).then(t=>{let n=new Map(t.results.map(e=>[o(e.handle),e]));for(let t of g){let r=n.get(t),i=r?{...r,handle:t}:m(t);e.setQueryData(s(t),i),u.get(t)?.resolve({result:i,fetched:!0}),u.delete(t)}}).catch(e=>{for(let t of g)u.get(t)?.reject(e),u.delete(t)});let _=await Promise.all(a.map(e=>h.get(e))),v=_.map(({result:e})=>e);return{results:v,profiles:v.flatMap(e=>e.status===`hit`&&e.profile?[e.profile]:[]),fetchedResults:_.flatMap(({result:e,fetched:t})=>t?[e]:[])}}export{o as n,h as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-B-9mzPXz.js";import{t}from"./react-BwGzW7mM.js";import{Rn as n}from"./schemas-CMQMhQXI.js";import{t as r}from"./external-link-CfdTAkvn.js";import{s as i}from"./client-stream-contracts-CNz2FSrQ.js";import{t as a}from"./refresh-cw-IUfM9D_1.js";import{r as o,t as s}from"./AvatarChip-DsHj3LT7.js";import{l as c}from"./ProfilePreview-CaaMHV2N.js";import{t as l}from"./TweetRichText-D-amgcEl.js";import{a as u,i as d,n as f,r as p,t as m}from"./ProfileAnalysisStream-B8zyyye-.js";import{t as h}from"./profiles._handle-DdZ9wAT-.js";var g=e(t()),_=n(),v=`inline-flex items-center justify-center gap-1.5 rounded-full border border-[var(--line-strong)] bg-[var(--bg)] px-4 py-1.5 text-[14px] font-bold text-[var(--ink)] shadow-sm transition-colors duration-150 hover:bg-[var(--bg-hover)] disabled:cursor-default disabled:opacity-55`,y=/(^|[^\w@./])@([A-Za-z0-9_]{1,15})\b/g;function b(e){let t=0;for(let n of e)t=(t*31+n.charCodeAt(0))%360;return t}function x(){let{handle:e}=h.useParams();return(0,_.jsx)(T,{handle:e})}function S(e){let t=new Map;if(!e)return t;t.set(e.profile.handle.toLowerCase(),e.profile);for(let n of e.profiles??[])t.set(n.handle.toLowerCase(),n);for(let n of e.conversations)t.set(n.author.toLowerCase(),{id:n.profileId,handle:n.author,displayName:n.name||n.author,bio:n.bio,followersCount:n.followersCount,avatarHue:210,avatarUrl:n.avatarUrl,createdAt:n.createdAt});return t}function C(e,t){let n=c(e.entities),r=n.mentions??[],i=new Set(r.map(e=>`${e.start}:${e.end}`));for(let n of e.bio.matchAll(y)){let e=(n.index??0)+n[1].length,a=n[2],o=e+a.length+1,s=`${e}:${o}`;if(i.has(s))continue;let c=t.get(a.toLowerCase());r.push({username:a,start:e,end:o,...c?{profile:c}:{}})}return{...n,...r.length?{mentions:r}:{}}}function w({profile:e,profilesByHandle:t}){return(0,_.jsx)(l,{className:`m-0 max-w-2xl whitespace-pre-wrap text-[15px] leading-[1.45] text-[var(--ink)] [overflow-wrap:anywhere]`,entities:C(e,t),text:e.bio,urlLabel:`expanded`})}function T({handle:e}){let t=d(e),n=p(t),c=(0,g.useRef)(``),l=(0,g.useRef)(n.run),h=n.context?.profile,y=h?.displayName||`@${t}`,x=h?.bio??``,C=S(n.context);return(0,g.useEffect)(()=>{l.current=n.run},[n.run]),(0,g.useEffect)(()=>{t&&c.current!==t&&(c.current=t,l.current(!1,t))},[t]),(0,_.jsxs)(`section`,{className:`flex min-h-screen flex-col`,children:[(0,_.jsxs)(`header`,{className:`border-b border-[var(--line)] bg-[var(--bg)]`,children:[(0,_.jsx)(`div`,{className:`h-32 bg-[linear-gradient(135deg,color-mix(in_srgb,var(--bg-active)_68%,var(--accent)_32%),color-mix(in_srgb,var(--bg)_70%,var(--accent)_30%))]`,"data-testid":`profile-cover`}),(0,_.jsx)(`div`,{className:`px-4 pb-5`,children:(0,_.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,_.jsxs)(`div`,{className:`-mt-8 flex items-start justify-between gap-3`,"data-testid":`profile-avatar-overlap`,children:[(0,_.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,_.jsx)(`span`,{className:`inline-grid rounded-full ring-4 ring-[var(--bg)]`,children:(0,_.jsx)(s,{avatarUrl:h?.avatarUrl??void 0,hue:h?.avatarHue??b(t),name:y,profileId:h?.id,size:`large`})}),(0,_.jsxs)(`div`,{className:`min-w-0 pb-1 pt-9`,children:[(0,_.jsx)(`h1`,{className:`m-0 truncate text-[24px] font-bold text-[var(--ink)]`,children:y}),(0,_.jsxs)(`div`,{className:`truncate text-[14px] text-[var(--ink-soft)]`,children:[`@`,h?.handle??t]})]})]}),(0,_.jsxs)(`div`,{className:`mt-10 flex shrink-0 items-center gap-2`,children:[(0,_.jsxs)(`a`,{className:v,href:`https://x.com/${encodeURIComponent(h?.handle??t)}`,rel:`noreferrer`,target:`_blank`,children:[(0,_.jsx)(r,{className:`size-4`,strokeWidth:1.8}),`X`]}),(0,_.jsxs)(`button`,{className:v,disabled:!t||n.loading,onClick:()=>n.run(!0,t),type:`button`,children:[n.loading?(0,_.jsx)(i,{className:`size-4 animate-spin`,strokeWidth:1.8}):(0,_.jsx)(a,{className:`size-4`,strokeWidth:1.8}),`Refresh`]})]})]}),h&&x?(0,_.jsx)(w,{profile:h,profilesByHandle:C}):null,(0,_.jsxs)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-[13px] text-[var(--ink-soft)]`,children:[h?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(`span`,{children:[(0,_.jsx)(`strong`,{className:`text-[var(--ink)]`,children:o(h.followersCount)}),` `,`followers`]}),(0,_.jsxs)(`span`,{children:[(0,_.jsx)(`strong`,{className:`text-[var(--ink)]`,children:o(h.followingCount??0)}),` `,`following`]})]}):null,(0,_.jsx)(`span`,{children:u(n.context)})]})]})})]}),(0,_.jsxs)(`div`,{className:`flex flex-col gap-5 px-4 py-5`,children:[(0,_.jsx)(f,{analysis:n}),(0,_.jsx)(m,{analysis:n,emptyLabel:`Preparing @${t}.`})]})]})}export{T as ProfileRouteView,x as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/profiles._handle-DWyWAGG8.js","assets/rolldown-runtime-B-9mzPXz.js","assets/react-BwGzW7mM.js","assets/schemas-CMQMhQXI.js","assets/external-link-CfdTAkvn.js","assets/createLucideIcon-CMLcIxOz.js","assets/client-stream-contracts-CNz2FSrQ.js","assets/AvatarChip-DsHj3LT7.js","assets/ProfilePreview-CaaMHV2N.js","assets/SmartTimestamp-CXaNLqN7.js","assets/refresh-cw-IUfM9D_1.js","assets/TweetRichText-D-amgcEl.js","assets/ProfileAnalysisStream-B8zyyye-.js","assets/circle-check-BCK_qvXt.js","assets/sparkles-Gx_BHkDX.js","assets/query-client-CA-do_IS.js","assets/profile-hydration-client-DoFW3yKH.js"])))=>i.map(i=>d[i]);
2
+ import"./rolldown-runtime-B-9mzPXz.js";import{t as e}from"./react-BwGzW7mM.js";import{n as t,t as n}from"./lazyRouteComponent-CLLbUvMd.js";import{Rn as r}from"./schemas-CMQMhQXI.js";import"./AvatarChip-DsHj3LT7.js";import{n as i,t as a}from"./preload-helper-MpqUbZCn.js";import"./TweetRichText-D-amgcEl.js";import"./ProfileAnalysisStream-B8zyyye-.js";r(),e(),i();var o=t(`/profiles/$handle`)({component:n(()=>a(()=>import(`./profiles._handle-DWyWAGG8.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])),`component`)});export{o as t};