six-degrees 0.3.0 โ†’ 0.4.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 (427) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +35 -7
  5. package/.next/standalone/.next/required-server-files.json +6 -1
  6. package/.next/standalone/.next/routes-manifest.json +18 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -10
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/network/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/outreach/route.js +3 -3
  47. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/users/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/import.html +1 -1
  68. package/.next/standalone/.next/server/app/import.rsc +13 -13
  69. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
  70. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +12 -12
  72. package/.next/standalone/.next/server/app/index.html +1 -1
  73. package/.next/standalone/.next/server/app/index.rsc +13 -13
  74. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +12 -12
  75. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
  76. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/launch.html +2 -2
  80. package/.next/standalone/.next/server/app/launch.rsc +13 -13
  81. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
  82. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +12 -12
  84. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/paths.html +1 -1
  89. package/.next/standalone/.next/server/app/paths.rsc +13 -13
  90. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
  91. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +12 -12
  93. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/profile.html +1 -1
  96. package/.next/standalone/.next/server/app/profile.rsc +13 -13
  97. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
  98. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +12 -12
  100. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/queue.html +1 -1
  103. package/.next/standalone/.next/server/app/queue.rsc +13 -13
  104. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
  105. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  106. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +12 -12
  107. package/.next/standalone/.next/server/app/scores/page/app-paths-manifest.json +3 -0
  108. package/.next/standalone/.next/server/app/scores/page/build-manifest.json +20 -0
  109. package/.next/standalone/.next/server/app/scores/page/next-font-manifest.json +11 -0
  110. package/.next/standalone/.next/server/app/scores/page/react-loadable-manifest.json +1 -0
  111. package/.next/standalone/.next/server/app/scores/page/server-reference-manifest.json +4 -0
  112. package/.next/standalone/.next/server/app/scores/page.js +13 -0
  113. package/.next/standalone/.next/server/app/scores/page.js.map +5 -0
  114. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -0
  115. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +3 -0
  116. package/.next/standalone/.next/server/app/scores.html +1 -0
  117. package/.next/standalone/.next/server/app/scores.meta +26 -0
  118. package/.next/standalone/.next/server/app/scores.rsc +24 -0
  119. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -0
  120. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +4 -0
  121. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +28 -0
  122. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/settings.html +1 -1
  125. package/.next/standalone/.next/server/app/settings.rsc +13 -13
  126. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  127. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +12 -12
  129. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/setup.html +1 -1
  132. package/.next/standalone/.next/server/app/setup.rsc +13 -13
  133. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
  134. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +12 -12
  136. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0i5hdu4._.js โ†’ [root-of-the-server]__03ydxxh._.js} +2 -2
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bat8nx._.js +8 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/_02twlca._.js +10 -0
  166. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/_1_fynia._.js +8 -6
  169. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +13 -8
  173. package/.next/standalone/.next/server/chunks/{lib_rpc_02ndsg2.js โ†’ lib_rpc_03i8xef.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_rpc_08q5vp6.js โ†’ lib_rpc_08fc3rp.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/{lib_rpc_00tx2sm.js โ†’ lib_rpc_08r2t_q.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/{lib_rpc_02-qa4d.js โ†’ lib_rpc_0btpv1t.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -5
  178. package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +3 -0
  179. package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +3 -0
  180. package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +3 -0
  181. package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +3 -0
  182. package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +3 -0
  183. package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +3 -0
  184. package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +3 -0
  185. package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +3 -0
  186. package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0an6blh._.js โ†’ [root-of-the-server]__0zzcbqg._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1194jps._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1z1j3ek._.js โ†’ [root-of-the-server]__19ip1qq._.js} +2 -2
  190. package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_0hw_qnj._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/_1cyxocj._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_scores_page_actions_0x-w58n.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +11 -9
  204. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +4 -0
  205. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
  207. package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_1bunoni._.js โ†’ node_modules_next_dist_1v8aef8._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
  214. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  215. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  216. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  217. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  218. package/.next/standalone/.next/server/pages/404.html +1 -1
  219. package/.next/standalone/.next/server/pages/500.html +1 -1
  220. package/.next/standalone/.next/server/prefetch-hints.json +14 -0
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  224. package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  225. package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +1 -0
  226. package/.next/standalone/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  227. package/.next/standalone/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  228. package/.next/standalone/.next/static/chunks/135n87ydxjrra.js +2 -0
  229. package/.next/standalone/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  230. package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{40nvbgfn7-072.css โ†’ 2p6o90z0vgcwr.css} +1 -1
  232. package/.next/standalone/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  233. package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  234. package/.next/standalone/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  235. package/.next/standalone/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  236. package/.next/standalone/CHANGELOG.md +286 -0
  237. package/.next/standalone/CONTRIBUTING.md +15 -4
  238. package/.next/standalone/README.md +50 -29
  239. package/.next/standalone/SECURITY.md +10 -0
  240. package/.next/standalone/app/api/company-scores/legacy/route.js +1 -1
  241. package/.next/standalone/app/api/company-scores/route.js +1 -1
  242. package/.next/standalone/app/api/ingest/route.js +23 -2
  243. package/.next/standalone/app/api/outreach/route.js +107 -44
  244. package/.next/standalone/app/api/scraper/route.js +146 -17
  245. package/.next/standalone/app/api/settings/sector-preview/route.js +3 -2
  246. package/.next/standalone/app/api/settings/sector-suggestions/route.js +1 -1
  247. package/.next/standalone/app/api/update-images/route.js +41 -7
  248. package/.next/standalone/app/avatars/[file]/route.js +6 -1
  249. package/.next/standalone/app/components/Avatar.js +5 -2
  250. package/.next/standalone/app/components/ChainView.js +659 -469
  251. package/.next/standalone/app/components/CompanyScores.js +16 -10
  252. package/.next/standalone/app/components/EmptyState.js +1 -1
  253. package/.next/standalone/app/components/FieldStep.js +94 -0
  254. package/.next/standalone/app/components/ForceGraph.js +183 -768
  255. package/.next/standalone/app/components/GridView.js +9 -7
  256. package/.next/standalone/app/components/LegacyScoresCard.js +1 -1
  257. package/.next/standalone/app/components/LinkedInLimits.js +22 -7
  258. package/.next/standalone/app/components/ListView.js +6 -4
  259. package/.next/standalone/app/components/MappingProgress.js +5 -6
  260. package/.next/standalone/app/components/OnboardingGate.js +1 -1
  261. package/.next/standalone/app/components/OrbitGraph.js +33 -1
  262. package/.next/standalone/app/components/OutlinkQuest.js +5 -4
  263. package/.next/standalone/app/components/PathsAnalyzer.js +1 -1
  264. package/.next/standalone/app/components/RingsView.js +9 -8
  265. package/.next/standalone/app/components/SeparationView.js +96 -14
  266. package/.next/standalone/app/components/Sidebar.js +366 -287
  267. package/.next/standalone/app/components/TheirCircle.js +300 -0
  268. package/.next/standalone/app/components/settings/SectorPicker.js +202 -0
  269. package/.next/standalone/app/components/settings/SectorSection.js +21 -195
  270. package/.next/standalone/app/components/settings/TierSection.js +99 -0
  271. package/.next/standalone/app/components/useRequests.js +12 -0
  272. package/.next/standalone/app/components/useScanner.js +13 -0
  273. package/.next/standalone/app/components/views.js +3 -5
  274. package/.next/standalone/app/globals.css +7 -0
  275. package/.next/standalone/app/launch/page.js +6 -3
  276. package/.next/standalone/app/page.js +183 -74
  277. package/.next/standalone/app/paths/page.js +20 -14
  278. package/.next/standalone/app/profile/page.js +3 -3
  279. package/.next/standalone/app/queue/page.js +56 -60
  280. package/.next/standalone/app/scores/page.js +72 -0
  281. package/.next/standalone/app/settings/page.js +15 -3
  282. package/.next/standalone/app/setup/page.js +423 -260
  283. package/.next/standalone/db/schema.js +2 -1
  284. package/.next/standalone/eslint.config.mjs +3 -3
  285. package/.next/standalone/install.sh +3 -3
  286. package/.next/standalone/lib/chain-layout.js +139 -0
  287. package/.next/standalone/lib/circle.js +169 -0
  288. package/.next/standalone/lib/companies.js +1 -1
  289. package/.next/standalone/lib/csv.js +21 -10
  290. package/.next/standalone/lib/data-export.js +2 -1
  291. package/.next/standalone/lib/data-folder.js +4 -2
  292. package/.next/standalone/lib/db-client.js +1 -0
  293. package/.next/standalone/lib/galaxy.js +12 -0
  294. package/.next/standalone/lib/ingest.js +27 -8
  295. package/.next/standalone/lib/legacy-offer.js +7 -6
  296. package/.next/standalone/lib/legacy-scores.js +2 -2
  297. package/.next/standalone/lib/linkedin-limits.js +30 -8
  298. package/.next/standalone/lib/photos.js +47 -0
  299. package/.next/standalone/lib/quest.js +8 -3
  300. package/.next/standalone/lib/rarity.js +80 -0
  301. package/.next/standalone/lib/reach.js +113 -0
  302. package/.next/standalone/lib/requests-client.js +113 -0
  303. package/.next/standalone/lib/rpc.js +26 -15
  304. package/.next/standalone/lib/scan-state.js +1 -0
  305. package/.next/standalone/lib/scanner-setup.js +20 -1
  306. package/.next/standalone/lib/score-guess.js +60 -0
  307. package/.next/standalone/lib/scoring.js +1761 -69
  308. package/.next/standalone/lib/scraper-client.js +235 -17
  309. package/.next/standalone/lib/sector-directory.js +1 -1
  310. package/.next/standalone/lib/sector-focus.js +17 -3
  311. package/.next/standalone/lib/separation.js +4 -2
  312. package/.next/standalone/lib/settings-client.js +21 -0
  313. package/.next/standalone/lib/settings-effects.js +19 -1
  314. package/.next/standalone/lib/settings.js +7 -2
  315. package/.next/standalone/next.config.mjs +25 -3
  316. package/.next/standalone/package-lock.json +2 -2
  317. package/.next/standalone/package.json +2 -2
  318. package/.next/standalone/public/demo-data.json +1 -1
  319. package/.next/standalone/scripts/build-app.mjs +11 -2
  320. package/.next/standalone/scripts/check-node.mjs +1 -1
  321. package/.next/standalone/scripts/gen-synthetic.mjs +1 -1
  322. package/.next/standalone/scripts/image_store.py +77 -21
  323. package/.next/standalone/scripts/scrape.py +305 -29
  324. package/.next/standalone/server.js +1 -1
  325. package/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  326. package/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  327. package/.next/static/chunks/0l1568qff0efj.js +1 -0
  328. package/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  329. package/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  330. package/.next/static/chunks/135n87ydxjrra.js +2 -0
  331. package/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  332. package/.next/static/chunks/28bu26ausqzmn.js +1 -0
  333. package/.next/static/chunks/{40nvbgfn7-072.css โ†’ 2p6o90z0vgcwr.css} +1 -1
  334. package/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  335. package/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  336. package/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  337. package/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  338. package/CHANGELOG.md +286 -0
  339. package/README.md +50 -29
  340. package/SECURITY.md +10 -0
  341. package/db/schema.js +2 -1
  342. package/lib/chain-layout.js +139 -0
  343. package/lib/circle.js +169 -0
  344. package/lib/companies.js +1 -1
  345. package/lib/csv.js +21 -10
  346. package/lib/data-export.js +2 -1
  347. package/lib/data-folder.js +4 -2
  348. package/lib/db-client.js +1 -0
  349. package/lib/galaxy.js +12 -0
  350. package/lib/ingest.js +27 -8
  351. package/lib/legacy-offer.js +7 -6
  352. package/lib/legacy-scores.js +2 -2
  353. package/lib/linkedin-limits.js +30 -8
  354. package/lib/photos.js +47 -0
  355. package/lib/quest.js +8 -3
  356. package/lib/rarity.js +80 -0
  357. package/lib/reach.js +113 -0
  358. package/lib/requests-client.js +113 -0
  359. package/lib/rpc.js +26 -15
  360. package/lib/scan-state.js +1 -0
  361. package/lib/scanner-setup.js +20 -1
  362. package/lib/score-guess.js +60 -0
  363. package/lib/scoring.js +1761 -69
  364. package/lib/scraper-client.js +235 -17
  365. package/lib/sector-directory.js +1 -1
  366. package/lib/sector-focus.js +17 -3
  367. package/lib/separation.js +4 -2
  368. package/lib/settings-client.js +21 -0
  369. package/lib/settings-effects.js +19 -1
  370. package/lib/settings.js +7 -2
  371. package/package.json +2 -2
  372. package/public/demo-data.json +1 -1
  373. package/scripts/check-node.mjs +1 -1
  374. package/scripts/image_store.py +77 -21
  375. package/scripts/scrape.py +305 -29
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +0 -3
  378. package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +0 -3
  379. package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +0 -3
  380. package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +0 -3
  381. package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +0 -3
  382. package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +0 -3
  383. package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +0 -3
  384. package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +0 -3
  385. package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +0 -3
  386. package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +0 -3
  387. package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +0 -3
  388. package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/ssr/_0942v8n._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/ssr/_0hl_t7r._.js +0 -3
  391. package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +0 -132
  392. package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/ssr/node_modules_16vay6l._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/node_modules_1kciwn4._.js +0 -3
  397. package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  398. package/.next/standalone/.next/static/chunks/08k1crid-05dt.js +0 -1
  399. package/.next/standalone/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  400. package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +0 -2
  401. package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +0 -1
  402. package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +0 -44
  403. package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  404. package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +0 -1
  405. package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  406. package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +0 -1
  407. package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  408. package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  409. package/.next/standalone/app/components/BridgeRing.js +0 -753
  410. package/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  411. package/.next/static/chunks/08k1crid-05dt.js +0 -1
  412. package/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  413. package/.next/static/chunks/0q-_khndfxubv.js +0 -2
  414. package/.next/static/chunks/1c79veqedvubt.js +0 -1
  415. package/.next/static/chunks/1chp3nx45meg5.js +0 -44
  416. package/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  417. package/.next/static/chunks/1uadqylrod5_v.js +0 -1
  418. package/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  419. package/.next/static/chunks/289ktj97di6zg.js +0 -1
  420. package/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  421. package/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  422. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  423. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  424. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
  425. /package/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  426. /package/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  427. /package/.next/static/{qqqcxvzBUizkECrT4swyK โ†’ WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5445,e=>{"use strict";var a=e.i(43476),s=e.i(71645),t=e.i(22016),r=e.i(2776);let n="1px solid rgba(255,255,255,0.1)",i='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif';function o({id:e,title:s,intro:t,children:r}){return(0,a.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:n,scrollMarginTop:16},children:[(0,a.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:s}),t&&(0,a.jsx)(l,{style:{marginTop:0,marginBottom:12},children:t}),r]})}function l({children:e,style:s}){return(0,a.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...s},children:e})}function c({children:e}){return(0,a.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})}function d({children:e,tone:s}){return(0,a.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===s?"#00ff88":"bad"===s?"#ff7676":"#e8e8ee",background:"ok"===s?"rgba(0,255,136,0.08)":"bad"===s?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===s?"rgba(0,255,136,0.3)":"bad"===s?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===s&&"โœ“ ",e]})}function u({children:e,onClick:s,disabled:t,primary:r,tone:i,type:o="button"}){return(0,a.jsx)("button",{type:o,onClick:s,disabled:t,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:t?"#667":"#fff",border:n,background:t?"rgba(255,255,255,0.05)":"bad"===i?"rgba(255,80,80,0.15)":r?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:t?"not-allowed":"pointer"},children:e})}function p(){let[e,t]=(0,s.useState)(null);return((0,s.useEffect)(()=>{fetch("/api/update").then(e=>e.json()).then(t).catch(()=>{})},[]),e)?e.installed?(0,a.jsx)(y,{local:e}):(0,a.jsx)(h,{local:e}):null}async function m(e){let a=await fetch("/api/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await a.json().catch(()=>({}));return{ok:a.ok,d:s}}function h({local:e}){let[t,r]=(0,s.useState)(null),[n,i]=(0,s.useState)(null),[p,g]=(0,s.useState)(null),[y,f]=(0,s.useState)(null);async function b(e){i(e),g(null);try{let{ok:a,d:s}=await m({action:e});if(!a){g(s.error||"Something went wrong."),s.dirty&&r({dirty:s.dirty});return}"check"===e?r(s):(f(s),r(null))}catch(e){g(e.message)}finally{i(null)}}return(0,s.useEffect)(()=>{"updates"===new URLSearchParams(window.location.search).get("check")&&(document.getElementById("updates")?.scrollIntoView({block:"center"}),b("check"),window.history.replaceState(null,"",window.location.pathname))},[]),(0,a.jsxs)(o,{id:"updates",title:"Updates",children:[y?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{children:["Updated to ",(0,a.jsx)(c,{children:y.sha})," โ€” โ€œ",y.subject,"โ€."]}),(0,a.jsx)(l,{style:{color:y.needsRestart?"#FFD700":void 0},children:y.needsRestart?"Stop the app in your terminal and start it again โ€” this update changed how it starts.":"The page will pick up most changes on its own. Restart the app if anything looks odd."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{children:["You are on ",(0,a.jsx)(c,{children:e.sha})," โ€” โ€œ",e.subject,"โ€."]}),t&&0===t.behind&&(0,a.jsx)(d,{tone:"ok",children:"Youโ€™re up to date."}),t&&t.behind>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{style:{color:"#00ff88"},children:[t.behind," update",1===t.behind?"":"s"," available."]}),(0,a.jsx)("pre",{style:x,children:t.commits.join("\n")})]}),t?.dirty?.length>0&&(0,a.jsxs)(l,{children:["Changed files here:"," ",(0,a.jsx)(c,{children:t.dirty.join(", ")}),". Commit or discard them first โ€” this will not throw away your work."]}),(0,a.jsxs)(v,{children:[(0,a.jsx)(u,{onClick:()=>b("check"),disabled:!!n,children:"check"===n?"Checkingโ€ฆ":"Check for updates"}),t?.behind>0&&(0,a.jsx)(u,{onClick:()=>b("pull"),disabled:!!n,primary:!0,children:"pull"===n?"Updatingโ€ฆ":`Install ${t.behind} update${1===t.behind?"":"s"}`})]})]}),p&&(0,a.jsx)(l,{style:{color:"#ff7676"},children:p}),(0,a.jsxs)(l,{style:{fontSize:12,color:"#667",marginTop:12},children:["Nothing is checked automatically and nothing about you is sent โ€” this runs the same ",(0,a.jsx)(c,{children:"git fetch"})," and ",(0,a.jsx)(c,{children:"git pull"})," you would type yourself."]})]})}let g=["checking","downloading","verifying","preparing","restarting"];function y({local:e}){let t="mac-app"===e.kind,[r,n]=(0,s.useState)(!1),[i,p]=(0,s.useState)(null),[h,j]=(0,s.useState)(null),[$,S]=(0,s.useState)(!1),[z,T]=(0,s.useState)(null),[C,I]=(0,s.useState)(e.job||null),[D,R]=(0,s.useState)(!1),[q,E]=(0,s.useState)(null),[B,F]=(0,s.useState)(null),[A,O]=(0,s.useState)(void 0),[L,M]=(0,s.useState)(0),[N,W]=(0,s.useState)(!1),P=!!(C&&g.includes(C.phase)),U=P&&("restarting"===C.phase||L>0);async function H(){n(!0),p(null),j(null),E(null),F(null),O(void 0),I(e=>e&&g.includes(e.phase)?e:null);try{let{ok:e,d:a}=await m({action:"check-release"});e?(p(a),T(new Date)):j(a.error||"Could not check.")}catch(e){j(e.message)}finally{n(!1)}}async function Y(){R(!0),E(null),F(null),O(void 0),M(0),W(!1);try{let{ok:e,d:a}=await m({action:"install-release"});a.job&&I(a.job),!e&&(E(a.error||"The update could not start."),F(a.refusal||null),"fallback"in a&&O(a.fallback))}catch(e){E(e.message)}finally{R(!1)}}async function V(){try{let{d:e}=await m({action:"cancel-install"});e.job&&I(e.job)}catch{}}async function K(){try{await navigator.clipboard.writeText(e.command),S(!0),setTimeout(()=>S(!1),1600)}catch{j("Could not copy โ€” select the line and copy it by hand.")}}(0,s.useEffect)(()=>{"#updates"===window.location.hash&&document.getElementById("updates")?.scrollIntoView({block:"start"}),"updates"!==new URLSearchParams(window.location.search).get("check")||(window.history.replaceState(null,"",window.location.pathname),e.job&&g.includes(e.job.phase)||(document.getElementById("updates")?.scrollIntoView({block:"center"}),H().then(()=>document.getElementById("updates")?.scrollIntoView({block:"end",behavior:"smooth"}))))},[e.job]),(0,s.useEffect)(()=>{if(!P)return;let e=!0,a=setTimeout(async()=>{try{if(U){let a=await fetch("/api/update",{cache:"no-store"}),s=await a.json();if(!e)return;if(!s.job||s.job.id!==C.id)return void window.location.reload();M(0),I(s.job)}else{let{ok:a,d:s}=await m({action:"update-status"});e&&a&&s.job&&I(s.job)}}catch{e&&M(e=>e+1)}},U?1500:600);return()=>{e=!1,clearTimeout(a)}},[C,L,P,U]),(0,s.useEffect)(()=>{if(!U)return;let e=setTimeout(()=>W(!0),6e4);return()=>clearTimeout(e)},[U]);let _=C?.phase==="failed",G=t&&i?.install?.possible,J=_&&"stale-check"===C.code||"not-checked"===B,X=void 0!==A?A:i?.fallback,Q=i?.newer&&(!t||X)&&(!G||_||q||e.lastUpdate?.tone==="bad"),Z=function({mac:e,kind:a,canInstall:s,fallback:t}){if(!e)return"source"===a?"A copy built from the source code updates by fetching the code and building it again, which it can't do while it runs. Stop it (Ctrl-C), then run this in the six-degrees folder. Your network stays where it is.":"This copy runs inside the terminal that started it, so it can't replace itself while it runs. Stop it first (Ctrl-C), then run this to start the newest version. Your network stays where it is.";if(!t)return null;let r=t.dataDir?` It opens the new version on the usual data folder, not on ${t.dataDir}: to use that one, quit it and open it again with --data-dir, as you opened this one.`:"";return"replace"===t.mode?`${s?"Or paste this into Terminal.":"Paste this into Terminal instead."} It closes this app, puts the new version in its place and opens it. Your network stays where it is.${r}`:`${s?"Or copy":"Copy"} this line, quit Six Degrees, then paste it into Terminal. It installs the new version at ${t.installsTo}, not where this copy is, and opens it: use that one from then on. Your network stays where it is.${r}`}({mac:t,kind:e.kind,canInstall:G,fallback:X});return(0,a.jsxs)(o,{id:"updates",title:"Updates",children:[e.lastUpdate&&!P&&(0,a.jsx)(k,{report:e.lastUpdate}),(0,a.jsxs)(l,{children:["You have version ",(0,a.jsx)(c,{children:e.version}),"."]}),P?(0,a.jsx)(b,{job:C,restarting:U,slow:N,onCancel:V}):(0,a.jsxs)(a.Fragment,{children:[_&&(0,a.jsxs)(d,{tone:"bad",children:[(0,a.jsx)("strong",{children:"The update didnโ€™t finish."})," ",C.error," Nothing was changed."]}),C?.phase==="cancelled"&&(0,a.jsx)(d,{children:"Cancelled. Nothing was changed."}),q&&(0,a.jsx)(d,{tone:"bad",children:q}),i&&!i.latest&&(0,a.jsx)(d,{children:"No release has been published yet."}),i?.latest&&!i.newer&&(0,a.jsxs)(d,{tone:"ok",children:["Youโ€™re up to date: ",i.latest.version," is the newest version.",z&&(0,a.jsxs)("span",{style:{color:"#8b9a9a"},children:[" Checked at ",z.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}),"."]})]}),i?.newer&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{style:{color:"#00ff88"},children:["Version ",i.latest.version," is available."]}),G&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{children:["It downloads ",i.install.size?`about ${f(i.install.size)} MB`:"the new version"," from GitHub, checks it, then closes, replaces itself and reopens. Your network isnโ€™t touched, and a backup of it is made first."]}),(0,a.jsxs)(v,{children:[J?(0,a.jsx)(u,{onClick:H,disabled:r,primary:!0,children:r?"Checkingโ€ฆ":"Check again"}):(0,a.jsx)(u,{onClick:Y,disabled:D,primary:!0,children:D?"Startingโ€ฆ":_||q?"Try again":"Install and restart"}),(0,a.jsx)(w,{url:i.latest.url})]})]}),t&&!G&&i.install?.reason&&(0,a.jsx)(l,{children:i.install.reason}),Q&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l,{children:Z}),e.testReleases?(0,a.jsx)("pre",{style:x,children:"Not shown in test mode: it would install the real release from GitHub into Applications."}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("pre",{style:x,children:e.command}),(0,a.jsxs)(v,{children:[(0,a.jsx)(u,{onClick:K,primary:!G,children:$?"Copied":"Copy"}),!G&&(0,a.jsx)(w,{url:i.latest.url})]})]})]}),!G&&!Q&&(0,a.jsx)(v,{children:(0,a.jsx)(w,{url:i.latest.url})})]}),!i?.newer&&(0,a.jsx)(v,{children:(0,a.jsx)(u,{onClick:H,disabled:r,children:r?"Checkingโ€ฆ":i?"Check again":"Check for updates"})})]}),h&&(0,a.jsx)(l,{style:{color:"#ff7676"},children:h}),(0,a.jsxs)(l,{style:{fontSize:12,color:"#667",marginTop:12},children:["Nothing is checked automatically. The button asks GitHub for the newest version number, and nothing about you is sent.",t&&" Only a second click, Install and restart, downloads the new version."]}),e.testReleases&&(0,a.jsxs)(l,{style:{fontSize:12,color:"#FFD700",marginTop:6},children:["Test mode: releases are read from ",(0,a.jsx)(c,{children:e.testReleases})," on this computer, not from GitHub."]})]})}let f=e=>Math.max(1,Math.round(e/1e6));function b({job:e,restarting:s,slow:t,onCancel:r}){let n=e.total?Math.min(100,Math.round(e.received/e.total*100)):null,i=s?"Restartingโ€ฆ Six Degrees closes and opens again in a moment.":"checking"===e.phase?"Asking GitHub for the newest versionโ€ฆ":"downloading"===e.phase?`Downloading ${e.version}โ€ฆ${null!==n?` ${n}% (${f(e.received)} of ${f(e.total)} MB)`:""}`:"verifying"===e.phase?"Checking the downloadโ€ฆ":"Preparing the new versionโ€ฆ";return(0,a.jsxs)("div",{role:"status","aria-live":"polite",style:{marginTop:12},children:[(0,a.jsx)(l,{style:{color:"#e8e8ee"},children:i}),"downloading"===e.phase&&null!==n&&(0,a.jsx)("div",{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":"Download",style:{height:6,borderRadius:3,background:"rgba(255,255,255,0.08)",marginTop:10,overflow:"hidden",maxWidth:420},children:(0,a.jsx)("div",{style:{width:`${n}%`,height:"100%",background:"linear-gradient(90deg, #9B59B6, #3498DB)",transition:"width 0.4s ease"}})}),t&&(0,a.jsx)(l,{children:"This is taking longer than it should. If Six Degrees doesnโ€™t open again by itself, open it from your Applications folder."}),!s&&(0,a.jsx)(v,{children:(0,a.jsx)(u,{onClick:r,children:"Cancel"})})]})}function k({report:e}){let s=new Date(e.at).toLocaleString([],{dateStyle:"medium",timeStyle:"short"});return(0,a.jsxs)(d,{tone:"ok"===e.tone?"ok":"bad",children:[e.text," ",(0,a.jsxs)("span",{style:{color:"#8b9a9a"},children:["(",s,")"]}),"ok"===e.tone&&e.previous&&(0,a.jsxs)("span",{style:{display:"block",fontSize:12.5,color:"#8b9a9a",marginTop:4},children:["A copy of the version you had is kept in ",(0,a.jsx)(c,{children:e.previous})," until the next update. To go back to it, open that file and drag the app it gives you into your Applications folder."]})]})}function w({url:e}){return e?(0,a.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",fontSize:13.5},children:"What changed โ†’"}):null}function v({children:e}){return(0,a.jsx)("div",{style:{display:"flex",gap:10,marginTop:12,flexWrap:"wrap",alignItems:"center"},children:e})}let x={background:"rgba(0,0,0,0.45)",border:n,borderRadius:8,padding:12,margin:"8px 0 0",fontSize:12,lineHeight:1.7,color:"#b9c6c6",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",whiteSpace:"pre-wrap",maxHeight:180,overflow:"auto"};var j=e.i(89154),$=e.i(90179),S=e.i(69083);let z=["fan(s)","enthusiast(s)","lover(s)","junkie(s)","nerd(s)","buff(s)","addict(s)","hobbyist(s)","geek(s)","aficionado(s)"],T=[{key:"software",label:"Software & SaaS",group:"tech",kind:"function",words:["saas","b2b saas","paas","iaas","software as a service","software company","software companies","software startup(s)","software firm(s)","software vendor(s)","dev shop(s)"],roles:["software engineer(s)","software developer(s)","software engineering","swe","sde","full stack","fullstack","front end developer(s)","frontend developer(s)","front end engineer(s)","frontend engineer(s)","back end developer(s)","backend developer(s)","back end engineer(s)","backend engineer(s)","web developer(s)","mobile developer(s)","ios developer(s)","ios engineer(s)","android developer(s)","android engineer(s)","app developer(s)","devops","site reliability","sre","platform engineering","cloud engineer(s)","cloud architect(s)","solutions architect(s)","developer relations","devrel","developer advocate(s)","qa engineer(s)","sdet","test automation","javascript","typescript","kubernetes","open source"],names:["software"],companies:["microsoft","google","meta$","apple$","linkedin","salesforce","oracle$","adobe$","sap$","servicenow","workday","atlassian","hubspot","zoom$","zoom video","slack$","dropbox","box$","twilio","datadog","mongodb","github","gitlab","autodesk","intuit","docusign","zendesk","asana$","notion$","notion labs","figma","canva","airtable","monday com","squarespace","wix$","wix com","webflow","vercel","netlify","red hat","vmware","citrix","jetbrains","postman$","confluent","hashicorp","new relic","pagerduty","freshworks","zoho","calendly","clickup","smartsheet","retool","supabase","replit","procore","veeva","epic systems","klaviyo","rippling","gusto$","deel$","discord"]},{key:"ai-data",label:"AI & Data",group:"tech",kind:"function",words:["ai lab(s)","ai research lab(s)","ai startup(s)","ai company","ai companies"],roles:["artificial intelligence","machine learning","deep learning","reinforcement learning","generative ai","gen ai","genai","llm(s)","large language model(s)","nlp","natural language processing","computer vision","applied ai","head of ai","ai engineer(s)","ai engineering","ai researcher(s)","ai research","ai scientist(s)","ml engineer(s)","ml engineering","ml researcher(s)","ml scientist(s)","ml infrastructure","ml platform","mlops","machine learning engineer(s)","data science","data scientist(s)","data engineer(s)","data engineering","data analytics","data analyst(s)","analytics engineer(s)","big data","business intelligence","data warehouse","data warehousing","data governance","data platform(s)"],names:["ai"],companies:["openai","open ai","anthropic","cohere$","mistral$","hugging face","huggingface","databricks","snowflake$","palantir","nvidia","perplexity$","xai$","midjourney","runway ml","runwayml","datarobot","dataiku","alteryx","tableau","fivetran","dbt labs","weights & biases","labelbox","groq$","cerebras"],not:["neuro linguistic programming","nlp practitioner(s)","nlp coach","nlp coaches","llm in tax","llm in taxation","llm taxation"]},{key:"cybersecurity",label:"Cybersecurity",group:"tech",kind:"function",words:["cybersecurity company","cybersecurity companies","cybersecurity firm(s)","cybersecurity startup(s)","cybersecurity vendor(s)","cyber security firm(s)","managed security","mssp(s)"],roles:["cybersecurity","cyber security","cyber","infosec","information security","security engineer(s)","security analyst(s)","security architect(s)","security researcher(s)","security operations","soc analyst(s)","penetration tester(s)","penetration testing","pentester(s)","pen tester(s)","red team","blue team","appsec","application security","cloud security","network security","threat intelligence","threat hunter(s)","incident response","vulnerability management","vulnerability research","vulnerability researcher(s)","malware","ciso","zero trust","osint","dfir","cissp","oscp","ceh","comptia security","bug bounty","ethical hacker(s)","ethical hacking","devsecops","secops"],companies:["crowdstrike","palo alto networks","fortinet","okta","zscaler","sentinelone","cloudflare","proofpoint","rapid7","tenable","qualys","splunk","mandiant","cyberark","check point software","sophos","darktrace","wiz$","snyk","vanta$","drata","1password","lastpass","arctic wolf","huntress","mcafee","gen digital","trend micro","kaspersky","abnormal security","knowbe4","secureworks","recorded future","bishop fox","trail of bits","hackerone","bugcrowd","cisa$"],not:["cyber monday"]},{key:"telecom",label:"Telecom",group:"tech",kind:"industry",words:["telecom","telecoms","telecommunication(s)","telco(s)","wireless carrier(s)","mobile network(s)","5g","broadband","fiber optic(s)","fiber network(s)","rf engineer(s)","cell tower(s)","voip","unified communications","satellite communications"],companies:["at&t","verizon","t mobile","tmobile","sprint$","comcast","xfinity","charter communications","spectrum$","cox communications","lumen$","lumen technologies","centurylink","frontier communications","dish network","ericsson","nokia","cisco","juniper networks","qualcomm","american tower","crown castle","vodafone","telefonica","bt group","deutsche telekom","rogers communications","bell canada","telus","starlink","viasat","iridium"]},{key:"fintech",label:"Fintech & Payments",group:"finance",kind:"industry",words:["fintech","fin tech","payments","payment processing","merchant services","digital banking","neobank(s)","embedded finance","insurtech","regtech","wealthtech","buy now pay later","bnpl","card issuing","open banking","digital wallet(s)","mobile payments"],names:["pay"],companies:["stripe","paypal","venmo","square$","block$","cash app","plaid$","brex","ramp$","mercury$","chime$","affirm$","klarna","afterpay","marqeta","adyen","checkout com","sofi$","wise$","revolut","n26","nubank","monzo","bill com","expensify","carta$","fiserv","fis$","global payments","worldpay","visa$","mastercard","american express","amex$","discover financial","green dot","melio","payoneer","remitly","western union","moneygram","zelle","shift4","nuvei","paysafe","lithic","synctera","modern treasury","rapyd","dwolla","credit karma","nerdwallet","kalshi"],not:["pay per click","pay it forward"]},{key:"banking",label:"Banking & Lending",group:"finance",kind:"industry",words:["bank","banking","banker(s)","investment banking","investment banker(s)","commercial banking","commercial banker(s)","retail banking","community bank(s)","credit union(s)","bank teller(s)","loan officer(s)","mortgage(s)","mortgage lender(s)","mortgage lending","mortgage broker(s)","mortgage advisor(s)","mortgage underwriter(s)","lending","lender(s)","loan processor(s)","loan originator(s)","credit analyst(s)","nmls"],companies:["jpmorgan","jp morgan","j p morgan","chase$","chase bank","bank of america","wells fargo","citi$","citibank","citigroup","goldman sachs","morgan stanley","us bancorp","pnc","truist","capital one","td bank","td securities","hsbc","barclays","santander","bny","state street","fifth third","keybank","ally$","ally financial","navy federal","rocket mortgage","rocket companies","quicken loans","united wholesale mortgage","lendingtree","lendingclub","upstart$","lazard","evercore","jefferies","moelis","houlihan lokey","piper sandler","rbc","royal bank of canada","bmo","scotiabank","ubs$","credit suisse","deutsche bank","bnp paribas","mufg","societe generale","nomura","federal reserve","fdic$","freddie mac","fannie mae"],not:["coldwell banker","bankers life","food bank(s)","blood bank(s)","data bank(s)","sperm bank(s)","seed bank(s)","memory bank(s)","piggy bank(s)","question bank(s)","image bank(s)","time bank(s)","west bank","left bank","river bank(s)"]},{key:"vc-pe",label:"Venture Capital & Private Equity",group:"finance",kind:"industry",words:["venture capital","venture capitalist(s)","vc","vcs","vc fund(s)","venture fund(s)","venture partner(s)","private equity","growth equity","pe fund(s)","buyout(s)","leveraged buyout(s)","lbo","fund of funds","search fund(s)","venture studio(s)"],companies:["sequoia$","sequoia capital","andreessen horowitz","a16z","accel$","accel partners","kleiner perkins","greylock","lightspeed venture","general catalyst","founders fund","y combinator","yc$","techstars","500 startups","first round capital","insight partners","tiger global","thrive capital","khosla ventures","bessemer venture","ggv capital","nea$","new enterprise associates","battery ventures","union square ventures","softbank vision fund","blackstone$","kkr$","kohlberg kravis roberts","carlyle group","apollo global","tpg$","tpg capital","bain capital","warburg pincus","vista equity","thoma bravo","silver lake","advent international","hellman & friedman","general atlantic","ares management","blue owl","cvc capital","permira","l catterton","leonard green","clayton dubilier"],not:["vc backed","venture backed","pe backed","backed by"]},{key:"wealth",label:"Wealth & Asset Management",group:"finance",kind:"industry",words:["wealth management","wealth manager(s)","wealth advisor(s)","private wealth","private banking","financial advisor(s)","financial adviser(s)","financial planner(s)","financial planning","certified financial planner(s)","cfp","chfc","registered investment advisor(s)","investment advisor(s)","asset management","investment management","portfolio manager(s)","portfolio management","hedge fund(s)","family office(s)","retirement planning","cfa","cfa charterholder(s)","equity research","investment research","trader(s)","quantitative trader(s)","quant trader(s)","trading desk","prop trading","proprietary trading","equities","fixed income","derivatives","securities","finra","series 7","series 65","series 66"],companies:["blackrock","vanguard$","vanguard group","fidelity$","fidelity investments","charles schwab","schwab$","edward jones","ameriprise","raymond james","lpl financial","northwestern mutual","pimco","t rowe price","franklin templeton","invesco","capital group","wellington management","nuveen","bridgewater$","bridgewater associates","citadel$","citadel securities","two sigma","de shaw","d e shaw","renaissance technologies","millennium management","point72","jane street","hudson river trading","jump trading","optiver","susquehanna international","virtu financial","drw$","aqr","man group","elliott management","pershing square","robinhood","wealthfront","betterment","stifel"],not:["trader joe(s)","securities law","securities litigation","securities attorney(s)","securities lawyer(s)","social security"]},{key:"insurance",label:"Insurance",group:"finance",kind:"industry",words:["insurance","insurer(s)","insurtech","reinsurance","insurance underwriter(s)","claims adjuster(s)","insurance adjuster(s)","public adjuster(s)","actuary","actuaries","actuarial","p&c","property and casualty","annuity","annuities","cpcu","title insurance"],companies:["state farm","allstate","geico","progressive$","liberty mutual","nationwide$","usaa","farmers insurance","travelers$","hartford$","chubb","aig$","american international group","metlife","prudential","new york life","northwestern mutual","massmutual","mass mutual","aflac","oscar health","root insurance","humana","unitedhealth","aetna","cigna","anthem$","anthem blue cross","elevance","centene","molina healthcare","blue cross","bcbs","marsh$","marsh mclennan","aon$","willis towers watson","wtw$","gallagher$","arthur j gallagher","brown & brown","lockton","hub international","swiss re","munich re","assurant","erie insurance","american family insurance","primerica","globe life","mutual of omaha","guardian life","lincoln financial","transamerica","john hancock","pacific life","protective life","unum"]},{key:"accounting",label:"Accounting & Tax",group:"finance",kind:"function",words:["accounting firm(s)","cpa firm(s)","public accounting","tax preparation","external audit","audit & assurance","big four","big 4"],roles:["accounting","accountant(s)","cpa","cpas","certified public accountant(s)","chartered accountant(s)","acca","tax","tax preparer(s)","tax advisor(s)","enrolled agent(s)","bookkeeper(s)","bookkeeping","auditor(s)","internal audit","accounts payable","accounts receivable","financial controller(s)","corporate controller(s)","fractional cfo(s)","forensic accounting","forensic accountant(s)","quickbooks"],companies:["deloitte","pwc$","pricewaterhousecoopers","ey$","ernst & young","kpmg","grant thornton","bdo$","bdo usa","rsm$","rsm us","crowe$","baker tilly","cliftonlarsonallen","moss adams","cbiz","marcum$","eisneramper","cherry bekaert","plante moran","h&r block","jackson hewitt","liberty tax"]},{key:"crypto",label:"Crypto & Web3",group:"finance",kind:"industry",words:["crypto","cryptocurrency","cryptocurrencies","blockchain","web3","web 3","defi","nft(s)","bitcoin","ethereum","solana","stablecoin(s)","digital asset(s)","smart contract(s)","dapp(s)","on chain","onchain","crypto exchange(s)"],companies:["coinbase","binance","kraken$","ripple$","chainalysis","consensys","opensea","uniswap","polygon labs","fireblocks","anchorage digital","paxos","bitgo","crypto com","ledger$","metamask","polymarket","tether$","galaxy digital","grayscale investments","blockchain com","bitpay","moonpay","dydx","aave","chainlink labs","mysten labs"],not:["digital asset management"]},{key:"hospitals",label:"Hospitals & Clinics",group:"health",kind:"industry",words:["hospital(s)","clinic(s)","medical center(s)","health system(s)","healthcare system(s)","urgent care","emergency room","emergency department","emergency medicine","physician(s)","doctor(s)","surgeon(s)","surgery","nurse(s)","nursing","registered nurse(s)","rn","bsn","lpn","certified nursing assistant(s)","nurse practitioner(s)","physician assistant(s)","pa c","medical assistant(s)","patient care","hospitalist(s)","pediatrician(s)","cardiologist(s)","oncologist(s)","radiologist(s)","anesthesiologist(s)","dermatologist(s)","neurologist(s)","obgyn","ob gyn","family medicine","internal medicine","primary care","pediatrics","oncology","cardiology","radiology","paramedic(s)","emt(s)","respiratory therapist(s)","physical therapist(s)","physical therapy","occupational therapist(s)","occupational therapy","speech language pathologist(s)","radiologic technologist(s)","sonographer(s)","phlebotomist(s)","pharmacist(s)","pharmacy","home health","hospice","nursing home(s)","assisted living","senior living","skilled nursing","healthcare administration","hospital administrator(s)","medical practice(s)","medical group(s)","telehealth","telemedicine","concierge medicine","chiropractor(s)","chiropractic","optometrist(s)","optometry","ophthalmologist(s)","podiatrist(s)","medical billing","medical coding","medical coder(s)","revenue cycle"],companies:["kaiser permanente","hca$","hca healthcare","tenet healthcare","commonspirit","ascension$","ascension health","providence health","trinity health","mass general","massachusetts general","mount sinai","nyu langone","johns hopkins medicine","ucla health","stanford health","memorial sloan kettering","md anderson","dana farber","cedars sinai","city of hope","one medical","oak street health","carbon health","teladoc","amwell","davita","fresenius","lifepoint health","universal health services"],not:["animal hospital(s)","animal clinic(s)","pet hospital(s)","veterinary","veterinarian(s)","legal clinic(s)","law clinic(s)","doctor of philosophy","computer doctor(s)","script doctor(s)","tree surgery"]},{key:"dental",label:"Dental",group:"health",kind:"industry",words:["dental","dentist(s)","dentistry","dds","dmd","orthodontist(s)","orthodontic(s)","orthodontia","periodontist(s)","periodontics","periodontal","endodontist(s)","endodontics","prosthodontist(s)","prosthodontics","pedodontist(s)","pediatric dentist(s)","oral surgeon(s)","oral surgery","oral and maxillofacial","maxillofacial","dental hygienist(s)","rdh","dental assistant(s)","dso","dsos","dental support organization(s)","invisalign"],companies:["align technology","henry schein","dentsply","smile direct club","smiledirectclub","clearchoice","sonrava","envista$","envista holdings","straumann","ivoclar","nobel biocare","great expressions","smile brands","bright now","affordable dentures"]},{key:"pharma-biotech",label:"Pharma & Biotech",group:"health",kind:"industry",words:["pharma","pharmaceutical(s)","biotech","biotechnology","biopharma","biopharmaceutical(s)","therapeutics","bioscience(s)","biologics","drug discovery","drug development","clinical trial(s)","clinical research","clinical research associate(s)","medical science liaison(s)","pharmaceutical sales","pharma sales","regulatory affairs","pharmacovigilance","drug safety","gene therapy","cell therapy","genomics","bioinformatics","molecular biology","immunology","vaccine(s)","life sciences","antibody","antibodies","crispr","mrna","biostatistics","biostatistician(s)","medicinal chemistry"],companies:["pfizer","moderna","johnson & johnson","j&j$","janssen","merck","msd$","abbvie","bristol myers squibb","eli lilly","lilly$","novartis","roche$","roche diagnostics","genentech","astrazeneca","gsk$","glaxosmithkline","sanofi","novo nordisk","bayer","amgen","gilead","regeneron","vertex pharmaceuticals","biogen","takeda","boehringer ingelheim","viatris","mylan","biontech","illumina","thermo fisher","iqvia","syneos","parexel","charles river laboratories","catalent","lonza","danaher","alnylam","incyte","seagen","bluebird bio","intellia","editas","insitro","23andme","ginkgo bioworks","zoetis"]},{key:"medical-devices",label:"Medical Devices",group:"health",kind:"industry",words:["medical device(s)","medical technology","medtech","med tech","medical equipment","durable medical equipment","surgical robotics","surgical device(s)","orthopedic implant(s)","medical diagnostics","in vitro diagnostics","medical imaging","biomedical engineer(s)","biomedical engineering","regulatory affairs","medical device sales","510 k"],companies:["medtronic","stryker","boston scientific","abbott$","abbott laboratories","abbott diagnostics","becton dickinson","baxter international","baxter healthcare","zimmer biomet","smith & nephew","edwards lifesciences","intuitive surgical","ge healthcare","philips healthcare","siemens healthineers","hologic","dexcom","insulet","resmed","masimo","teleflex","hillrom","hill rom","steris","conmed","globus medical","nuvasive","integra lifesciences","penumbra$","abiomed","karl storz","arthrex","exactech","butterfly network","outset medical","shockwave medical","inari medical","axonics","tandem diabetes","varian"]},{key:"mental-health",label:"Mental Health",group:"health",kind:"industry",words:["mental health","behavioral health","psychologist(s)","psychiatrist(s)","psychiatry","psychiatric","psychotherapist(s)","psychotherapy","therapist(s)","lmft","lcsw","lpc","lmhc","lcpc","lpcc","psyd","licensed clinical social worker(s)","clinical social worker(s)","licensed professional counselor(s)","marriage and family therapist(s)","mental health counselor(s)","addiction counselor(s)","addiction treatment","addiction medicine","substance abuse","behavioral therapist(s)","aba therapist(s)","applied behavior analysis","bcba","eating disorder(s)","emdr","cognitive behavioral therapy","teletherapy","online therapy"],companies:["betterhelp","talkspace","headspace","lyra health","spring health","modern health","acadia healthcare","nami$","national alliance on mental illness","the jed foundation","crisis text line"],not:["physical therapist(s)","physical therapy","occupational therapist(s)","occupational therapy","respiratory therapist(s)","respiratory therapy","massage therapist(s)","massage therapy","speech therapist(s)","speech therapy","radiation therapist(s)","radiation therapy","infusion therapy"]},{key:"fitness-wellness",label:"Fitness & Wellness",group:"health",kind:"industry",words:["fitness","gym(s)","personal trainer(s)","personal training","fitness coach","fitness coaches","strength and conditioning","crossfit","pilates","yoga","yoga teacher(s)","yoga instructor(s)","wellness","massage therapist(s)","massage therapy","nutritionist(s)","dietitian(s)","registered dietitian(s)","health coach","health coaches","wellness coach","wellness coaches","meditation","mindfulness","group fitness","fitness instructor(s)","bodybuilding","athletic trainer(s)"],companies:["planet fitness","la fitness","equinox$","equinox fitness","orangetheory","orange theory","f45","crunch fitness","anytime fitness","golds gym","24 hour fitness","life time fitness","soulcycle","peloton","barrys bootcamp","corepower yoga","club pilates","xponential fitness","whoop$","oura$","strava","myfitnesspal","noom$","weightwatchers","ww international","beachbody","hydrow","tonal$","classpass","mindbody","ymca"],not:["corporate wellness","employee wellness","financial wellness",...z]},{key:"veterinary",label:"Veterinary & Animal Care",group:"health",kind:"industry",words:["veterinary","veterinarian(s)","veterinary medicine","veterinary technician(s)","veterinary assistant(s)","vet tech(s)","vet assistant(s)","vet clinic(s)","vet hospital(s)","emergency vet","dvm","animal hospital(s)","animal clinic(s)","pet hospital(s)","animal care","animal shelter(s)","animal rescue","animal welfare","animal control","pet care","pet grooming","pet groomer(s)","dog groomer(s)","groomer(s)","dog trainer(s)","dog training","pet sitter(s)","pet sitting","dog walker(s)","kennel(s)","doggy daycare","zookeeper(s)","zoo(s)","aquarium(s)","equine","farrier(s)","animal behaviorist(s)"],companies:["banfield","vca$","vca animal hospitals","bluepearl","mars veterinary health","national veterinary associates","thrive pet healthcare","heartland veterinary partners","petvet care centers","idexx","elanco","aspca","humane society","best friends animal society","rover$","trupanion","american veterinary medical association"],not:[...z]},{key:"k12",label:"K-12 Education",group:"education",kind:"industry",words:["k 12","k12","elementary school(s)","middle school(s)","high school(s)","junior high","primary school(s)","secondary school(s)","public school(s)","charter school(s)","private school(s)","school district(s)","independent school district","isd","montessori","preschool(s)","pre k","prek","kindergarten","early childhood","teacher(s)","substitute teacher(s)","assistant principal(s)","vice principal(s)","school principal(s)","head of school","headmaster","superintendent of schools","school superintendent(s)","school board","guidance counselor(s)","school counselor(s)","school psychologist(s)","school nurse(s)","special education","special ed","ese teacher(s)","sped","paraprofessional(s)","homeschool","tutor(s)","tutoring","intermediate school(s)","preparatory school(s)","prep school(s)"],names:["elementary"],companies:["teach for america","kipp","success academy","idea public schools","khan academy","kumon","sylvan learning","mathnasium","huntington learning","varsity tutors","connections academy","kindercare","bright horizons","learning care group"],not:["yoga teacher(s)","dance teacher(s)","piano teacher(s)"]},{key:"higher-ed",label:"Higher Education",group:"education",kind:"industry",words:["university","universities","universidad","college","colleges","community college(s)","higher education","higher ed","academia","professor(s)","assistant professor(s)","associate professor(s)","adjunct professor(s)","adjunct faculty","adjunct instructor(s)","lecturer(s)","senior lecturer(s)","faculty member(s)","postdoc(s)","postdoctoral","post doctoral","phd candidate(s)","phd student(s)","doctoral candidate(s)","doctoral student(s)","graduate student(s)","grad student(s)","graduate assistant(s)","graduate research assistant(s)","research assistant(s)","graduate teaching assistant(s)","provost","dean of","associate dean(s)","assistant dean(s)","registrar","bursar","financial aid","admissions counselor(s)","college admissions","university admissions","student affairs","residence life","academic advisor(s)","academic advising","career services","alumni relations","tenure track","tenured","chancellor","vice chancellor","undergraduate","undergrad","mba candidate(s)","mba student(s)","business school(s)","school of business","law school(s)","school of law","medical school(s)","school of medicine","graduate school(s)","school of management"],companies:["mit$","massachusetts institute of technology","caltech","california institute of technology","georgia tech","georgia institute of technology","virginia tech","texas a&m","ucla$","uc berkeley","uc davis","uc san diego","uc irvine","purdue$","purdue global","rutgers","cornell$","yale$","princeton$","harvard$","harvard business school","harvard law school","harvard medical school","harvard kennedy school","stanford$","stanford gsb","penn state","ohio state$","arizona state$","georgetown$","vanderbilt$","emory$","tulane$","wharton$","wharton school","kellogg school of management","insead","london business school","columbia business school","mit sloan","duke$","coursera","edx$"],not:["college park","college hunks","credit union(s)","university health","health system(s)","hospital(s)","medical center(s)"]},{key:"marketing-advertising",label:"Marketing & Advertising",group:"media",kind:"function",words:["ad agency","ad agencies","advertising agency","advertising agencies","digital agency","digital agencies","creative agency","creative agencies","marketing agency","marketing agencies","marketing firm(s)","media agency","media agencies","martech","adtech","ad tech"],roles:["marketing","marketer(s)","advertising","branding","brand strategy","brand strategist(s)","brand manager(s)","brand marketing","copywriter(s)","copywriting","seo","sem","ppc","search engine optimization","paid media","paid social","paid search","performance marketing","growth marketing","digital marketing","content marketing","email marketing","social media marketing","social media manager(s)","influencer marketing","affiliate marketing","demand generation","demand gen","lifecycle marketing","product marketing","marketing operations","marketing ops","media buyer(s)","media buying","media planner(s)","media planning","programmatic","ad operations","ad ops","market research"],companies:["wpp$","omnicom","publicis","interpublic","ipg$","ipg mediabrands","dentsu","havas","ogilvy","bbdo","tbwa","mccann$","mccann worldgroup","leo burnett","saatchi","grey group","droga5","wieden & kennedy","r ga","vaynermedia","vayner media","vaynerx","the trade desk","mediamonks","media monks","monks$","razorfish","digitas","wunderman thompson","vml","vmly&r","groupm","group m","mindshare$","mindshare worldwide","wavemaker","horizon media","starcom","spark foundry","kantar","nielsen$","nielsen holdings","nielseniq","ipsos","semrush","criteo","taboola","outbrain","applovin","integral ad science","doubleverify","magnite","pubmatic","72andsunny","crispin porter","goodby silverstein","isobar","iprospect","merkle$","acxiom"]},{key:"pr-comms",label:"PR & Communications",group:"media",kind:"function",words:["pr agency","pr agencies","pr firm(s)","public relations agency","public relations agencies","public relations firm(s)","communications agency","communications agencies","communications firm(s)"],roles:["public relations","pr manager(s)","pr director(s)","pr specialist(s)","pr lead","pr strategist(s)","pr professional(s)","pr executive(s)","pr comms","pr communications","comms","corporate communications","strategic communications","internal communications","external communications","crisis communications","marketing communications","communications manager(s)","communications director(s)","director of communications","head of communications","communications specialist(s)","communications coordinator(s)","communications lead","communications strategist(s)","vp communications","vp of communications","media relations","press secretary","spokesperson","spokeswoman","spokesman","publicist(s)"],names:["pr"],companies:["edelman$","weber shandwick","fleishmanhillard","fleishman hillard","ketchum$","burson","bcw$","hill & knowlton","brunswick group","finsbury","teneo$","golin$","porter novelli","ruder finn","apco worldwide","sard verbinnen","kekst","mww$","praytell","prosek","zeno group","allison worldwide","cision","meltwater","muck rack","pr newswire","business wire"]},{key:"media-publishing",label:"Media & Publishing",group:"media",kind:"industry",words:["journalist(s)","journalism","reporter(s)","editor(s)","editor in chief","managing editor(s)","copy editor(s)","news","newsroom(s)","newspaper(s)","magazine(s)","publishing","publisher(s)","book publishing","broadcast journalist(s)","news anchor(s)","correspondent(s)","columnist(s)","staff writer(s)","freelance writer(s)","podcast(s)"],companies:["new york times","nyt$","washington post","wall street journal","wsj$","dow jones","news corp","gannett","usa today","tribune","hearst","conde nast","axel springer","politico","axios","the atlantic$","vox media","buzzfeed","vice media","bustle","the athletic$","bloomberg$","reuters","thomson reuters","associated press","cnn$","msnbc","cbs news","abc news","npr$","national public radio","bbc","the guardian$","the economist","financial times","forbes$","forbes media","fortune$","business insider","insider$","techcrunch","the verge$","wired$","penguin random house","harpercollins","simon & schuster","hachette","macmillan publishers","macmillan learning","scholastic","mcgraw hill","pearson$","wiley$","john wiley","elsevier","springer nature","sinclair broadcast","nexstar","tegna","iheartmedia","audacy"],not:["video editor(s)","photo editor(s)","film editor(s)","newport news","good news"]},{key:"creator-economy",label:"Creator Economy",group:"media",kind:"industry",words:["content creator(s)","creator economy","digital creator(s)","ugc","ugc creator(s)","influencer(s)","youtuber(s)","tiktoker(s)","streamer(s)","podcast(s)","podcaster(s)","podcast host(s)","podcasting","blogger(s)","vlogger(s)","creator partnership(s)","influencer marketing","content creation"],companies:["youtube","tiktok","bytedance","snap$","patreon","substack","twitch$","linktree","kajabi","teachable","cameo$","whop$","beehiiv","convertkit","jellysmack","dude perfect","mrbeast","beast industries","fourthwall","captiv8","creatoriq","ltk$","rewardstyle"]},{key:"film-tv-music",label:"Film, TV & Music",group:"entertainment",kind:"industry",words:["film","films","filmmaker(s)","filmmaking","film production","movie(s)","motion picture(s)","cinematographer(s)","cinematography","screenwriter(s)","screenwriting","showrunner(s)","tv","television","broadcasting","post production","vfx","visual effects","animator(s)","animation studio(s)","music","musician(s)","songwriter(s)","record label(s)","recording artist(s)","recording studio(s)","music producer(s)","audio engineer(s)","sound engineer(s)","dj","djs","actor(s)","actress","actresses","casting director(s)","talent agency","hollywood","production company","production companies","theatre","theater","broadway","performing arts","live music","music festival(s)","orchestra","symphony","opera","video editor(s)","film editor(s)"],names:["records","pictures"],companies:["netflix","disney","walt disney","pixar","lucasfilm","marvel","warner bros","warner music","wbd$","hbo","paramount$","paramount global","paramount pictures","paramount skydance","nbcuniversal","nbc universal","universal music","umg$","sony$","lionsgate","mgm$","metro goldwyn mayer","a24","blumhouse","legendary entertainment","dreamworks","fox$","fox corporation","fox entertainment","20th century","amc networks","regal cinemas","cinemark","imax","roku","hulu","peacock$","spotify","soundcloud","siriusxm","sirius xm","live nation","ticketmaster","aeg$","aeg presents","caa$","creative artists agency","wme$","william morris endeavor","united talent agency","def jam","interscope","bmg$","ascap","recording academy","viacom","cbs$","cbs studios","showtime","starz","a&e networks","univision","telemundo","tubi$","crunchyroll","illumination entertainment","skydance"],not:["home theater","home theatre","operating theatre","medical records","window film","window tint","plastic film","threat actor(s)","bad actor(s)",...z]},{key:"gaming-esports",label:"Gaming & Esports",group:"entertainment",kind:"industry",words:["gaming","video game(s)","videogame(s)","game developer(s)","game development","game designer(s)","game design","game studio(s)","game artist(s)","game producer(s)","gameplay","esports","e sports","esport","unreal engine","unity developer(s)","level designer(s)","game engine(s)","indie game(s)","mobile games","mobile gaming","pro gamer(s)","professional gamer(s)","twitch streamer(s)"],companies:["electronic arts","ea$","ea sports","activision","blizzard entertainment","riot games","epic games","valve$","valve corporation","ubisoft","nintendo","playstation","xbox","take two","rockstar games","2k$","2k games","bungie","bethesda softworks","bethesda game studios","zynga","roblox","unity$","unity technologies","supercell","king digital","niantic","square enix","bandai namco","sega","capcom","konami","nexon","netease games","tencent games","scopely","playtika","jam city","moon active","twitch$","faze clan","team liquid","100 thieves","cloud9","optic gaming","dreamhack","gamestop","mojang","insomniac games","naughty dog","respawn entertainment"],not:["casino(s)","sportsbook(s)","sports betting","igaming","gaming commission","gaming control","slot machine(s)",...z]},{key:"sports",label:"Sports",group:"entertainment",kind:"industry",words:["sports","athlete(s)","athletics","athletic director(s)","athletic trainer(s)","professional athlete(s)","pro athlete(s)","nfl","nba","mlb","nhl","wnba","ncaa","nwsl","pga","lpga","nascar","ufc","wwe","fifa","olympic(s)","olympian(s)","football","basketball","baseball","soccer","hockey","golf","tennis","volleyball","lacrosse","softball","wrestling","rugby","boxing","mma","track and field","head coach","head coaches","assistant coach","assistant coaches","sports marketing","sports medicine","sports management","sports business","sports betting","sportsbook(s)","fantasy sports","stadium(s)","sports broadcaster(s)","sportscaster(s)"],companies:["national football league","national basketball association","major league baseball","national hockey league","major league soccer","espn","cbs sports","turner sports","dazn","the athletic$","bleacher report","barstool sports","draftkings","fanduel","fanatics","img academy","wasserman$","wasserman media","excel sports","klutch sports","genius sports","sportradar","hudl","special olympics","arizona cardinals","atlanta falcons","baltimore ravens","buffalo bills","carolina panthers","chicago bears","cincinnati bengals","cleveland browns","dallas cowboys","denver broncos","detroit lions","green bay packers","houston texans","indianapolis colts","jacksonville jaguars","kansas city chiefs","las vegas raiders","los angeles chargers","los angeles rams","miami dolphins","minnesota vikings","new england patriots","new orleans saints","new york giants","new york jets","philadelphia eagles","pittsburgh steelers","san francisco 49ers","seattle seahawks","tampa bay buccaneers","tennessee titans","washington commanders","atlanta hawks","boston celtics","brooklyn nets","charlotte hornets","chicago bulls","cleveland cavaliers","dallas mavericks","denver nuggets","detroit pistons","golden state warriors","houston rockets","indiana pacers","la clippers","los angeles clippers","los angeles lakers","memphis grizzlies","miami heat","milwaukee bucks","minnesota timberwolves","new orleans pelicans","new york knicks","oklahoma city thunder","orlando magic","philadelphia 76ers","phoenix suns","portland trail blazers","sacramento kings","san antonio spurs","toronto raptors","utah jazz","washington wizards","arizona diamondbacks","atlanta braves","baltimore orioles","boston red sox","chicago cubs","chicago white sox","cincinnati reds","cleveland guardians","colorado rockies","detroit tigers","houston astros","kansas city royals","los angeles angels","los angeles dodgers","miami marlins","milwaukee brewers","minnesota twins","new york mets","new york yankees","oakland athletics","philadelphia phillies","pittsburgh pirates","san diego padres","san francisco giants","seattle mariners","st louis cardinals","tampa bay rays","texas rangers baseball","toronto blue jays","washington nationals","anaheim ducks","boston bruins","buffalo sabres","calgary flames","carolina hurricanes","chicago blackhawks","colorado avalanche","columbus blue jackets","dallas stars","detroit red wings","edmonton oilers","florida panthers","los angeles kings","minnesota wild","montreal canadiens","nashville predators","new jersey devils","new york islanders","new york rangers","ottawa senators","philadelphia flyers","pittsburgh penguins","san jose sharks","seattle kraken","st louis blues","tampa bay lightning","toronto maple leafs","utah mammoth","utah hockey club","vancouver canucks","vegas golden knights","washington capitals","winnipeg jets","atlanta united fc","austin fc","charlotte fc","chicago fire fc","fc cincinnati","colorado rapids","columbus crew","dc united","d c united","fc dallas","houston dynamo","inter miami","la galaxy","lafc","los angeles fc","minnesota united fc","cf montreal","nashville sc","new england revolution","new york city fc","new york red bulls","orlando city sc","orlando city soccer","philadelphia union$","portland timbers","real salt lake","san diego fc","san jose earthquakes","seattle sounders","sporting kansas city","st louis city sc","toronto fc","vancouver whitecaps"],not:["cricket wireless","alumni","alum","veteran(s)","soccer mom(s)","hockey mom(s)","baseball mom(s)","football mom(s)","sports mom(s)","soccer dad(s)","hockey dad(s)","sports dad(s)",...z]},{key:"ecommerce-retail",label:"E-commerce & Retail",group:"consumer",kind:"industry",words:["e commerce","ecommerce","ecom","online store(s)","online retail","online retailer(s)","retail","retailer(s)","amazon seller(s)","amazon fba","fba","dtc","d2c","direct to consumer","marketplace seller(s)","store manager(s)","retail associate(s)","merchandising","merchandiser(s)","visual merchandiser(s)","retail buyer(s)","category manager(s)","omnichannel","loss prevention","cashier(s)","grocery","supermarket(s)","convenience store(s)","department store(s)"],companies:["amazon$","amazon com","walmart","target$","target corporation","costco","home depot","lowes$","best buy","kroger","albertsons","safeway","whole foods","trader joes","aldi$","walgreens","cvs health","macys","nordstrom","kohls","tj maxx","tjx","ross stores","dollar general","dollar tree","family dollar","ikea","wayfair","etsy","ebay","shopify","chewy","instacart","temu$","shein","alibaba","zappos","sephora","ulta","bath & body works","victorias secret","gap$","gap inc","old navy","banana republic","h&m","zara$","inditex","uniqlo","petsmart","petco","dicks sporting goods","academy sports","sams club","7 eleven","circle k","office depot","whatnot","poshmark","depop","stockx","bigcommerce","woocommerce"],not:["retail banking","retail bank(s)","retail investor(s)","retail real estate"]},{key:"consumer-goods",label:"Consumer Goods",group:"consumer",kind:"industry",words:["cpg","consumer goods","consumer packaged goods","consumer products","fmcg","packaged food(s)","beverage brand(s)","beverage company","brewery","breweries","winery","wineries","distillery","distilleries","craft beer","cosmetics","skincare","skin care","beauty brand(s)","fragrance(s)","apparel","fashion","fashion brand(s)","fashion designer(s)","footwear","jewelry","jewellery","consumer electronics","toy company","toys","home goods","household products","personal care","pet food","confectionery","dtc brand(s)"],companies:["procter & gamble","p&g","unilever","nestle","pepsico","pepsi","coca cola","kraft heinz","general mills","kelloggs","kellanova","mondelez","mars$","mars wrigley","hershey$","hershey company","colgate palmolive","kimberly clark","clorox","church & dwight","estee lauder","loreal","lvmh","kering","nike","adidas","puma$","under armour","lululemon","new balance","levi strauss","levis$","ralph lauren","tapestry$","michael kors","pvh$","tommy hilfiger","calvin klein","hanesbrands","vf$","the north face","patagonia","yeti$","kenvue","haleon","reckitt","henkel","beiersdorf","shiseido","coty$","revlon","elf beauty","glossier","fenty","rare beauty","olaplex","anheuser busch","ab inbev","molson coors","constellation brands","diageo","pernod ricard","bacardi","brown forman","boston beer","heineken","red bull","monster beverage","celsius holdings","keurig dr pepper","tyson foods","conagra","campbell$","hormel","smucker","j m smucker","post holdings","danone","chobani","hasbro","mattel","lego","spin master","funko","dyson$","whirlpool","sharkninja","newell brands","energizer","duracell","gillette","dollar shave club","warby parker","allbirds"],not:["personal care aide(s)","personal care assistant(s)"]},{key:"restaurants",label:"Restaurants & Food Service",group:"consumer",kind:"industry",words:["restaurant(s)","restaurateur(s)","chef(s)","sous chef(s)","executive chef(s)","head chef(s)","pastry chef(s)","line cook(s)","culinary","catering","caterer(s)","food service","foodservice","food truck(s)","bakery","bakeries","pastry","cafe(s)","coffee shop(s)","barista(s)","bartender(s)","bartending","mixologist(s)","sommelier(s)","waiter(s)","waitress","waitresses","front of house","back of house","qsr","quick service restaurant(s)","fast casual","fast food","pizzeria","diner","bistro","brewpub","taproom","grill","steakhouse","tavern","eatery","bbq","sushi","taqueria"],companies:["mcdonalds","starbucks","chick fil a","chipotle","taco bell","yum brands","kfc$","pizza hut","dominos","papa johns","subway$","wendys","burger king","restaurant brands international","popeyes","tim hortons","dunkin","panera","darden","olive garden","bloomin brands","outback steakhouse","texas roadhouse","cheesecake factory","chilis","brinker","applebees","dine brands","ihop$","dennys","cracker barrel","red lobster","shake shack","sweetgreen","cava group","wingstop","raising canes","five guys","in n out","jersey mikes","jimmy johns","firehouse subs","zaxbys","sysco","us foods","aramark","compass group","sodexo","gordon food service","doordash","grubhub","opentable","first watch","buffalo wild wings","dave & busters"]},{key:"hospitality-travel",label:"Hospitality & Travel",group:"consumer",kind:"industry",words:["hospitality","hotel(s)","hotelier(s)","resort(s)","motel(s)","inn","lodging","vacation rental(s)","short term rental(s)","airbnb host(s)","travel","travel agent(s)","travel agency","travel agencies","travel advisor(s)","tourism","tour operator(s)","tour guide(s)","cruises","cruise line(s)","cruise ship(s)","cruise director(s)","airline(s)","flight attendant(s)","airline pilot(s)","commercial pilot(s)","concierge","guest services","guest experience","event planner(s)","event planning","wedding planner(s)","venue(s)","theme park(s)","amusement park(s)","casino(s)","bed and breakfast","b&b","hostel(s)","timeshare(s)"],companies:["marriott","hilton$","hilton hotels","hilton worldwide","hilton grand vacations","hyatt","ihg$","intercontinental hotels","wyndham","choice hotels","best western","accor$","four seasons","ritz carlton","mgm resorts","caesars","wynn","las vegas sands","hard rock","airbnb","vrbo","expedia","booking com","booking holdings","priceline","kayak$","tripadvisor","navan$","delta air lines","delta airlines","american airlines","united airlines","southwest airlines","jetblue","alaska airlines","spirit airlines","frontier airlines","allegiant","hawaiian airlines","lufthansa","british airways","emirates$","qatar airways","air canada","carnival$","carnival cruise","carnival corporation","royal caribbean","norwegian cruise line","universal destinations","universal parks","seaworld","united parks","six flags","cedar fair","legoland","great wolf lodge","omni hotels","loews hotels","kimpton","vacasa","evolve vacation","hertz","enterprise rent a car","enterprise mobility","avis","aimbridge","highgate hotels","sabre$"],not:["travel nurse(s)","travel nursing","travel therapist(s)","travel rn","travel healthcare","concierge medicine","concierge doctor(s)",...z]},{key:"beauty-personal-care",label:"Beauty & Personal Care",group:"consumer",kind:"industry",words:["salon(s)","hair salon(s)","nail salon(s)","beauty salon(s)","salon owner(s)","hair stylist(s)","hairstylist(s)","hairdresser(s)","barber(s)","barbershop(s)","barber shop(s)","master barber(s)","esthetician(s)","aesthetician(s)","cosmetologist(s)","cosmetology","nail technician(s)","nail tech(s)","manicurist(s)","lash artist(s)","lash technician(s)","lash extensions","brow artist(s)","microblading","makeup artist(s)","med spa(s)","medspa(s)","medical spa(s)","day spa(s)","beauty school(s)","skin care specialist(s)","skincare specialist(s)","hair removal","tanning salon(s)","spray tan"],companies:["great clips","supercuts","sport clips","fantastic sams","regis$","drybar","european wax center","sola salon studios","sola salons","ideal image","hand & stone","massage envy","the lash lounge"],not:["salon com","salon media","barber foods","barber motorsports","barber nichols",...z]},{key:"logistics",label:"Logistics & Supply Chain",group:"industry",kind:"industry",words:["logistics","supply chain","freight","freight broker(s)","freight brokerage","trucking","truck driver(s)","cdl","truck dispatcher(s)","freight dispatcher(s)","fleet manager(s)","shipping","warehouse","warehouses","warehousing","distribution center(s)","fulfillment","fulfillment center(s)","order fulfillment","last mile","3pl","third party logistics","transportation management","freight forwarding","freight forwarder(s)","customs broker(s)","customs brokerage","import export","maritime","rail freight","railroad(s)","courier(s)","delivery driver(s)","forklift","material handler(s)","logistician(s)"],companies:["fedex","ups$","united parcel service","usps$","united states postal service","dhl","xpo","ch robinson","c h robinson","j b hunt","jb hunt","schneider national","werner enterprises","knight swift","old dominion freight","ryder","penske logistics","penske truck","maersk","flexport","uber freight","project44","fourkites","samsara$","manhattan associates","blue yonder","kinaxis","expeditors","kuehne nagel","db schenker","geodis","ceva logistics","gxo","union pacific","bnsf","csx$","norfolk southern","landstar","echo global logistics","coyote logistics","tql$","total quality logistics","estes express","saia$","shipbob","shipmonk","ontrac","lasership"],not:["data warehouse(s)","data warehousing"]},{key:"manufacturing",label:"Manufacturing",group:"industry",kind:"industry",words:["manufacturing","manufacturer(s)","factory worker(s)","factory manager(s)","factory floor","plant manager(s)","production supervisor(s)","machinist(s)","cnc","cnc machinist(s)","cnc programmer(s)","welder(s)","welding","fabrication","fabricator(s)","metal fabrication","assembly line","industrial engineer(s)","manufacturing engineer(s)","process engineer(s)","lean manufacturing","injection molding","plastics","machining","industrial automation","tool and die","chemical company","chemical manufacturing","specialty chemicals","industrial manufacturing","steel","aluminum","semiconductor manufacturing"],companies:["general electric","ge$","honeywell","3m$","3m company","siemens$","caterpillar","john deere","deere & company","emerson electric","emerson$","rockwell automation","parker hannifin","eaton$","eaton corporation","illinois tool works","itw$","dover$","cummins$","cummins inc","paccar","dow$","dow chemical","dupont$","dupont de nemours","basf","lyondellbasell","eastman chemical","celanese","nucor","us steel","united states steel","alcoa","jabil","flex$","foxconn","hon hai","tsmc$","taiwan semiconductor","applied materials","lam research","asml","corning","owens corning","ppg","sherwin williams","kohler$","stanley black & decker","milwaukee tool","bosch","abb$","schneider electric","mitsubishi$","hitachi","komatsu","trane","carrier global","lennox$","lennox international","johnson controls","westinghouse"]},{key:"energy",label:"Energy & Utilities",group:"industry",kind:"industry",words:["energy","utilities","utility company","utility companies","electric utility","power plant(s)","power generation","power grid","transmission and distribution","oil and gas","oil","petroleum","natural gas","lng","drilling","refinery","refineries","oil pipeline(s)","gas pipeline(s)","renewable energy","renewables","solar","solar panel(s)","photovoltaic","wind energy","wind power","wind farm(s)","offshore wind","hydroelectric","hydrogen","nuclear energy","nuclear power","nuclear plant(s)","geothermal","battery storage","energy storage","ev charging","lineman","linemen","lineworker(s)","energy efficiency","cleantech","clean energy","carbon capture","petroleum engineer(s)","reservoir engineer(s)","landman","roughneck(s)"],companies:["exxonmobil","exxon","chevron","shell$","shell plc","shell oil","bp$","conocophillips","occidental petroleum","marathon petroleum","valero","phillips 66","halliburton","schlumberger","slb$","baker hughes","kinder morgan","enterprise products","southern company","edison international","entergy","aep$","american electric power","exelon","sunrun","sunpower","sunnova","enphase","orsted","รธrsted","vestas","siemens gamesa","ge vernova","brookfield renewable","invenergy","avangrid","plug power"],not:["energy drink(s)","monster energy","energy healer(s)","energy healing","energy work","positive energy","high energy","olive oil","essential oil(s)","oil painting(s)","oil painter(s)","offensive lineman","defensive lineman"]},{key:"automotive",label:"Automotive",group:"industry",kind:"industry",words:["automotive","dealership(s)","car dealership(s)","auto dealership(s)","auto dealer(s)","car dealer(s)","car sales","auto sales","automobile(s)","auto parts","auto repair","auto body","collision repair","automotive technician(s)","auto mechanic(s)","car mechanic(s)","diesel mechanic(s)","service advisor(s)","f&i","electric vehicle(s)","autonomous vehicle(s)","autonomous driving","self driving","adas","motorsport(s)","car wash","car washes","tire","tires","ev charging"],companies:["tesla","ford$","ford motor","general motors","stellantis","chrysler","jeep$","toyota","honda","nissan","hyundai","kia$","kia motors","bmw","mercedes benz","volkswagen","audi$","porsche","volvo","subaru","mazda","rivian","lucid motors","lucid group","polestar","waymo","cruise automation","zoox","aurora innovation","carvana","carmax","autonation","penske automotive","lithia","autozone","pep boys","goodyear","bridgestone","michelin","firestone$","firestone complete auto care","magna international","aptiv","borgwarner","lear$","denso","harley davidson","polaris industries","cars com","autotrader","truecar","copart","manheim"],not:["customer service advisor(s)","client service advisor(s)","financial service advisor(s)","member service advisor(s)","guest service advisor(s)"]},{key:"agriculture",label:"Agriculture & Farming",group:"industry",kind:"industry",words:["agriculture","agricultural","agribusiness","agtech","ag tech","agronomy","agronomist(s)","farming","farmer(s)","farm(s)","farmland","farm manager(s)","farmworker(s)","farm worker(s)","ranching","rancher(s)","cattle","livestock","poultry","dairy farm(s)","dairy farmer(s)","aquaculture","fishery","fisheries","horticulture","horticulturist(s)","viticulture","grower(s)","crop science","crop production","crop protection","crop consultant(s)","precision agriculture","irrigation","hydroponics","vertical farming","agricultural engineer(s)","farm equipment","grain elevator(s)","fertilizer(s)","feed mill(s)","forestry","forester(s)"],companies:["cargill","archer daniels midland","bunge$","corteva","syngenta","nutrien","cf industries","agco$","land o lakes","farm credit","indigo ag","john deere","driscolls","dole food","fresh del monte","simplot","j r simplot","the mosaic company"],not:["state farm","farm bureau","farmers insurance","farmers mutual","farmers bank","farmers state bank","farmers national bank","farmers savings bank","farmers trust","farmers merchants","farmer mac","farmer bros","farmer brothers","farmers dog","server farm(s)","wind farm(s)","solar farm(s)","content farm(s)","link farm(s)","click farm(s)","troll farm(s)","bot farm(s)","farm to table","farm team(s)",...z]},{key:"aerospace-defense",label:"Aerospace & Defense",group:"defense",kind:"industry",words:["aerospace","aerospace engineer(s)","aerospace engineering","defense","defence","defense contractor(s)","defense industry","department of defense","dod","avionics","aviation","aircraft","aircraft mechanic(s)","a&p mechanic(s)","airframe","propulsion","rocketry","spacecraft","satellite(s)","space industry","space systems","launch vehicle(s)","missile(s)","munitions","weapons systems","uav","uavs","unmanned aircraft","unmanned aerial","counter uas","security clearance","top secret","ts sci","secret clearance","itar","flight test","flight software","astronaut(s)"],companies:["lockheed","northrop grumman","boeing","raytheon","rtx$","general dynamics","l3harris","l3 harris","bae systems","leidos","saic$","science applications international","booz allen","caci","mantech","parsons$","huntington ingalls","textron","bell textron","sikorsky","pratt & whitney","spacex","blue origin","rocket lab","relativity space","sierra space","axiom space","anduril","shield ai","palantir","kratos","aerovironment","elbit","thales","airbus","embraer","bombardier","gulfstream","cessna","spirit aerosystems","nasa$","national aeronautics and space administration","jpl$","jet propulsion laboratory","sandia","los alamos","lawrence livermore","mitre$","darpa","navair","navsea","united launch alliance","maxar","planet labs","curtiss wright","heico","transdigm","hexcel"],not:["defense attorney(s)","defense lawyer(s)","criminal defense","defense counsel","self defense","insurance defense","dui defense","legal defense","defense litigation","public defender(s)","satellite office(s)","satellite campus","satellite location(s)"]},{key:"military",label:"Military",group:"defense",kind:"industry",words:["military","army","navy","air force","marine corps","usmc","marines","coast guard","uscg","national guard","army national guard","air national guard","space force","armed forces","active duty","soldier(s)","airman","airmen","infantry","infantryman","paratrooper(s)","special forces","green beret(s)","navy seal(s)","army ranger(s)","commissioned officer(s)","noncommissioned officer(s)","nco","army officer(s)","naval officer(s)","navy officer(s)","air force officer(s)","marine officer(s)","drill sergeant(s)","sergeant major","platoon","battalion","squadron","reservist(s)","army reserve","navy reserve","air force reserve","rotc","cadet(s)","west point","naval academy","air force academy","military intelligence"],companies:["us army","u s army","united states army","us navy","u s navy","united states navy","us air force","u s air force","united states air force","usaf$","us marine corps","united states marine corps","us coast guard","united states coast guard","us space force","u s space force","united states space force","british army","royal navy","royal air force","raf$","royal marines","canadian armed forces","nato$"],not:["veteran(s)","military spouse(s)","salvation army","old navy","navy federal","navy blue","navy pier","army of","swiss army","battalion chief(s)"]},{key:"government",label:"Government & Public Sector",group:"defense",kind:"industry",words:["government","federal government","state government","local government","public sector","public servant(s)","civil servant(s)","civil service","municipal","municipality","municipalities","city council","council member(s)","councilmember(s)","councilwoman","councilman","city manager(s)","county manager(s)","county commissioner(s)","county commission","board of county commissioners","mayor","mayors office","legislator(s)","legislature","legislative","state senator(s)","state representative(s)","congressman","congresswoman","congressional","member of congress","house of representatives","white house","governors office","office of the governor","lieutenant governor","federal agency","state agency","government agency","government agencies","police","police officer(s)","police department(s)","sheriff","sheriffs office","deputy sheriff(s)","law enforcement","state trooper(s)","highway patrol","firefighter(s)","fire department(s)","fire rescue","fire chief(s)","battalion chief(s)","public safety","911 dispatcher(s)","emergency management","corrections officer(s)","correctional officer(s)","department of corrections","probation officer(s)","parole officer(s)","postal service","veterans affairs","foreign service","foreign service officer(s)","diplomat(s)","embassy","consulate","city planner(s)","urban planning","public administration","federal employee(s)","state employee(s)","public works","parks and recreation"],companies:["city of","county of","town of","township of","village of","borough of","commonwealth of","government of","usps$","united states postal service","internal revenue service","irs$","fbi$","federal bureau of investigation","cia$","central intelligence agency","nsa$","national security agency","department of homeland security","dhs$","fema$","tsa$","transportation security administration","us department of","u s department of","united states department of","department of veterans affairs","social security administration","us census bureau","census bureau","gao$","government accountability office","us senate","u s senate","united states senate","gsa$","general services administration","epa$","environmental protection agency","fda$","food and drug administration","cdc$","centers for disease control","nih$","national institutes of health","securities and exchange commission","ftc$","federal trade commission","fcc$","federal communications commission","state department","department of state","united nations","european commission","state of alabama","state of alaska","state of arizona","state of arkansas","state of california","state of colorado","state of connecticut","state of delaware","state of florida","state of georgia","state of hawaii","state of idaho","state of illinois","state of indiana","state of iowa","state of kansas","state of kentucky","state of louisiana","state of maine","state of maryland","state of massachusetts","state of michigan","state of minnesota","state of mississippi","state of missouri","state of montana","state of nebraska","state of nevada","state of new hampshire","state of new jersey","state of new mexico","state of new york","state of north carolina","state of north dakota","state of ohio","state of oklahoma","state of oregon","state of pennsylvania","state of rhode island","state of south carolina","state of south dakota","state of tennessee","state of texas","state of utah","state of vermont","state of virginia","state of washington","state of west virginia","state of wisconsin","state of wyoming"],not:["student government","city of hope","government affairs","government relations","government sales"]},{key:"legal",label:"Legal",group:"consulting",kind:"function",words:["law firm(s)","law office(s)","law group","legal services","attorney at law","attorneys at law","legaltech","legal tech","bar association"],roles:["law","lawyer(s)","attorney(s)","legal","esq","esquire","paralegal(s)","legal assistant(s)","legal secretary","litigator(s)","litigation","counsel","of counsel","legal counsel","associate attorney(s)","juris doctor","jd candidate(s)","law student(s)","law clerk(s)","judicial clerk(s)","circuit judge(s)","district judge(s)","federal judge(s)","magistrate(s)","district attorney(s)","public defender(s)","prosecutor(s)","e discovery","ediscovery","intellectual property","patent attorney(s)","patent agent(s)","notary public","mediator(s)","arbitrator(s)","arbitration"],companies:["kirkland & ellis","latham & watkins","skadden","baker mckenzie","dla piper","sidley austin","white & case","jones day","sullivan & cromwell","cravath","wachtell","davis polk","gibson dunn","paul weiss","simpson thacher","cooley$","cooley llp","wilson sonsini","goodwin procter","ropes & gray","morgan lewis","morgan & morgan","greenberg traurig","holland & knight","hogan lovells","norton rose fulbright","clifford chance","freshfields","linklaters","allen & overy","a&o shearman","mayer brown","king & spalding","orrick","perkins coie","fenwick & west","quinn emanuel","williams & connolly","weil gotshal","proskauer","debevoise","milbank","covington & burling","arnold & porter","mcdermott will","fish & richardson","foley & lardner","bryan cave","littler","jackson lewis","ogletree","fisher phillips","legalzoom","rocket lawyer","clio$","lexisnexis","westlaw"],not:["law enforcement","general counsel","in house counsel","corporate counsel","chief legal officer(s)","legal sea foods","legal & general"]},{key:"management-consulting",label:"Management Consulting",group:"consulting",kind:"function",words:["management consulting","strategy consulting","business consulting","operations consulting","mbb","big four","big 4"],roles:["management consultant(s)","strategy consultant(s)"],companies:["mckinsey","boston consulting group","bcg$","bcg x","bain$","bain & company","deloitte","accenture","pwc$","pricewaterhousecoopers","ey$","ey parthenon","ernst & young","kpmg","oliver wyman","kearney$","a t kearney","roland berger","l e k consulting","lek consulting","booz allen hamilton","capgemini","huron consulting","alvarez & marsal","fti consulting","guidehouse","protiviti","west monroe partners","slalom","zs associates","gartner","simon kucher","putnam associates","charles river associates","cornerstone research","analysis group","navigant","ankura","the bridgespan group","dalberg"]},{key:"hr-recruiting",label:"HR & Recruiting",group:"consulting",kind:"function",words:["staffing agency","staffing agencies","staffing firm(s)","staffing company","staffing companies","recruitment agency","recruitment agencies","recruiting agency","recruiting agencies","recruiting firm(s)","executive search","peo","professional employer organization","rpo","recruitment process outsourcing","workforce solutions","hr tech","hrtech","hr consulting"],roles:["human resources","human resource","hr","hris","hrbp","hr business partner(s)","people operations","people ops","people & culture","talent acquisition","talent management","recruiter(s)","recruiting","recruitment","technical recruiter(s)","headhunter(s)","staffing","talent sourcing","sourcer(s)","employer branding","compensation and benefits","total rewards","benefits administration","payroll","hr consultant(s)","shrm","shrm cp","shrm scp","sphr","phr","learning and development","l&d","organizational development","dei","diversity equity and inclusion","employee relations","labor relations"],companies:["robert half","randstad","adecco","manpowergroup","manpower$","kelly services","kforce","insight global","teksystems","aerotek","allegis","korn ferry","spencer stuart","heidrick","egon zehnder","russell reynolds","michael page","pagegroup","express employment","aya healthcare","amn healthcare","cross country healthcare","indeed$","glassdoor","ziprecruiter","adp$","automatic data processing","paychex","paylocity","paycom","paycor","ukg$","justworks","trinet","insperity","bamboohr","greenhouse software","culture amp","hirevue","cielo talent","alexander mann","hudson rpo","workday"],not:["24 hr"]},{key:"security-services",label:"Security Services",group:"consulting",kind:"function",words:["security company","security companies","security firm(s)","security services","private security","security guard company","guard services","security patrol","executive protection","close protection","alarm company","alarm monitoring"],roles:["security guard(s)","security officer(s)","armed security","unarmed security","armed guard(s)","unarmed guard(s)","bodyguard(s)","event security","campus security","site security","security supervisor(s)","personal protection","protection agent(s)","loss prevention officer(s)"],companies:["allied universal","securitas","gardaworld","garda world","g4s","adt$","adt security","brinks","brinks home","pinkerton","prosegur","vivint","simplisafe","us security associates","guardsmark"],not:["information security","cyber security","it security","data security","network security","cloud security","application security","managed security","national security","homeland security","social security","food security","job security","financial security","security clearance","security operations center","chief security officer(s)","security token(s)","security analyst(s)","security engineer(s)","security architect(s)","security researcher(s)"]},{key:"real-estate",label:"Real Estate",group:"realestate",kind:"industry",words:["real estate","realtor(s)","realty","real estate agent(s)","property management","property manager(s)","commercial real estate","cre","residential real estate","real estate investor(s)","real estate investing","real estate investment(s)","reit(s)","leasing agent(s)","leasing consultant(s)","leasing specialist(s)","apartment leasing","listing agent(s)","buyers agent(s)","title company","title insurance","escrow","land acquisition","real estate developer(s)","real estate development","property development","property developer(s)","multifamily","multi family","investment property","rental property","rental properties","home inspector(s)"],names:["properties"],companies:["keller williams","coldwell banker","re max","remax","century 21","compass$","redfin","zillow","opendoor","offerpad","berkshire hathaway homeservices","howard hanna","douglas elliman","corcoran$","corcoran group","cbre","jll$","jones lang lasalle","cushman & wakefield","colliers","newmark","marcus & millichap","eastdil","prologis","simon property group","greystar","equity residential","avalonbay","camden property","invitation homes","american homes 4 rent","costar","loopnet","apartments com","realpage","yardi","appfolio","wework","regus","iwg$","first american","fidelity national financial","fidelity national title","old republic title","stewart title"]},{key:"construction-trades",label:"Construction & Trades",group:"realestate",kind:"industry",words:["construction","general contractor(s)","roofing contractor(s)","building contractor(s)","licensed contractor(s)","electrical contractor(s)","plumbing contractor(s)","hvac contractor(s)","home builder(s)","homebuilder(s)","custom home builder(s)","construction superintendent(s)","site superintendent(s)","project superintendent(s)","general superintendent(s)","foreman","foremen","carpenter(s)","carpentry","electrician(s)","plumber(s)","plumbing","hvac","roofer(s)","roofing","masonry","drywall","concrete","excavation","paving","landscaping","landscaper(s)","landscape architect(s)","painting contractor(s)","handyman","remodeling","renovation(s)","home improvement","cabinetry","flooring","estimator(s)","preconstruction","civil engineer(s)","civil engineering","structural engineer(s)","structural engineering","architecture firm(s)","architectural","licensed architect(s)","registered architect(s)","bim","journeyman","journeymen","ironworker(s)","welder(s)","heavy equipment operator(s)","crane operator(s)","building inspector(s)"],names:["builders","contractors","contracting"],companies:["bechtel","fluor","kiewit","skanska","whiting turner","gilbane","mortenson","mccarthy building","hensel phelps","aecom","jacobs$","jacobs engineering","stantec","wsp$","wsp global","kimley horn","gensler","hok$","perkins&will","perkins and will","skidmore owings","lennar","dr horton","d r horton","pulte","pultegroup","toll brothers","nvr$","kb home","taylor morrison","meritage homes","david weekley homes","m i homes","ashton woods","vulcan materials","martin marietta","cemex","summit materials","quikrete","united rentals","sunbelt rentals","herc rentals","angi$","homeadvisor","thumbtack","emcor","quanta services","mastec","dycom","comfort systems","roto rooter","mr rooter"],not:["concrete results","under construction","brand builder(s)","team builder(s)","community builder(s)","government contractor(s)","defense contractor(s)","independent contractor(s)","government contracting","damage estimator(s)","collision estimator(s)","auto estimator(s)"]},{key:"charities",label:"Nonprofits & Charities",group:"nonprofit",kind:"industry",words:["nonprofit(s)","non profit(s)","not for profit","not for profits","501 c 3","501c3","ngo","ngos","charity","charities","charitable","philanthropy","philanthropies","philanthropic","humanitarian","grant writer(s)","grant writing","grants manager(s)","major gifts","annual giving","planned giving","donor relations","volunteer coordinator(s)","volunteer management","food bank(s)","food pantry","homeless shelter(s)","community organizer(s)","community foundation(s)","social services"],names:["foundation"],companies:["american red cross","red cross","united way","habitat for humanity","salvation army","goodwill$","goodwill industries","ymca","ywca","boys & girls club","big brothers big sisters","make a wish","feeding america","meals on wheels","unicef","save the children","world vision","doctors without borders","medecins sans frontieres","oxfam","world wildlife fund","the nature conservancy","sierra club","american cancer society","american heart association","alzheimers association","march of dimes","susan g komen","teach for america","americorps","peace corps","kiva$","givedirectly","wikimedia","aclu$","american civil liberties union","amnesty international","human rights watch","special olympics","national urban league","naacp","junior achievement","city year"],not:["foundation medicine","foundation capital","foundation building","foundation financial","foundation repair","foundation model(s)"]},{key:"social-work",label:"Social Work & Human Services",group:"nonprofit",kind:"industry",words:["social work","social worker(s)","msw","bsw","lmsw","human services","social services","child welfare","child protective services","foster care","adoption agency","adoption agencies","family services","youth services","community services","case worker(s)","caseworker(s)","family support","homeless services","housing assistance","refugee resettlement","domestic violence","victim advocate(s)","victim services","youth worker(s)","residential counselor(s)","direct support professional(s)","group home(s)","developmental disabilities","intellectual disabilities","reentry services","reentry specialist(s)"],companies:["catholic charities","volunteers of america","boys town","national association of social workers","nasw$","childrens home society"],not:[...z]},{key:"faith",label:"Faith & Ministry",group:"nonprofit",kind:"industry",words:["church","churches","ministry","ministries","pastor(s)","senior pastor(s)","associate pastor(s)","youth pastor(s)","worship leader(s)","worship pastor(s)","chaplain(s)","missionary","missionaries","ordained minister(s)","youth minister(s)","priest(s)","deacon(s)","diocese","archdiocese","parish","parishes","synagogue(s)","rabbi(s)","mosque(s)","imam(s)","seminary","seminarian(s)","theology","faith based","christian ministry"],companies:["the church of jesus christ","hillsong","cru$","campus crusade","young life","fellowship of christian athletes","intervarsity","samaritans purse","compassion international","focus on the family","world relief","catholic relief services","lutheran services"],not:["ministry of","ministries of"]}],C=new Set(["for","helping","helps","serving","serves","supporting","empowering"]),I=new Set(["school","college","university","universidad"]),D=/['โ€˜โ€™สผ]/g,R=/^[\x00-\x7f]*$/,q=/[a-z0-9]+(?:&[a-z0-9]+)*/g,E=/[\p{L}\p{N}]+(?:&[\p{L}\p{N}]+)*/gu,B=/\p{M}+/gu;function F(e){let a=String(e??"").toLowerCase().replace(D,""),s=q;R.test(a)||(a=a.normalize("NFKD").replace(B,""),s=E);let t=[];for(let e of a.match(s)||[])"and"!==e&&t.push(e);return t}let A=e=>e.endsWith("(s)")?[e.slice(0,-3),`${e.slice(0,-3)}s`]:[e];T.length,T.map(e=>e.key).map((e,a)=>[e,a]),T.map(e=>"education"===e.group),T.map(e=>"function"===e.kind);let O=new Map,L=new Map,M=new Map,N=new Map,W=new Set,P=new Map,U=1;function H(e,a,s){for(let t of a||[])for(let a of A(t)){let t=F(a);if(!t.length)continue;let r=t.join(" "),n=e.get(r)||[];n.includes(s)||n.push(s),e.set(r,n);for(let e=1;e<t.length;e++)W.add(t.slice(0,e).join(" "));U=Math.max(U,t.length)}}T.forEach((e,a)=>{for(let s of(H(O,e.words,a),H(L,e.names,a),H("function"===e.kind?L:O,e.roles,a),"function"===e.kind&&H(N,e.roles,a),H(M,e.not,a),e.companies||[])){let e=s.endsWith("$"),t=F(e?s.slice(0,-1):s);if("the"===t[0]&&(t=t.slice(1)),!t.length)continue;let r=P.get(t[0])||[];r.push({words:t,exact:e,sector:a}),P.set(t[0],r)}}),Object.freeze([]);let Y=new Set(["arena","stadium","center","centre","field","park","ballpark","dome","amphitheater","amphitheatre","theater","theatre","pavilion","forum","coliseum","speedway","performing"]),V=Object.freeze(j.INDUSTRIES.flatMap(e=>[e.key,...T.filter(a=>a.group===e.key).map(e=>e.key)])),K=function(e){let a=0x811c9dc5;for(let s=0;s<e.length;s++)a^=e.charCodeAt(s),a=Math.imul(a,0x1000193);return(a>>>0).toString(16).padStart(8,"0")}(JSON.stringify([3,[...C],[...I],[...Y],T]));for(let e of T){for(let a of[e.words,e.roles,e.names,e.companies,e.not])a&&Object.freeze(a);Object.freeze(e)}Object.freeze(T);var _=e.i(5258);let G=Object.keys($.SECTOR_BONUS);function J(e,{version:a=K}={}){let s;try{s=function(e){if(null==e)return{sectors:[],strength:"lean"};if("object"!=typeof e||Array.isArray(e))throw Error("Your sector must be a choice of sectors and a strength.");let a=e.sectors??[];if(!Array.isArray(a))throw Error("Sectors must be a list.");for(let e of a)if(!V.includes(e))throw Error(`There is no sector called '${String(e).slice(0,40)}'.`);let s=V.filter(e=>a.includes(e));if(s.length>3)throw Error("Pick up to 3 sectors.");let t=e.strength??"lean";if(!G.includes(t))throw Error("Strength is lean or strong.");return{sectors:s,strength:t}}(e)}catch{return"none"}return s.sectors.length?`${s.strength}:${s.sectors.join(",")}@${a}`:"none"}Object.freeze({sectors:Object.freeze([]),strength:"lean"});let X=(e,a)=>J(e)===J(a);Object.fromEntries(_.TIER_ORDER.map((e,a)=>[e,_.TIER_ORDER.length-a]));var Q=e.i(7837);let Z={lean:"Lean",strong:"Strong"},ee=["wheel","touchstart","keydown","pointerdown"],ea={1:"1st",2:"2nd",3:"3rd"},es=(e,a,s=`${a}s`)=>`${e.toLocaleString()} ${1===e?a:s}`,et=new Map(j.INDUSTRIES.map(e=>[e.key,T.filter(a=>a.group===e.key)])),er=new Map(T.map(e=>[e.key,e.group])),en=T.map(e=>({sector:e,label:e.label.toLowerCase(),words:[...e.words,...e.roles||[],...e.names||[],...e.companies].map(e=>` ${e.replace(/\(s\)$|\$$/,"").toLowerCase()}`)})),ei="Counts firms in this line of work, not every company with someone in the job",eo=T.filter(e=>"function"===e.kind).map(e=>e.label);function el(e,a,s){let[t,r]=s?["moved","moved"]:["moves","move"];if(!e&&!a)return s?"No one changed tier.":"No one changes tier.";let n=e=>1===e?t:r;return e&&a?`${es(e,"person","people")} ${n(e)} up a tier and ${a.toLocaleString()} ${n(a)} down.`:e?`${es(e,"person","people")} ${n(e)} up a tier.`:`${es(a,"person","people")} ${n(a)} down a tier.`}function ec(){let[e,r]=(0,s.useState)(null),[i,c]=(0,s.useState)(null),[p,m]=(0,s.useState)(null),[h,g]=(0,s.useState)(!1),[y,f]=(0,s.useState)(null),[b,k]=(0,s.useState)(null),[w,v]=(0,s.useState)({loading:!0}),[x,z]=(0,s.useState)(""),[T,C]=(0,s.useState)(()=>new Set),[I]=(0,s.useState)(()=>(0,Q.csvNetworkSource)()),D=(0,s.useRef)(null),R=(0,s.useRef)(0),q=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=!1;return fetch("/api/settings").then(e=>e.json().then(a=>e.ok?a:Promise.reject(Error(a.error||"Could not load your sector.")))).then(a=>{if(e)return;let s=a.settings?.sectorFocus||{sectors:[],strength:"lean"};r(s),c(s),C(new Set(s.sectors.map(e=>er.get(e)||e)))}).catch(a=>{e||k(a.message)}),fetch("/api/settings/sector-suggestions").then(e=>e.json().then(a=>e.ok?a:Promise.reject(Error(a.error||"Could not load suggestions.")))).then(a=>{e||v({scored:a.scored,list:a.suggestions||[]})}).catch(a=>{e||v({error:a.message})}),()=>{e=!0,clearTimeout(D.current)}},[]),(0,s.useEffect)(()=>{if(q.current||!i&&!b)return;q.current=!0;let e=document.getElementById("sector");if("#sector"!==window.location.hash||!e)return;let a=()=>e.scrollIntoView({block:"start"});a();let s=new ResizeObserver(a);s.observe(document.body);let t=()=>{for(let e of(s.disconnect(),clearTimeout(r),ee))window.removeEventListener(e,t,!0)},r=setTimeout(t,2e3);for(let e of ee)window.addEventListener(e,t,{capture:!0,passive:!0});return t},[i,b]);let E=(0,s.useMemo)(()=>{let e;return(e=x.trim().toLowerCase().replace(/\s+/g," "))?{industries:j.INDUSTRIES.filter(a=>a.label.toLowerCase().includes(e)),sectors:en.filter(a=>a.label.includes(e)||a.words.some(a=>a.includes(` ${e}`))).map(e=>e.sector)}:null},[x]);function B(a){c(a),f(null),clearTimeout(D.current);let s=++R.current;if(X(a,e))return void m(null);let t=J(a);m({key:t,loading:!0}),D.current=setTimeout(async()=>{try{let e=await fetch("/api/settings/sector-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sectorFocus:a})}),r=await e.json();if(s!==R.current)return;m(e.ok?{key:t,...r}:{key:t,error:r.error||"Could not work out what would change."})}catch{s===R.current&&m({key:t,error:"Could not reach the app to work out what would change."})}},250)}function F(e){let a=i.sectors.includes(e);if(!a&&i.sectors.length>=3)return;let s=a?i.sectors.filter(a=>a!==e):V.filter(a=>a===e||i.sectors.includes(a));!a&&er.has(e)&&C(a=>new Set(a).add(er.get(e))),B({...i,sectors:s})}async function A(){g(!0),f(null),clearTimeout(D.current),R.current++;try{var e,a;let s,t=await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{sectorFocus:i}})}),n=await t.json();if(n.settings&&(r(n.settings.sectorFocus),c(n.settings.sectorFocus),m(null)),!t.ok)return void f({tone:"bad",text:n.error||"Could not save."});f({tone:"ok",text:(e=n.settings.sectorFocus,a=n.effects?.sectorFocus,s=e.sectors.length?`Saved: ${e.sectors.map(e=>(0,S.sectorByKey)(e).label).join(" ยท ")} (${Z[e.strength].toLowerCase()}).`:"Saved: no sector.",a?a.scored?`${s} Rescored your network (${es(a.people??a.scored,"person","people")}). ${el(a.up,a.down,!0)}`:`${s} There's no scanned network yet; it will apply when you scan.`:s)})}catch{f({tone:"bad",text:"Could not reach the app. Reload this page to see what is saved."})}finally{g(!1)}}let O=i&&e&&!X(i,e),L=i&&i.sectors.length>=3,M=(e,s,{note:t,title:r}={})=>{let n=i.sectors.includes(e);return(0,a.jsxs)(ed,{color:(0,S.sectorByKey)(e).color,on:n,blocked:!n&&L,disabled:h,title:r,onClick:()=>F(e),children:[s,t&&(0,a.jsx)("span",{style:{fontWeight:400,color:n?"#dfe7e7":"#8b9a9a"},children:t})]},e)};return(0,a.jsxs)(o,{id:"sector",title:"Your sector",intro:"Pick up to three sectors you work in. Companies in them count for more when your network is scored, so the people there rank higher.",children:[b&&(0,a.jsx)(d,{tone:"bad",children:b}),!i&&!b&&(0,a.jsx)(l,{children:"Loadingโ€ฆ"}),i&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:6},children:[(0,a.jsxs)("span",{style:{fontSize:13,color:"#8b9a9a"},children:["Your picks (",i.sectors.length," of ",3,"):"]}),!i.sectors.length&&(0,a.jsx)("span",{style:{fontSize:13,color:"#667"},children:"none yet"}),i.sectors.map(e=>{let s=(0,S.sectorByKey)(e);return(0,a.jsxs)("button",{type:"button",disabled:h,onClick:()=>F(e),"aria-label":`Remove ${s.label}`,style:{display:"flex",alignItems:"center",gap:6,padding:"4px 10px",borderRadius:999,fontSize:12.5,fontWeight:600,color:"#fff",background:`${s.color}33`,border:`1px solid ${s.color}`,cursor:"pointer"},children:[s.label," ",(0,a.jsx)("span",{"aria-hidden":"true",style:{color:"#cfd8d8"},children:"ร—"})]},e)})]}),(0,a.jsx)(eu,{state:w,chip:M}),(0,a.jsx)("label",{htmlFor:"sector-search",style:{display:"block",fontSize:13,color:"#8b9a9a",margin:"16px 0 6px"},children:"Find a sector"}),(0,a.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,a.jsx)("input",{id:"sector-search",type:"search",value:x,onChange:e=>z(e.target.value),placeholder:"Try dentist, bakery or Stripe",autoComplete:"off",spellCheck:!1,style:{flex:1,minWidth:0,padding:"8px 12px",borderRadius:7,fontSize:14,color:"#fff",background:"rgba(255,255,255,0.05)",border:n,outline:"none"}}),x&&(0,a.jsx)(u,{onClick:()=>z(""),children:"Clear"})]}),E?(0,a.jsx)("div",{style:{marginTop:10},"aria-live":"polite",children:E.industries.length+E.sectors.length===0?(0,a.jsxs)(l,{style:{fontSize:12.5},children:["Nothing in the list matches โ€œ",x.trim(),"โ€. Try a job title, a kind of business or a company, or clear the search and pick one of the twelve broad industries."]}):(0,a.jsxs)("div",{role:"group","aria-label":"Sectors that match your search",style:{display:"flex",flexWrap:"wrap",gap:8},children:[E.industries.map(e=>M(e.key,e.label,{note:" ยท the whole industry"})),E.sectors.map(e=>M(e.key,e.label,{title:"function"===e.kind?ei:`In ${(0,S.sectorByKey)(e.group).label}`}))]})}):(0,a.jsx)("div",{style:{marginTop:10},children:j.INDUSTRIES.map(e=>{let s=et.get(e.key),t=T.has(e.key),r=s.filter(e=>i.sectors.includes(e.key)).length;return(0,a.jsxs)("div",{style:{borderTop:n,padding:"8px 0"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8},children:[M(e.key,e.label,{title:"The whole industry: companies its sectors place, or whose name or the well-known list says so"}),(0,a.jsxs)("button",{type:"button","aria-expanded":t,"aria-controls":`sectors-${e.key}`,onClick:()=>{var a;return a=e.key,void C(e=>{let s=new Set(e);return s.has(a)?s.delete(a):s.add(a),s})},style:{padding:"4px 6px",fontSize:12.5,color:r?"#9fd3ff":"#8b9a9a",background:"none",border:"none",cursor:"pointer"},children:[t?"โ–พ":"โ–ธ"," ",es(s.length,"sector"),r?` \xb7 ${r} picked`:""]})]}),t&&(0,a.jsx)("div",{id:`sectors-${e.key}`,role:"group","aria-label":`Sectors in ${e.label}`,style:{display:"flex",flexWrap:"wrap",gap:8,margin:"8px 0 2px 14px"},children:s.map(e=>M(e.key,e.label,"function"===e.kind?{title:ei}:void 0))})]},e.key)})}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8,marginTop:14},children:[(0,a.jsx)("span",{style:{fontSize:13,color:"#8b9a9a"},children:"How much:"}),Object.keys($.SECTOR_BONUS).map(e=>(0,a.jsxs)("button",{type:"button","aria-pressed":i.strength===e,disabled:h,onClick:()=>B({...i,strength:e}),style:{padding:"5px 12px",borderRadius:7,fontSize:12.5,fontWeight:600,cursor:"pointer",color:i.strength===e?"#fff":"#8b9a9a",background:i.strength===e?"rgba(52,152,219,0.25)":"transparent",border:n},children:[Z[e]," ยท +",$.SECTOR_BONUS[e]]},e))]}),(0,a.jsx)(l,{style:{fontSize:12.5},children:"Each company in your sectors gets +1 (lean) or +2 (strong) on its score out of 10, never above 10. A company in more than one of your picks still gets it once."}),(0,a.jsx)(ep,{preview:O?p:null,draft:i}),(0,a.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:14},children:[(0,a.jsx)(u,{primary:!0,onClick:A,disabled:!O||h,children:h?"Saving and rescoringโ€ฆ":"Save"}),O&&!h&&(0,a.jsx)(u,{onClick:()=>B(e),children:"Cancel"}),!O&&i.sectors.length>0&&!h&&(0,a.jsx)(u,{onClick:()=>B({...i,sectors:[]}),children:"Turn off"})]}),y&&(0,a.jsx)(d,{tone:y.tone,children:y.text}),(0,a.jsxs)("ul",{style:{margin:"16px 0 0",paddingLeft:18,fontSize:12.5,color:"#778",lineHeight:1.7},children:[(0,a.jsx)("li",{children:"Tiers rank how reachable someone is through your network, not the people themselves."}),(0,a.jsxs)("li",{children:["A company score you set on ",(0,a.jsx)(t.default,{href:"/paths?tab=scores",style:{color:"#3498DB"},children:"Paths โ†’ Scores"})," always wins. Your sector never changes it."]}),(0,a.jsx)("li",{children:"If you scan highest tier first, people in your sectors come up sooner. Scanning newest first, the default, doesnโ€™t go by tier."}),(0,a.jsx)("li",{children:"An industry includes its sectors. It counts a company in any of its sectors (Healthcare & Biotech counts a practice that is only in Dental), and a company whose industry the appโ€™s list of well-known companies or the companyโ€™s own name gives (Meridian Health). Not one known only from its peopleโ€™s job titles: a recruiter at Acme Widgets doesnโ€™t make Acme a consulting firm."}),(0,a.jsx)("li",{children:"A narrower sector counts a company when its name says so (Smith Family Dental), itโ€™s a well-known company in that sector, or at least half of the people you know there say so in their headlines (dentist, DDS, orthodontist). The words are a fixed list that comes with the app, the same on every computer. Nothing is sent anywhere."}),(0,a.jsxs)("li",{children:["Some sectors are work every kind of company has: ",eo.length>1?`${eo.slice(0,-1).join(", ")} and ${eo.at(-1)}`:eo.join(""),". For those a job title doesnโ€™t count, since a recruiter at Acme Widgets doesnโ€™t make it a recruiting firm. The companyโ€™s name does (Acme Staffing, Smith CPA), and so does a kind of firm in a headline (staffing agency, law firm, SaaS)."]}),I&&(0,a.jsxs)("li",{style:{color:"#FFD700"},children:["sample"===I?"The sample network":"The CSV import"," open in this window isnโ€™t changed by this, and isnโ€™t counted in the suggestions. Your sector applies to networks youโ€™ve scanned."]})]})]})]})}function ed({color:e,on:s,blocked:t,disabled:r,title:i,onClick:o,children:l}){return(0,a.jsxs)("button",{type:"button","aria-pressed":s,disabled:t||r,onClick:o,title:t?"Up to 3 sectors. Turn one off first.":i,style:{display:"flex",alignItems:"center",gap:7,padding:"6px 12px",borderRadius:999,maxWidth:"100%",fontSize:12.5,fontWeight:600,textAlign:"left",cursor:t?"not-allowed":"pointer",color:s?"#fff":t?"#556":"#b8c4c4",background:s?`${e}33`:"rgba(255,255,255,0.04)",border:s?`1px solid ${e}`:n},children:[(0,a.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:e,opacity:t?.4:1,flexShrink:0}}),(0,a.jsx)("span",{children:l})]})}function eu({state:e,chip:s}){let t={fontSize:12.5,marginTop:10};return e.loading?(0,a.jsx)(l,{style:t,children:"Looking through your network for suggestionsโ€ฆ"}):e.error?(0,a.jsxs)(l,{style:t,children:["Couldnโ€™t load suggestions (",e.error,"). You can still pick below."]}):e.scored?e.list.length?(0,a.jsxs)("div",{style:{marginTop:14},children:[(0,a.jsx)("div",{style:{fontSize:13,color:"#8b9a9a",marginBottom:6},children:"Suggested from your network"}),(0,a.jsx)("div",{role:"group","aria-label":"Suggested from your network",style:{display:"flex",flexWrap:"wrap",gap:8},children:e.list.map(e=>s(e.key,e.label,{note:`: ${es(e.people,"person","people")} at ${es(e.companies,"company","companies")}`,title:`In ${(0,S.sectorByKey)(e.group).label}`}))})]}):(0,a.jsx)(l,{style:t,children:"None of the listโ€™s sectors stands out among the people youโ€™ve scanned yet."}):(0,a.jsx)(l,{style:t,children:"Suggestions appear here once youโ€™ve scanned your network."})}function ep({preview:e,draft:s}){if(!e||e.key!==J(s))return null;let t={marginTop:12,padding:"10px 14px",borderRadius:8,fontSize:13,lineHeight:1.6,border:n,background:"rgba(255,255,255,0.03)",color:"#cfd8d8"};if(e.loading)return(0,a.jsx)("div",{style:t,"aria-live":"polite",children:"Working out what would changeโ€ฆ"});if(e.error)return(0,a.jsx)(d,{tone:"bad",children:e.error});if(!e.scored)return(0,a.jsx)("div",{style:t,"aria-live":"polite",children:"Thereโ€™s no scanned network yet, so nothing changes now. Your choice applies once you scan."});let r=(e,a)=>`${es(e,"company","companies")} ${1===e?"scores":"score"} ${a}`,i=[e.companiesUp&&r(e.companiesUp,"higher"),e.companiesDown&&r(e.companiesDown,"lower")].filter(Boolean).join(" and ");return(0,a.jsxs)("div",{style:t,"aria-live":"polite",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("b",{style:{color:"#fff"},children:"If you save:"})," ",i?`${i}.`:"No company changes score."," ",el(e.up,e.down,!1)]}),e.examples?.length>0&&(0,a.jsx)("div",{style:{marginTop:6,display:"flex",flexWrap:"wrap",gap:"4px 12px",fontSize:12.5},children:e.examples.map((e,s)=>(0,a.jsxs)("span",{title:e.company||void 0,children:[e.name,e.degree?(0,a.jsxs)("span",{style:{color:"#667"},children:[" (",ea[e.degree]||`${e.degree}th`,")"]}):null," ",(0,a.jsx)("b",{style:{color:_.TIER_COLORS_CLASSIC[e.from]||"#889"},children:e.from||"โ€“"})," โ†’ ",(0,a.jsx)("b",{style:{color:_.TIER_COLORS_CLASSIC[e.to]||"#889"},children:e.to})]},s))}),e.companyExamples?.length>0&&(0,a.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8b9a9a"},children:e.companyExamples.slice(0,3).map(e=>`${e.name} ${e.from} โ†’ ${e.to}`).join(" ยท ")})]})}function em(e){if(!e)return"0 KB";if(e<1048576)return`${Math.max(1,Math.round(e/1024))} KB`;let a=e/1048576;return`${a<10?a.toFixed(1):Math.round(a)} MB`}let eh=e=>Number(e||0).toLocaleString("en-US"),eg=(e,a,s=`${a}s`)=>`${eh(e)} ${1===Number(e)?a:s}`;function ey(e,a=!0){if(!e)return null;let s=new Date(e);return Number.isNaN(s.getTime())?null:s.toLocaleString(void 0,a?{dateStyle:"medium",timeStyle:"short"}:{dateStyle:"medium"})}let ef={auto:"before a new version",import:"before an import",manual:"made by hand"};async function eb(e,a){let s=await e.json().catch(()=>({}));if(!e.ok)throw Object.assign(Error(s.error||a),{data:s});return s}let ek={display:"flex",gap:10,marginTop:12,flexWrap:"wrap",alignItems:"center"},ew={fontSize:12,color:"#667",marginTop:10},ev={fontSize:14,fontWeight:650,margin:"26px 0 4px",color:"#e8e8ee"},ex={display:"flex",gap:8,alignItems:"flex-start",marginTop:12,fontSize:13,color:"#c8d0d0",lineHeight:1.5,cursor:"pointer"};function ej({label:e,children:s}){return(0,a.jsxs)("div",{style:{display:"flex",gap:12,justifyContent:"space-between",padding:"7px 0",borderTop:n,fontSize:13.5},children:[(0,a.jsx)("span",{style:{color:"#8b9a9a"},children:e}),(0,a.jsx)("span",{style:{color:"#e8e8ee",textAlign:"right"},children:s})]})}function e$(){return(0,a.jsx)("a",{href:"https://github.com/blakeb056/six-degrees#undo-an-import",target:"_blank",rel:"noreferrer",style:{color:"inherit",textDecoration:"underline"},children:"Undo an import"})}function eS(){let[e,t]=(0,s.useState)(null),[r,i]=(0,s.useState)(null),[p,m]=(0,s.useState)(null),[h,g]=(0,s.useState)(null),[y,f]=(0,s.useState)(null),[b,k]=(0,s.useState)(null),[w,v]=(0,s.useState)(!0),[x,j]=(0,s.useState)(null),[$,S]=(0,s.useState)(!1),[z,T]=(0,s.useState)(!1),C=(0,s.useRef)(null),I=(0,s.useRef)(!1),D=(0,s.useCallback)(()=>fetch("/api/data",{cache:"no-store"}).then(e=>eb(e,"The data folder could not be read.")).then(e=>{let a=Date.parse(e.lastImport?.appliedAt||"");t({...e,importIsRecent:Number.isFinite(a)&&Date.now()-a<864e5}),i(null)}).catch(e=>i(e.message)),[]);async function R(){g(null);try{await navigator.clipboard.writeText(e.dataDir),g({tone:"ok",text:"Copied the folderโ€™s path."})}catch{g({tone:"bad",text:"This window canโ€™t copy. Select the path above and copy it instead."})}}async function q(){m("reveal"),g(null);try{await eb(await fetch("/api/data/reveal",{method:"POST"}),"The folder could not be opened."),g({tone:"ok",text:"darwin"===e.platform?"Opened in Finder.":"Opened in your file browser."})}catch(e){g({tone:"bad",text:e.message})}finally{m(null)}}async function E(){m("export"),f(null);try{let e,a=await fetch("/api/data/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({photos:w})});a.ok||await eb(a,"The copy could not be made.");let s=await a.blob(),t=/filename="([^"]+)"/.exec(a.headers.get("content-disposition")||"")?.[1]||"Six Degrees backup.sixdegrees",r=URL.createObjectURL(s),n=document.createElement("a");n.href=r,n.download=t,n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(r),6e4);let i=[(e=Number(a.headers.get("x-six-degrees-people")),eg(e,"person","people"))];i.push(w?eg(Number(a.headers.get("x-six-degrees-photos")),"photo"):"no photos"),f({tone:"ok",text:`Made โ€œ${t}โ€ (${em(s.size)}: ${i.join(", ")}). Look for it in your Downloads folder, or wherever you chose to save it.`})}catch(e){f({tone:"bad",text:e.message})}finally{m(null)}}async function B(){if(x){m("import"),k(null);try{let a={"Content-Type":"application/octet-stream","X-Six-Degrees-Size":String(x.size)};e.people>0&&(a["X-Six-Degrees-Replace"]=String(e.people)),await eb(await fetch("/api/data/import",{method:"POST",headers:a,body:x}),"The file could not be imported."),j(null),S(!1),C.current&&(C.current.value=""),await D()}catch(e){e.data?.needsConfirm&&(S(!1),await D()),k({tone:"bad",text:e.message})}finally{m(null)}}}async function F(){m("cancel"),k(null);try{await eb(await fetch("/api/data/import",{method:"DELETE"}),"The import could not be cancelled."),await D(),k({tone:"ok",text:"Cancelled. The network here stays as it is."})}catch(e){k({tone:"bad",text:e.message})}finally{m(null)}}async function A(){m("restart"),k(null);try{await eb(await fetch("/api/data/restart",{method:"POST"}),"Six Degrees could not restart."),T(!0);let e=e=>new Promise(a=>setTimeout(a,e)),a=Date.now()+9e4;for(await e(2500);Date.now()<a;){try{if((await fetch("/api/data",{cache:"no-store"})).ok)return void window.location.reload()}catch{}await e(1e3)}T(!1),k({tone:"bad",text:"Six Degrees didnโ€™t come back. Quit it and open it again: the import finishes as it starts."})}catch(e){k({tone:"bad",text:e.message})}finally{m(null)}}if((0,s.useEffect)(()=>{D()},[D]),(0,s.useEffect)(()=>{e&&!I.current&&(I.current=!0,"#data"===window.location.hash&&document.getElementById("data")?.scrollIntoView({block:"start"}))},[e]),!e)return(0,a.jsx)(o,{id:"data",title:"Your data",children:r?(0,a.jsx)(d,{tone:"bad",children:r}):(0,a.jsx)(l,{children:"Loadingโ€ฆ"})});let O=e.pending,L=e.photosInCopy||e.photos,M=e.backups||[],N=M.reduce((e,a)=>e+(a.bytes||0),0),W=!!(x&&x.size>e.maxImportBytes),P=e.people>0,U=e.lastImport;return(0,a.jsxs)(o,{id:"data",title:"Your data",intro:"Everything Six Degrees knows about your network is in one folder on this computer.",children:[(0,a.jsx)(l,{children:(0,a.jsx)(c,{children:e.dataDir})}),(0,a.jsxs)("div",{style:ek,children:[(0,a.jsx)(u,{onClick:R,children:"Copy the path"}),(0,a.jsx)(u,{onClick:q,disabled:"reveal"===p,children:"reveal"===p?"Openingโ€ฆ":"darwin"===e.platform?"Show in Finder":"Open the folder"})]}),h&&(0,a.jsx)(d,{tone:h.tone,children:h.text}),(0,a.jsxs)("div",{style:{marginTop:16,borderBottom:n},children:[(0,a.jsxs)(ej,{label:"Your network",children:[eg(e.people,"person","people")," ยท ",em(e.databaseBytes)]}),(0,a.jsx)(ej,{label:"Profile photos",children:e.photos.count?`${eh(e.photos.count)} \xb7 ${em(e.photos.bytes)}`:"none saved yet"}),(0,a.jsx)(ej,{label:"Backups",children:M.length?`${eg(M.length,"copy","copies")} \xb7 ${em(N)}`:"none yet"}),(0,a.jsx)(ej,{label:"LinkedIn sign-in for scanning",children:e.linkedinSignIn?"kept here, never put in a copy":"not signed in on this computer"})]}),M.length>0&&(0,a.jsxs)("details",{style:{marginTop:10,fontSize:13,color:"#8b9a9a"},children:[(0,a.jsx)("summary",{style:{cursor:"pointer"},children:"The backups"}),(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto auto",gap:"6px 14px",marginTop:8},children:M.map(e=>(0,a.jsxs)("div",{style:{display:"contents"},children:[(0,a.jsxs)("span",{style:{wordBreak:"break-all",color:"#c8d0d0"},children:[e.name,e.folder?"/":"",(0,a.jsxs)("span",{style:{color:"#667"},children:[" ยท ",e.folder?"its photos and files":ef[e.kind]||e.kind]})]}),(0,a.jsx)("span",{children:ey(e.modifiedAt)}),(0,a.jsx)("span",{style:{textAlign:"right"},children:em(e.bytes)})]},e.name))})]}),(0,a.jsx)(l,{style:ew,children:"Backups are copies of your network from before a new version or an import. The newest five from new versions are kept; copies from before an import stay until you delete them."}),(0,a.jsx)(l,{style:ew,children:"The folder canโ€™t be moved from here. A database that a sync service (iCloud Drive, Dropbox) copies while itโ€™s open can be damaged, and this folder also holds your LinkedIn sign-in, which should never be synced. To use your network on another computer, save a copy below and import it there."}),(0,a.jsx)("h3",{style:ev,children:"Move your network to another computer"}),(0,a.jsx)(l,{children:"Save a copy here, then on the new computer install Six Degrees, open Settings โ†’ Your data and import the copy. Sign in to LinkedIn again there before you scan: your sign-in never goes into a copy."}),(0,a.jsxs)("label",{style:ex,children:[(0,a.jsx)("input",{type:"checkbox",checked:w,onChange:e=>v(e.target.checked),style:{marginTop:3}}),(0,a.jsxs)("span",{children:["Include profile photos",L.count?` (${eh(L.count)}, ${em(L.bytes)})`:"",". They canโ€™t be downloaded again without a new scan."]})]}),(0,a.jsxs)("div",{style:ek,children:[(0,a.jsx)(u,{primary:!0,onClick:E,disabled:!!p||z||0===e.people,children:"export"===p?"Savingโ€ฆ":"Save a copy of my network"}),0===e.people&&(0,a.jsx)("span",{style:{fontSize:13,color:"#8b9a9a"},children:"Thereโ€™s no network here to save yet."})]}),y&&(0,a.jsx)(d,{tone:y.tone,children:y.text}),(0,a.jsx)(l,{style:ew,children:"The copy holds the names, headlines and photos of the people in your network. Keep it private: donโ€™t post it or share it, and delete it once it has been imported. A network opened from a LinkedIn CSV lives only in its browser tab, so it isnโ€™t in the copy; import the CSV again on the new computer."}),(0,a.jsx)("h3",{style:ev,children:"Bring in a network from another computer"}),O?(0,a.jsxs)(d,{children:[(0,a.jsx)("div",{style:{fontWeight:650},children:"An import is waiting to finish."}),(0,a.jsxs)("div",{children:["The network in the copy",O.exportedAt?` saved ${ey(O.exportedAt,!1)}`:""," ","(",eg(O.people,"person","people"),O.photos?`, ${eg(O.photos,"photo")}`:"",O.fromVersion?`, from Six Degrees ${O.fromVersion}`:"",")",O.replacedPeople>0?` replaces the ${eg(O.replacedPeople,"person","people")} here the next time Six Degrees starts. A copy of whatโ€™s here now is kept in backups first, so the import can be undone.`:" becomes the network here the next time Six Degrees starts."," ","Your LinkedIn search budget and any pause on scanning are kept."]}),O.error&&(0,a.jsxs)("div",{style:{color:"#ff7676",marginTop:6},children:["The last try stopped: ",O.error.replace(/\.$/,""),". It tries again the next time Six Degrees starts."]}),z?(0,a.jsx)("div",{style:{marginTop:8},children:"Restartingโ€ฆ this page comes back in a few seconds."}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{marginTop:8},children:e.restart.how}),e.restart.command&&(0,a.jsx)("div",{style:{marginTop:6},children:(0,a.jsx)(c,{children:e.restart.command})}),(0,a.jsxs)("div",{style:ek,children:[e.restart.canRestart&&(0,a.jsx)(u,{primary:!0,onClick:A,disabled:!!p,children:"restart"===p?"Restartingโ€ฆ":"Restart now"}),!O.started&&(0,a.jsx)(u,{onClick:F,disabled:!!p,children:"cancel"===p?"Cancellingโ€ฆ":"Cancel the import"})]})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l,{children:"Pick the copy you saved on the other computer (a .sixdegrees file). It replaces the network here; the two networks are never merged. Your LinkedIn search budget and any pause on scanning are kept, with the other computerโ€™s searches added."}),(0,a.jsx)("input",{ref:C,type:"file",accept:".sixdegrees",onChange:function(e){k(null),S(!1),j(e.target.files?.[0]||null)},style:{display:"none"}}),(0,a.jsxs)("div",{style:ek,children:[(0,a.jsx)(u,{onClick:()=>C.current?.click(),disabled:!!p,children:"Choose a fileโ€ฆ"}),x&&(0,a.jsxs)("span",{style:{fontSize:13,color:"#c8d0d0",wordBreak:"break-all"},children:[x.name," ยท ",em(x.size)]})]}),W&&(0,a.jsxs)(d,{tone:"bad",children:["That file is ",em(x.size),". This copy can import files up to ",em(e.maxImportBytes),"."]}),x&&P&&!W&&(0,a.jsxs)("label",{style:ex,children:[(0,a.jsx)("input",{type:"checkbox",checked:$,onChange:e=>S(e.target.checked),style:{marginTop:3}}),(0,a.jsxs)("span",{children:["Replace the ",eg(e.people,"person","people")," in this copyโ€™s network with the network in this file. A copy of whatโ€™s here is kept in backups first. Your search budget and any pause on scanning are kept too."]})]}),(0,a.jsx)("div",{style:ek,children:(0,a.jsx)(u,{primary:!0,onClick:B,disabled:!x||W||P&&!$||!!p,children:"import"===p?"Checking the fileโ€ฆ":"Import"})})]}),b&&(0,a.jsx)(d,{tone:b.tone,children:b.text}),U&&!O&&(e.importIsRecent?(0,a.jsxs)(d,{tone:"ok",children:["Imported ",ey(U.appliedAt),": ",eg(U.people,"person","people"),U.exportedAt?` from the copy saved ${ey(U.exportedAt,!1)}`:"",".",U.keptDatabase&&(0,a.jsxs)(a.Fragment,{children:[" ","What was here before is kept in ",(0,a.jsx)(c,{children:U.keptDatabase}),U.keptFiles?", with its photos and files beside it":"",".",U.keptAsIs&&" It couldnโ€™t be read, so it was kept exactly as it was."," ","To go back to it, see ",(0,a.jsx)(e$,{}),"."]})]}):(0,a.jsxs)(l,{style:ew,children:["Last import: ",ey(U.appliedAt)," (",eg(U.people,"person","people"),").",U.keptDatabase&&(0,a.jsxs)(a.Fragment,{children:[" What was here before is kept in ",(0,a.jsx)(c,{children:U.keptDatabase})," (",(0,a.jsx)(e$,{}),")."]})]}))]})}var ez=e.i(64745);let eT={"mac-app":"the Mac app",npm:"the npm package (npx six-degrees)",source:"a copy built from the source code",git:"a git checkout of the source code"};function eC(){let[e,r]=(0,s.useState)(null),[d,u]=(0,s.useState)(null);if((0,s.useEffect)(()=>{fetch("/api/settings").then(e=>e.json().then(a=>e.ok?a:Promise.reject(Error(a.error||"Could not load settings.")))).then(r).catch(e=>u(e.message))},[]),ez.IS_DEMO)return(0,a.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:i},children:[(0,a.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,a.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,a.jsx)(t.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"โ† Back to the network"})]});let m=e?.about;return(0,a.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:i},children:[(0,a.jsxs)("header",{style:{padding:"16px 24px",borderBottom:n,display:"flex",alignItems:"center",gap:16},children:[(0,a.jsx)(t.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:n},children:"โ† Back to Map"}),(0,a.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Settings"})]}),(0,a.jsxs)("main",{style:{maxWidth:720,margin:"0 auto",padding:"8px 24px 64px"},children:[d&&(0,a.jsx)(l,{style:{color:"#ff7676",marginTop:16},children:d}),(0,a.jsx)(p,{}),(0,a.jsx)(ec,{}),(0,a.jsx)(eS,{}),(0,a.jsx)(o,{id:"about",title:"About this copy",children:m?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l,{children:["Version ",(0,a.jsx)(c,{children:m.version}),", running as ",eT[m.kind]||m.kind,"."]}),(0,a.jsxs)(l,{children:["Your network is kept in ",(0,a.jsx)(c,{children:m.dataDir}),m.customDataDir?" (a folder you chose).":".","mac-app"===m.kind&&" Help โ†’ Show the Data Folder opens it."]}),(0,a.jsx)(l,{style:{fontSize:12,color:"#667",marginTop:10},children:"Settings are saved with your network, on this computer. Nothing here is sent anywhere."})]}):!d&&(0,a.jsx)(l,{children:"Loadingโ€ฆ"})})]})]})}e.s(["default",0,function(){return(0,a.jsx)(r.default,{children:(0,a.jsx)(eC,{})})}],5445)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:o}=(0,r.useUser)();return o&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Canโ€™t reach 6 Degreesโ€™ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loadingโ€ฆ"})})}])},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",r=await fetch(t);if(!r.ok)throw Error(`Failed to load network (${r.status})`);let n=await r.json();return{degree1:n.degree1||[],degree2:n.degree2||[],degree3:n.degree3||[]}}e.s(["loadNetwork",0,t])},40996,e=>{"use strict";async function t(){let e=await fetch("/api/scraper");if(!e.ok)throw Error("Could not reach the app.");return e.json()}async function r(e,t,n={}){let o=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,...t?{name:t}:{},...n})}),a=await o.json().catch(()=>({}));if(!o.ok)throw Error(a.error||"Could not start the scanner.");return a}async function n(){await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})})}e.s(["notReadyMessage",0,function(e){if(!e)return"Could not reach the app.";let t=e.checks||{};return t.scriptsFound?t.dependencies?t.chrome?null:"Google Chrome is not installed.":t.python||t.download?"The scanner is not set up yet โ€” open Scan to set it up.":"No Python 3.10 to 3.14 is installed on this machine.":"The scanner files are missing from this install."},"runScrape",0,function(e,{name:n,onLog:o,...a}={}){return new Promise((i,u)=>{r(e,n,a).then(()=>{let e=setInterval(async()=>{try{let r=await t();o?.(r.log||[]),r.running||(clearInterval(e),i(r))}catch{}},1500)}).catch(u)})},"scraperStatus",0,t,"startScrape",0,r,"stopScrape",0,n])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return S}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809),i=e.r(43476),u=a._(e.r(71645)),s=e.r(95057),l=e.r(8372),c=e.r(18581),f=e.r(18967),d=e.r(5550),p=e.r(88540),h=e.r(91949),y=e.r(73668),g=e.r(9396);function m(t){var r;let n,o,a,[m,S]=(0,u.useOptimistic)(h.IDLE_LINK_STATUS),v=(0,u.useRef)(null),{href:C,as:P,children:E,prefetch:O=null,passHref:_,replace:j,shallow:T,scroll:R,onClick:w,onMouseEnter:A,onTouchStart:I,legacyBehavior:x=!1,onNavigate:N,transitionTypes:k,ref:L,unstable_dynamicOnHover:U,...B}=t;n=E,x&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let D=u.default.useContext(l.AppRouterContext),M=!1!==O,$=!1===O?"none":!0===O?"full":"auto",F="none"!==$?"auto"===$?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,z="string"==typeof(r=P||C)?r:(0,s.formatUrl)(r);if(x){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=u.default.Children.only(n)}let K=x?o&&"object"==typeof o&&o.ref:L,W,J=u.default.useCallback(e=>(null!==D&&(v.current=(0,h.mountLinkInstance)(e,z,D,F,M,S,W)),()=>{v.current&&((0,h.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,h.unmountPrefetchableInstance)(e)}),[M,z,D,F,S,W]),G={ref:(0,c.useMergedRef)(J,K),onClick(t){x||"function"!=typeof w||w(t),x&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,o,a,i,s,l="none"){if("u">typeof window){let c,{nodeName:f}=t.currentTarget;if("A"===f.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);u.default.startTransition(()=>{d(r,o?"replace":"push",!1===a?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,s,l)})}}(t,z,v,j,R,N,k,$)},onMouseEnter(e){x||"function"!=typeof A||A(e),x&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),D&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){x||"function"!=typeof I||I(e),x&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),D&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,f.isAbsoluteUrl)(z)?G.href=z:x&&!_&&("a"!==o.type||"href"in o.props)||(G.href=(0,d.addBasePath)(z)),a=x?u.default.cloneElement(o,G):(0,i.jsx)("a",{...B,...G,children:n}),(0,i.jsx)(b.Provider,{value:m,children:a})}let b=(0,u.createContext)(h.IDLE_LINK_STATUS),S=()=>(0,u.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return C},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return S},SP:function(){return y},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return P}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&u.test(e)};function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let y="u">typeof performance,g=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class S extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class C extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return u},formatWithValidation:function(){return l},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==l?(l="//"+(l||""),o&&"/"!==o[0]&&(o="/"+o)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${l}${o}${c}${u}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return u(e)}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:i}=(0,n.useUser)();return i&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:i?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Canโ€™t reach 6 Degreesโ€™ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loadingโ€ฆ"})})}])},99201,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(19821),i=e.i(5258);let o={height:10,borderRadius:6},a={background:"rgba(52,152,219,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(52,152,219,0.2)"};function s({degree1:e=[],degree2:n=[],skips:r=[]}){let c=function(e=[],t=[],n=[]){let r=new Set(t.map(e=>e.source_connection_id).filter(Boolean)),i=new Set(n.map(e=>e.profileUrl).filter(Boolean)),o=e=>r.has(e.id)?"mapped":e.profile_url&&i.has(e.profile_url)?"hidden":"todo",a={mapped:0,hidden:0,todo:0},s={};for(let t of e){let e=o(t);a[e]+=1;let n=t.tier||"D";s[n]=s[n]||{mapped:0,hidden:0,todo:0,total:0},s[n][e]+=1,s[n].total+=1}let l=e.length,c=a.mapped+a.hidden;return{...a,total:l,resolved:c,percent:l?Math.round(c/l*100):0,batches:Math.ceil(a.todo/25),byTier:s}}(e,n,r);if(!c.total)return null;let d=e=>c.total?e/c.total*100:0,u=0===c.todo;return(0,t.jsxs)("div",{style:a,children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:10},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#3498DB"},children:"2nd-degree mapping"}),(0,t.jsx)("span",{style:{fontSize:12,color:u?"#00ff88":"#8b9a9a",fontWeight:600},children:u?"Everything reachable is mapped":`${c.percent}%`})]}),(0,t.jsxs)("div",{style:{...o,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,t.jsx)("div",{style:{width:`${d(c.mapped)}%`,background:"#00ff88"}}),(0,t.jsx)("div",{style:{width:`${d(c.hidden)}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:16,marginTop:10,fontSize:12,flexWrap:"wrap"},children:[(0,t.jsx)(l,{color:"#00ff88",label:"mapped",value:c.mapped}),(0,t.jsx)(l,{color:"rgba(255,255,255,0.35)",label:"hidden",value:c.hidden}),(0,t.jsx)(l,{color:"rgba(255,255,255,0.12)",label:"to go",value:c.todo}),(0,t.jsxs)("span",{style:{color:"#667",marginLeft:"auto"},children:["of ",c.total]})]}),c.hidden>0&&(0,t.jsx)("p",{style:{fontSize:11.5,color:"#667",margin:"10px 0 0",lineHeight:1.6},children:"Hidden means they keep their connections private โ€” that will not change, and it does not count against you."}),!u&&(0,t.jsxs)("p",{style:{fontSize:11.5,color:"#8b9a9a",margin:"10px 0 0",lineHeight:1.6},children:[c.todo," left โ€” about ",(0,t.jsxs)("b",{children:[c.batches," ",1===c.batches?"batch":"batches"]})," of ",25,". Run one, leave it a while, run another. Long unbroken runs are what gets an account restricted."]}),(0,t.jsx)("div",{style:{marginTop:16,display:"flex",flexDirection:"column",gap:7},children:["S","A","B","C","D"].filter(e=>c.byTier[e]?.total).map(e=>{let n=c.byTier[e];return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:11},children:[(0,t.jsx)("span",{style:{width:14,color:i.TIER_COLORS_CLASSIC[e],fontWeight:700},children:e}),(0,t.jsxs)("div",{style:{flex:1,height:5,borderRadius:3,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,t.jsx)("div",{style:{width:`${n.mapped/n.total*100}%`,background:i.TIER_COLORS_CLASSIC[e]}}),(0,t.jsx)("div",{style:{width:`${n.hidden/n.total*100}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,t.jsxs)("span",{style:{color:"#667",width:62,textAlign:"right"},children:[n.mapped,"/",n.total]})]},e)})})]})}function l({color:e,label:n,value:r}){return(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#8b9a9a"},children:[(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:e}}),(0,t.jsx)("b",{style:{color:"#e2e8f0"},children:r})," ",n]})}var c=e.i(64745),d=e.i(2776),u=e.i(15812),f=e.i(69083),g=e.i(22016);let h={1:"Observer",11:"Connector",31:"Networker",51:"Strategist",76:"Architect"};function p(){let{userId:e,userName:i,userProfile:o}=(0,u.useUser)(),a=o||{name:i||"User",headline:"",sectors:[],goals:[]},[l,d]=(0,n.useState)(null),[p,m]=(0,n.useState)(!0),[b,x]=(0,n.useState)([]),[v,j]=(0,n.useState)({total:0,sent:0,accepted:0}),[S,k]=(0,n.useState)({degree1:[],degree2:[],skips:[]}),[w,C]=(0,n.useState)(null);if((0,n.useEffect)(()=>{!c.IS_DEMO&&e&&t();async function t(){fetch("/api/settings").then(e=>e.json().then(t=>e.ok&&t.settings?t:Promise.reject(Error(t.error)))).then(e=>C(e.settings.sectorFocus||{sectors:[],strength:"lean"})).catch(()=>C({failed:!0}));let t=await (0,r.loadNetwork)(e),n=t.degree1,i=t.degree2,o={S:0,A:0,B:0,C:0,D:0};n.forEach(e=>{o[e.tier]=(o[e.tier]||0)+1});let a={S:0,A:0,B:0,C:0,D:0};i.forEach(e=>{a[e.tier]=(a[e.tier]||0)+1});let s=[...new Set(i.map(e=>e.source_connection_id).filter(Boolean))].length,l=n.filter(e=>e.is_catalyst).length,c={};n.forEach(e=>{e.company&&(c[e.company]=(c[e.company]||0)+1)});let u=Object.entries(c).sort((e,t)=>t[1]-e[1]).slice(0,10),f=100*o.S+40*o.A+15*o.B+5*o.C+ +o.D+200*s+150*l+50*a.S+n.length,g=Math.floor(Math.sqrt(f/10)),h=g*g*10,p=(g+1)*(g+1)*10;d({d1Count:n.length,d2Count:i.length,tiers:o,d2Tiers:a,clusters:s,catalysts:l,networkPower:f,level:g,xpProgress:(f-h)/(p-h)*100,topCompanies:u,unlockedPaths:0}),fetch("/api/scraper").then(e=>e.json()).then(e=>k({degree1:n,degree2:i,skips:e.skips||[]})).catch(()=>k({degree1:n,degree2:i,skips:[]})),fetch(`/api/notifications?userId=${e}`).then(e=>e.json()).then(e=>x(e.notifications||[])).catch(()=>{}),fetch("/api/queue").then(e=>e.json()).then(e=>{let t=e.items||[];j({total:t.length,sent:t.filter(e=>"sent"===e.status).length,accepted:t.filter(e=>"accepted"===e.status).length})}).catch(()=>{}),m(!1)}},[e]),c.IS_DEMO)return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,t.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,t.jsx)(g.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"โ† Back to the network"})]});if(p)return(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading profile..."});let R={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},B=[{label:"First S-Tier",done:l.tiers.S>0,icon:"๐Ÿ‘‘"},{label:"100 Connections",done:l.d1Count>=100,icon:"๐Ÿ”—"},{label:"500 Connections",done:l.d1Count>=500,icon:"๐ŸŒ"},{label:"First Cluster",done:l.clusters>0,icon:"๐Ÿ”ญ"},{label:"10 Clusters",done:l.clusters>=10,icon:"๐Ÿฐ"},{label:"50 S-Tier",done:l.tiers.S>=50,icon:"๐Ÿ’Ž"},{label:"Catalyst Found",done:l.catalysts>0,icon:"โšก"},{label:"Level 25",done:l.level>=25,icon:"๐ŸŽฏ"},{label:"Level 50",done:l.level>=50,icon:"๐Ÿš€"},{label:"D2 S-Tier > 50",done:l.d2Tiers.S>=50,icon:"๐ŸŒŸ"}];return(0,t.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,t.jsxs)("header",{style:{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",gap:16},children:[(0,t.jsxs)(g.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"โ†"})," Back to Map"]}),(0,t.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Profile"})]}),(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"30px 20px"},children:(0,t.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:[(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:16,padding:32,marginBottom:24,border:"1px solid rgba(255,215,0,0.2)",textAlign:"center"},children:[(0,t.jsx)("div",{style:{width:100,height:100,borderRadius:"50%",margin:"0 auto 16px",background:"linear-gradient(135deg, #FFD700, #FF6B35)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:36,fontWeight:800,color:"#000",boxShadow:"0 0 30px rgba(255,215,0,0.3)"},children:l.level}),(0,t.jsx)("div",{style:{fontSize:24,fontWeight:700,marginBottom:4},children:a.name}),(0,t.jsx)("div",{style:{fontSize:14,color:"#888",marginBottom:4},children:a.headline}),(0,t.jsx)("div",{style:{display:"inline-block",padding:"4px 16px",borderRadius:20,background:"rgba(255,215,0,0.15)",border:"1px solid rgba(255,215,0,0.3)",color:"#FFD700",fontSize:13,fontWeight:700,marginBottom:16},children:function(e){let t="Observer";for(let[n,r]of Object.entries(h))e>=parseInt(n)&&(t=r);return t}(l.level)}),(0,t.jsxs)("div",{style:{maxWidth:300,margin:"0 auto"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#666",marginBottom:4},children:[(0,t.jsxs)("span",{children:["Level ",l.level]}),(0,t.jsxs)("span",{children:["Level ",l.level+1]})]}),(0,t.jsx)("div",{style:{height:8,background:"rgba(255,255,255,0.1)",borderRadius:4},children:(0,t.jsx)("div",{style:{height:"100%",width:`${Math.min(l.xpProgress,100)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",borderRadius:4,transition:"width 1s ease"}})}),(0,t.jsxs)("div",{style:{fontSize:10,color:"#888",marginTop:4},children:["Network Power: ",l.networkPower.toLocaleString()]})]})]}),(0,t.jsx)(s,{degree1:S.degree1,degree2:S.degree2,skips:S.skips}),(0,t.jsxs)("div",{style:{background:"rgba(255,107,53,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,107,53,0.2)"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#FF6B35"},children:"Queue Progress"}),(0,t.jsx)(g.default,{href:"/queue",style:{fontSize:11,color:"#FF6B35",textDecoration:"none",fontWeight:600},children:"View Queue โ†’"})]}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12},children:[(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#FFA500"},children:v.total}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888"},children:"In Queue"})]}),(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#3498DB"},children:v.sent}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Sent"})]}),(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#00ff88"},children:v.accepted}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Accepted"})]})]})]}),b.length>0&&(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Recent Activity (",b.filter(e=>!e.seen).length," new)"]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,maxHeight:200,overflowY:"auto"},children:b.slice(0,10).map(e=>(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",padding:"6px 8px",borderRadius:6,background:e.seen?"transparent":"rgba(255,215,0,0.05)",borderLeft:e.seen?"none":"2px solid #FFD700"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:e.icon||"๐Ÿ“Œ"}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,color:e.seen?"#888":"#fff"},children:e.title}),e.message&&(0,t.jsx)("div",{style:{fontSize:10,color:"#666"},children:e.message})]}),(0,t.jsx)("span",{style:{fontSize:9,color:"#555",flexShrink:0},children:new Date(e.created_at).toLocaleDateString()})]},e.id))})]}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12,marginBottom:24},children:[(0,t.jsx)(y,{label:"Connections",value:l.d1Count}),(0,t.jsx)(y,{label:"Degree-2 Reach",value:l.d2Count}),(0,t.jsx)(y,{label:"Clusters",value:l.clusters}),(0,t.jsx)(y,{label:"S-Tier",value:l.tiers.S,color:"#FFD700"}),(0,t.jsx)(y,{label:"A-Tier",value:l.tiers.A,color:"#9B59B6"}),(0,t.jsx)(y,{label:"Catalysts",value:l.catalysts,color:"#00ff88"})]}),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Tier Distribution"}),["S","A","B","C","D"].map(e=>{let n=l.tiers[e]||0,r=l.d1Count>0?n/l.d1Count*100:0;return(0,t.jsxs)("div",{style:{marginBottom:8},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,marginBottom:2},children:[(0,t.jsxs)("span",{style:{color:R[e],fontWeight:600},children:[e,"-Tier"]}),(0,t.jsxs)("span",{style:{color:"#888"},children:[n," (",r.toFixed(1),"%)"]})]}),(0,t.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.08)",borderRadius:3},children:(0,t.jsx)("div",{style:{height:"100%",width:`${r}%`,background:R[e],borderRadius:3}})})]},e)})]}),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Degree-2 Reach"}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FF6B35"},children:l.d2Count}),(0,t.jsx)("div",{style:{fontSize:11,color:"#888"},children:"People reachable via bridges"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FFD700"},children:l.d2Tiers.S}),(0,t.jsx)("div",{style:{fontSize:11,color:"#888"},children:"S-Tier degree-2"})]})]})]}),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Milestones (",B.filter(e=>e.done).length,"/",B.length,")"]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:B.map((e,n)=>(0,t.jsxs)("div",{style:{padding:"8px 10px",borderRadius:8,fontSize:12,background:e.done?"rgba(255,215,0,0.08)":"rgba(255,255,255,0.02)",border:`1px solid ${e.done?"rgba(255,215,0,0.2)":"rgba(255,255,255,0.05)"}`,color:e.done?"#FFD700":"#555",display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)("span",{style:{fontSize:16},children:e.done?e.icon:"๐Ÿ”’"}),(0,t.jsx)("span",{style:{fontWeight:e.done?600:400},children:e.label})]},n))})]}),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Top Companies in Your Network"}),l.topCompanies.map(([e,n],r)=>(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",borderBottom:r<l.topCompanies.length-1?"1px solid rgba(255,255,255,0.04)":"none",fontSize:12},children:[(0,t.jsx)("span",{children:e}),(0,t.jsx)("span",{style:{color:"#888"},children:n})]},r))]}),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,t.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0},children:"Your Sectors"}),(0,t.jsxs)(g.default,{href:"/settings#sector",style:{fontSize:11,color:"#3498DB",textDecoration:"none",fontWeight:600},children:[w?.sectors?.length?"Change":w&&!w.failed?"Pick in Settings":"Settings"," โ†’"]})]}),w?w.failed?(0,t.jsx)("div",{style:{fontSize:12,color:"#ff7676"},children:"Couldnโ€™t load your sectors. Reload this page, or open Settings to see them."}):w.sectors?.length?(0,t.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[w.sectors.map(e=>{let n=(0,f.sectorByKey)(e);return(0,t.jsx)("span",{style:{padding:"4px 12px",borderRadius:20,fontSize:11,fontWeight:600,background:`${n.color}26`,border:`1px solid ${n.color}66`,color:n.color},children:n.label},e)}),(0,t.jsxs)("span",{style:{fontSize:11,color:"#888"},children:["strong"===w.strength?"Strong":"Lean",": companies here count for more in your scores."]})]}):(0,t.jsx)("div",{style:{fontSize:12,color:"#888"},children:"None picked. Pick up to three in Settings and companies in them count for more in your scores."}):(0,t.jsx)("div",{style:{fontSize:12,color:"#888"},children:"Loadingโ€ฆ"})]})]})})]})}function y({label:e,value:n,color:r}){return(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:10,padding:"14px 12px",border:"1px solid rgba(255,255,255,0.08)",textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:r||"#fff"},children:n}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888",marginTop:2},children:e})]})}e.s(["default",0,function(){return(0,t.jsx)(d.default,{children:(0,t.jsx)(p,{})})}],99201)},89154,e=>{"use strict";var t=e.i(90179);function n(e){let n=(0,t.readTitle)(e);return{key:n.key,label:n.label,level:n.level}}function r(e){return(0,t.currentCompany)(e)}let i=[{key:"defense",label:"Government, Defense & Aerospace",color:"#7f8c8d",words:/\b(government|federal|state of|county|city of|defen[cs]e|army|navy|air force|marine corps|military|dod|nasa|aerospace|lockheed|northrop|boeing|raytheon|l3harris|leidos|blue origin|spacex|public sector)\b/i},{key:"finance",label:"Finance & Investing",color:"#2ecc71",words:/\b(bank|banking|capital|ventures?|vc|investments?|investor|fund|private equity|growth equity|asset management|wealth|trading|trader|hedge|crypto|blockchain|web3|defi|fintech|stripe|coinbase|blackrock|robinhood|goldman|morgan stanley|jpmorgan|chase|bny|mellon|wells fargo|citi|citigroup|capital one|fidelity|vanguard|schwab|visa|mastercard|amex|american express|paypal|insurance|accounting|cpa|financial)\b/i},{key:"health",label:"Healthcare & Biotech",color:"#e74c3c",words:/\b(health|healthcare|medical|medicine|hospital|clinic|pharma|pharmaceutical|biotech|nurse|nursing|physician|doctor|dental|therapy|therapist|wellness)\b/i},{key:"education",label:"Education",color:"#f1c40f",words:/\b(university|college|school|education|student|professor|teacher|academy|phd|faculty|alumni)\b/i},{key:"media",label:"Marketing & Media",color:"#e67e22",words:/\b(marketing|brand|branding|advertising|agency|media|content|social media|creative|creator|influencer|pr|public relations|communications|tiktok|pinterest|youtube|growth marketing)\b/i},{key:"entertainment",label:"Entertainment & Gaming",color:"#9b59b6",words:/\b(entertainment|film|movie|music|records|gaming|games?|esports|studio|studios|netflix|disney|spotify|hollywood|theater|theatre|sports)\b/i},{key:"tech",label:"Tech, Software & AI",color:"#3498db",words:/\b(software|saas|engineer|engineering|developer|tech|technology|technologies|ai|artificial intelligence|machine learning|ml|data|cloud|cyber|security|devops|product manager|google|microsoft|apple|meta|amazon|nvidia|openai|anthropic|palantir|salesforce|oracle|ibm|intel|app|apps|startup|platform|labs?)\b/i},{key:"consulting",label:"Consulting, Legal & Services",color:"#1abc9c",words:/\b(consulting|consultant|consultancy|deloitte|accenture|mckinsey|kpmg|pwc|ey|bain|bcg|legal|law|lawyer|attorney|paralegal|recruiting|recruiter|staffing|talent)\b/i},{key:"realestate",label:"Real Estate & Construction",color:"#d35400",words:/\b(real estate|realtor|realty|property|properties|construction|architecture|architect|mortgage|homes|housing|builders?)\b/i},{key:"consumer",label:"Retail, Consumer & Hospitality",color:"#ff79c6",words:/\b(retail|e-?commerce|shopify|consumer|cpg|fashion|apparel|beauty|cosmetics|food|beverage|restaurant|hospitality|hotel|travel|tourism|coca-cola|nike|store|shop)\b/i},{key:"industry",label:"Manufacturing, Energy & Logistics",color:"#95a5a6",words:/\b(manufacturing|energy|oil|gas|solar|utilities|automotive|tesla|siemens|ge|general electric|honeywell|3m|logistics|supply chain|shipping|freight|fedex|ups|industrial|mining|chemicals?)\b/i},{key:"nonprofit",label:"Nonprofit & Community",color:"#bdc3c7",words:/\b(nonprofit|non-profit|foundation|charity|ngo|church|ministry|volunteer)\b/i}],o={key:"unknown",label:"Unclear",color:"#555c66"},a=Object.fromEntries([...i,o].map(e=>[e.key,e])),s=e=>a[e]||o;function l(e,t){for(let n of[e,t]){if(!n)continue;let e=i.find(e=>e.words.test(n));if(e)return e}return o}let c=(e,t)=>l(e,t).key,d=e=>n(e).level>=4;e.s(["INDUSTRIES",0,i,"UNKNOWN_INDUSTRY",0,o,"buildCompanyIndex",0,function(e=[]){let n=new Map,r=e=>(n.has(e)||n.set(e,(0,t.rolesWithCompanies)(e)),n.get(e)),{industries:i}=(0,t.networkCompanies)(e,{industryOf:c,rolesOf:r}),o=new Map;for(let t of e){let e=t.profile_url||`id:${t.id}`,n=o.get(e);(!n||(t.degree||9)<(n.degree||9))&&o.set(e,t)}let a=new Map;for(let e of o.values()){let t=r(e).find(e=>!e.former)?.company;if(!t)continue;let n=a.get(t);n||(n={name:t,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},a.set(t,n)),n.people.push(e),1===e.degree?n.d1++:2===e.degree?n.d2++:n.d3++,"S"===e.tier&&n.S++,"A"===e.tier&&n.A++,d(e.headline)&&n.senior++}for(let e of a.values())e.industry=s(i.get(e.name));return a},"companyLinks",0,function(e=[],t=[]){let n=new Map;for(let t of e){let e=r(t);e&&n.set(t.id,e)}let i=new Map;for(let e of t){let t=n.get(e.source_connection_id),o=r(e);if(!t||!o||t===o)continue;let[a,s]=t<o?[t,o]:[o,t],l=`${a}\u0000${s}`,c=i.get(l);c||(c={a:a,b:s,weight:0,via:new Set},i.set(l,c)),c.weight++,c.via.add(e.source_connection_id)}return[...i.values()]},"companyOf",0,r,"getSeniority",0,n,"industryByKey",0,s,"industryOf",0,l,"isSenior",0,d,"waysInto",0,function(e,t=[],n=[]){let i=t.filter(t=>r(t)===e),o=new Map;for(let t of n)r(t)===e&&o.set(t.source_connection_id,(o.get(t.source_connection_id)||0)+1);let a=new Map(t.map(e=>[e.id,e]));return{direct:i,bridges:[...o.entries()].map(([e,t])=>({bridge:a.get(e),n:t})).filter(e=>e.bridge).sort((e,t)=>t.n-e.n||(Number(t.bridge.power_score)||0)-(Number(e.bridge.power_score)||0))}}])},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",n=await fetch(t);if(!n.ok)throw Error(`Failed to load network (${n.status})`);let r=await n.json();return{degree1:r.degree1||[],degree2:r.degree2||[],degree3:r.degree3||[]}}e.s(["loadNetwork",0,t])},69083,e=>{"use strict";var t=e.i(89154);let n=new Map(t.INDUSTRIES.map(e=>[e.key,e.color])),r=new Map([...t.INDUSTRIES.map(e=>[e.key,Object.freeze({key:e.key,label:e.label,color:e.color,group:e.key,kind:"industry"})]),...Object.entries({software:["Software & SaaS","tech","function"],"ai-data":["AI & Data","tech","function"],cybersecurity:["Cybersecurity","tech","function"],telecom:["Telecom","tech","industry"],fintech:["Fintech & Payments","finance","industry"],banking:["Banking & Lending","finance","industry"],"vc-pe":["Venture Capital & Private Equity","finance","industry"],wealth:["Wealth & Asset Management","finance","industry"],insurance:["Insurance","finance","industry"],accounting:["Accounting & Tax","finance","function"],crypto:["Crypto & Web3","finance","industry"],hospitals:["Hospitals & Clinics","health","industry"],dental:["Dental","health","industry"],"pharma-biotech":["Pharma & Biotech","health","industry"],"medical-devices":["Medical Devices","health","industry"],"mental-health":["Mental Health","health","industry"],"fitness-wellness":["Fitness & Wellness","health","industry"],veterinary:["Veterinary & Animal Care","health","industry"],k12:["K-12 Education","education","industry"],"higher-ed":["Higher Education","education","industry"],"marketing-advertising":["Marketing & Advertising","media","function"],"pr-comms":["PR & Communications","media","function"],"media-publishing":["Media & Publishing","media","industry"],"creator-economy":["Creator Economy","media","industry"],"film-tv-music":["Film, TV & Music","entertainment","industry"],"gaming-esports":["Gaming & Esports","entertainment","industry"],sports:["Sports","entertainment","industry"],"ecommerce-retail":["E-commerce & Retail","consumer","industry"],"consumer-goods":["Consumer Goods","consumer","industry"],restaurants:["Restaurants & Food Service","consumer","industry"],"hospitality-travel":["Hospitality & Travel","consumer","industry"],"beauty-personal-care":["Beauty & Personal Care","consumer","industry"],logistics:["Logistics & Supply Chain","industry","industry"],manufacturing:["Manufacturing","industry","industry"],energy:["Energy & Utilities","industry","industry"],automotive:["Automotive","industry","industry"],agriculture:["Agriculture & Farming","industry","industry"],"aerospace-defense":["Aerospace & Defense","defense","industry"],military:["Military","defense","industry"],government:["Government & Public Sector","defense","industry"],legal:["Legal","consulting","function"],"management-consulting":["Management Consulting","consulting","function"],"hr-recruiting":["HR & Recruiting","consulting","function"],"security-services":["Security Services","consulting","function"],"real-estate":["Real Estate","realestate","industry"],"construction-trades":["Construction & Trades","realestate","industry"],charities:["Nonprofits & Charities","nonprofit","industry"],"social-work":["Social Work & Human Services","nonprofit","industry"],faith:["Faith & Ministry","nonprofit","industry"]}).map(([e,[r,i,o]])=>[e,Object.freeze({key:e,label:r,color:n.get(i)||t.UNKNOWN_INDUSTRY.color,group:i,kind:o})])]);e.s(["sectorByKey",0,function(e){return r.get(e)||{key:e,label:t.UNKNOWN_INDUSTRY.label,color:t.UNKNOWN_INDUSTRY.color,group:null,kind:null}}])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return m},useLinkStatus:function(){return x}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let o=e.r(90809),a=e.r(43476),s=o._(e.r(71645)),l=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),f=e.r(5550),g=e.r(88540),h=e.r(91949),p=e.r(73668),y=e.r(9396);function m(t){var n;let r,i,o,[m,x]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),v=(0,s.useRef)(null),{href:j,as:S,children:k,prefetch:w=null,passHref:C,replace:R,shallow:B,scroll:T,onClick:D,onMouseEnter:_,onTouchStart:E,legacyBehavior:I=!1,onNavigate:A,transitionTypes:F,ref:z,unstable_dynamicOnHover:P,...O}=t;r=k,I&&("string"==typeof r||"number"==typeof r)&&(r=(0,a.jsx)("a",{children:r}));let N=s.default.useContext(c.AppRouterContext),M=!1!==w,W=!1===w?"none":!0===w?"full":"auto",L="none"!==W?"auto"===W?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,U="string"==typeof(n=S||j)?n:(0,l.formatUrl)(n);if(I){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(r)}let $=I?i&&"object"==typeof i&&i.ref:z,K,H=s.default.useCallback(e=>(null!==N&&(v.current=(0,h.mountLinkInstance)(e,U,N,L,M,x,K)),()=>{v.current&&((0,h.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,h.unmountPrefetchableInstance)(e)}),[M,U,N,L,x,K]),q={ref:(0,d.useMergedRef)(H,$),onClick(t){I||"function"!=typeof D||D(t),I&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!N||t.defaultPrevented||function(t,n,r,i,o,a,l,c="none"){if("u">typeof window){let d,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(n)){i&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);s.default.startTransition(()=>{f(n,i?"replace":"push",!1===o?g.ScrollBehavior.NoScroll:g.ScrollBehavior.Default,r.current,l,c)})}}(t,U,v,R,T,A,F,W)},onMouseEnter(e){I||"function"!=typeof _||_(e),I&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),N&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===P)},onTouchStart:function(e){I||"function"!=typeof E||E(e),I&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),N&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===P)}};return(0,u.isAbsoluteUrl)(U)?q.href=U:I&&!C&&("a"!==i.type||"href"in i.props)||(q.href=(0,f.addBasePath)(U)),o=I?s.default.cloneElement(i,q):(0,a.jsx)("a",{...O,...q,children:r}),(0,a.jsx)(b.Provider,{value:m,children:o})}let b=(0,s.createContext)(h.IDLE_LINK_STATUS),x=()=>(0,s.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return i}});let r=e.r(71645);function i(e,t){let n=(0,r.useRef)(null),i=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(n.current=o(e,r)),t&&(i.current=o(t,r))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return x},SP:function(){return p},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return a},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return g},stringifyError:function(){return S}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function g(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let p="u">typeof performance,y=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return o}});let r=e.r(18967),i=e.r(52817);function o(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,i.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});function o(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,a(e));else t.set(n,a(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return s},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let o=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:n}=e,r=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||a.test(r))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),s&&"#"!==s[0]&&(s="#"+s),d&&"?"!==d[0]&&(d="?"+d),i=i.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${r}${c}${i}${d}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return s(e)}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:o}=(0,r.useUser)();return o&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Canโ€™t reach 6 Degreesโ€™ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loadingโ€ฆ"})})}])},89154,e=>{"use strict";var t=e.i(90179);function r(e){let r=(0,t.readTitle)(e);return{key:r.key,label:r.label,level:r.level}}function n(e){return(0,t.currentCompany)(e)}let o=[{key:"defense",label:"Government, Defense & Aerospace",color:"#7f8c8d",words:/\b(government|federal|state of|county|city of|defen[cs]e|army|navy|air force|marine corps|military|dod|nasa|aerospace|lockheed|northrop|boeing|raytheon|l3harris|leidos|blue origin|spacex|public sector)\b/i},{key:"finance",label:"Finance & Investing",color:"#2ecc71",words:/\b(bank|banking|capital|ventures?|vc|investments?|investor|fund|private equity|growth equity|asset management|wealth|trading|trader|hedge|crypto|blockchain|web3|defi|fintech|stripe|coinbase|blackrock|robinhood|goldman|morgan stanley|jpmorgan|chase|bny|mellon|wells fargo|citi|citigroup|capital one|fidelity|vanguard|schwab|visa|mastercard|amex|american express|paypal|insurance|accounting|cpa|financial)\b/i},{key:"health",label:"Healthcare & Biotech",color:"#e74c3c",words:/\b(health|healthcare|medical|medicine|hospital|clinic|pharma|pharmaceutical|biotech|nurse|nursing|physician|doctor|dental|therapy|therapist|wellness)\b/i},{key:"education",label:"Education",color:"#f1c40f",words:/\b(university|college|school|education|student|professor|teacher|academy|phd|faculty|alumni)\b/i},{key:"media",label:"Marketing & Media",color:"#e67e22",words:/\b(marketing|brand|branding|advertising|agency|media|content|social media|creative|creator|influencer|pr|public relations|communications|tiktok|pinterest|youtube|growth marketing)\b/i},{key:"entertainment",label:"Entertainment & Gaming",color:"#9b59b6",words:/\b(entertainment|film|movie|music|records|gaming|games?|esports|studio|studios|netflix|disney|spotify|hollywood|theater|theatre|sports)\b/i},{key:"tech",label:"Tech, Software & AI",color:"#3498db",words:/\b(software|saas|engineer|engineering|developer|tech|technology|technologies|ai|artificial intelligence|machine learning|ml|data|cloud|cyber|security|devops|product manager|google|microsoft|apple|meta|amazon|nvidia|openai|anthropic|palantir|salesforce|oracle|ibm|intel|app|apps|startup|platform|labs?)\b/i},{key:"consulting",label:"Consulting, Legal & Services",color:"#1abc9c",words:/\b(consulting|consultant|consultancy|deloitte|accenture|mckinsey|kpmg|pwc|ey|bain|bcg|legal|law|lawyer|attorney|paralegal|recruiting|recruiter|staffing|talent)\b/i},{key:"realestate",label:"Real Estate & Construction",color:"#d35400",words:/\b(real estate|realtor|realty|property|properties|construction|architecture|architect|mortgage|homes|housing|builders?)\b/i},{key:"consumer",label:"Retail, Consumer & Hospitality",color:"#ff79c6",words:/\b(retail|e-?commerce|shopify|consumer|cpg|fashion|apparel|beauty|cosmetics|food|beverage|restaurant|hospitality|hotel|travel|tourism|coca-cola|nike|store|shop)\b/i},{key:"industry",label:"Manufacturing, Energy & Logistics",color:"#95a5a6",words:/\b(manufacturing|energy|oil|gas|solar|utilities|automotive|tesla|siemens|ge|general electric|honeywell|3m|logistics|supply chain|shipping|freight|fedex|ups|industrial|mining|chemicals?)\b/i},{key:"nonprofit",label:"Nonprofit & Community",color:"#bdc3c7",words:/\b(nonprofit|non-profit|foundation|charity|ngo|church|ministry|volunteer)\b/i}],i={key:"unknown",label:"Unclear",color:"#555c66"},a=Object.fromEntries([...o,i].map(e=>[e.key,e])),l=e=>a[e]||i;function s(e,t){for(let r of[e,t]){if(!r)continue;let e=o.find(e=>e.words.test(r));if(e)return e}return i}let c=(e,t)=>s(e,t).key,u=e=>r(e).level>=4;e.s(["INDUSTRIES",0,o,"UNKNOWN_INDUSTRY",0,i,"buildCompanyIndex",0,function(e=[]){let r=new Map,n=e=>(r.has(e)||r.set(e,(0,t.rolesWithCompanies)(e)),r.get(e)),{industries:o}=(0,t.networkCompanies)(e,{industryOf:c,rolesOf:n}),i=new Map;for(let t of e){let e=t.profile_url||`id:${t.id}`,r=i.get(e);(!r||(t.degree||9)<(r.degree||9))&&i.set(e,t)}let a=new Map;for(let e of i.values()){let t=n(e).find(e=>!e.former)?.company;if(!t)continue;let r=a.get(t);r||(r={name:t,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},a.set(t,r)),r.people.push(e),1===e.degree?r.d1++:2===e.degree?r.d2++:r.d3++,"S"===e.tier&&r.S++,"A"===e.tier&&r.A++,u(e.headline)&&r.senior++}for(let e of a.values())e.industry=l(o.get(e.name));return a},"companyLinks",0,function(e=[],t=[]){let r=new Map;for(let t of e){let e=n(t);e&&r.set(t.id,e)}let o=new Map;for(let e of t){let t=r.get(e.source_connection_id),i=n(e);if(!t||!i||t===i)continue;let[a,l]=t<i?[t,i]:[i,t],s=`${a}\u0000${l}`,c=o.get(s);c||(c={a:a,b:l,weight:0,via:new Set},o.set(s,c)),c.weight++,c.via.add(e.source_connection_id)}return[...o.values()]},"companyOf",0,n,"getSeniority",0,r,"industryByKey",0,l,"industryOf",0,s,"isSenior",0,u,"waysInto",0,function(e,t=[],r=[]){let o=t.filter(t=>n(t)===e),i=new Map;for(let t of r)n(t)===e&&i.set(t.source_connection_id,(i.get(t.source_connection_id)||0)+1);let a=new Map(t.map(e=>[e.id,e]));return{direct:o,bridges:[...i.entries()].map(([e,t])=>({bridge:a.get(e),n:t})).filter(e=>e.bridge).sort((e,t)=>t.n-e.n||(Number(t.bridge.power_score)||0)-(Number(e.bridge.power_score)||0))}}])},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",r=await fetch(t);if(!r.ok)throw Error(`Failed to load network (${r.status})`);let n=await r.json();return{degree1:n.degree1||[],degree2:n.degree2||[],degree3:n.degree3||[]}}e.s(["loadNetwork",0,t])},40996,e=>{"use strict";async function t(){let e=await fetch("/api/scraper");if(!e.ok)throw Error("Could not reach the app.");return e.json()}async function r(e,t,n={}){let o=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,...t?{name:t}:{},...n})}),i=await o.json().catch(()=>({}));if(!o.ok)throw Error(i.error||"Could not start the scanner.");return i}async function n(){await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})})}e.s(["notReadyMessage",0,function(e){if(!e)return"Could not reach the app.";let t=e.checks||{};return t.scriptsFound?t.dependencies?t.chrome?null:"Google Chrome is not installed.":t.python||t.download?"The scanner is not set up yet โ€” open Scan to set it up.":"No Python 3.10 to 3.14 is installed on this machine.":"The scanner files are missing from this install."},"runScrape",0,function(e,{name:n,onLog:o,...i}={}){return new Promise((a,l)=>{r(e,n,i).then(()=>{let e=setInterval(async()=>{try{let r=await t();o?.(r.log||[]),r.running||(clearInterval(e),a(r))}catch{}},1500)}).catch(l)})},"scraperStatus",0,t,"startScrape",0,r,"stopScrape",0,n])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),a=e.r(43476),l=i._(e.r(71645)),s=e.r(95057),c=e.r(8372),u=e.r(18581),f=e.r(18967),d=e.r(5550),p=e.r(88540),h=e.r(91949),g=e.r(73668),y=e.r(9396);function m(t){var r;let n,o,i,[m,v]=(0,l.useOptimistic)(h.IDLE_LINK_STATUS),w=(0,l.useRef)(null),{href:k,as:S,children:_,prefetch:P=null,passHref:C,replace:E,shallow:j,scroll:O,onClick:T,onMouseEnter:N,onTouchStart:x,legacyBehavior:R=!1,onNavigate:I,transitionTypes:M,ref:A,unstable_dynamicOnHover:U,...L}=t;n=_,R&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let $=l.default.useContext(c.AppRouterContext),F=!1!==P,B=!1===P?"none":!0===P?"full":"auto",D="none"!==B?"auto"===B?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,K="string"==typeof(r=S||k)?r:(0,s.formatUrl)(r);if(R){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=l.default.Children.only(n)}let z=R?o&&"object"==typeof o&&o.ref:A,W,q=l.default.useCallback(e=>(null!==$&&(w.current=(0,h.mountLinkInstance)(e,K,$,D,F,v,W)),()=>{w.current&&((0,h.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,K,$,D,v,W]),G={ref:(0,u.useMergedRef)(q,z),onClick(t){R||"function"!=typeof T||T(t),R&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!$||t.defaultPrevented||function(t,r,n,o,i,a,s,c="none"){if("u">typeof window){let u,{nodeName:f}=t.currentTarget;if("A"===f.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);l.default.startTransition(()=>{d(r,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,s,c)})}}(t,K,w,E,O,I,M,B)},onMouseEnter(e){R||"function"!=typeof N||N(e),R&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),$&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){R||"function"!=typeof x||x(e),R&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),$&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,f.isAbsoluteUrl)(K)?G.href=K:R&&!C&&("a"!==o.type||"href"in o.props)||(G.href=(0,d.addBasePath)(K)),i=R?l.default.cloneElement(o,G):(0,a.jsx)("a",{...L,...G,children:n}),(0,a.jsx)(b.Provider,{value:m,children:i})}let b=(0,l.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return f},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return S}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&l.test(e)};function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,y=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),o=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",l=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(i.urlQueryToSearchParams(s)));let u=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==c?(c="//"+(c||""),o&&"/"!==o[0]&&(o="/"+o)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),o=o.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${o}${u}${l}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}}]);