handmux 0.32.1 → 0.33.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 (73) hide show
  1. package/dist/bin/handmux.js +2 -0
  2. package/dist/build-meta.json +5 -0
  3. package/dist/package.json +7 -7
  4. package/dist/public/assets/{abnfDiagram-O67JEVCF-BR1eeLf3.js → abnfDiagram-O67JEVCF-D1FBJlXT.js} +1 -1
  5. package/dist/public/assets/{arc-Cd58OOkg.js → arc-B31VKfrO.js} +1 -1
  6. package/dist/public/assets/{architectureDiagram-NJMV4G6O-C6BHL9rq.js → architectureDiagram-NJMV4G6O-Cajbe6WC.js} +1 -1
  7. package/dist/public/assets/{blockDiagram-BEXU5L5S-CjLESFlx.js → blockDiagram-BEXU5L5S-9W5MsDIf.js} +1 -1
  8. package/dist/public/assets/{c4Diagram-YGBWAQC7-8jAxXe29.js → c4Diagram-YGBWAQC7-R23e6gQl.js} +1 -1
  9. package/dist/public/assets/channel-DrikeCCA.js +1 -0
  10. package/dist/public/assets/{chunk-2Q5K7J3B-CYtARqEs.js → chunk-2Q5K7J3B-D0jjnOlI.js} +1 -1
  11. package/dist/public/assets/{chunk-3FUC2YCW-DaLgcVqW.js → chunk-3FUC2YCW-CcT6Lj9R.js} +2 -2
  12. package/dist/public/assets/{chunk-5VM5RSS4-jNA5b8CJ.js → chunk-5VM5RSS4-aEKby37n.js} +1 -1
  13. package/dist/public/assets/{chunk-GTNCS2PH-am0SVeIp.js → chunk-GTNCS2PH-BwQbyPSe.js} +1 -1
  14. package/dist/public/assets/{chunk-GWA4HPMP-DKFEXs2N.js → chunk-GWA4HPMP-D1RHgBIt.js} +1 -1
  15. package/dist/public/assets/{chunk-JWPE2WC7-BixFujYe.js → chunk-JWPE2WC7-E4Xg-_nO.js} +1 -1
  16. package/dist/public/assets/{chunk-NETBCI7D-6tqmsyIF.js → chunk-NETBCI7D-BU86bdoG.js} +1 -1
  17. package/dist/public/assets/{chunk-WEXAMYUT-Dk7hsSTV.js → chunk-WEXAMYUT-B4nx3TA-.js} +1 -1
  18. package/dist/public/assets/{chunk-XXDRQBXY-DUn-Susr.js → chunk-XXDRQBXY-mIUW9xrL.js} +1 -1
  19. package/dist/public/assets/{classDiagram-v2-NBCMYWYE-DYErAuKI.js → classDiagram-v2-NBCMYWYE-BbSHhQ-S.js} +1 -1
  20. package/dist/public/assets/{cose-bilkent-JH36ORCC-CtDNSyRW.js → cose-bilkent-JH36ORCC-D70i98SS.js} +1 -1
  21. package/dist/public/assets/{cynefin-OW5HDTMX-DUGQ5PFS.js → cynefin-OW5HDTMX-gYo210Yx.js} +1 -1
  22. package/dist/public/assets/{cynefinDiagram-VND7K2PF-fk6pZSmY.js → cynefinDiagram-VND7K2PF-Cg-FL1Nq.js} +1 -1
  23. package/dist/public/assets/{dagre-6A5THRUB-BRbwyIZ2.js → dagre-6A5THRUB-Acot4_03.js} +1 -1
  24. package/dist/public/assets/{diagram-22UHCM2B-CPpRCHxE.js → diagram-22UHCM2B-BxRx_05F.js} +1 -1
  25. package/dist/public/assets/{diagram-3UASUU5V-BmscSGEW.js → diagram-3UASUU5V-Cxp1isMQ.js} +1 -1
  26. package/dist/public/assets/{diagram-ATOU4E4O-CbZ6pI2e.js → diagram-ATOU4E4O-CByw5y_5.js} +1 -1
  27. package/dist/public/assets/{diagram-CDSNMT55-62YnqcE_.js → diagram-CDSNMT55-_HVlHueG.js} +1 -1
  28. package/dist/public/assets/{diagram-MLGK6HIB-B1YjkGzs.js → diagram-MLGK6HIB-CO8yOxY-.js} +1 -1
  29. package/dist/public/assets/{diagram-MPIPVDR6-BHcrolsX.js → diagram-MPIPVDR6-CLu_Y6iM.js} +1 -1
  30. package/dist/public/assets/{ebnfDiagram-ZINNZB2B-CiQhvnay.js → ebnfDiagram-ZINNZB2B-DYxBxRzD.js} +1 -1
  31. package/dist/public/assets/{elk-276RUBZZ-C6V2DMRk.js → elk-276RUBZZ-CKffaWbm.js} +1 -1
  32. package/dist/public/assets/{erDiagram-OPXOYQCR-3XDAc19-.js → erDiagram-OPXOYQCR-DTXcScrg.js} +1 -1
  33. package/dist/public/assets/{flowDiagram-KWPJA3E3-B1pYtLHV.js → flowDiagram-KWPJA3E3-DNYdzimc.js} +1 -1
  34. package/dist/public/assets/{ganttDiagram-FUAMR5RP-Crw0GNBd.js → ganttDiagram-FUAMR5RP-DcJpZsai.js} +1 -1
  35. package/dist/public/assets/{gitGraphDiagram-X574FWY7-Dhtwc3J1.js → gitGraphDiagram-X574FWY7-TA1dLaL1.js} +1 -1
  36. package/dist/public/assets/index-BTyeMLLx.css +32 -0
  37. package/dist/public/assets/index-Bm_Lp7WV.js +203 -0
  38. package/dist/public/assets/{infoDiagram-VRGFBTTK-DGZXRxs7.js → infoDiagram-VRGFBTTK-DDlB-vT4.js} +1 -1
  39. package/dist/public/assets/{ishikawaDiagram-OU5B5YK6-CE7_WBbq.js → ishikawaDiagram-OU5B5YK6-B9TSWMH9.js} +1 -1
  40. package/dist/public/assets/{journeyDiagram-ZHPQQLJL-DBwtFHs6.js → journeyDiagram-ZHPQQLJL-D0w_wLlX.js} +1 -1
  41. package/dist/public/assets/{kanban-definition-PNTS6WVX-CIVjxu98.js → kanban-definition-PNTS6WVX-IaBp06g0.js} +1 -1
  42. package/dist/public/assets/{linear-xkHqqKR9.js → linear-aH2ZZaVY.js} +1 -1
  43. package/dist/public/assets/{mermaid.core-zckvkoNk.js → mermaid.core-7Q2-CZFE.js} +4 -4
  44. package/dist/public/assets/{mindmap-definition-NLK3R4M7-BhtT3Ov5.js → mindmap-definition-NLK3R4M7-BS-ON3ct.js} +1 -1
  45. package/dist/public/assets/{pegDiagram-GJSIUBJH-B_cQ_Jl7.js → pegDiagram-GJSIUBJH-BX2OWloP.js} +1 -1
  46. package/dist/public/assets/{pieDiagram-5QR66LMP-CmSvzsFO.js → pieDiagram-5QR66LMP-BDFAY3lV.js} +1 -1
  47. package/dist/public/assets/{quadrantDiagram-O4NWA36T-CrQjCy1U.js → quadrantDiagram-O4NWA36T-iSKiJUTP.js} +1 -1
  48. package/dist/public/assets/{railroadDiagram-XR7U4H2S-C1acbwaj.js → railroadDiagram-XR7U4H2S-CcfiaJ4c.js} +1 -1
  49. package/dist/public/assets/{requirementDiagram-PLB6GJNP-GwmxQusX.js → requirementDiagram-PLB6GJNP-BDNt28zr.js} +1 -1
  50. package/dist/public/assets/{sankeyDiagram-IPEJSGJF-BQHO_DfU.js → sankeyDiagram-IPEJSGJF-DSEoaolq.js} +1 -1
  51. package/dist/public/assets/{sequenceDiagram-PO4LG4MO-Bkan0EwC.js → sequenceDiagram-PO4LG4MO-BrXi64vQ.js} +1 -1
  52. package/dist/public/assets/{sizeCapture-INFHLROL-Du_6xEkB.js → sizeCapture-INFHLROL-BuOjAd6_.js} +1 -1
  53. package/dist/public/assets/{stateDiagram-v2-GCMORJYK-oZ0rlPlh.js → stateDiagram-v2-GCMORJYK-CDPnTkvE.js} +1 -1
  54. package/dist/public/assets/{swimlanes-2SLR337P-CSle5a30.js → swimlanes-2SLR337P-CA2-F_Hl.js} +1 -1
  55. package/dist/public/assets/swimlanesDiagram-TC7HE7FX-DCUWlMJI.js +8 -0
  56. package/dist/public/assets/{timeline-definition-EJHVYXUP-CuVp2Rec.js → timeline-definition-EJHVYXUP-Bl6BGx-J.js} +1 -1
  57. package/dist/public/assets/{usecaseDiagram-POWQR4AR-CyVcc5iP.js → usecaseDiagram-POWQR4AR-KnKhSPxM.js} +1 -1
  58. package/dist/public/assets/{vennDiagram-UO4OBE2U-Ct6hsuIA.js → vennDiagram-UO4OBE2U-BS1_tiy2.js} +1 -1
  59. package/dist/public/assets/{wardleyDiagram-VNRHLVJA-p2E1ZN7S.js → wardleyDiagram-VNRHLVJA-YetgpezU.js} +1 -1
  60. package/dist/public/assets/{xychartDiagram-PMCCYNJV-CEvDgoje.js → xychartDiagram-PMCCYNJV-pHr_j7EQ.js} +1 -1
  61. package/dist/public/index.html +2 -2
  62. package/dist/src/agents/claudeNativeTail.js +7 -2
  63. package/dist/src/cli/i18n/en.js +1 -0
  64. package/dist/src/cli/i18n/zh.js +1 -0
  65. package/dist/src/httpApi.js +6 -0
  66. package/dist/src/routes/system.js +4 -18
  67. package/dist/src/server.js +4 -1
  68. package/dist/src/version.js +26 -0
  69. package/package.json +3 -3
  70. package/dist/public/assets/channel-D_ZJSyQy.js +0 -1
  71. package/dist/public/assets/index-DQER7DJq.css +0 -32
  72. package/dist/public/assets/index-DuNjw_qc.js +0 -203
  73. package/dist/public/assets/swimlanesDiagram-TC7HE7FX-D5IVJXhw.js +0 -8
@@ -42,6 +42,7 @@ import { claudeUsagePath } from '../src/usagePaths.js';
42
42
  import { probe } from '../src/cli/probe.js';
43
43
  import { notifyUpdate, runUpdateCheck, isBrewInstall, PKG_NAME } from '../src/cli/updateCheck.js';
44
44
  import { t, initLocale } from '../src/cli/i18n/index.js';
45
+ import { SERVER_VERSION } from '../src/version.js';
45
46
  import { runPush } from '../src/cli/pushCmd.js';
46
47
  import { runAuthCommand } from '../src/cli/authCmd.js';
47
48
  import { runWorkspaceCommand } from '../src/cli/workspaceCmd.js';
@@ -968,6 +969,7 @@ async function printAccess(st) {
968
969
  const scan = bareUrl(publicUrl);
969
970
  console.log('');
970
971
  console.log(t('access.tunnel', { tunnel: st.tunnel, pid: st.supervisorPid }));
972
+ console.log(t('access.version', { version: SERVER_VERSION ?? currentVersion() }));
971
973
  console.log(t('access.open', { url: scan || t('access.pending') }));
972
974
  if (st.tunnel === 'none' && st.lanUrl)
973
975
  console.log(t('access.lan', { url: bareUrl(st.lanUrl) }));
@@ -0,0 +1,5 @@
1
+ {
2
+ "version": "0.33.0",
3
+ "buildId": "8a5014c01da3",
4
+ "sourceHash": "sha256:5caa907859c98eaf76b0d5643aea676a284ef85702b9cbe5cc7c28269e77bab4"
5
+ }
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "handmux",
3
- "version": "0.32.1",
3
+ "version": "0.33.0",
4
4
  "description": "A mobile vibe-coding cockpit — built on tmux: drive your live session, Claude Code / Codex — anything a terminal can run — from your phone.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -75,6 +75,12 @@
75
75
  "vitest": "^2.0.0"
76
76
  },
77
77
  "whatsNew": [
78
+ {
79
+ "version": "0.33.0",
80
+ "date": "2026-09-30",
81
+ "zh": "终端路径高亮不再闪烁 · 服务更新提示更可靠",
82
+ "en": "Steady terminal paths · reliable service update prompts"
83
+ },
78
84
  {
79
85
  "version": "0.32.1",
80
86
  "date": "2026-09-28",
@@ -116,12 +122,6 @@
116
122
  "date": "2026-09-18",
117
123
  "zh": "修复 Claude 对话入口丢失 · 长时间运行不再变卡",
118
124
  "en": "Fix lost Claude chat entries · no slowdown after long runs"
119
- },
120
- {
121
- "version": "0.29.0",
122
- "date": "2026-09-16",
123
- "zh": "可信设备与可信地址保护",
124
- "en": "Trusted device and address protection"
125
125
  }
126
126
  ]
127
127
  }
@@ -1 +1 @@
1
- import{g as p,r as u,d as n}from"./chunk-GTNCS2PH-am0SVeIp.js";import{p as f}from"./chunk-JWPE2WC7-BixFujYe.js";import{c as a,aH as o}from"./mermaid.core-zckvkoNk.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-DUGQ5PFS.js";import"./index-DuNjw_qc.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as n}from"./chunk-GTNCS2PH-BwQbyPSe.js";import{p as f}from"./chunk-JWPE2WC7-E4Xg-_nO.js";import{c as a,aH as o}from"./mermaid.core-7Q2-CZFE.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-gYo210Yx.js";import"./index-Bm_Lp7WV.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{bx as ln,aW as an,I as z,bi as w,G as N,af as un,W as y,bo as on,bj as F,aP as _,d as rn,n as t,aN as tn,k as sn,e as fn}from"./mermaid.core-zckvkoNk.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,I,v,A,O,a){var q=j-l,i=I-h,n=O-v,d=a-A,u=d*q-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function Q(l,h,j,I,v,A,O){var a=l-j,q=h-I,i=(O?A:-A)/F(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=I+d,S=(u+f)/2,o=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,D=(g<0?-1:1)*F(tn(0,T*T*R-P*P)),E=(P*g-m*D)/R,G=(-P*m-g*D)/R,b=(P*g+m*D)/R,p=(-P*m+g*D)/R,x=E-S,e=G-o,r=b-S,k=p-o;return x*x+e*e>r*r+k*k&&(E=b,G=p),{cx:E,cy:G,x01:-n,y01:-d,x11:E*(v/T-1),y11:G*(v/T-1)}}function hn(){var l=cn,h=yn,j=N(0),I=null,v=gn,A=dn,O=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),o=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(S>on-y)a.moveTo(s*z(f),s*w(f)),a.arc(0,0,s,f,c,!o),u>y&&(a.moveTo(u*z(c),u*w(c)),a.arc(0,0,u,c,f,o));else{var m=f,g=c,R=f,T=c,P=S,D=S,E=O.apply(this,arguments)/2,G=E>y&&(I?+I.apply(this,arguments):F(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(G>y){var k=sn(G/u*w(E)),H=sn(G/s*w(E));(P-=k*2)>y?(k*=o?1:-1,R+=k,T-=k):(P=0,R=T=(f+c)/2),(D-=H*2)>y?(H*=o?1:-1,m+=H,g-=H):(D=0,m=g=(f+c)/2)}var B=s*z(m),C=s*w(m),J=u*z(T),K=u*w(T);if(b>y){var L=s*z(g),M=s*w(g),U=u*z(R),V=u*w(R),W;if(S<an)if(W=pn(B,C,U,V,L,M,J,K)){var X=B-W[0],Y=C-W[1],Z=L-W[0],$=M-W[1],nn=1/w(fn((X*Z+Y*$)/(F(X*X+Y*Y)*F(Z*Z+$*$)))/2),en=F(W[0]*W[0]+W[1]*W[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>y?x>y?(e=Q(U,V,B,C,s,x,o),r=Q(L,M,J,K,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(r.y01,r.x01),!o):(a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(r.cy+r.y11,r.cx+r.x11),!o),a.arc(r.cx,r.cy,x,t(r.y11,r.x11),t(r.y01,r.x01),!o))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!o)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(J,K):p>y?(e=Q(J,K,L,M,u,-p,o),r=Q(B,C,U,V,u,-p,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,t(e.y01,e.x01),t(r.y01,r.x01),!o):(a.arc(e.cx,e.cy,p,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,u,t(e.cy+e.y11,e.cx+e.x11),t(r.cy+r.y11,r.cx+r.x11),o),a.arc(r.cx,r.cy,p,t(r.y11,r.x11),t(r.y01,r.x01),!o))):a.arc(0,0,u,T,R,o)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[z(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:N(+n),i):j},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:N(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:N(+n),i):A},i.padAngle=function(n){return arguments.length?(O=typeof n=="function"?n:N(+n),i):O},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{bx as ln,aW as an,I as z,bi as w,G as N,af as un,W as y,bo as on,bj as F,aP as _,d as rn,n as t,aN as tn,k as sn,e as fn}from"./mermaid.core-7Q2-CZFE.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,I,v,A,O,a){var q=j-l,i=I-h,n=O-v,d=a-A,u=d*q-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function Q(l,h,j,I,v,A,O){var a=l-j,q=h-I,i=(O?A:-A)/F(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=I+d,S=(u+f)/2,o=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,D=(g<0?-1:1)*F(tn(0,T*T*R-P*P)),E=(P*g-m*D)/R,G=(-P*m-g*D)/R,b=(P*g+m*D)/R,p=(-P*m+g*D)/R,x=E-S,e=G-o,r=b-S,k=p-o;return x*x+e*e>r*r+k*k&&(E=b,G=p),{cx:E,cy:G,x01:-n,y01:-d,x11:E*(v/T-1),y11:G*(v/T-1)}}function hn(){var l=cn,h=yn,j=N(0),I=null,v=gn,A=dn,O=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),o=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(S>on-y)a.moveTo(s*z(f),s*w(f)),a.arc(0,0,s,f,c,!o),u>y&&(a.moveTo(u*z(c),u*w(c)),a.arc(0,0,u,c,f,o));else{var m=f,g=c,R=f,T=c,P=S,D=S,E=O.apply(this,arguments)/2,G=E>y&&(I?+I.apply(this,arguments):F(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(G>y){var k=sn(G/u*w(E)),H=sn(G/s*w(E));(P-=k*2)>y?(k*=o?1:-1,R+=k,T-=k):(P=0,R=T=(f+c)/2),(D-=H*2)>y?(H*=o?1:-1,m+=H,g-=H):(D=0,m=g=(f+c)/2)}var B=s*z(m),C=s*w(m),J=u*z(T),K=u*w(T);if(b>y){var L=s*z(g),M=s*w(g),U=u*z(R),V=u*w(R),W;if(S<an)if(W=pn(B,C,U,V,L,M,J,K)){var X=B-W[0],Y=C-W[1],Z=L-W[0],$=M-W[1],nn=1/w(fn((X*Z+Y*$)/(F(X*X+Y*Y)*F(Z*Z+$*$)))/2),en=F(W[0]*W[0]+W[1]*W[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>y?x>y?(e=Q(U,V,B,C,s,x,o),r=Q(L,M,J,K,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(r.y01,r.x01),!o):(a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(r.cy+r.y11,r.cx+r.x11),!o),a.arc(r.cx,r.cy,x,t(r.y11,r.x11),t(r.y01,r.x01),!o))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!o)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(J,K):p>y?(e=Q(J,K,L,M,u,-p,o),r=Q(B,C,U,V,u,-p,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,t(e.y01,e.x01),t(r.y01,r.x01),!o):(a.arc(e.cx,e.cy,p,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,u,t(e.cy+e.y11,e.cx+e.x11),t(r.cy+r.y11,r.cx+r.x11),o),a.arc(r.cx,r.cy,p,t(r.y11,r.x11),t(r.y01,r.x01),!o))):a.arc(0,0,u,T,R,o)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[z(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:N(+n),i):j},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:N(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:N(+n),i):A},i.padAngle=function(n){return arguments.length?(O=typeof n=="function"?n:N(+n),i):O},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};