diff --git a/assets/change-type-modal-uJguFedY.js b/assets/change-type-modal-gChb5e9p.js similarity index 98% rename from assets/change-type-modal-uJguFedY.js rename to assets/change-type-modal-gChb5e9p.js index 0b2cb8d6..f65a39b2 100644 --- a/assets/change-type-modal-uJguFedY.js +++ b/assets/change-type-modal-gChb5e9p.js @@ -1 +1 @@ -import{j as c,at as Se,$ as Ce,au as Ae,a1 as Te,a4 as $,a2 as xe,a3 as je,aV as Ee,aW as Oe,aX as Le,B as ve,aY as Ie,aZ as Ne,a5 as Pe,O as J,aM as Be}from"./chakra-xNcrfRXW.js";import{S as b,aL as K,au as A,l as ne,k as ae,m as we,L as S,o as oe,c as Re,d as W,q as F,t as ee,v as te,C as Me,M as We,Q as ke,R as ze,V as Ze,W as _e,i as De}from"./index-C2EPE_tK.js";import{u as Xe,b as r}from"./react-D-_si4LB.js";import{s as C,e as Ye}from"./master-manager-CMGMwlgA.js";const se=[b.ShmetroBasic2020,b.LondonTubeBasic,b.ShanghaiSuburbanRailway],qe=(n,s,o)=>{const i=n.getNodeAttribute(s,"type"),a=structuredClone(n.getNodeAttribute(s,i).names);for(let l=0;la.length?a.push("Stn"):a.pop();const e={...C[o].defaultAttrs,names:a};(!Object.values(se).includes(i)||!Object.values(se).includes(o))&&(e.nameOffsetX=n.getNodeAttribute(s,i).nameOffsetX,e.nameOffsetY=n.getNodeAttribute(s,i).nameOffsetY),K.includes(o)&&K.includes(i)&&(e.color=structuredClone(n.getNodeAttribute(s,i).color)),n.removeNodeAttribute(s,i),n.mergeNodeAttributes(s,{type:o,[o]:e})},He=(n,s,o,i)=>i.filter(a=>s==="any"||n.getNodeAttribute(a,"type")===s).forEach(a=>{qe(n,a,o)}),Ue=(n,s,o,i)=>{const a=n.getEdgeAttribute(s,"type"),e=n.getEdgeAttribute(s,"style");if(A[e].metadata.supportLinePathType.includes(o)){const l=structuredClone(ne[o].defaultAttrs);let d=-1;if(i&&o!==ae.Simple){const[u,f]=n.extremities(s),T=l.startFrom;d=we(n,o,u,f,T)}n.setEdgeAttribute(s,"parallelIndex",d),n.removeEdgeAttribute(s,a),n.mergeEdgeAttributes(s,{type:o,[o]:l})}},Ve=(n,s,o,i,a)=>i.filter(e=>s==="any"||n.getEdgeAttribute(e,"type")===s).forEach(e=>{Ue(n,e,o,a)}),Ge=(n,s,o,i)=>{const a=n.getEdgeAttribute(s,"type"),e=n.getEdgeAttribute(s,"style");if(A[o].metadata.supportLinePathType.includes(a)){const l=n.getEdgeAttribute(s,"zIndex"),d=n.getEdgeAttribute(s,e);n.removeEdgeAttribute(s,e);const u=structuredClone(A[o].defaultAttrs);S.includes(e)&&S.includes(o)?u.color=d.color:S.includes(o)&&i&&(u.color=i),n.mergeEdgeAttributes(s,{style:o,[o]:u}),o===oe.River?n.setEdgeAttribute(s,"zIndex",-5):n.setEdgeAttribute(s,"zIndex",l!=null?l:0)}},Qe=(n,s,o,i,a)=>a.filter(e=>s==="any"||n.getEdgeAttribute(e,"style")===s).forEach(e=>{Ge(n,e,o,i)}),$e=(n,s,o,i)=>i.filter(a=>S.includes(n.getEdgeAttribute(a,"style"))).forEach(a=>{const e=n.getEdgeAttributes(a),l=e[e.style].color;(s==="any"||l[0]==s[0]&&l[1]==s[1]&&l[2]==s[2]&&l[3]==s[3])&&n.mergeEdgeAttributes(a,{[e.style]:{color:o}})}),Je=(n,s,o,i,a)=>{[...i,...a].forEach(e=>{const l=n.getNodeAttributes(e).type,d=n.getNodeAttribute(e,l);if(d.color!==void 0){const u=d.color;(s==="any"||u[0]==s[0]&&u[1]==s[1]&&u[2]==s[2]&&u[3]==s[3])&&(d.color=o)}n.mergeNodeAttributes(e,{[l]:d})})},Ke=(n,s,o,i,a)=>{[...s,...o].forEach(e=>{n.setNodeAttribute(e,"zIndex",a)}),i.forEach(e=>{n.setEdgeAttribute(e,"zIndex",a)})},nt=n=>{const{isOpen:s,onClose:o,isSelect:i,filter:a}=n,{t:e}=Xe(),l=Re(),{selected:d,theme:u,paletteAppClip:{output:f}}=W(t=>t.runtime),{preference:{autoParallel:T}}=W(t=>t.app),{activeSubscriptions:k}=W(t=>t.account),ie=r.useCallback(()=>{l(F()),l(ee()),l(te(p.current.export()))},[l,F,ee,te]),p=r.useRef(window.graph),z={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(ne).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},Z={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(A).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},_={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(C).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},x={id:"any",theme:[Me.Other,"other","#ffffff",We.black],value:e("header.settings.procedures.changeType.any")},[j,D]=r.useState(!1),[X,Y]=r.useState(0),[E,q]=r.useState(!1),[O,le]=r.useState("any"),[L,ce]=r.useState(b.ShmetroBasic),[v,H]=r.useState(!1),[I,re]=r.useState("any"),[N,de]=r.useState(oe.SingleColor),[P,U]=r.useState(!1),[B,ue]=r.useState("any"),[w,he]=r.useState(ae.Diagonal),[R,V]=r.useState(!1),[m,G]=r.useState(x),[M,pe]=r.useState(u),[ge,Q]=r.useState(!1);r.useEffect(()=>{ge&&f&&(pe(f),Q(!1))},[f==null?void 0:f.toString()]);const[fe,ye]=r.useState([]),me=[{id:"changeZIndex",title:e("header.settings.procedures.changeZIndex"),onClose:()=>D(!j),field:[{type:"select",label:e("panel.details.info.zIndex"),value:X,options:Object.fromEntries(Array.from({length:11},(t,h)=>[h-5,(h-5).toString()])),onChange:t=>Y(Number(t))}]},{id:"changeStationType",title:e("header.settings.procedures.changeStationType.title"),onClose:()=>q(!E),field:[{type:"select",label:e("header.settings.procedures.changeStationType.changeFrom"),options:_,value:O,disabledOptions:[L],onChange:t=>le(t)},{type:"select",label:e("header.settings.procedures.changeStationType.changeTo"),options:_,value:L,disabledOptions:["any",O],onChange:t=>ce(t)}]},{id:"changeLineStyleType",title:e("header.settings.procedures.changeLineStyleType.title"),onClose:()=>H(!v),field:[{type:"select",label:e("header.settings.procedures.changeLineStyleType.changeFrom"),options:Z,value:I,disabledOptions:[N],onChange:t=>re(t)},{type:"select",label:e("header.settings.procedures.changeLineStyleType.changeTo"),options:Z,value:N,disabledOptions:["any",I],onChange:t=>de(t)}]},{id:"changeLinePathType",title:e("header.settings.procedures.changeLinePathType.title"),onClose:()=>U(!P),field:[{type:"select",label:e("header.settings.procedures.changeLinePathType.changeFrom"),options:z,value:B,disabledOptions:[w],onChange:t=>ue(t)},{type:"select",label:e("header.settings.procedures.changeLinePathType.changeTo"),options:z,value:w,disabledOptions:["any","simple",B],onChange:t=>he(t)}]},{id:"changeColor",title:e("header.settings.procedures.changeColor.title"),onClose:()=>V(!R),field:[{type:"custom",label:e("header.settings.procedures.changeColor.changeFrom"),component:c.jsx(ke,{data:fe,displayHandler:t=>c.jsx(ze,{name:t.value,fg:t.theme[3],bg:t.theme[2],title:t.theme[1],sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(t,h)=>h.id.toLowerCase().includes(t.toLowerCase())||Object.values(h.id).some(y=>y.toLowerCase().includes(t.toLowerCase())),value:m.value,onChange:t=>G(t)})},{type:"custom",label:e("header.settings.procedures.changeColor.changeTo"),component:c.jsx(Ze,{theme:M,onClick:()=>{Q(!0),l(_e(u))}})}]}];r.useEffect(()=>{s&&(D(!1),q(!1),H(!1),U(!1),V(!1),Y(0),ye([x,...Ye(p.current,i?[...d].filter(t=>t.startsWith("stn")||t.startsWith("misc_node")):p.current.nodes(),i?[...d].filter(t=>t.startsWith("line")):p.current.edges()).map(t=>({id:t.toString(),theme:t,value:t[1]==="other"?t[2]:t[1]}))]),G(x))},[s]);const be=()=>{const t=a!=null&&a.includes("station")?[...d].filter(g=>g.startsWith("stn")):i?[]:p.current.filterNodes(g=>g.startsWith("stn")),h=a!=null&&a.includes("misc-node")?[...d].filter(g=>g.startsWith("misc_node")):i?[]:p.current.filterNodes(g=>g.startsWith("misc_node")),y=i?[...d].filter(g=>g.startsWith("line")):p.current.edges();(!a||a.includes("station"))&&E&&He(p.current,O,L,t),(!a||a.includes("line"))&&v&&Qe(p.current,I,N,u,y),(!a||a.includes("line"))&&P&&Ve(p.current,B,w,y,T),R&&((!a||a.includes("line"))&&$e(p.current,m.id==="any"?"any":m.theme,M,y),(!a||a.includes("misc-node")||a.includes("station"))&&Je(p.current,m.id==="any"?"any":m.theme,M,t,h)),j&&Ke(p.current,t,h,y,X),ie(),o()};return c.jsxs(Se,{isOpen:s,onClose:o,size:"md",scrollBehavior:"inside",children:[c.jsx(Ce,{}),c.jsxs(Ae,{children:[c.jsxs(Te,{children:[c.jsx($,{as:"b",fontSize:"xl",children:e(i?"panel.details.multipleSelection.change":"header.settings.procedures.changeType.title")}),c.jsx(xe,{})]}),c.jsx(je,{children:c.jsx(Ee,{allowMultiple:!0,children:me.map(t=>c.jsxs(Oe,{children:[c.jsxs(Le,{onClick:t.onClose,children:[c.jsx(ve,{as:"span",flex:"1",textAlign:"left",children:c.jsx($,{as:"b",fontSize:"md",children:t.title})}),c.jsx(Ie,{})]}),c.jsx(Ne,{pb:4,children:c.jsx(De,{fields:t.field,minW:270})})]},t.id))})}),c.jsxs(Pe,{children:[c.jsx(J,{colorScheme:"blue",variant:"outline",mr:"1",onClick:o,children:e("cancel")}),c.jsx(Be,{label:e("header.settings.pro"),isOpen:!k.RMP_CLOUD,children:c.jsx(J,{colorScheme:"red",mr:"1",onClick:be,isDisabled:!k.RMP_CLOUD||!j&&!E&&!v&&!P&&!R,children:e("apply")})})]})]})]})};export{nt as C,Ge as a,qe as b,Ue as c}; +import{j as c,at as Se,$ as Ce,au as Ae,a1 as Te,a4 as $,a2 as xe,a3 as je,aV as Ee,aW as Oe,aX as Le,B as ve,aY as Ie,aZ as Ne,a5 as Pe,O as J,aM as Be}from"./chakra-xNcrfRXW.js";import{S as b,aL as K,au as A,l as ne,k as ae,m as we,L as S,o as oe,c as Re,d as W,q as F,t as ee,v as te,C as Me,M as We,Q as ke,R as ze,V as Ze,W as _e,i as De}from"./index-KpXBwNUP.js";import{u as Xe,b as r}from"./react-D-_si4LB.js";import{s as C,e as Ye}from"./master-manager-D9XDRPOe.js";const se=[b.ShmetroBasic2020,b.LondonTubeBasic,b.ShanghaiSuburbanRailway],qe=(n,s,o)=>{const i=n.getNodeAttribute(s,"type"),a=structuredClone(n.getNodeAttribute(s,i).names);for(let l=0;la.length?a.push("Stn"):a.pop();const e={...C[o].defaultAttrs,names:a};(!Object.values(se).includes(i)||!Object.values(se).includes(o))&&(e.nameOffsetX=n.getNodeAttribute(s,i).nameOffsetX,e.nameOffsetY=n.getNodeAttribute(s,i).nameOffsetY),K.includes(o)&&K.includes(i)&&(e.color=structuredClone(n.getNodeAttribute(s,i).color)),n.removeNodeAttribute(s,i),n.mergeNodeAttributes(s,{type:o,[o]:e})},He=(n,s,o,i)=>i.filter(a=>s==="any"||n.getNodeAttribute(a,"type")===s).forEach(a=>{qe(n,a,o)}),Ue=(n,s,o,i)=>{const a=n.getEdgeAttribute(s,"type"),e=n.getEdgeAttribute(s,"style");if(A[e].metadata.supportLinePathType.includes(o)){const l=structuredClone(ne[o].defaultAttrs);let d=-1;if(i&&o!==ae.Simple){const[u,f]=n.extremities(s),T=l.startFrom;d=we(n,o,u,f,T)}n.setEdgeAttribute(s,"parallelIndex",d),n.removeEdgeAttribute(s,a),n.mergeEdgeAttributes(s,{type:o,[o]:l})}},Ve=(n,s,o,i,a)=>i.filter(e=>s==="any"||n.getEdgeAttribute(e,"type")===s).forEach(e=>{Ue(n,e,o,a)}),Ge=(n,s,o,i)=>{const a=n.getEdgeAttribute(s,"type"),e=n.getEdgeAttribute(s,"style");if(A[o].metadata.supportLinePathType.includes(a)){const l=n.getEdgeAttribute(s,"zIndex"),d=n.getEdgeAttribute(s,e);n.removeEdgeAttribute(s,e);const u=structuredClone(A[o].defaultAttrs);S.includes(e)&&S.includes(o)?u.color=d.color:S.includes(o)&&i&&(u.color=i),n.mergeEdgeAttributes(s,{style:o,[o]:u}),o===oe.River?n.setEdgeAttribute(s,"zIndex",-5):n.setEdgeAttribute(s,"zIndex",l!=null?l:0)}},Qe=(n,s,o,i,a)=>a.filter(e=>s==="any"||n.getEdgeAttribute(e,"style")===s).forEach(e=>{Ge(n,e,o,i)}),$e=(n,s,o,i)=>i.filter(a=>S.includes(n.getEdgeAttribute(a,"style"))).forEach(a=>{const e=n.getEdgeAttributes(a),l=e[e.style].color;(s==="any"||l[0]==s[0]&&l[1]==s[1]&&l[2]==s[2]&&l[3]==s[3])&&n.mergeEdgeAttributes(a,{[e.style]:{color:o}})}),Je=(n,s,o,i,a)=>{[...i,...a].forEach(e=>{const l=n.getNodeAttributes(e).type,d=n.getNodeAttribute(e,l);if(d.color!==void 0){const u=d.color;(s==="any"||u[0]==s[0]&&u[1]==s[1]&&u[2]==s[2]&&u[3]==s[3])&&(d.color=o)}n.mergeNodeAttributes(e,{[l]:d})})},Ke=(n,s,o,i,a)=>{[...s,...o].forEach(e=>{n.setNodeAttribute(e,"zIndex",a)}),i.forEach(e=>{n.setEdgeAttribute(e,"zIndex",a)})},nt=n=>{const{isOpen:s,onClose:o,isSelect:i,filter:a}=n,{t:e}=Xe(),l=Re(),{selected:d,theme:u,paletteAppClip:{output:f}}=W(t=>t.runtime),{preference:{autoParallel:T}}=W(t=>t.app),{activeSubscriptions:k}=W(t=>t.account),ie=r.useCallback(()=>{l(F()),l(ee()),l(te(p.current.export()))},[l,F,ee,te]),p=r.useRef(window.graph),z={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(ne).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},Z={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(A).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},_={any:e("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(C).map(([t,h])=>[t,e(h.metadata.displayName).toString()]))},x={id:"any",theme:[Me.Other,"other","#ffffff",We.black],value:e("header.settings.procedures.changeType.any")},[j,D]=r.useState(!1),[X,Y]=r.useState(0),[E,q]=r.useState(!1),[O,le]=r.useState("any"),[L,ce]=r.useState(b.ShmetroBasic),[v,H]=r.useState(!1),[I,re]=r.useState("any"),[N,de]=r.useState(oe.SingleColor),[P,U]=r.useState(!1),[B,ue]=r.useState("any"),[w,he]=r.useState(ae.Diagonal),[R,V]=r.useState(!1),[m,G]=r.useState(x),[M,pe]=r.useState(u),[ge,Q]=r.useState(!1);r.useEffect(()=>{ge&&f&&(pe(f),Q(!1))},[f==null?void 0:f.toString()]);const[fe,ye]=r.useState([]),me=[{id:"changeZIndex",title:e("header.settings.procedures.changeZIndex"),onClose:()=>D(!j),field:[{type:"select",label:e("panel.details.info.zIndex"),value:X,options:Object.fromEntries(Array.from({length:11},(t,h)=>[h-5,(h-5).toString()])),onChange:t=>Y(Number(t))}]},{id:"changeStationType",title:e("header.settings.procedures.changeStationType.title"),onClose:()=>q(!E),field:[{type:"select",label:e("header.settings.procedures.changeStationType.changeFrom"),options:_,value:O,disabledOptions:[L],onChange:t=>le(t)},{type:"select",label:e("header.settings.procedures.changeStationType.changeTo"),options:_,value:L,disabledOptions:["any",O],onChange:t=>ce(t)}]},{id:"changeLineStyleType",title:e("header.settings.procedures.changeLineStyleType.title"),onClose:()=>H(!v),field:[{type:"select",label:e("header.settings.procedures.changeLineStyleType.changeFrom"),options:Z,value:I,disabledOptions:[N],onChange:t=>re(t)},{type:"select",label:e("header.settings.procedures.changeLineStyleType.changeTo"),options:Z,value:N,disabledOptions:["any",I],onChange:t=>de(t)}]},{id:"changeLinePathType",title:e("header.settings.procedures.changeLinePathType.title"),onClose:()=>U(!P),field:[{type:"select",label:e("header.settings.procedures.changeLinePathType.changeFrom"),options:z,value:B,disabledOptions:[w],onChange:t=>ue(t)},{type:"select",label:e("header.settings.procedures.changeLinePathType.changeTo"),options:z,value:w,disabledOptions:["any","simple",B],onChange:t=>he(t)}]},{id:"changeColor",title:e("header.settings.procedures.changeColor.title"),onClose:()=>V(!R),field:[{type:"custom",label:e("header.settings.procedures.changeColor.changeFrom"),component:c.jsx(ke,{data:fe,displayHandler:t=>c.jsx(ze,{name:t.value,fg:t.theme[3],bg:t.theme[2],title:t.theme[1],sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(t,h)=>h.id.toLowerCase().includes(t.toLowerCase())||Object.values(h.id).some(y=>y.toLowerCase().includes(t.toLowerCase())),value:m.value,onChange:t=>G(t)})},{type:"custom",label:e("header.settings.procedures.changeColor.changeTo"),component:c.jsx(Ze,{theme:M,onClick:()=>{Q(!0),l(_e(u))}})}]}];r.useEffect(()=>{s&&(D(!1),q(!1),H(!1),U(!1),V(!1),Y(0),ye([x,...Ye(p.current,i?[...d].filter(t=>t.startsWith("stn")||t.startsWith("misc_node")):p.current.nodes(),i?[...d].filter(t=>t.startsWith("line")):p.current.edges()).map(t=>({id:t.toString(),theme:t,value:t[1]==="other"?t[2]:t[1]}))]),G(x))},[s]);const be=()=>{const t=a!=null&&a.includes("station")?[...d].filter(g=>g.startsWith("stn")):i?[]:p.current.filterNodes(g=>g.startsWith("stn")),h=a!=null&&a.includes("misc-node")?[...d].filter(g=>g.startsWith("misc_node")):i?[]:p.current.filterNodes(g=>g.startsWith("misc_node")),y=i?[...d].filter(g=>g.startsWith("line")):p.current.edges();(!a||a.includes("station"))&&E&&He(p.current,O,L,t),(!a||a.includes("line"))&&v&&Qe(p.current,I,N,u,y),(!a||a.includes("line"))&&P&&Ve(p.current,B,w,y,T),R&&((!a||a.includes("line"))&&$e(p.current,m.id==="any"?"any":m.theme,M,y),(!a||a.includes("misc-node")||a.includes("station"))&&Je(p.current,m.id==="any"?"any":m.theme,M,t,h)),j&&Ke(p.current,t,h,y,X),ie(),o()};return c.jsxs(Se,{isOpen:s,onClose:o,size:"md",scrollBehavior:"inside",children:[c.jsx(Ce,{}),c.jsxs(Ae,{children:[c.jsxs(Te,{children:[c.jsx($,{as:"b",fontSize:"xl",children:e(i?"panel.details.multipleSelection.change":"header.settings.procedures.changeType.title")}),c.jsx(xe,{})]}),c.jsx(je,{children:c.jsx(Ee,{allowMultiple:!0,children:me.map(t=>c.jsxs(Oe,{children:[c.jsxs(Le,{onClick:t.onClose,children:[c.jsx(ve,{as:"span",flex:"1",textAlign:"left",children:c.jsx($,{as:"b",fontSize:"md",children:t.title})}),c.jsx(Ie,{})]}),c.jsx(Ne,{pb:4,children:c.jsx(De,{fields:t.field,minW:270})})]},t.id))})}),c.jsxs(Pe,{children:[c.jsx(J,{colorScheme:"blue",variant:"outline",mr:"1",onClick:o,children:e("cancel")}),c.jsx(Be,{label:e("header.settings.pro"),isOpen:!k.RMP_CLOUD,children:c.jsx(J,{colorScheme:"red",mr:"1",onClick:be,isDisabled:!k.RMP_CLOUD||!j&&!E&&!v&&!P&&!R,children:e("apply")})})]})]})]})};export{nt as C,Ge as a,qe as b,Ue as c}; diff --git a/assets/change-type-modal-legacy-BllsJJ8a.js b/assets/change-type-modal-legacy-Cv1zf2ZW.js similarity index 98% rename from assets/change-type-modal-legacy-BllsJJ8a.js rename to assets/change-type-modal-legacy-Cv1zf2ZW.js index 50da4bc0..cd2b8c3c 100644 --- a/assets/change-type-modal-legacy-BllsJJ8a.js +++ b/assets/change-type-modal-legacy-Cv1zf2ZW.js @@ -1 +1 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BGd0L8oF.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-Cv1g7wby.js"],(function(e,t){"use strict";var s,n,a,r,i,l,o,c,d,u,g,h,p,y,m,b,f,S,x,A,C,j,E,v,O,T,L,N,W,w,k,z,I,P,M,R,B,F,_,D,X;return{setters:[e=>{s=e.j,n=e.at,a=e.$,r=e.au,i=e.a1,l=e.a4,o=e.a2,c=e.a3,d=e.aV,u=e.aW,g=e.aX,h=e.B,p=e.aY,y=e.aZ,m=e.a5,b=e.O,f=e.aM},e=>{S=e.S,x=e.aL,A=e.au,C=e.l,j=e.k,E=e.m,v=e.L,O=e.o,T=e.c,L=e.d,N=e.q,W=e.t,w=e.v,k=e.C,z=e.M,I=e.Q,P=e.R,M=e.V,R=e.W,B=e.i},e=>{F=e.u,_=e.b},e=>{D=e.s,X=e.e}],execute:function(){const t=[S.ShmetroBasic2020,S.LondonTubeBasic,S.ShanghaiSuburbanRailway],Y=e("b",((e,s,n)=>{const a=e.getNodeAttribute(s,"type"),r=structuredClone(e.getNodeAttribute(s,a).names);for(let t=0;tr.length?r.push("Stn"):r.pop();const i={...D[n].defaultAttrs,names:r};Object.values(t).includes(a)&&Object.values(t).includes(n)||(i.nameOffsetX=e.getNodeAttribute(s,a).nameOffsetX,i.nameOffsetY=e.getNodeAttribute(s,a).nameOffsetY),x.includes(n)&&x.includes(a)&&(i.color=structuredClone(e.getNodeAttribute(s,a).color)),e.removeNodeAttribute(s,a),e.mergeNodeAttributes(s,{type:n,[n]:i})})),Z=e("c",((e,t,s,n)=>{const a=e.getEdgeAttribute(t,"type"),r=e.getEdgeAttribute(t,"style");if(A[r].metadata.supportLinePathType.includes(s)){const r=structuredClone(C[s].defaultAttrs);let i=-1;if(n&&s!==j.Simple){const[n,a]=e.extremities(t),l=r.startFrom;i=E(e,s,n,a,l)}e.setEdgeAttribute(t,"parallelIndex",i),e.removeEdgeAttribute(t,a),e.mergeEdgeAttributes(t,{type:s,[s]:r})}})),U=e("a",((e,t,s,n)=>{const a=e.getEdgeAttribute(t,"type"),r=e.getEdgeAttribute(t,"style");if(A[s].metadata.supportLinePathType.includes(a)){const a=e.getEdgeAttribute(t,"zIndex"),i=e.getEdgeAttribute(t,r);e.removeEdgeAttribute(t,r);const l=structuredClone(A[s].defaultAttrs);v.includes(r)&&v.includes(s)?l.color=i.color:v.includes(s)&&n&&(l.color=n),e.mergeEdgeAttributes(t,{style:s,[s]:l}),s===O.River?e.setEdgeAttribute(t,"zIndex",-5):e.setEdgeAttribute(t,"zIndex",null!=a?a:0)}}));e("C",(e=>{const{isOpen:t,onClose:x,isSelect:E,filter:V}=e,{t:q}=F(),H=T(),{selected:Q,theme:$,paletteAppClip:{output:G}}=L((e=>e.runtime)),{preference:{autoParallel:J}}=L((e=>e.app)),{activeSubscriptions:K}=L((e=>e.account)),ee=_.useCallback((()=>{H(N()),H(W()),H(w(te.current.export()))}),[H,N,W,w]),te=_.useRef(window.graph),se={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(C).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},ne={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(A).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},ae={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(D).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},re={id:"any",theme:[k.Other,"other","#ffffff",z.black],value:q("header.settings.procedures.changeType.any")},[ie,le]=_.useState(!1),[oe,ce]=_.useState(0),[de,ue]=_.useState(!1),[ge,he]=_.useState("any"),[pe,ye]=_.useState(S.ShmetroBasic),[me,be]=_.useState(!1),[fe,Se]=_.useState("any"),[xe,Ae]=_.useState(O.SingleColor),[Ce,je]=_.useState(!1),[Ee,ve]=_.useState("any"),[Oe,Te]=_.useState(j.Diagonal),[Le,Ne]=_.useState(!1),[We,we]=_.useState(re),[ke,ze]=_.useState($),[Ie,Pe]=_.useState(!1);_.useEffect((()=>{Ie&&G&&(ze(G),Pe(!1))}),[null==G?void 0:G.toString()]);const[Me,Re]=_.useState([]),Be=[{id:"changeZIndex",title:q("header.settings.procedures.changeZIndex"),onClose:()=>le(!ie),field:[{type:"select",label:q("panel.details.info.zIndex"),value:oe,options:Object.fromEntries(Array.from({length:11},((e,t)=>[t-5,(t-5).toString()]))),onChange:e=>ce(Number(e))}]},{id:"changeStationType",title:q("header.settings.procedures.changeStationType.title"),onClose:()=>ue(!de),field:[{type:"select",label:q("header.settings.procedures.changeStationType.changeFrom"),options:ae,value:ge,disabledOptions:[pe],onChange:e=>he(e)},{type:"select",label:q("header.settings.procedures.changeStationType.changeTo"),options:ae,value:pe,disabledOptions:["any",ge],onChange:e=>ye(e)}]},{id:"changeLineStyleType",title:q("header.settings.procedures.changeLineStyleType.title"),onClose:()=>be(!me),field:[{type:"select",label:q("header.settings.procedures.changeLineStyleType.changeFrom"),options:ne,value:fe,disabledOptions:[xe],onChange:e=>Se(e)},{type:"select",label:q("header.settings.procedures.changeLineStyleType.changeTo"),options:ne,value:xe,disabledOptions:["any",fe],onChange:e=>Ae(e)}]},{id:"changeLinePathType",title:q("header.settings.procedures.changeLinePathType.title"),onClose:()=>je(!Ce),field:[{type:"select",label:q("header.settings.procedures.changeLinePathType.changeFrom"),options:se,value:Ee,disabledOptions:[Oe],onChange:e=>ve(e)},{type:"select",label:q("header.settings.procedures.changeLinePathType.changeTo"),options:se,value:Oe,disabledOptions:["any","simple",Ee],onChange:e=>Te(e)}]},{id:"changeColor",title:q("header.settings.procedures.changeColor.title"),onClose:()=>Ne(!Le),field:[{type:"custom",label:q("header.settings.procedures.changeColor.changeFrom"),component:s.jsx(I,{data:Me,displayHandler:e=>s.jsx(P,{name:e.value,fg:e.theme[3],bg:e.theme[2],title:e.theme[1],sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(e,t)=>t.id.toLowerCase().includes(e.toLowerCase())||Object.values(t.id).some((t=>t.toLowerCase().includes(e.toLowerCase()))),value:We.value,onChange:e=>we(e)})},{type:"custom",label:q("header.settings.procedures.changeColor.changeTo"),component:s.jsx(M,{theme:ke,onClick:()=>{Pe(!0),H(R($))}})}]}];return _.useEffect((()=>{t&&(le(!1),ue(!1),be(!1),je(!1),Ne(!1),ce(0),Re([re,...X(te.current,E?[...Q].filter((e=>e.startsWith("stn")||e.startsWith("misc_node"))):te.current.nodes(),E?[...Q].filter((e=>e.startsWith("line"))):te.current.edges()).map((e=>({id:e.toString(),theme:e,value:"other"===e[1]?e[2]:e[1]})))]),we(re))}),[t]),s.jsxs(n,{isOpen:t,onClose:x,size:"md",scrollBehavior:"inside",children:[s.jsx(a,{}),s.jsxs(r,{children:[s.jsxs(i,{children:[s.jsx(l,{as:"b",fontSize:"xl",children:q(E?"panel.details.multipleSelection.change":"header.settings.procedures.changeType.title")}),s.jsx(o,{})]}),s.jsx(c,{children:s.jsx(d,{allowMultiple:!0,children:Be.map((e=>s.jsxs(u,{children:[s.jsxs(g,{onClick:e.onClose,children:[s.jsx(h,{as:"span",flex:"1",textAlign:"left",children:s.jsx(l,{as:"b",fontSize:"md",children:e.title})}),s.jsx(p,{})]}),s.jsx(y,{pb:4,children:s.jsx(B,{fields:e.field,minW:270})})]},e.id)))})}),s.jsxs(m,{children:[s.jsx(b,{colorScheme:"blue",variant:"outline",mr:"1",onClick:x,children:q("cancel")}),s.jsx(f,{label:q("header.settings.pro"),isOpen:!K.RMP_CLOUD,children:s.jsx(b,{colorScheme:"red",mr:"1",onClick:()=>{const e=null!=V&&V.includes("station")?[...Q].filter((e=>e.startsWith("stn"))):E?[]:te.current.filterNodes((e=>e.startsWith("stn"))),t=null!=V&&V.includes("misc-node")?[...Q].filter((e=>e.startsWith("misc_node"))):E?[]:te.current.filterNodes((e=>e.startsWith("misc_node"))),s=E?[...Q].filter((e=>e.startsWith("line"))):te.current.edges();V&&!V.includes("station")||!de||((e,t,s,n)=>{n.filter((s=>"any"===t||e.getNodeAttribute(s,"type")===t)).forEach((t=>{Y(e,t,s)}))})(te.current,ge,pe,e),V&&!V.includes("line")||!me||((e,t,s,n,a)=>{a.filter((s=>"any"===t||e.getEdgeAttribute(s,"style")===t)).forEach((t=>{U(e,t,s,n)}))})(te.current,fe,xe,$,s),V&&!V.includes("line")||!Ce||((e,t,s,n,a)=>{n.filter((s=>"any"===t||e.getEdgeAttribute(s,"type")===t)).forEach((t=>{Z(e,t,s,a)}))})(te.current,Ee,Oe,s,J),Le&&(V&&!V.includes("line")||((e,t,s,n)=>{n.filter((t=>v.includes(e.getEdgeAttribute(t,"style")))).forEach((n=>{const a=e.getEdgeAttributes(n),r=a[a.style].color;("any"===t||r[0]==t[0]&&r[1]==t[1]&&r[2]==t[2]&&r[3]==t[3])&&e.mergeEdgeAttributes(n,{[a.style]:{color:s}})}))})(te.current,"any"===We.id?"any":We.theme,ke,s),(!V||V.includes("misc-node")||V.includes("station"))&&((e,t,s,n,a)=>{[...n,...a].forEach((n=>{const a=e.getNodeAttributes(n).type,r=e.getNodeAttribute(n,a);if(void 0!==r.color){const e=r.color;("any"===t||e[0]==t[0]&&e[1]==t[1]&&e[2]==t[2]&&e[3]==t[3])&&(r.color=s)}e.mergeNodeAttributes(n,{[a]:r})}))})(te.current,"any"===We.id?"any":We.theme,ke,e,t)),ie&&((e,t,s,n,a)=>{[...t,...s].forEach((t=>{e.setNodeAttribute(t,"zIndex",a)})),n.forEach((t=>{e.setEdgeAttribute(t,"zIndex",a)}))})(te.current,e,t,s,oe),ee(),x()},isDisabled:!(K.RMP_CLOUD&&(ie||de||me||Ce||Le)),children:q("apply")})})]})]})]})}))}}})); +System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BdzZVG-I.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-DBszGOWt.js"],(function(e,t){"use strict";var s,n,a,r,i,l,o,c,d,u,g,h,p,y,m,b,f,S,x,A,C,j,E,v,O,T,L,N,W,w,k,z,I,P,M,R,B,F,_,D,X;return{setters:[e=>{s=e.j,n=e.at,a=e.$,r=e.au,i=e.a1,l=e.a4,o=e.a2,c=e.a3,d=e.aV,u=e.aW,g=e.aX,h=e.B,p=e.aY,y=e.aZ,m=e.a5,b=e.O,f=e.aM},e=>{S=e.S,x=e.aL,A=e.au,C=e.l,j=e.k,E=e.m,v=e.L,O=e.o,T=e.c,L=e.d,N=e.q,W=e.t,w=e.v,k=e.C,z=e.M,I=e.Q,P=e.R,M=e.V,R=e.W,B=e.i},e=>{F=e.u,_=e.b},e=>{D=e.s,X=e.e}],execute:function(){const t=[S.ShmetroBasic2020,S.LondonTubeBasic,S.ShanghaiSuburbanRailway],Y=e("b",((e,s,n)=>{const a=e.getNodeAttribute(s,"type"),r=structuredClone(e.getNodeAttribute(s,a).names);for(let t=0;tr.length?r.push("Stn"):r.pop();const i={...D[n].defaultAttrs,names:r};Object.values(t).includes(a)&&Object.values(t).includes(n)||(i.nameOffsetX=e.getNodeAttribute(s,a).nameOffsetX,i.nameOffsetY=e.getNodeAttribute(s,a).nameOffsetY),x.includes(n)&&x.includes(a)&&(i.color=structuredClone(e.getNodeAttribute(s,a).color)),e.removeNodeAttribute(s,a),e.mergeNodeAttributes(s,{type:n,[n]:i})})),Z=e("c",((e,t,s,n)=>{const a=e.getEdgeAttribute(t,"type"),r=e.getEdgeAttribute(t,"style");if(A[r].metadata.supportLinePathType.includes(s)){const r=structuredClone(C[s].defaultAttrs);let i=-1;if(n&&s!==j.Simple){const[n,a]=e.extremities(t),l=r.startFrom;i=E(e,s,n,a,l)}e.setEdgeAttribute(t,"parallelIndex",i),e.removeEdgeAttribute(t,a),e.mergeEdgeAttributes(t,{type:s,[s]:r})}})),U=e("a",((e,t,s,n)=>{const a=e.getEdgeAttribute(t,"type"),r=e.getEdgeAttribute(t,"style");if(A[s].metadata.supportLinePathType.includes(a)){const a=e.getEdgeAttribute(t,"zIndex"),i=e.getEdgeAttribute(t,r);e.removeEdgeAttribute(t,r);const l=structuredClone(A[s].defaultAttrs);v.includes(r)&&v.includes(s)?l.color=i.color:v.includes(s)&&n&&(l.color=n),e.mergeEdgeAttributes(t,{style:s,[s]:l}),s===O.River?e.setEdgeAttribute(t,"zIndex",-5):e.setEdgeAttribute(t,"zIndex",null!=a?a:0)}}));e("C",(e=>{const{isOpen:t,onClose:x,isSelect:E,filter:V}=e,{t:q}=F(),H=T(),{selected:Q,theme:$,paletteAppClip:{output:G}}=L((e=>e.runtime)),{preference:{autoParallel:J}}=L((e=>e.app)),{activeSubscriptions:K}=L((e=>e.account)),ee=_.useCallback((()=>{H(N()),H(W()),H(w(te.current.export()))}),[H,N,W,w]),te=_.useRef(window.graph),se={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(C).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},ne={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(A).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},ae={any:q("header.settings.procedures.changeType.any"),...Object.fromEntries(Object.entries(D).map((([e,t])=>[e,q(t.metadata.displayName).toString()])))},re={id:"any",theme:[k.Other,"other","#ffffff",z.black],value:q("header.settings.procedures.changeType.any")},[ie,le]=_.useState(!1),[oe,ce]=_.useState(0),[de,ue]=_.useState(!1),[ge,he]=_.useState("any"),[pe,ye]=_.useState(S.ShmetroBasic),[me,be]=_.useState(!1),[fe,Se]=_.useState("any"),[xe,Ae]=_.useState(O.SingleColor),[Ce,je]=_.useState(!1),[Ee,ve]=_.useState("any"),[Oe,Te]=_.useState(j.Diagonal),[Le,Ne]=_.useState(!1),[We,we]=_.useState(re),[ke,ze]=_.useState($),[Ie,Pe]=_.useState(!1);_.useEffect((()=>{Ie&&G&&(ze(G),Pe(!1))}),[null==G?void 0:G.toString()]);const[Me,Re]=_.useState([]),Be=[{id:"changeZIndex",title:q("header.settings.procedures.changeZIndex"),onClose:()=>le(!ie),field:[{type:"select",label:q("panel.details.info.zIndex"),value:oe,options:Object.fromEntries(Array.from({length:11},((e,t)=>[t-5,(t-5).toString()]))),onChange:e=>ce(Number(e))}]},{id:"changeStationType",title:q("header.settings.procedures.changeStationType.title"),onClose:()=>ue(!de),field:[{type:"select",label:q("header.settings.procedures.changeStationType.changeFrom"),options:ae,value:ge,disabledOptions:[pe],onChange:e=>he(e)},{type:"select",label:q("header.settings.procedures.changeStationType.changeTo"),options:ae,value:pe,disabledOptions:["any",ge],onChange:e=>ye(e)}]},{id:"changeLineStyleType",title:q("header.settings.procedures.changeLineStyleType.title"),onClose:()=>be(!me),field:[{type:"select",label:q("header.settings.procedures.changeLineStyleType.changeFrom"),options:ne,value:fe,disabledOptions:[xe],onChange:e=>Se(e)},{type:"select",label:q("header.settings.procedures.changeLineStyleType.changeTo"),options:ne,value:xe,disabledOptions:["any",fe],onChange:e=>Ae(e)}]},{id:"changeLinePathType",title:q("header.settings.procedures.changeLinePathType.title"),onClose:()=>je(!Ce),field:[{type:"select",label:q("header.settings.procedures.changeLinePathType.changeFrom"),options:se,value:Ee,disabledOptions:[Oe],onChange:e=>ve(e)},{type:"select",label:q("header.settings.procedures.changeLinePathType.changeTo"),options:se,value:Oe,disabledOptions:["any","simple",Ee],onChange:e=>Te(e)}]},{id:"changeColor",title:q("header.settings.procedures.changeColor.title"),onClose:()=>Ne(!Le),field:[{type:"custom",label:q("header.settings.procedures.changeColor.changeFrom"),component:s.jsx(I,{data:Me,displayHandler:e=>s.jsx(P,{name:e.value,fg:e.theme[3],bg:e.theme[2],title:e.theme[1],sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(e,t)=>t.id.toLowerCase().includes(e.toLowerCase())||Object.values(t.id).some((t=>t.toLowerCase().includes(e.toLowerCase()))),value:We.value,onChange:e=>we(e)})},{type:"custom",label:q("header.settings.procedures.changeColor.changeTo"),component:s.jsx(M,{theme:ke,onClick:()=>{Pe(!0),H(R($))}})}]}];return _.useEffect((()=>{t&&(le(!1),ue(!1),be(!1),je(!1),Ne(!1),ce(0),Re([re,...X(te.current,E?[...Q].filter((e=>e.startsWith("stn")||e.startsWith("misc_node"))):te.current.nodes(),E?[...Q].filter((e=>e.startsWith("line"))):te.current.edges()).map((e=>({id:e.toString(),theme:e,value:"other"===e[1]?e[2]:e[1]})))]),we(re))}),[t]),s.jsxs(n,{isOpen:t,onClose:x,size:"md",scrollBehavior:"inside",children:[s.jsx(a,{}),s.jsxs(r,{children:[s.jsxs(i,{children:[s.jsx(l,{as:"b",fontSize:"xl",children:q(E?"panel.details.multipleSelection.change":"header.settings.procedures.changeType.title")}),s.jsx(o,{})]}),s.jsx(c,{children:s.jsx(d,{allowMultiple:!0,children:Be.map((e=>s.jsxs(u,{children:[s.jsxs(g,{onClick:e.onClose,children:[s.jsx(h,{as:"span",flex:"1",textAlign:"left",children:s.jsx(l,{as:"b",fontSize:"md",children:e.title})}),s.jsx(p,{})]}),s.jsx(y,{pb:4,children:s.jsx(B,{fields:e.field,minW:270})})]},e.id)))})}),s.jsxs(m,{children:[s.jsx(b,{colorScheme:"blue",variant:"outline",mr:"1",onClick:x,children:q("cancel")}),s.jsx(f,{label:q("header.settings.pro"),isOpen:!K.RMP_CLOUD,children:s.jsx(b,{colorScheme:"red",mr:"1",onClick:()=>{const e=null!=V&&V.includes("station")?[...Q].filter((e=>e.startsWith("stn"))):E?[]:te.current.filterNodes((e=>e.startsWith("stn"))),t=null!=V&&V.includes("misc-node")?[...Q].filter((e=>e.startsWith("misc_node"))):E?[]:te.current.filterNodes((e=>e.startsWith("misc_node"))),s=E?[...Q].filter((e=>e.startsWith("line"))):te.current.edges();V&&!V.includes("station")||!de||((e,t,s,n)=>{n.filter((s=>"any"===t||e.getNodeAttribute(s,"type")===t)).forEach((t=>{Y(e,t,s)}))})(te.current,ge,pe,e),V&&!V.includes("line")||!me||((e,t,s,n,a)=>{a.filter((s=>"any"===t||e.getEdgeAttribute(s,"style")===t)).forEach((t=>{U(e,t,s,n)}))})(te.current,fe,xe,$,s),V&&!V.includes("line")||!Ce||((e,t,s,n,a)=>{n.filter((s=>"any"===t||e.getEdgeAttribute(s,"type")===t)).forEach((t=>{Z(e,t,s,a)}))})(te.current,Ee,Oe,s,J),Le&&(V&&!V.includes("line")||((e,t,s,n)=>{n.filter((t=>v.includes(e.getEdgeAttribute(t,"style")))).forEach((n=>{const a=e.getEdgeAttributes(n),r=a[a.style].color;("any"===t||r[0]==t[0]&&r[1]==t[1]&&r[2]==t[2]&&r[3]==t[3])&&e.mergeEdgeAttributes(n,{[a.style]:{color:s}})}))})(te.current,"any"===We.id?"any":We.theme,ke,s),(!V||V.includes("misc-node")||V.includes("station"))&&((e,t,s,n,a)=>{[...n,...a].forEach((n=>{const a=e.getNodeAttributes(n).type,r=e.getNodeAttribute(n,a);if(void 0!==r.color){const e=r.color;("any"===t||e[0]==t[0]&&e[1]==t[1]&&e[2]==t[2]&&e[3]==t[3])&&(r.color=s)}e.mergeNodeAttributes(n,{[a]:r})}))})(te.current,"any"===We.id?"any":We.theme,ke,e,t)),ie&&((e,t,s,n,a)=>{[...t,...s].forEach((t=>{e.setNodeAttribute(t,"zIndex",a)})),n.forEach((t=>{e.setEdgeAttribute(t,"zIndex",a)}))})(te.current,e,t,s,oe),ee(),x()},isDisabled:!(K.RMP_CLOUD&&(ie||de||me||Ce||Le)),children:q("apply")})})]})]})]})}))}}})); diff --git a/assets/clipboard-BrQAjoN1.js b/assets/clipboard-Bp3Rtabe.js similarity index 96% rename from assets/clipboard-BrQAjoN1.js rename to assets/clipboard-Bp3Rtabe.js index 47f00434..0ee5a814 100644 --- a/assets/clipboard-BrQAjoN1.js +++ b/assets/clipboard-Bp3Rtabe.js @@ -1 +1 @@ -import{b as g}from"./react-D-_si4LB.js";import{n as O,av as j}from"./index-C2EPE_tK.js";const I=typeof window<"u"?g.useInsertionEffect||g.useLayoutEffect:()=>{};function x(s){const r=g.useRef(S);I(()=>{r.current=s},[s]);const o=g.useRef(null);return o.current||(o.current=function(){return r.current.apply(this,arguments)}),o.current}function S(){throw new Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.")}const k=(s,r)=>{const o={},u={};let[l,E]=[0,0],d=0;r.forEach(c=>{if(s.hasNode(c)){const n=c,i=s.getNodeAttributes(n);o[n]=i,l+=i.x,E+=i.y,d++}else if(s.hasEdge(c)){const n=c,[i,h]=s.extremities(n);u[n]={attr:s.getEdgeAttributes(n),source:i,target:h}}});const b={app:"rmp",version:1,nodesWithAttrs:o,edgesWithAttrs:u,avgX:l/d,avgY:E/d};return JSON.stringify(b)},R=(s,r,o,u,l,E)=>{const{nodesWithAttrs:d,edgesWithAttrs:b,version:c}=JSON.parse(s);if(c!==1)throw Error("Unrecognized version: ".concat(c));const n={};Object.keys(d).filter(e=>r.hasNode(e)).forEach(e=>{const t=O(10);if(e.startsWith("stn_"))n[e]="stn_".concat(t);else if(e.startsWith("misc_node_"))n[e]="misc_node_".concat(t);else throw Error("Unrecognized node id: ".concat(e))}),Object.keys(b).filter(e=>r.hasEdge(e)).forEach(e=>n[e]="line_".concat(O(10)));const i=Object.entries(n).reduce((e,[t,a])=>e.replaceAll(t,a),s),{nodesWithAttrs:h,edgesWithAttrs:N,avgX:p,avgY:v}=JSON.parse(i),m=o?Object.fromEntries(Object.entries(h).filter(([e,t])=>t.type!==j.Master)):h,f=o?Object.fromEntries(Object.entries(N).filter(([e,{source:t,target:a}])=>t in m&&a in m)):N;if(u)for(const e in f)f[e].attr.parallelIndex>=0&&(f[e].attr.parallelIndex=-1);const[y,A]=[l-p,E-v];return Object.entries(m).forEach(([e,t])=>{t.x+=y,t.y+=A,r.addNode(e,t)}),Object.entries(f).forEach(([e,{attr:t,source:a,target:_}])=>r.addDirectedEdgeWithKey(e,a,_,t)),{nodes:new Set(Object.keys(m)),edges:new Set(Object.keys(f))}};export{k as e,R as i,x as u}; +import{b as g}from"./react-D-_si4LB.js";import{n as O,av as j}from"./index-KpXBwNUP.js";const I=typeof window<"u"?g.useInsertionEffect||g.useLayoutEffect:()=>{};function x(s){const r=g.useRef(S);I(()=>{r.current=s},[s]);const o=g.useRef(null);return o.current||(o.current=function(){return r.current.apply(this,arguments)}),o.current}function S(){throw new Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.")}const k=(s,r)=>{const o={},u={};let[l,E]=[0,0],d=0;r.forEach(c=>{if(s.hasNode(c)){const n=c,i=s.getNodeAttributes(n);o[n]=i,l+=i.x,E+=i.y,d++}else if(s.hasEdge(c)){const n=c,[i,h]=s.extremities(n);u[n]={attr:s.getEdgeAttributes(n),source:i,target:h}}});const b={app:"rmp",version:1,nodesWithAttrs:o,edgesWithAttrs:u,avgX:l/d,avgY:E/d};return JSON.stringify(b)},R=(s,r,o,u,l,E)=>{const{nodesWithAttrs:d,edgesWithAttrs:b,version:c}=JSON.parse(s);if(c!==1)throw Error("Unrecognized version: ".concat(c));const n={};Object.keys(d).filter(e=>r.hasNode(e)).forEach(e=>{const t=O(10);if(e.startsWith("stn_"))n[e]="stn_".concat(t);else if(e.startsWith("misc_node_"))n[e]="misc_node_".concat(t);else throw Error("Unrecognized node id: ".concat(e))}),Object.keys(b).filter(e=>r.hasEdge(e)).forEach(e=>n[e]="line_".concat(O(10)));const i=Object.entries(n).reduce((e,[t,a])=>e.replaceAll(t,a),s),{nodesWithAttrs:h,edgesWithAttrs:N,avgX:p,avgY:v}=JSON.parse(i),m=o?Object.fromEntries(Object.entries(h).filter(([e,t])=>t.type!==j.Master)):h,f=o?Object.fromEntries(Object.entries(N).filter(([e,{source:t,target:a}])=>t in m&&a in m)):N;if(u)for(const e in f)f[e].attr.parallelIndex>=0&&(f[e].attr.parallelIndex=-1);const[y,A]=[l-p,E-v];return Object.entries(m).forEach(([e,t])=>{t.x+=y,t.y+=A,r.addNode(e,t)}),Object.entries(f).forEach(([e,{attr:t,source:a,target:_}])=>r.addDirectedEdgeWithKey(e,a,_,t)),{nodes:new Set(Object.keys(m)),edges:new Set(Object.keys(f))}};export{k as e,R as i,x as u}; diff --git a/assets/clipboard-legacy-XecFptqh.js b/assets/clipboard-legacy-NH9E7Htu.js similarity index 93% rename from assets/clipboard-legacy-XecFptqh.js rename to assets/clipboard-legacy-NH9E7Htu.js index 58aaec9a..9def4894 100644 --- a/assets/clipboard-legacy-XecFptqh.js +++ b/assets/clipboard-legacy-NH9E7Htu.js @@ -1 +1 @@ -System.register(["./react-legacy-S3BmMPiz.js","./index-legacy-BGd0L8oF.js"],(function(e,t){"use strict";var r,n,s;return{setters:[e=>{r=e.b},e=>{n=e.n,s=e.av}],execute:function(){e("u",(function(e){const n=r.useRef(o);t((()=>{n.current=e}),[e]);const s=r.useRef(null);return s.current||(s.current=function(){return n.current.apply(this,arguments)}),s.current}));const t="undefined"!=typeof window?r.useInsertionEffect||r.useLayoutEffect:()=>{};function o(){throw new Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.")}e("e",((e,t)=>{const r={},n={};let[s,o]=[0,0],c=0;t.forEach((t=>{if(e.hasNode(t)){const n=t,i=e.getNodeAttributes(n);r[n]=i,s+=i.x,o+=i.y,c++}else if(e.hasEdge(t)){const r=t,[s,o]=e.extremities(r);n[r]={attr:e.getEdgeAttributes(r),source:s,target:o}}}));const i={app:"rmp",version:1,nodesWithAttrs:r,edgesWithAttrs:n,avgX:s/c,avgY:o/c};return JSON.stringify(i)})),e("i",((e,t,r,o,c,i)=>{const{nodesWithAttrs:a,edgesWithAttrs:d,version:f}=JSON.parse(e);if(1!==f)throw Error(`Unrecognized version: ${f}`);const u={};Object.keys(a).filter((e=>t.hasNode(e))).forEach((e=>{const t=n(10);if(e.startsWith("stn_"))u[e]=`stn_${t}`;else{if(!e.startsWith("misc_node_"))throw Error(`Unrecognized node id: ${e}`);u[e]=`misc_node_${t}`}})),Object.keys(d).filter((e=>t.hasEdge(e))).forEach((e=>u[e]=`line_${n(10)}`));const h=Object.entries(u).reduce(((e,[t,r])=>e.replaceAll(t,r)),e),{nodesWithAttrs:l,edgesWithAttrs:g,avgX:E,avgY:b}=JSON.parse(h),O=r?Object.fromEntries(Object.entries(l).filter((([e,t])=>t.type!==s.Master))):l,y=r?Object.fromEntries(Object.entries(g).filter((([e,{source:t,target:r}])=>t in O&&r in O))):g;if(o)for(const n in y)y[n].attr.parallelIndex>=0&&(y[n].attr.parallelIndex=-1);const[j,p]=[c-E,i-b];return Object.entries(O).forEach((([e,r])=>{r.x+=j,r.y+=p,t.addNode(e,r)})),Object.entries(y).forEach((([e,{attr:r,source:n,target:s}])=>t.addDirectedEdgeWithKey(e,n,s,r))),{nodes:new Set(Object.keys(O)),edges:new Set(Object.keys(y))}}))}}})); +System.register(["./react-legacy-S3BmMPiz.js","./index-legacy-BdzZVG-I.js"],(function(e,t){"use strict";var r,n,s;return{setters:[e=>{r=e.b},e=>{n=e.n,s=e.av}],execute:function(){e("u",(function(e){const n=r.useRef(o);t((()=>{n.current=e}),[e]);const s=r.useRef(null);return s.current||(s.current=function(){return n.current.apply(this,arguments)}),s.current}));const t="undefined"!=typeof window?r.useInsertionEffect||r.useLayoutEffect:()=>{};function o(){throw new Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.")}e("e",((e,t)=>{const r={},n={};let[s,o]=[0,0],c=0;t.forEach((t=>{if(e.hasNode(t)){const n=t,i=e.getNodeAttributes(n);r[n]=i,s+=i.x,o+=i.y,c++}else if(e.hasEdge(t)){const r=t,[s,o]=e.extremities(r);n[r]={attr:e.getEdgeAttributes(r),source:s,target:o}}}));const i={app:"rmp",version:1,nodesWithAttrs:r,edgesWithAttrs:n,avgX:s/c,avgY:o/c};return JSON.stringify(i)})),e("i",((e,t,r,o,c,i)=>{const{nodesWithAttrs:a,edgesWithAttrs:d,version:f}=JSON.parse(e);if(1!==f)throw Error(`Unrecognized version: ${f}`);const u={};Object.keys(a).filter((e=>t.hasNode(e))).forEach((e=>{const t=n(10);if(e.startsWith("stn_"))u[e]=`stn_${t}`;else{if(!e.startsWith("misc_node_"))throw Error(`Unrecognized node id: ${e}`);u[e]=`misc_node_${t}`}})),Object.keys(d).filter((e=>t.hasEdge(e))).forEach((e=>u[e]=`line_${n(10)}`));const h=Object.entries(u).reduce(((e,[t,r])=>e.replaceAll(t,r)),e),{nodesWithAttrs:l,edgesWithAttrs:g,avgX:E,avgY:b}=JSON.parse(h),O=r?Object.fromEntries(Object.entries(l).filter((([e,t])=>t.type!==s.Master))):l,y=r?Object.fromEntries(Object.entries(g).filter((([e,{source:t,target:r}])=>t in O&&r in O))):g;if(o)for(const n in y)y[n].attr.parallelIndex>=0&&(y[n].attr.parallelIndex=-1);const[j,p]=[c-E,i-b];return Object.entries(O).forEach((([e,r])=>{r.x+=j,r.y+=p,t.addNode(e,r)})),Object.entries(y).forEach((([e,{attr:r,source:n,target:s}])=>t.addDirectedEdgeWithKey(e,n,s,r))),{nodes:new Set(Object.keys(O)),edges:new Set(Object.keys(y))}}))}}})); diff --git a/assets/details-DY5TKnmz.js b/assets/details-DY5TKnmz.js deleted file mode 100644 index d74bb687..00000000 --- a/assets/details-DY5TKnmz.js +++ /dev/null @@ -1 +0,0 @@ -import{j as e,B as W,aw as O,ax as ie,aK as F,O as N,aM as re,U as le,D as oe,_ as J,$ as Z,a0 as Q,a1 as Y,a3 as ee,a5 as te,a4 as U}from"./chakra-xNcrfRXW.js";import{c as P,d as A,aE as ce,T as de,az as ue,aF as pe,t as E,v as w,l as I,au as z,k as he,o as ge,P as B,aG as H,q as v,$ as me,a0 as fe,i as V,m as ne,y as D,aA as G,aD as xe,aH as ye,aI as be,aJ as je,aK as Se,av as we,n as X}from"./index-C2EPE_tK.js";import{u as L,b as p}from"./react-D-_si4LB.js";import{u as K,e as Ae}from"./clipboard-BrQAjoN1.js";import{s as $}from"./master-manager-CMGMwlgA.js";import{C as Ce,c as Ne,a as Ee,b as Te}from"./change-type-modal-uJguFedY.js";import{LearnHowToAdd as ve}from"./tools-Bzy7j58n.js";import{m as Pe}from"./misc-nodes-BRiC9wrX.js";function Le(){const{t}=L(),r=P(),{selected:o}=A(s=>s.runtime),h=p.useRef(window.graph),c=s=>{if(h.current.hasNode(s)){const l=h.current.getNodeAttributes(s),g=l.type;return s.startsWith("stn")?l[g].names.join("/"):g}else if(h.current.hasEdge(s)){const[l,g]=h.current.extremities(s),d=h.current.getSourceAttributes(s),m=h.current.getTargetAttributes(s),x=d.type,u=m.type;return(l.startsWith("stn")?d[x].names[0]:x)+" - "+(g.startsWith("stn")?m[u].names[0]:u)}},[i,n]=p.useState([]);p.useEffect(()=>{n(["station","misc-node","line"])},[o]);const[a,y]=p.useState(!1);return e.jsxs(W,{children:[e.jsxs(O,{as:"h5",size:"sm",children:[t("panel.details.multipleSelection.selected")," ",o.size]}),e.jsxs(ie,{m:"var(--chakra-space-1)",children:[e.jsxs(F,{w:"100%",children:[e.jsx(O,{as:"h5",size:"xs",w:"100%",children:t("panel.details.multipleSelection.show")}),e.jsx(ce,{selections:[{label:t("panel.details.multipleSelection.station"),value:"station"},{label:t("panel.details.multipleSelection.miscNode"),value:"misc-node"},{label:t("panel.details.multipleSelection.edge"),value:"line"}],defaultValue:i,multiSelect:!0,onChange:s=>n(s)})]}),i.length!==0&&e.jsxs(e.Fragment,{children:[e.jsxs(N,{width:"100%",size:"sm",onClick:()=>y(!0),children:[t("panel.details.multipleSelection.change"),e.jsx(re,{label:t("header.settings.pro"),children:e.jsx(le,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",children:"PRO"})})]}),e.jsx(oe,{})]}),[...o].filter(s=>i.includes("station")||!s.startsWith("stn")).filter(s=>i.includes("misc-node")||!s.startsWith("misc")).filter(s=>i.includes("line")||!s.startsWith("line")).map(s=>{var l;return e.jsxs(F,{width:"100%",children:[e.jsx(N,{width:"100%",size:"sm",variant:"solid",onClick:()=>r(de(new Set([s]))),overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"ruby",children:(l=c(s))==null?void 0:l.replaceAll("\n","⏎")}),e.jsx(N,{size:"sm",onClick:()=>r(ue(s)),children:e.jsx(pe,{})})]},s)})]}),e.jsx(Ce,{isOpen:a,onClose:()=>y(!1),isSelect:!0,filter:i})]})}function Re(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(E()),r(w(a.current.export()))},[r,E,w]),{preference:{autoParallel:h}}=A(j=>j.app),{selected:c,theme:i}=A(j=>j.runtime),[n]=c,a=p.useRef(window.graph),[y,s]=p.useState(!1),l=p.useRef(null),g=Object.fromEntries(Object.entries(I).map(([j,_])=>[j,t(_.metadata.displayName).toString()])),[d,m]=p.useState(a.current.getEdgeAttribute(n,"type")),[x,u]=p.useState(void 0),f=Object.fromEntries(Object.entries(z).map(([j,_])=>[j,t(_.metadata.displayName).toString()])),[b,S]=p.useState(a.current.getEdgeAttribute(n,"style")),[C,T]=p.useState(void 0);p.useEffect(()=>{m(a.current.getEdgeAttribute(n,"type")),S(a.current.getEdgeAttribute(n,"style"))},[n]);const R=Object.values(he).filter(j=>!z[b].metadata.supportLinePathType.includes(j)),k=Object.values(ge).filter(j=>!z[j].metadata.supportLinePathType.includes(d)),se=()=>{x&&(Ne(a.current,n,x,h),m(a.current.getEdgeAttribute(n,"type")),o())},ae=()=>{C&&(Ee(a.current,n,C,i),S(a.current.getEdgeAttribute(n,"style")),o())},M=j=>{j&&(x?(se(),u(void 0)):C&&(ae(),T(void 0))),s(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(B,{label:t("panel.details.info.linePathType"),minW:"276",children:e.jsx(H,{options:g,disabledOptions:R,defaultValue:d,value:d,onChange:({target:{value:j}})=>{u(j),s(!0)}})}),e.jsx(B,{label:t("panel.details.info.lineStyleType"),minW:"276",children:e.jsx(H,{options:f,disabledOptions:k,defaultValue:b,value:b,onChange:({target:{value:j}})=>{T(j),s(!0)}})}),e.jsx(ve,{type:"line",expand:!0}),e.jsx(J,{isOpen:y,leastDestructiveRef:l,onClose:()=>M(!1),children:e.jsx(Z,{children:e.jsxs(Q,{children:[e.jsx(Y,{children:t("warning")}),e.jsx(ee,{children:t("panel.details.changeLineTypeContent")}),e.jsxs(te,{children:[e.jsx(N,{ref:l,onClick:()=>M(!1),children:t("cancel")}),e.jsx(N,{ml:"2",colorScheme:"red",onClick:()=>M(!0),children:t("panel.details.changeType")})]})]})})})]})}function ke(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(w(i.current.export()))},[r,v,w]),{selected:h}=A(u=>u.runtime),[c]=h,i=p.useRef(window.graph),[n,a]=p.useState(!1),y=p.useRef(null),[s,l]=p.useState(void 0),g=i.current.getNodeAttribute(c,"type"),d=Object.fromEntries(Object.entries($).map(([u,f])=>[u,t(f.metadata.displayName).toString()])),m=()=>{s&&(Te(i.current,c,s),o())},x=u=>{u&&m(),l(void 0),a(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(B,{label:t("panel.details.info.stationType"),minW:"276",children:e.jsx(H,{options:d,disabledOptions:[g],value:g,onChange:({target:{value:u}})=>{l(u),a(!0)}})}),e.jsx(J,{isOpen:n,leastDestructiveRef:y,onClose:()=>x(!1),children:e.jsx(Z,{children:e.jsxs(Q,{children:[e.jsx(Y,{children:t("warning")}),e.jsx(ee,{children:t("panel.details.changeStationTypeContent")}),e.jsxs(te,{children:[e.jsx(N,{ref:y,onClick:()=>x(!1),children:t("cancel")}),e.jsx(N,{ml:"2",colorScheme:"red",onClick:()=>x(!0),children:t("panel.details.changeType")})]})]})})})]})}function ze(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(E()),r(w(a.current.export()))},[r,v,E,w]),{activeSubscriptions:h}=A(d=>d.account),{selected:c,parallelLinesCount:i}=A(d=>d.runtime),[n]=c,a=p.useRef(window.graph),y=d=>{const m=Math.min(Math.max(d,-10),10);a.current.hasNode(n)&&a.current.setNodeAttribute(n,"zIndex",m),a.current.hasEdge(n)&&a.current.setEdgeAttribute(n,"zIndex",m),o()},s=(d,m)=>{let x=-1;if(d){const u=a.current.getEdgeAttributes(n),[f,b]=a.current.extremities(n);x=ne(a.current,u.type,f,b,m)}l(x)},l=d=>{a.current.setEdgeAttribute(n,"parallelIndex",d),r(E()),r(w(a.current.export()))},g=[];if(c.size!==0)if(c.size===1){if(g.push({type:"input",label:t("panel.details.info.id"),value:n,minW:276}),g.push({type:"select",label:t("panel.details.info.zIndex"),value:n?a.current.hasNode(n)?a.current.getNodeAttribute(n,"zIndex"):a.current.hasEdge(n)?a.current.getEdgeAttribute(n,"zIndex"):0:0,options:Object.fromEntries(Array.from({length:21},(d,m)=>[m-10,(m-10).toString()])),onChange:d=>y(Number(d))}),a.current.hasEdge(n)){const d=a.current.getEdgeAttributes(n),m=d.parallelIndex,x=h.RMP_CLOUD?me:fe,u=i>x&&m<0,f=i>x&&m>=0;g.push({type:"switch",label:t("panel.details.info.parallel"),isDisabled:u,isChecked:m>=0,onChange:b=>s(b,d[d.type].startFrom),oneLine:!0,minW:276}),m>=0&&g.push({type:"input",label:t("panel.details.info.parallelIndex"),variant:"number",isDisabled:f,value:d.parallelIndex.toString(),onChange:b=>l(Number(b)),minW:276})}}else c.size>1&&g.push({type:"input",label:t("panel.details.info.type"),value:t("panel.details.multipleSelection.title"),minW:276});return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.info.title")}),e.jsx(V,{fields:g,minW:130}),c.size===1&&n.startsWith("stn")&&a.current.hasNode(n)&&a.current.getNodeAttribute(n,"type")in $&&e.jsx(ke,{}),c.size===1&&n.startsWith("line")&&a.current.hasEdge(n)&&a.current.getEdgeAttribute(n,"type")in I&&a.current.getEdgeAttribute(n,"style")in z&&e.jsx(Re,{}),c.size>1&&e.jsx(Le,{})]})}function Oe(){const{t}=L(),r=P(),{selected:o}=A(f=>f.runtime),[h]=o,c=p.useRef(window.graph),[i,n]=p.useState("undefined"),[a,y]=p.useState("undefined"),[s,l]=p.useState("undefined"),[g,d]=p.useState("undefined");p.useEffect(()=>{var f,b,S,C;if(h!=null&&h.startsWith("line")){const[T,R]=c.current.extremities(h);if(n(T),y(R),T.startsWith("stn")){const k=c.current.getNodeAttribute(T,"type");l((b=(f=c.current.getNodeAttribute(T,k))==null?void 0:f.names.at(0))!=null?b:"undefined")}if(R.startsWith("stn")){const k=c.current.getNodeAttribute(R,"type");d((C=(S=c.current.getNodeAttribute(R,k))==null?void 0:S.names.at(0))!=null?C:"undefined")}}},[o]);const m=K(()=>{r(D()),r(G(i))}),x=K(()=>{r(D()),r(G(a))}),u=[{type:"custom",label:t("panel.details.lineExtremities.source"),component:e.jsx(N,{ml:"auto",size:"sm",variant:"link",onClick:m,children:i}),oneLine:!0,minW:"full"},{type:"input",label:t("panel.details.lineExtremities.sourceName"),value:s,minW:"full"},{type:"custom",label:t("panel.details.lineExtremities.target"),component:e.jsx(N,{ml:"auto",size:"sm",variant:"link",onClick:x,children:a}),oneLine:!0,minW:"full"},{type:"input",label:t("panel.details.lineExtremities.targetName"),value:g,minW:"full"}];return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.lineExtremities.title")}),e.jsx(V,{fields:u,minW:130})]})}function We(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(E()),r(w(n.current.export()))},[r,v,E,w]),{selected:h,refresh:{nodes:c}}=A(l=>l.runtime),[i]=h,n=p.useRef(window.graph),[a,y]=p.useState({x:0,y:0});p.useEffect(()=>{if(i!=null&&i.startsWith("stn")||i!=null&&i.startsWith("misc_node_")){const l=n.current.getNodeAttribute(i,"x"),g=n.current.getNodeAttribute(i,"y");y({x:l,y:g})}},[c,h]);const s=[{type:"input",label:t("panel.details.nodePosition.pos.x"),value:a.x.toString(),validator:l=>!Number.isNaN(l),onChange:l=>{n.current.mergeNodeAttributes(i,{x:Number(l)}),o()}},{type:"input",label:t("panel.details.nodePosition.pos.y"),value:a.y.toString(),validator:l=>!Number.isNaN(l),onChange:l=>{n.current.mergeNodeAttributes(i,{y:Number(l)}),o()}}];return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.nodePosition.title")}),e.jsx(V,{fields:s,minW:130})]})}const q={...$,...Pe},Ie=()=>{var y;const t=P(),{selected:r}=A(s=>s.runtime),{t:o}=L(),[h]=r,c=window.graph.getNodeAttribute(h,"type"),i=c in q&&q[c].attrsComponent,n=(y=window.graph.getNodeAttribute(h,c))!=null?y:{},a=(s,l)=>{const g=window.graph.getNodeAttribute(s,"type");window.graph.mergeNodeAttributes(s,{[g]:l}),t(v()),t(w(window.graph.export()))};return i?e.jsx(i,{id:h,attrs:n,handleAttrsUpdate:a}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:o("panel.details.unknown.error",{category:o("panel.details.unknown.node")})})},De=()=>{var f,b;const t=P(),{preference:{autoParallel:r}}=A(S=>S.app),{selected:o}=A(S=>S.runtime),{t:h}=L(),[c]=o,{type:i,style:n,parallelIndex:a,reconcileId:y}=window.graph.getEdgeAttributes(c),s=(f=window.graph.getEdgeAttribute(c,i))!=null?f:{},l=i in I&&I[i].attrsComponent,g=(b=window.graph.getEdgeAttribute(c,n))!=null?b:{},d=n in z&&z[n].attrsComponent,m=(S,C)=>{let T=-1;if(r){const[R,k]=window.graph.extremities(S);T=ne(window.graph,i,R,k,C)}window.graph.setEdgeAttribute(S,"parallelIndex",T)},x=(S,C)=>{window.graph.mergeEdgeAttributes(S,{[i]:C}),t(E()),t(w(window.graph.export()))},u=(S,C)=>{window.graph.mergeEdgeAttributes(S,{[n]:C}),t(E()),t(w(window.graph.export()))};return e.jsxs(e.Fragment,{children:[l?e.jsx(l,{id:c,attrs:s,recalculateParallelIndex:m,handleAttrsUpdate:x,parallelIndex:a}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:h("panel.details.unknown.error",{category:h("panel.details.unknown.linePath")})}),d?e.jsx(d,{id:c,attrs:g,handleAttrsUpdate:u,reconcileId:y}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:h("panel.details.unknown.error",{category:h("panel.details.unknown.lineStyle")})})]})},Ge=()=>{const{t}=L(),r=P(),o=p.useRef(window.graph),h=p.useCallback(()=>{r(v()),r(E()),r(w(o.current.export()))},[r,v,E,w]),{activeSubscriptions:c}=A(u=>u.account),{selected:i,mode:n,active:a,masterNodesCount:y}=A(u=>u.runtime),[s]=i,l=!c.RMP_CLOUD&&y+1>xe,g=()=>r(D()),d=u=>{const f=structuredClone(o.current.getNodeAttributes(u));f.x+=50,f.y+=50;const b=u.startsWith("stn")?"stn_".concat(X(10)):"misc_node_".concat(X(10));o.current.addNode(b,f),r(v()),r(w(o.current.export()))},m=u=>{const f=Ae(o.current,u);navigator.clipboard.writeText(f)},x=u=>{r(D()),u.forEach(f=>{o.current.hasNode(f)?o.current.dropNode(f):o.current.hasEdge(f)&&o.current.dropEdge(f)}),h()};return e.jsxs(ye,{isOpen:i.size>0&&!n.startsWith("line")&&!a,width:300,header:"Dummy header",alwaysOverlay:!0,children:[e.jsx(be,{onClose:g,children:t("panel.details.header")}),e.jsxs(je,{children:[e.jsx(ze,{}),i.size===1&&o.current.hasNode(s)&&e.jsx(We,{}),i.size===1&&o.current.hasEdge(s)&&e.jsx(Oe,{}),i.size===1&&e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.specificAttrsTitle")}),window.graph.hasNode(s)&&e.jsx(Ie,{}),window.graph.hasEdge(s)&&e.jsx(De,{})]})]}),e.jsx(Se,{children:e.jsxs(F,{children:[i.size===1&&o.current.hasNode(s)&&e.jsx(N,{size:"sm",variant:"outline",onClick:()=>d(s),isDisabled:o.current.getNodeAttributes(s).type===we.Master&&l,children:t("panel.details.footer.duplicate")}),e.jsx(N,{size:"sm",variant:"outline",onClick:()=>m(i),children:t("panel.details.footer.copy")}),e.jsx(N,{size:"sm",variant:"outline",onClick:()=>x(i),children:t("panel.details.footer.remove")})]})})]})};export{Ge as default}; diff --git a/assets/details-DbBAbTBg.js b/assets/details-DbBAbTBg.js new file mode 100644 index 00000000..f2c0928f --- /dev/null +++ b/assets/details-DbBAbTBg.js @@ -0,0 +1 @@ +import{j as e,B as W,aw as O,ax as re,aK as F,O as N,aM as le,U as oe,D as ce,_ as J,$ as Z,a0 as Q,a1 as Y,a3 as ee,a5 as te,a4 as U}from"./chakra-xNcrfRXW.js";import{c as P,d as A,aE as de,T as ue,az as pe,aF as he,t as E,v as w,l as I,au as z,k as ne,o as ge,P as B,aG as H,q as v,$ as me,a0 as fe,i as V,m as se,y as D,aA as G,aD as xe,aH as ye,aI as be,aJ as Se,aK as je,av as we,n as X}from"./index-KpXBwNUP.js";import{u as L,b as p}from"./react-D-_si4LB.js";import{u as K,e as Ae}from"./clipboard-Bp3Rtabe.js";import{s as $}from"./master-manager-D9XDRPOe.js";import{C as Ce,c as Ne,a as Ee,b as Te}from"./change-type-modal-gChb5e9p.js";import{LearnHowToAdd as ve}from"./tools-B2RMBMZd.js";import{m as Pe}from"./misc-nodes-D3tkoIn0.js";function Le(){const{t}=L(),r=P(),{selected:o}=A(s=>s.runtime),h=p.useRef(window.graph),c=s=>{if(h.current.hasNode(s)){const l=h.current.getNodeAttributes(s),g=l.type;return s.startsWith("stn")?l[g].names.join("/"):g}else if(h.current.hasEdge(s)){const[l,g]=h.current.extremities(s),d=h.current.getSourceAttributes(s),m=h.current.getTargetAttributes(s),x=d.type,u=m.type;return(l.startsWith("stn")?d[x].names[0]:x)+" - "+(g.startsWith("stn")?m[u].names[0]:u)}},[i,n]=p.useState([]);p.useEffect(()=>{n(["station","misc-node","line"])},[o]);const[a,y]=p.useState(!1);return e.jsxs(W,{children:[e.jsxs(O,{as:"h5",size:"sm",children:[t("panel.details.multipleSelection.selected")," ",o.size]}),e.jsxs(re,{m:"var(--chakra-space-1)",children:[e.jsxs(F,{w:"100%",children:[e.jsx(O,{as:"h5",size:"xs",w:"100%",children:t("panel.details.multipleSelection.show")}),e.jsx(de,{selections:[{label:t("panel.details.multipleSelection.station"),value:"station"},{label:t("panel.details.multipleSelection.miscNode"),value:"misc-node"},{label:t("panel.details.multipleSelection.edge"),value:"line"}],defaultValue:i,multiSelect:!0,onChange:s=>n(s)})]}),i.length!==0&&e.jsxs(e.Fragment,{children:[e.jsxs(N,{width:"100%",size:"sm",onClick:()=>y(!0),children:[t("panel.details.multipleSelection.change"),e.jsx(le,{label:t("header.settings.pro"),children:e.jsx(oe,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",children:"PRO"})})]}),e.jsx(ce,{})]}),[...o].filter(s=>i.includes("station")||!s.startsWith("stn")).filter(s=>i.includes("misc-node")||!s.startsWith("misc")).filter(s=>i.includes("line")||!s.startsWith("line")).map(s=>{var l;return e.jsxs(F,{width:"100%",children:[e.jsx(N,{width:"100%",size:"sm",variant:"solid",onClick:()=>r(ue(new Set([s]))),overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"ruby",children:(l=c(s))==null?void 0:l.replaceAll("\n","⏎")}),e.jsx(N,{size:"sm",onClick:()=>r(pe(s)),children:e.jsx(he,{})})]},s)})]}),e.jsx(Ce,{isOpen:a,onClose:()=>y(!1),isSelect:!0,filter:i})]})}function Re(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(E()),r(w(a.current.export()))},[r,E,w]),{preference:{autoParallel:h}}=A(S=>S.app),{selected:c,theme:i}=A(S=>S.runtime),[n]=c,a=p.useRef(window.graph),[y,s]=p.useState(!1),l=p.useRef(null),g=Object.fromEntries(Object.entries(I).map(([S,_])=>[S,t(_.metadata.displayName).toString()])),[d,m]=p.useState(a.current.getEdgeAttribute(n,"type")),[x,u]=p.useState(void 0),f=Object.fromEntries(Object.entries(z).map(([S,_])=>[S,t(_.metadata.displayName).toString()])),[j,b]=p.useState(a.current.getEdgeAttribute(n,"style")),[C,T]=p.useState(void 0);p.useEffect(()=>{m(a.current.getEdgeAttribute(n,"type")),b(a.current.getEdgeAttribute(n,"style"))},[n]);const R=Object.values(ne).filter(S=>!z[j].metadata.supportLinePathType.includes(S)),k=Object.values(ge).filter(S=>!z[S].metadata.supportLinePathType.includes(d)),ae=()=>{x&&(Ne(a.current,n,x,h),m(a.current.getEdgeAttribute(n,"type")),o())},ie=()=>{C&&(Ee(a.current,n,C,i),b(a.current.getEdgeAttribute(n,"style")),o())},M=S=>{S&&(x?(ae(),u(void 0)):C&&(ie(),T(void 0))),s(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(B,{label:t("panel.details.info.linePathType"),minW:"276",children:e.jsx(H,{options:g,disabledOptions:R,defaultValue:d,value:d,onChange:({target:{value:S}})=>{u(S),s(!0)}})}),e.jsx(B,{label:t("panel.details.info.lineStyleType"),minW:"276",children:e.jsx(H,{options:f,disabledOptions:k,defaultValue:j,value:j,onChange:({target:{value:S}})=>{T(S),s(!0)}})}),e.jsx(ve,{type:"line",expand:!0}),e.jsx(J,{isOpen:y,leastDestructiveRef:l,onClose:()=>M(!1),children:e.jsx(Z,{children:e.jsxs(Q,{children:[e.jsx(Y,{children:t("warning")}),e.jsx(ee,{children:t("panel.details.changeLineTypeContent")}),e.jsxs(te,{children:[e.jsx(N,{ref:l,onClick:()=>M(!1),children:t("cancel")}),e.jsx(N,{ml:"2",colorScheme:"red",onClick:()=>M(!0),children:t("panel.details.changeType")})]})]})})})]})}function ke(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(w(i.current.export()))},[r,v,w]),{selected:h}=A(u=>u.runtime),[c]=h,i=p.useRef(window.graph),[n,a]=p.useState(!1),y=p.useRef(null),[s,l]=p.useState(void 0),g=i.current.getNodeAttribute(c,"type"),d=Object.fromEntries(Object.entries($).map(([u,f])=>[u,t(f.metadata.displayName).toString()])),m=()=>{s&&(Te(i.current,c,s),o())},x=u=>{u&&m(),l(void 0),a(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(B,{label:t("panel.details.info.stationType"),minW:"276",children:e.jsx(H,{options:d,disabledOptions:[g],value:g,onChange:({target:{value:u}})=>{l(u),a(!0)}})}),e.jsx(J,{isOpen:n,leastDestructiveRef:y,onClose:()=>x(!1),children:e.jsx(Z,{children:e.jsxs(Q,{children:[e.jsx(Y,{children:t("warning")}),e.jsx(ee,{children:t("panel.details.changeStationTypeContent")}),e.jsxs(te,{children:[e.jsx(N,{ref:y,onClick:()=>x(!1),children:t("cancel")}),e.jsx(N,{ml:"2",colorScheme:"red",onClick:()=>x(!0),children:t("panel.details.changeType")})]})]})})})]})}function ze(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(E()),r(w(a.current.export()))},[r,v,E,w]),{activeSubscriptions:h}=A(d=>d.account),{selected:c,parallelLinesCount:i}=A(d=>d.runtime),[n]=c,a=p.useRef(window.graph),y=d=>{const m=Math.min(Math.max(d,-10),10);a.current.hasNode(n)&&a.current.setNodeAttribute(n,"zIndex",m),a.current.hasEdge(n)&&a.current.setEdgeAttribute(n,"zIndex",m),o()},s=(d,m)=>{let x=-1;if(d){const u=a.current.getEdgeAttributes(n),[f,j]=a.current.extremities(n);x=se(a.current,u.type,f,j,m)}l(x)},l=d=>{a.current.setEdgeAttribute(n,"parallelIndex",d),r(E()),r(w(a.current.export()))},g=[];if(c.size!==0)if(c.size===1){if(g.push({type:"input",label:t("panel.details.info.id"),value:n,minW:276}),g.push({type:"select",label:t("panel.details.info.zIndex"),value:n?a.current.hasNode(n)?a.current.getNodeAttribute(n,"zIndex"):a.current.hasEdge(n)?a.current.getEdgeAttribute(n,"zIndex"):0:0,options:Object.fromEntries(Array.from({length:21},(d,m)=>[m-10,(m-10).toString()])),onChange:d=>y(Number(d))}),a.current.hasEdge(n)){const d=a.current.getEdgeAttributes(n),{parallelIndex:m,type:x}=d,u=h.RMP_CLOUD?me:fe,f=i>u&&m<0||x===ne.Simple,j=i>u&&m>=0;g.push({type:"switch",label:t("panel.details.info.parallel"),isDisabled:f,isChecked:m>=0,onChange:b=>s(b,d[d.type].startFrom),oneLine:!0,minW:276}),m>=0&&g.push({type:"input",label:t("panel.details.info.parallelIndex"),variant:"number",isDisabled:j,value:d.parallelIndex.toString(),onChange:b=>l(Number(b)),minW:276})}}else c.size>1&&g.push({type:"input",label:t("panel.details.info.type"),value:t("panel.details.multipleSelection.title"),minW:276});return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.info.title")}),e.jsx(V,{fields:g,minW:130}),c.size===1&&n.startsWith("stn")&&a.current.hasNode(n)&&a.current.getNodeAttribute(n,"type")in $&&e.jsx(ke,{}),c.size===1&&n.startsWith("line")&&a.current.hasEdge(n)&&a.current.getEdgeAttribute(n,"type")in I&&a.current.getEdgeAttribute(n,"style")in z&&e.jsx(Re,{}),c.size>1&&e.jsx(Le,{})]})}function Oe(){const{t}=L(),r=P(),{selected:o}=A(f=>f.runtime),[h]=o,c=p.useRef(window.graph),[i,n]=p.useState("undefined"),[a,y]=p.useState("undefined"),[s,l]=p.useState("undefined"),[g,d]=p.useState("undefined");p.useEffect(()=>{var f,j,b,C;if(h!=null&&h.startsWith("line")){const[T,R]=c.current.extremities(h);if(n(T),y(R),T.startsWith("stn")){const k=c.current.getNodeAttribute(T,"type");l((j=(f=c.current.getNodeAttribute(T,k))==null?void 0:f.names.at(0))!=null?j:"undefined")}if(R.startsWith("stn")){const k=c.current.getNodeAttribute(R,"type");d((C=(b=c.current.getNodeAttribute(R,k))==null?void 0:b.names.at(0))!=null?C:"undefined")}}},[o]);const m=K(()=>{r(D()),r(G(i))}),x=K(()=>{r(D()),r(G(a))}),u=[{type:"custom",label:t("panel.details.lineExtremities.source"),component:e.jsx(N,{ml:"auto",size:"sm",variant:"link",onClick:m,children:i}),oneLine:!0,minW:"full"},{type:"input",label:t("panel.details.lineExtremities.sourceName"),value:s,minW:"full"},{type:"custom",label:t("panel.details.lineExtremities.target"),component:e.jsx(N,{ml:"auto",size:"sm",variant:"link",onClick:x,children:a}),oneLine:!0,minW:"full"},{type:"input",label:t("panel.details.lineExtremities.targetName"),value:g,minW:"full"}];return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.lineExtremities.title")}),e.jsx(V,{fields:u,minW:130})]})}function We(){const{t}=L(),r=P(),o=p.useCallback(()=>{r(v()),r(E()),r(w(n.current.export()))},[r,v,E,w]),{selected:h,refresh:{nodes:c}}=A(l=>l.runtime),[i]=h,n=p.useRef(window.graph),[a,y]=p.useState({x:0,y:0});p.useEffect(()=>{if(i!=null&&i.startsWith("stn")||i!=null&&i.startsWith("misc_node_")){const l=n.current.getNodeAttribute(i,"x"),g=n.current.getNodeAttribute(i,"y");y({x:l,y:g})}},[c,h]);const s=[{type:"input",label:t("panel.details.nodePosition.pos.x"),value:a.x.toString(),validator:l=>!Number.isNaN(l),onChange:l=>{n.current.mergeNodeAttributes(i,{x:Number(l)}),o()}},{type:"input",label:t("panel.details.nodePosition.pos.y"),value:a.y.toString(),validator:l=>!Number.isNaN(l),onChange:l=>{n.current.mergeNodeAttributes(i,{y:Number(l)}),o()}}];return e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.nodePosition.title")}),e.jsx(V,{fields:s,minW:130})]})}const q={...$,...Pe},Ie=()=>{var y;const t=P(),{selected:r}=A(s=>s.runtime),{t:o}=L(),[h]=r,c=window.graph.getNodeAttribute(h,"type"),i=c in q&&q[c].attrsComponent,n=(y=window.graph.getNodeAttribute(h,c))!=null?y:{},a=(s,l)=>{const g=window.graph.getNodeAttribute(s,"type");window.graph.mergeNodeAttributes(s,{[g]:l}),t(v()),t(w(window.graph.export()))};return i?e.jsx(i,{id:h,attrs:n,handleAttrsUpdate:a}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:o("panel.details.unknown.error",{category:o("panel.details.unknown.node")})})},De=()=>{var f,j;const t=P(),{preference:{autoParallel:r}}=A(b=>b.app),{selected:o}=A(b=>b.runtime),{t:h}=L(),[c]=o,{type:i,style:n,parallelIndex:a,reconcileId:y}=window.graph.getEdgeAttributes(c),s=(f=window.graph.getEdgeAttribute(c,i))!=null?f:{},l=i in I&&I[i].attrsComponent,g=(j=window.graph.getEdgeAttribute(c,n))!=null?j:{},d=n in z&&z[n].attrsComponent,m=(b,C)=>{let T=-1;if(r){const[R,k]=window.graph.extremities(b);T=se(window.graph,i,R,k,C)}window.graph.setEdgeAttribute(b,"parallelIndex",T)},x=(b,C)=>{window.graph.mergeEdgeAttributes(b,{[i]:C}),t(E()),t(w(window.graph.export()))},u=(b,C)=>{window.graph.mergeEdgeAttributes(b,{[n]:C}),t(E()),t(w(window.graph.export()))};return e.jsxs(e.Fragment,{children:[l?e.jsx(l,{id:c,attrs:s,recalculateParallelIndex:m,handleAttrsUpdate:x,parallelIndex:a}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:h("panel.details.unknown.error",{category:h("panel.details.unknown.linePath")})}),d?e.jsx(d,{id:c,attrs:g,handleAttrsUpdate:u,reconcileId:y}):e.jsx(U,{fontSize:"xs",m:"var(--chakra-space-1)",children:h("panel.details.unknown.error",{category:h("panel.details.unknown.lineStyle")})})]})},Ge=()=>{const{t}=L(),r=P(),o=p.useRef(window.graph),h=p.useCallback(()=>{r(v()),r(E()),r(w(o.current.export()))},[r,v,E,w]),{activeSubscriptions:c}=A(u=>u.account),{selected:i,mode:n,active:a,masterNodesCount:y}=A(u=>u.runtime),[s]=i,l=!c.RMP_CLOUD&&y+1>xe,g=()=>r(D()),d=u=>{const f=structuredClone(o.current.getNodeAttributes(u));f.x+=50,f.y+=50;const j=u.startsWith("stn")?"stn_".concat(X(10)):"misc_node_".concat(X(10));o.current.addNode(j,f),r(v()),r(w(o.current.export()))},m=u=>{const f=Ae(o.current,u);navigator.clipboard.writeText(f)},x=u=>{r(D()),u.forEach(f=>{o.current.hasNode(f)?o.current.dropNode(f):o.current.hasEdge(f)&&o.current.dropEdge(f)}),h()};return e.jsxs(ye,{isOpen:i.size>0&&!n.startsWith("line")&&!a,width:300,header:"Dummy header",alwaysOverlay:!0,children:[e.jsx(be,{onClose:g,children:t("panel.details.header")}),e.jsxs(Se,{children:[e.jsx(ze,{}),i.size===1&&o.current.hasNode(s)&&e.jsx(We,{}),i.size===1&&o.current.hasEdge(s)&&e.jsx(Oe,{}),i.size===1&&e.jsxs(W,{p:1,children:[e.jsx(O,{as:"h5",size:"sm",children:t("panel.details.specificAttrsTitle")}),window.graph.hasNode(s)&&e.jsx(Ie,{}),window.graph.hasEdge(s)&&e.jsx(De,{})]})]}),e.jsx(je,{children:e.jsxs(F,{children:[i.size===1&&o.current.hasNode(s)&&e.jsx(N,{size:"sm",variant:"outline",onClick:()=>d(s),isDisabled:o.current.getNodeAttributes(s).type===we.Master&&l,children:t("panel.details.footer.duplicate")}),e.jsx(N,{size:"sm",variant:"outline",onClick:()=>m(i),children:t("panel.details.footer.copy")}),e.jsx(N,{size:"sm",variant:"outline",onClick:()=>x(i),children:t("panel.details.footer.remove")})]})})]})};export{Ge as default}; diff --git a/assets/details-legacy-Ckc1GDAa.js b/assets/details-legacy-Ckc1GDAa.js new file mode 100644 index 00000000..37b89fe3 --- /dev/null +++ b/assets/details-legacy-Ckc1GDAa.js @@ -0,0 +1 @@ +System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BdzZVG-I.js","./react-legacy-S3BmMPiz.js","./clipboard-legacy-NH9E7Htu.js","./master-manager-legacy-DBszGOWt.js","./change-type-modal-legacy-Cv1zf2ZW.js","./tools-legacy-DeIjKjaU.js","./misc-nodes-legacy-kef96jcz.js"],(function(e,t){"use strict";var n,i,r,s,a,l,d,o,c,u,p,h,g,m,x,b,j,f,y,w,v,A,N,S,E,C,z,k,W,O,I,P,R,T,D,L,_,F,M,U,$,V,H,K,q,B,G,J,Q,X,Y,Z,ee,te,ne;return{setters:[e=>{n=e.j,i=e.B,r=e.aw,s=e.ax,a=e.aK,l=e.O,d=e.aM,o=e.U,c=e.D,u=e._,p=e.$,h=e.a0,g=e.a1,m=e.a3,x=e.a5,b=e.a4},e=>{j=e.c,f=e.d,y=e.aE,w=e.T,v=e.az,A=e.aF,N=e.t,S=e.v,E=e.l,C=e.au,z=e.k,k=e.o,W=e.P,O=e.aG,I=e.q,P=e.$,R=e.a0,T=e.i,D=e.m,L=e.y,_=e.aA,F=e.aD,M=e.aH,U=e.aI,$=e.aJ,V=e.aK,H=e.av,K=e.n},e=>{q=e.u,B=e.b},e=>{G=e.u,J=e.e},e=>{Q=e.s},e=>{X=e.C,Y=e.c,Z=e.a,ee=e.b},e=>{te=e.LearnHowToAdd},e=>{ne=e.m}],execute:function(){function t(){const{t:e}=q(),t=j(),{selected:u}=f((e=>e.runtime)),p=B.useRef(window.graph),h=e=>{if(p.current.hasNode(e)){const t=p.current.getNodeAttributes(e),n=t.type;return e.startsWith("stn")?t[n].names.join("/"):n}if(p.current.hasEdge(e)){const[t,n]=p.current.extremities(e),i=p.current.getSourceAttributes(e),r=p.current.getTargetAttributes(e),s=i.type,a=r.type;return(t.startsWith("stn")?i[s].names[0]:s)+" - "+(n.startsWith("stn")?r[a].names[0]:a)}},[g,m]=B.useState([]);B.useEffect((()=>{m(["station","misc-node","line"])}),[u]);const[x,b]=B.useState(!1);return n.jsxs(i,{children:[n.jsxs(r,{as:"h5",size:"sm",children:[e("panel.details.multipleSelection.selected")," ",u.size]}),n.jsxs(s,{m:"var(--chakra-space-1)",children:[n.jsxs(a,{w:"100%",children:[n.jsx(r,{as:"h5",size:"xs",w:"100%",children:e("panel.details.multipleSelection.show")}),n.jsx(y,{selections:[{label:e("panel.details.multipleSelection.station"),value:"station"},{label:e("panel.details.multipleSelection.miscNode"),value:"misc-node"},{label:e("panel.details.multipleSelection.edge"),value:"line"}],defaultValue:g,multiSelect:!0,onChange:e=>m(e)})]}),0!==g.length&&n.jsxs(n.Fragment,{children:[n.jsxs(l,{width:"100%",size:"sm",onClick:()=>b(!0),children:[e("panel.details.multipleSelection.change"),n.jsx(d,{label:e("header.settings.pro"),children:n.jsx(o,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",children:"PRO"})})]}),n.jsx(c,{})]}),[...u].filter((e=>g.includes("station")||!e.startsWith("stn"))).filter((e=>g.includes("misc-node")||!e.startsWith("misc"))).filter((e=>g.includes("line")||!e.startsWith("line"))).map((e=>{var i;return n.jsxs(a,{width:"100%",children:[n.jsx(l,{width:"100%",size:"sm",variant:"solid",onClick:()=>t(w(new Set([e]))),overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"ruby",children:null===(i=h(e))||void 0===i?void 0:i.replaceAll("\n","⏎")}),n.jsx(l,{size:"sm",onClick:()=>t(v(e)),children:n.jsx(A,{})})]},e)}))]}),n.jsx(X,{isOpen:x,onClose:()=>b(!1),isSelect:!0,filter:g})]})}function ie(){const{t:e}=q(),t=j(),i=B.useCallback((()=>{t(N()),t(S(o.current.export()))}),[t,N,S]),{preference:{autoParallel:r}}=f((e=>e.app)),{selected:s,theme:a}=f((e=>e.runtime)),[d]=s,o=B.useRef(window.graph),[c,b]=B.useState(!1),y=B.useRef(null),w=Object.fromEntries(Object.entries(E).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),[v,A]=B.useState(o.current.getEdgeAttribute(d,"type")),[I,P]=B.useState(void 0),R=Object.fromEntries(Object.entries(C).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),[T,D]=B.useState(o.current.getEdgeAttribute(d,"style")),[L,_]=B.useState(void 0);B.useEffect((()=>{A(o.current.getEdgeAttribute(d,"type")),D(o.current.getEdgeAttribute(d,"style"))}),[d]);const F=Object.values(z).filter((e=>!C[T].metadata.supportLinePathType.includes(e))),M=Object.values(k).filter((e=>!C[e].metadata.supportLinePathType.includes(v))),U=e=>{e&&(I?(I&&(Y(o.current,d,I,r),A(o.current.getEdgeAttribute(d,"type")),i()),P(void 0)):L&&(L&&(Z(o.current,d,L,a),D(o.current.getEdgeAttribute(d,"style")),i()),_(void 0))),b(!1)};return n.jsxs(n.Fragment,{children:[n.jsx(W,{label:e("panel.details.info.linePathType"),minW:"276",children:n.jsx(O,{options:w,disabledOptions:F,defaultValue:v,value:v,onChange:({target:{value:e}})=>{P(e),b(!0)}})}),n.jsx(W,{label:e("panel.details.info.lineStyleType"),minW:"276",children:n.jsx(O,{options:R,disabledOptions:M,defaultValue:T,value:T,onChange:({target:{value:e}})=>{_(e),b(!0)}})}),n.jsx(te,{type:"line",expand:!0}),n.jsx(u,{isOpen:c,leastDestructiveRef:y,onClose:()=>U(!1),children:n.jsx(p,{children:n.jsxs(h,{children:[n.jsx(g,{children:e("warning")}),n.jsx(m,{children:e("panel.details.changeLineTypeContent")}),n.jsxs(x,{children:[n.jsx(l,{ref:y,onClick:()=>U(!1),children:e("cancel")}),n.jsx(l,{ml:"2",colorScheme:"red",onClick:()=>U(!0),children:e("panel.details.changeType")})]})]})})})]})}function re(){const{t:e}=q(),t=j(),i=B.useCallback((()=>{t(I()),t(S(a.current.export()))}),[t,I,S]),{selected:r}=f((e=>e.runtime)),[s]=r,a=B.useRef(window.graph),[d,o]=B.useState(!1),c=B.useRef(null),[b,y]=B.useState(void 0),w=a.current.getNodeAttribute(s,"type"),v=Object.fromEntries(Object.entries(Q).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),A=e=>{e&&b&&(ee(a.current,s,b),i()),y(void 0),o(!1)};return n.jsxs(n.Fragment,{children:[n.jsx(W,{label:e("panel.details.info.stationType"),minW:"276",children:n.jsx(O,{options:v,disabledOptions:[w],value:w,onChange:({target:{value:e}})=>{y(e),o(!0)}})}),n.jsx(u,{isOpen:d,leastDestructiveRef:c,onClose:()=>A(!1),children:n.jsx(p,{children:n.jsxs(h,{children:[n.jsx(g,{children:e("warning")}),n.jsx(m,{children:e("panel.details.changeStationTypeContent")}),n.jsxs(x,{children:[n.jsx(l,{ref:c,onClick:()=>A(!1),children:e("cancel")}),n.jsx(l,{ml:"2",colorScheme:"red",onClick:()=>A(!0),children:e("panel.details.changeType")})]})]})})})]})}function se(){const{t:e}=q(),s=j(),a=B.useCallback((()=>{s(I()),s(N()),s(S(u.current.export()))}),[s,I,N,S]),{activeSubscriptions:l}=f((e=>e.account)),{selected:d,parallelLinesCount:o}=f((e=>e.runtime)),[c]=d,u=B.useRef(window.graph),p=e=>{u.current.setEdgeAttribute(c,"parallelIndex",e),s(N()),s(S(u.current.export()))},h=[];if(0===d.size);else if(1===d.size){if(h.push({type:"input",label:e("panel.details.info.id"),value:c,minW:276}),h.push({type:"select",label:e("panel.details.info.zIndex"),value:c?u.current.hasNode(c)?u.current.getNodeAttribute(c,"zIndex"):u.current.hasEdge(c)?u.current.getEdgeAttribute(c,"zIndex"):0:0,options:Object.fromEntries(Array.from({length:21},((e,t)=>[t-10,(t-10).toString()]))),onChange:e=>(e=>{const t=Math.min(Math.max(e,-10),10);u.current.hasNode(c)&&u.current.setNodeAttribute(c,"zIndex",t),u.current.hasEdge(c)&&u.current.setEdgeAttribute(c,"zIndex",t),a()})(Number(e))}),u.current.hasEdge(c)){const t=u.current.getEdgeAttributes(c),{parallelIndex:n,type:i}=t,r=l.RMP_CLOUD?P:R,s=o>r&&n<0||i===z.Simple,a=o>r&&n>=0;h.push({type:"switch",label:e("panel.details.info.parallel"),isDisabled:s,isChecked:n>=0,onChange:e=>((e,t)=>{let n=-1;if(e){const e=u.current.getEdgeAttributes(c),[i,r]=u.current.extremities(c);n=D(u.current,e.type,i,r,t)}p(n)})(e,t[t.type].startFrom),oneLine:!0,minW:276}),n>=0&&h.push({type:"input",label:e("panel.details.info.parallelIndex"),variant:"number",isDisabled:a,value:t.parallelIndex.toString(),onChange:e=>p(Number(e)),minW:276})}}else d.size>1&&h.push({type:"input",label:e("panel.details.info.type"),value:e("panel.details.multipleSelection.title"),minW:276});return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.info.title")}),n.jsx(T,{fields:h,minW:130}),1===d.size&&c.startsWith("stn")&&u.current.hasNode(c)&&u.current.getNodeAttribute(c,"type")in Q&&n.jsx(re,{}),1===d.size&&c.startsWith("line")&&u.current.hasEdge(c)&&u.current.getEdgeAttribute(c,"type")in E&&u.current.getEdgeAttribute(c,"style")in C&&n.jsx(ie,{}),d.size>1&&n.jsx(t,{})]})}function ae(){const{t:e}=q(),t=j(),{selected:s}=f((e=>e.runtime)),[a]=s,d=B.useRef(window.graph),[o,c]=B.useState("undefined"),[u,p]=B.useState("undefined"),[h,g]=B.useState("undefined"),[m,x]=B.useState("undefined");B.useEffect((()=>{if(null!=a&&a.startsWith("line")){const[r,s]=d.current.extremities(a);if(c(r),p(s),r.startsWith("stn")){var e,t;const n=d.current.getNodeAttribute(r,"type");g(null!==(e=null===(t=d.current.getNodeAttribute(r,n))||void 0===t?void 0:t.names.at(0))&&void 0!==e?e:"undefined")}if(s.startsWith("stn")){var n,i;const e=d.current.getNodeAttribute(s,"type");x(null!==(n=null===(i=d.current.getNodeAttribute(s,e))||void 0===i?void 0:i.names.at(0))&&void 0!==n?n:"undefined")}}}),[s]);const b=G((()=>{t(L()),t(_(o))})),y=G((()=>{t(L()),t(_(u))})),w=[{type:"custom",label:e("panel.details.lineExtremities.source"),component:n.jsx(l,{ml:"auto",size:"sm",variant:"link",onClick:b,children:o}),oneLine:!0,minW:"full"},{type:"input",label:e("panel.details.lineExtremities.sourceName"),value:h,minW:"full"},{type:"custom",label:e("panel.details.lineExtremities.target"),component:n.jsx(l,{ml:"auto",size:"sm",variant:"link",onClick:y,children:u}),oneLine:!0,minW:"full"},{type:"input",label:e("panel.details.lineExtremities.targetName"),value:m,minW:"full"}];return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.lineExtremities.title")}),n.jsx(T,{fields:w,minW:130})]})}function le(){const{t:e}=q(),t=j(),s=B.useCallback((()=>{t(I()),t(N()),t(S(o.current.export()))}),[t,I,N,S]),{selected:a,refresh:{nodes:l}}=f((e=>e.runtime)),[d]=a,o=B.useRef(window.graph),[c,u]=B.useState({x:0,y:0});B.useEffect((()=>{if(null!=d&&d.startsWith("stn")||null!=d&&d.startsWith("misc_node_")){const e=o.current.getNodeAttribute(d,"x"),t=o.current.getNodeAttribute(d,"y");u({x:e,y:t})}}),[l,a]);const p=[{type:"input",label:e("panel.details.nodePosition.pos.x"),value:c.x.toString(),validator:e=>!Number.isNaN(e),onChange:e=>{o.current.mergeNodeAttributes(d,{x:Number(e)}),s()}},{type:"input",label:e("panel.details.nodePosition.pos.y"),value:c.y.toString(),validator:e=>!Number.isNaN(e),onChange:e=>{o.current.mergeNodeAttributes(d,{y:Number(e)}),s()}}];return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.nodePosition.title")}),n.jsx(T,{fields:p,minW:130})]})}const de={...Q,...ne},oe=()=>{var e;const t=j(),{selected:i}=f((e=>e.runtime)),{t:r}=q(),[s]=i,a=window.graph.getNodeAttribute(s,"type"),l=a in de&&de[a].attrsComponent,d=null!==(e=window.graph.getNodeAttribute(s,a))&&void 0!==e?e:{};return l?n.jsx(l,{id:s,attrs:d,handleAttrsUpdate:(e,n)=>{const i=window.graph.getNodeAttribute(e,"type");window.graph.mergeNodeAttributes(e,{[i]:n}),t(I()),t(S(window.graph.export()))}}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:r("panel.details.unknown.error",{category:r("panel.details.unknown.node")})})},ce=()=>{var e,t;const i=j(),{preference:{autoParallel:r}}=f((e=>e.app)),{selected:s}=f((e=>e.runtime)),{t:a}=q(),[l]=s,{type:d,style:o,parallelIndex:c,reconcileId:u}=window.graph.getEdgeAttributes(l),p=null!==(e=window.graph.getEdgeAttribute(l,d))&&void 0!==e?e:{},h=d in E&&E[d].attrsComponent,g=null!==(t=window.graph.getEdgeAttribute(l,o))&&void 0!==t?t:{},m=o in C&&C[o].attrsComponent;return n.jsxs(n.Fragment,{children:[h?n.jsx(h,{id:l,attrs:p,recalculateParallelIndex:(e,t)=>{let n=-1;if(r){const[i,r]=window.graph.extremities(e);n=D(window.graph,d,i,r,t)}window.graph.setEdgeAttribute(e,"parallelIndex",n)},handleAttrsUpdate:(e,t)=>{window.graph.mergeEdgeAttributes(e,{[d]:t}),i(N()),i(S(window.graph.export()))},parallelIndex:c}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:a("panel.details.unknown.error",{category:a("panel.details.unknown.linePath")})}),m?n.jsx(m,{id:l,attrs:g,handleAttrsUpdate:(e,t)=>{window.graph.mergeEdgeAttributes(e,{[o]:t}),i(N()),i(S(window.graph.export()))},reconcileId:u}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:a("panel.details.unknown.error",{category:a("panel.details.unknown.lineStyle")})})]})};e("default",(()=>{const{t:e}=q(),t=j(),s=B.useRef(window.graph),d=B.useCallback((()=>{t(I()),t(N()),t(S(s.current.export()))}),[t,I,N,S]),{activeSubscriptions:o}=f((e=>e.account)),{selected:c,mode:u,active:p,masterNodesCount:h}=f((e=>e.runtime)),[g]=c,m=!o.RMP_CLOUD&&h+1>F;return n.jsxs(M,{isOpen:c.size>0&&!u.startsWith("line")&&!p,width:300,header:"Dummy header",alwaysOverlay:!0,children:[n.jsx(U,{onClose:()=>t(L()),children:e("panel.details.header")}),n.jsxs($,{children:[n.jsx(se,{}),1===c.size&&s.current.hasNode(g)&&n.jsx(le,{}),1===c.size&&s.current.hasEdge(g)&&n.jsx(ae,{}),1===c.size&&n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.specificAttrsTitle")}),window.graph.hasNode(g)&&n.jsx(oe,{}),window.graph.hasEdge(g)&&n.jsx(ce,{})]})]}),n.jsx(V,{children:n.jsxs(a,{children:[1===c.size&&s.current.hasNode(g)&&n.jsx(l,{size:"sm",variant:"outline",onClick:()=>(e=>{const n=structuredClone(s.current.getNodeAttributes(e));n.x+=50,n.y+=50;const i=e.startsWith("stn")?`stn_${K(10)}`:`misc_node_${K(10)}`;s.current.addNode(i,n),t(I()),t(S(s.current.export()))})(g),isDisabled:s.current.getNodeAttributes(g).type===H.Master&&m,children:e("panel.details.footer.duplicate")}),n.jsx(l,{size:"sm",variant:"outline",onClick:()=>(e=>{const t=J(s.current,e);navigator.clipboard.writeText(t)})(c),children:e("panel.details.footer.copy")}),n.jsx(l,{size:"sm",variant:"outline",onClick:()=>{return e=c,t(L()),e.forEach((e=>{s.current.hasNode(e)?s.current.dropNode(e):s.current.hasEdge(e)&&s.current.dropEdge(e)})),void d();var e},children:e("panel.details.footer.remove")})]})})]})}))}}})); diff --git a/assets/details-legacy-w21GaLp2.js b/assets/details-legacy-w21GaLp2.js deleted file mode 100644 index 37444101..00000000 --- a/assets/details-legacy-w21GaLp2.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BGd0L8oF.js","./react-legacy-S3BmMPiz.js","./clipboard-legacy-XecFptqh.js","./master-manager-legacy-Cv1g7wby.js","./change-type-modal-legacy-BllsJJ8a.js","./tools-legacy-Bg5ZY7Wv.js","./misc-nodes-legacy-EAdJkjZQ.js"],(function(e,t){"use strict";var n,i,r,s,a,l,d,o,c,u,p,h,g,m,x,b,j,f,y,w,v,A,N,S,E,C,z,k,W,O,I,P,R,T,D,L,_,F,M,U,$,V,H,K,q,B,G,J,Q,X,Y,Z,ee,te,ne;return{setters:[e=>{n=e.j,i=e.B,r=e.aw,s=e.ax,a=e.aK,l=e.O,d=e.aM,o=e.U,c=e.D,u=e._,p=e.$,h=e.a0,g=e.a1,m=e.a3,x=e.a5,b=e.a4},e=>{j=e.c,f=e.d,y=e.aE,w=e.T,v=e.az,A=e.aF,N=e.t,S=e.v,E=e.l,C=e.au,z=e.k,k=e.o,W=e.P,O=e.aG,I=e.q,P=e.$,R=e.a0,T=e.i,D=e.m,L=e.y,_=e.aA,F=e.aD,M=e.aH,U=e.aI,$=e.aJ,V=e.aK,H=e.av,K=e.n},e=>{q=e.u,B=e.b},e=>{G=e.u,J=e.e},e=>{Q=e.s},e=>{X=e.C,Y=e.c,Z=e.a,ee=e.b},e=>{te=e.LearnHowToAdd},e=>{ne=e.m}],execute:function(){function t(){const{t:e}=q(),t=j(),{selected:u}=f((e=>e.runtime)),p=B.useRef(window.graph),h=e=>{if(p.current.hasNode(e)){const t=p.current.getNodeAttributes(e),n=t.type;return e.startsWith("stn")?t[n].names.join("/"):n}if(p.current.hasEdge(e)){const[t,n]=p.current.extremities(e),i=p.current.getSourceAttributes(e),r=p.current.getTargetAttributes(e),s=i.type,a=r.type;return(t.startsWith("stn")?i[s].names[0]:s)+" - "+(n.startsWith("stn")?r[a].names[0]:a)}},[g,m]=B.useState([]);B.useEffect((()=>{m(["station","misc-node","line"])}),[u]);const[x,b]=B.useState(!1);return n.jsxs(i,{children:[n.jsxs(r,{as:"h5",size:"sm",children:[e("panel.details.multipleSelection.selected")," ",u.size]}),n.jsxs(s,{m:"var(--chakra-space-1)",children:[n.jsxs(a,{w:"100%",children:[n.jsx(r,{as:"h5",size:"xs",w:"100%",children:e("panel.details.multipleSelection.show")}),n.jsx(y,{selections:[{label:e("panel.details.multipleSelection.station"),value:"station"},{label:e("panel.details.multipleSelection.miscNode"),value:"misc-node"},{label:e("panel.details.multipleSelection.edge"),value:"line"}],defaultValue:g,multiSelect:!0,onChange:e=>m(e)})]}),0!==g.length&&n.jsxs(n.Fragment,{children:[n.jsxs(l,{width:"100%",size:"sm",onClick:()=>b(!0),children:[e("panel.details.multipleSelection.change"),n.jsx(d,{label:e("header.settings.pro"),children:n.jsx(o,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",children:"PRO"})})]}),n.jsx(c,{})]}),[...u].filter((e=>g.includes("station")||!e.startsWith("stn"))).filter((e=>g.includes("misc-node")||!e.startsWith("misc"))).filter((e=>g.includes("line")||!e.startsWith("line"))).map((e=>{var i;return n.jsxs(a,{width:"100%",children:[n.jsx(l,{width:"100%",size:"sm",variant:"solid",onClick:()=>t(w(new Set([e]))),overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"ruby",children:null===(i=h(e))||void 0===i?void 0:i.replaceAll("\n","⏎")}),n.jsx(l,{size:"sm",onClick:()=>t(v(e)),children:n.jsx(A,{})})]},e)}))]}),n.jsx(X,{isOpen:x,onClose:()=>b(!1),isSelect:!0,filter:g})]})}function ie(){const{t:e}=q(),t=j(),i=B.useCallback((()=>{t(N()),t(S(o.current.export()))}),[t,N,S]),{preference:{autoParallel:r}}=f((e=>e.app)),{selected:s,theme:a}=f((e=>e.runtime)),[d]=s,o=B.useRef(window.graph),[c,b]=B.useState(!1),y=B.useRef(null),w=Object.fromEntries(Object.entries(E).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),[v,A]=B.useState(o.current.getEdgeAttribute(d,"type")),[I,P]=B.useState(void 0),R=Object.fromEntries(Object.entries(C).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),[T,D]=B.useState(o.current.getEdgeAttribute(d,"style")),[L,_]=B.useState(void 0);B.useEffect((()=>{A(o.current.getEdgeAttribute(d,"type")),D(o.current.getEdgeAttribute(d,"style"))}),[d]);const F=Object.values(z).filter((e=>!C[T].metadata.supportLinePathType.includes(e))),M=Object.values(k).filter((e=>!C[e].metadata.supportLinePathType.includes(v))),U=e=>{e&&(I?(I&&(Y(o.current,d,I,r),A(o.current.getEdgeAttribute(d,"type")),i()),P(void 0)):L&&(L&&(Z(o.current,d,L,a),D(o.current.getEdgeAttribute(d,"style")),i()),_(void 0))),b(!1)};return n.jsxs(n.Fragment,{children:[n.jsx(W,{label:e("panel.details.info.linePathType"),minW:"276",children:n.jsx(O,{options:w,disabledOptions:F,defaultValue:v,value:v,onChange:({target:{value:e}})=>{P(e),b(!0)}})}),n.jsx(W,{label:e("panel.details.info.lineStyleType"),minW:"276",children:n.jsx(O,{options:R,disabledOptions:M,defaultValue:T,value:T,onChange:({target:{value:e}})=>{_(e),b(!0)}})}),n.jsx(te,{type:"line",expand:!0}),n.jsx(u,{isOpen:c,leastDestructiveRef:y,onClose:()=>U(!1),children:n.jsx(p,{children:n.jsxs(h,{children:[n.jsx(g,{children:e("warning")}),n.jsx(m,{children:e("panel.details.changeLineTypeContent")}),n.jsxs(x,{children:[n.jsx(l,{ref:y,onClick:()=>U(!1),children:e("cancel")}),n.jsx(l,{ml:"2",colorScheme:"red",onClick:()=>U(!0),children:e("panel.details.changeType")})]})]})})})]})}function re(){const{t:e}=q(),t=j(),i=B.useCallback((()=>{t(I()),t(S(a.current.export()))}),[t,I,S]),{selected:r}=f((e=>e.runtime)),[s]=r,a=B.useRef(window.graph),[d,o]=B.useState(!1),c=B.useRef(null),[b,y]=B.useState(void 0),w=a.current.getNodeAttribute(s,"type"),v=Object.fromEntries(Object.entries(Q).map((([t,n])=>[t,e(n.metadata.displayName).toString()]))),A=e=>{e&&b&&(ee(a.current,s,b),i()),y(void 0),o(!1)};return n.jsxs(n.Fragment,{children:[n.jsx(W,{label:e("panel.details.info.stationType"),minW:"276",children:n.jsx(O,{options:v,disabledOptions:[w],value:w,onChange:({target:{value:e}})=>{y(e),o(!0)}})}),n.jsx(u,{isOpen:d,leastDestructiveRef:c,onClose:()=>A(!1),children:n.jsx(p,{children:n.jsxs(h,{children:[n.jsx(g,{children:e("warning")}),n.jsx(m,{children:e("panel.details.changeStationTypeContent")}),n.jsxs(x,{children:[n.jsx(l,{ref:c,onClick:()=>A(!1),children:e("cancel")}),n.jsx(l,{ml:"2",colorScheme:"red",onClick:()=>A(!0),children:e("panel.details.changeType")})]})]})})})]})}function se(){const{t:e}=q(),s=j(),a=B.useCallback((()=>{s(I()),s(N()),s(S(u.current.export()))}),[s,I,N,S]),{activeSubscriptions:l}=f((e=>e.account)),{selected:d,parallelLinesCount:o}=f((e=>e.runtime)),[c]=d,u=B.useRef(window.graph),p=e=>{u.current.setEdgeAttribute(c,"parallelIndex",e),s(N()),s(S(u.current.export()))},h=[];if(0===d.size);else if(1===d.size){if(h.push({type:"input",label:e("panel.details.info.id"),value:c,minW:276}),h.push({type:"select",label:e("panel.details.info.zIndex"),value:c?u.current.hasNode(c)?u.current.getNodeAttribute(c,"zIndex"):u.current.hasEdge(c)?u.current.getEdgeAttribute(c,"zIndex"):0:0,options:Object.fromEntries(Array.from({length:21},((e,t)=>[t-10,(t-10).toString()]))),onChange:e=>(e=>{const t=Math.min(Math.max(e,-10),10);u.current.hasNode(c)&&u.current.setNodeAttribute(c,"zIndex",t),u.current.hasEdge(c)&&u.current.setEdgeAttribute(c,"zIndex",t),a()})(Number(e))}),u.current.hasEdge(c)){const t=u.current.getEdgeAttributes(c),n=t.parallelIndex,i=l.RMP_CLOUD?P:R,r=o>i&&n<0,s=o>i&&n>=0;h.push({type:"switch",label:e("panel.details.info.parallel"),isDisabled:r,isChecked:n>=0,onChange:e=>((e,t)=>{let n=-1;if(e){const e=u.current.getEdgeAttributes(c),[i,r]=u.current.extremities(c);n=D(u.current,e.type,i,r,t)}p(n)})(e,t[t.type].startFrom),oneLine:!0,minW:276}),n>=0&&h.push({type:"input",label:e("panel.details.info.parallelIndex"),variant:"number",isDisabled:s,value:t.parallelIndex.toString(),onChange:e=>p(Number(e)),minW:276})}}else d.size>1&&h.push({type:"input",label:e("panel.details.info.type"),value:e("panel.details.multipleSelection.title"),minW:276});return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.info.title")}),n.jsx(T,{fields:h,minW:130}),1===d.size&&c.startsWith("stn")&&u.current.hasNode(c)&&u.current.getNodeAttribute(c,"type")in Q&&n.jsx(re,{}),1===d.size&&c.startsWith("line")&&u.current.hasEdge(c)&&u.current.getEdgeAttribute(c,"type")in E&&u.current.getEdgeAttribute(c,"style")in C&&n.jsx(ie,{}),d.size>1&&n.jsx(t,{})]})}function ae(){const{t:e}=q(),t=j(),{selected:s}=f((e=>e.runtime)),[a]=s,d=B.useRef(window.graph),[o,c]=B.useState("undefined"),[u,p]=B.useState("undefined"),[h,g]=B.useState("undefined"),[m,x]=B.useState("undefined");B.useEffect((()=>{if(null!=a&&a.startsWith("line")){const[r,s]=d.current.extremities(a);if(c(r),p(s),r.startsWith("stn")){var e,t;const n=d.current.getNodeAttribute(r,"type");g(null!==(e=null===(t=d.current.getNodeAttribute(r,n))||void 0===t?void 0:t.names.at(0))&&void 0!==e?e:"undefined")}if(s.startsWith("stn")){var n,i;const e=d.current.getNodeAttribute(s,"type");x(null!==(n=null===(i=d.current.getNodeAttribute(s,e))||void 0===i?void 0:i.names.at(0))&&void 0!==n?n:"undefined")}}}),[s]);const b=G((()=>{t(L()),t(_(o))})),y=G((()=>{t(L()),t(_(u))})),w=[{type:"custom",label:e("panel.details.lineExtremities.source"),component:n.jsx(l,{ml:"auto",size:"sm",variant:"link",onClick:b,children:o}),oneLine:!0,minW:"full"},{type:"input",label:e("panel.details.lineExtremities.sourceName"),value:h,minW:"full"},{type:"custom",label:e("panel.details.lineExtremities.target"),component:n.jsx(l,{ml:"auto",size:"sm",variant:"link",onClick:y,children:u}),oneLine:!0,minW:"full"},{type:"input",label:e("panel.details.lineExtremities.targetName"),value:m,minW:"full"}];return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.lineExtremities.title")}),n.jsx(T,{fields:w,minW:130})]})}function le(){const{t:e}=q(),t=j(),s=B.useCallback((()=>{t(I()),t(N()),t(S(o.current.export()))}),[t,I,N,S]),{selected:a,refresh:{nodes:l}}=f((e=>e.runtime)),[d]=a,o=B.useRef(window.graph),[c,u]=B.useState({x:0,y:0});B.useEffect((()=>{if(null!=d&&d.startsWith("stn")||null!=d&&d.startsWith("misc_node_")){const e=o.current.getNodeAttribute(d,"x"),t=o.current.getNodeAttribute(d,"y");u({x:e,y:t})}}),[l,a]);const p=[{type:"input",label:e("panel.details.nodePosition.pos.x"),value:c.x.toString(),validator:e=>!Number.isNaN(e),onChange:e=>{o.current.mergeNodeAttributes(d,{x:Number(e)}),s()}},{type:"input",label:e("panel.details.nodePosition.pos.y"),value:c.y.toString(),validator:e=>!Number.isNaN(e),onChange:e=>{o.current.mergeNodeAttributes(d,{y:Number(e)}),s()}}];return n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.nodePosition.title")}),n.jsx(T,{fields:p,minW:130})]})}const de={...Q,...ne},oe=()=>{var e;const t=j(),{selected:i}=f((e=>e.runtime)),{t:r}=q(),[s]=i,a=window.graph.getNodeAttribute(s,"type"),l=a in de&&de[a].attrsComponent,d=null!==(e=window.graph.getNodeAttribute(s,a))&&void 0!==e?e:{};return l?n.jsx(l,{id:s,attrs:d,handleAttrsUpdate:(e,n)=>{const i=window.graph.getNodeAttribute(e,"type");window.graph.mergeNodeAttributes(e,{[i]:n}),t(I()),t(S(window.graph.export()))}}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:r("panel.details.unknown.error",{category:r("panel.details.unknown.node")})})},ce=()=>{var e,t;const i=j(),{preference:{autoParallel:r}}=f((e=>e.app)),{selected:s}=f((e=>e.runtime)),{t:a}=q(),[l]=s,{type:d,style:o,parallelIndex:c,reconcileId:u}=window.graph.getEdgeAttributes(l),p=null!==(e=window.graph.getEdgeAttribute(l,d))&&void 0!==e?e:{},h=d in E&&E[d].attrsComponent,g=null!==(t=window.graph.getEdgeAttribute(l,o))&&void 0!==t?t:{},m=o in C&&C[o].attrsComponent;return n.jsxs(n.Fragment,{children:[h?n.jsx(h,{id:l,attrs:p,recalculateParallelIndex:(e,t)=>{let n=-1;if(r){const[i,r]=window.graph.extremities(e);n=D(window.graph,d,i,r,t)}window.graph.setEdgeAttribute(e,"parallelIndex",n)},handleAttrsUpdate:(e,t)=>{window.graph.mergeEdgeAttributes(e,{[d]:t}),i(N()),i(S(window.graph.export()))},parallelIndex:c}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:a("panel.details.unknown.error",{category:a("panel.details.unknown.linePath")})}),m?n.jsx(m,{id:l,attrs:g,handleAttrsUpdate:(e,t)=>{window.graph.mergeEdgeAttributes(e,{[o]:t}),i(N()),i(S(window.graph.export()))},reconcileId:u}):n.jsx(b,{fontSize:"xs",m:"var(--chakra-space-1)",children:a("panel.details.unknown.error",{category:a("panel.details.unknown.lineStyle")})})]})};e("default",(()=>{const{t:e}=q(),t=j(),s=B.useRef(window.graph),d=B.useCallback((()=>{t(I()),t(N()),t(S(s.current.export()))}),[t,I,N,S]),{activeSubscriptions:o}=f((e=>e.account)),{selected:c,mode:u,active:p,masterNodesCount:h}=f((e=>e.runtime)),[g]=c,m=!o.RMP_CLOUD&&h+1>F;return n.jsxs(M,{isOpen:c.size>0&&!u.startsWith("line")&&!p,width:300,header:"Dummy header",alwaysOverlay:!0,children:[n.jsx(U,{onClose:()=>t(L()),children:e("panel.details.header")}),n.jsxs($,{children:[n.jsx(se,{}),1===c.size&&s.current.hasNode(g)&&n.jsx(le,{}),1===c.size&&s.current.hasEdge(g)&&n.jsx(ae,{}),1===c.size&&n.jsxs(i,{p:1,children:[n.jsx(r,{as:"h5",size:"sm",children:e("panel.details.specificAttrsTitle")}),window.graph.hasNode(g)&&n.jsx(oe,{}),window.graph.hasEdge(g)&&n.jsx(ce,{})]})]}),n.jsx(V,{children:n.jsxs(a,{children:[1===c.size&&s.current.hasNode(g)&&n.jsx(l,{size:"sm",variant:"outline",onClick:()=>(e=>{const n=structuredClone(s.current.getNodeAttributes(e));n.x+=50,n.y+=50;const i=e.startsWith("stn")?`stn_${K(10)}`:`misc_node_${K(10)}`;s.current.addNode(i,n),t(I()),t(S(s.current.export()))})(g),isDisabled:s.current.getNodeAttributes(g).type===H.Master&&m,children:e("panel.details.footer.duplicate")}),n.jsx(l,{size:"sm",variant:"outline",onClick:()=>(e=>{const t=J(s.current,e);navigator.clipboard.writeText(t)})(c),children:e("panel.details.footer.copy")}),n.jsx(l,{size:"sm",variant:"outline",onClick:()=>{return e=c,t(L()),e.forEach((e=>{s.current.hasNode(e)?s.current.dropNode(e):s.current.hasEdge(e)&&s.current.dropEdge(e)})),void d();var e},children:e("panel.details.footer.remove")})]})})]})}))}}})); diff --git a/assets/index-C2EPE_tK.js b/assets/index-KpXBwNUP.js similarity index 85% rename from assets/index-C2EPE_tK.js rename to assets/index-KpXBwNUP.js index 0aa3981b..a0bf0610 100644 --- a/assets/index-C2EPE_tK.js +++ b/assets/index-KpXBwNUP.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/page-header-BzO8UQTL.js","assets/chakra-xNcrfRXW.js","assets/react-D-_si4LB.js","assets/master-manager-CMGMwlgA.js","assets/change-type-modal-uJguFedY.js","assets/tools-Bzy7j58n.js","assets/misc-nodes-BRiC9wrX.js","assets/svg-wrapper-DBfiEyAx.js","assets/clipboard-BrQAjoN1.js","assets/details-DY5TKnmz.js","assets/rmg-palette-app-clip-B9uv6_6N.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/page-header-xWWwLvrh.js","assets/chakra-xNcrfRXW.js","assets/react-D-_si4LB.js","assets/master-manager-D9XDRPOe.js","assets/change-type-modal-gChb5e9p.js","assets/tools-B2RMBMZd.js","assets/misc-nodes-D3tkoIn0.js","assets/svg-wrapper-BxWgeTfJ.js","assets/clipboard-Bp3Rtabe.js","assets/details-DbBAbTBg.js","assets/rmg-palette-app-clip-B2gcc2FF.js"])))=>i.map(i=>d[i]); import{u as ht,a as Gu,j as f,P as Uu,c as Lr,F as Wu,b as Vu,f as Vt,n as Yo,r as be,d as Va,e as Xn,i as _r,o as ui,g as ut,B as Hu,D as Zo,I as Ju,h as Ha,k as Ku,S as Ja,l as qu,W as Yu,m as Zu,p as Qu,q as Ka,C as Xu,s as ec,t as tc,v as nc,w as rc,x as ic,y as Oi,z as oc,A as qa,E as ac,G as sc,H as Ya,J as lc,K as uc,L as Za,M as cc,T as dc,N as hc,O as dn,Q as pc,R as fc,U as Qa,V as gc,X as mc,Y as yc,Z as bc,_ as vc,$ as wc,a0 as xc,a1 as Sc,a2 as Nc,a3 as _c,a4 as At,a5 as Rc,a6 as Xa,a7 as Fn,a8 as uo,a9 as co,aa as kc,ab as Cc,ac as Ac,ad as Tc,ae as Ec,af as Or,ag as Lc,ah as Oc,ai as jc,aj as Mc,ak as Pc,al as $c,am as zn,an as Ic,ao as Dc,ap as Bc,aq as zc,ar as Fc,as as H}from"./chakra-xNcrfRXW.js";import{g as ho,a as Gc,r as $,b as P,d as ci,u as fe,i as Uc,o as Qo,e as es,f as ts,h as Wc,j as Vc,k as Hc,l as Jc,m as Kc,P as qc,I as Yc}from"./react-D-_si4LB.js";function Sx(){import.meta.url,import("_").catch(()=>1),async function*(){}().next()}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();var Zc=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};const ns=n=>new Promise(e=>{setTimeout(e,n,"Timeout after ".concat(n/1e3," seconds"))}),Qc=n=>new Promise(e=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.readAsDataURL(n)}),Xc=n=>{let e,r=!1;return i=>Zc(void 0,void 0,void 0,function*(){return e&&(r||!i)?e:(e=n(),r=!0,e.then(o=>(r=!1,o)).catch(o=>{throw e=null,o}))})},po=n=>{let e=0;for(let r=0;r{const e=(n&16777215).toString(16).toUpperCase();return"#"+"00000".substring(0,6-e.length)+e};var Lt;(function(n){n.DEV="DEV",n.UAT="UAT",n.PRD="PRD"})(Lt||(Lt={}));const rs="rmg-runtime__language",is="rmg-runtime__colourMode",jr="rmg-runtime__allowAnalytics",er="rmg-unknown",ed="railmapgen.github.io",td="rmg-home";let Mr=er,os=fo(po(er));const nd=n=>{Mr=n,os=fo(po(n))},dr=()=>"[".concat(Mr,"]"),hr=()=>os,mt=(n,e,r)=>(...i)=>{typeof i[0]=="string"?n("%c".concat(e(),"%c ").concat(i[0]),"color: ".concat(r()),"",...i.slice(1)):n("%c".concat(e(),"%c"),"color: ".concat(r()),"",...i)},rd={debug:mt(console.debug,dr,hr),info:mt(console.info,dr,hr),warn:mt(console.warn,dr,hr),error:mt(console.error,dr,hr)},Cn=()=>Mr===er?"[runtime]":"[runtime@".concat(Mr,"]"),id=fo(po("runtime")),An=()=>id,me={setup:nd,logger:rd,debug:mt(console.debug,Cn,An),info:mt(console.info,Cn,An),warn:mt(console.warn,Cn,An),error:mt(console.error,Cn,An),group:mt(console.group,Cn,An),groupEnd:console.groupEnd};var as=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};let go,di,mo,yo,bo;const ss=()=>{go=!1,di=er,mo="unknown",yo=Lt.PRD,bo="unknown"},od=()=>as(void 0,void 0,void 0,function*(){const n=window.location.pathname.split("/")[1],e=n?"/".concat(n,"/info.json"):"/info.json",r=yield fetch(e);if(r.ok){const i=yield r.json();me.info("Received info.json",i),di=i.component,mo=i.version,yo=i.environment,bo=i.instance}else throw new Error("Failed to fetch config from ".concat(e))}),ad=()=>as(void 0,void 0,void 0,function*(){try{me.group("Loading config...");const n=yield Promise.race([od(),ns(10*1e3)]);n?me.error("❌ Failed to load config.",n):(go=!0,me.info("✅ Config loaded!"))}catch(n){me.error("❌ Failed to load config.",n)}finally{me.groupEnd()}}),sd=()=>go,ld=()=>ls()?td:di,ud=()=>mo,cd=()=>yo,dd=()=>bo,ls=()=>di===ed;ss();const Le={loadWithTimeout:ad,isInitialised:sd,getComponent:ld,getVersion:ud,getEnvironment:cd,getInstance:dd,isRMT:ls,_resetConfig:ss};window.dataLayer=window.dataLayer||[];const hd=()=>{const n=document.createElement("script");n.async=!0,n.src="https://www.googletagmanager.com/gtag/js?id=G-2HP8Y4MRRQ",document.head.append(n)};function Ui(...n){if(Le.getEnvironment()!==Lt.DEV)return window.dataLayer.push(arguments);me.info("Not going to send event in DEV environment",n)}const pd=(n,e={})=>{Ui("event",n,e)},fd=()=>{hd(),Ui("js",new Date),Ui("config","G-2HP8Y4MRRQ",{appName:Le.getComponent(),version:Le.getVersion(),environment:Le.getEnvironment(),instance:Le.getInstance()})},Pr={init:fd,customEvent:pd},gd="rmg-runtime-channel",Rr={};let Gn;try{Gn=new BroadcastChannel(gd),Gn.onmessage=n=>{var e;const{event:r,data:i,frameId:o}=n.data;(e=Rr[r])===null||e===void 0||e.forEach(a=>a(i,o))}}catch(n){me.warn("Failed to initiate broadcast channel. Some features may be unavailable.",n)}const md=(n,e)=>{var r;me.debug("Broadcasting event ".concat(n," with data"),e),Gn==null||Gn.postMessage({event:n,data:e,frameId:(r=window.frameElement)===null||r===void 0?void 0:r.id})},yd=(n,e)=>{var r;n in Rr?(r=Rr[n])===null||r===void 0||r.push(e):Rr[n]=[e]},Se={postEvent:md,onMessage:yd},us="TOGGLE_NAV_MENU",cs="OPEN_APP",ds="CLOSE_APP",hs="UPDATE_APP_METADATA",ps="UPDATE_URL",kr=()=>!window.frameElement,bd=()=>{var n;return!!(!((n=window.frameElement)===null||n===void 0)&&n.closest(".show-menu"))},vd=()=>{if(!kr()){const e=document.createElement("style");e.textContent="body{padding: 0;}",document.head.appendChild(e)}const n=document.createElement("style");n.textContent=".rmg-window__header:not(.rmg-window__app-clip-header){margin-left: 40px;}",!kr()&&!bd()&&document.head.appendChild(n),kr()||Se.onMessage(us,e=>{if(e)try{document.head.removeChild(n)}catch(r){me.warn("Unable to remove indent style from RmgWindowHeader",r)}else document.head.appendChild(n)})},wd=n=>{Se.postEvent(cs,n)},xd=n=>{Se.postEvent(ds,n)},Sd=n=>{Se.postEvent(hs,n)},Nd=n=>{Se.postEvent(ps,n)},_d=n=>{Se.onMessage(cs,n)},Rd=n=>{Se.onMessage(ds,n)},kd=n=>{Se.onMessage(hs,n)},Cd=n=>{Se.onMessage(ps,n)},Ad=n=>{Se.postEvent(us,n)},Je={isStandaloneWindow:kr,injectUITools:vd,openApp:wd,onAppOpen:_d,closeApp:xd,onAppClose:Rd,updateAppMetadata:Sd,onAppMetadataUpdate:kd,updateUrl:Nd,onUrlUpdate:Cd,toggleNavMenu:Ad},fs="SET_LANGUAGE",gs="SET_COLOUR_MODE",Td=n=>{Se.postEvent(fs,n),window.localStorage.setItem(rs,n)},Ed=()=>window.localStorage.getItem(rs)||"en",Ld=n=>{Se.onMessage(fs,n)},ms=["light","dark","system"],Od=n=>{ms.includes(n)&&(Se.postEvent(gs,n),window.localStorage.setItem(is,n))},jd=()=>{const n=window.localStorage.getItem(is);return n&&ms.includes(n)?n:"system"},Md=n=>{Se.onMessage(gs,n)},Pd=()=>window.localStorage.getItem(jr)!==null,ys=()=>window.localStorage.getItem(jr)==="true",$d=n=>{const e=ys();return n?(e||(window.localStorage.setItem(jr,n.toString()),Pr.init()),{refreshRequired:!1}):e?(window.localStorage.setItem(jr,n.toString()),{refreshRequired:!0}):{refreshRequired:!1}},Ye={setLanguage:Td,getLanguage:Ed,onLanguageChange:Ld,setColourMode:Od,getColourMode:jd,onColourModeChange:Md,isAnalyticsQADone:Pd,isAllowAnalytics:ys,allowAnalytics:$d},Id=new Date().getTime();function Dd(){const n=Le.getComponent(),e=window.localStorage.getItem(n+"__startTime");return e===null?new Date().getTime()-Id:new Date().getTime()-Number(e)}const Bd={getMsSinceStartUp:Dd},Cr={},gn=()=>{const n=Le.getComponent();if(n===er)throw new Error("Unable to clear storage for unknown app");return n};window.addEventListener("storage",n=>{var e;const{key:r,newValue:i}=n;r&&((e=Cr[r])===null||e===void 0||e.forEach(o=>o(i)))});const zd=(n,e)=>{var r;const i="".concat(gn(),"__").concat(n);i in Cr?(r=Cr[i])===null||r===void 0||r.push(e):Cr[i]=[e]},Fd=n=>{const e=gn();return window.localStorage.getItem("".concat(e,"__").concat(n))},Gd=()=>{const n=gn(),e={};let r=0;for(;r{const r=gn();window.localStorage.setItem("".concat(r,"__").concat(n),e)},Wd=n=>{const e=gn();window.localStorage.removeItem("".concat(e,"__").concat(n))},Vd=()=>{const n=gn();let e=0;for(;e1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,r)}init(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=e||Hd,this.options=r,this.debug=r.debug}log(){for(var e=arguments.length,r=new Array(e),i=0;i{this.observers[i]||(this.observers[i]=new Map);const o=this.observers[i].get(r)||0;this.observers[i].set(r,o+1)}),this}off(e,r){if(this.observers[e]){if(!r){delete this.observers[e];return}this.observers[e].delete(r)}}emit(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o{let[l,u]=s;for(let c=0;c{let[l,u]=s;for(let c=0;c{n=i,e=o});return r.resolve=n,r.reject=e,r}function Xo(n){return n==null?"":""+n}function Jd(n,e,r){n.forEach(i=>{e[i]&&(r[i]=e[i])})}const Kd=/###/g;function Un(n,e,r){function i(l){return l&&l.indexOf("###")>-1?l.replace(Kd,"."):l}function o(){return!n||typeof n=="string"}const a=typeof e!="string"?e:e.split(".");let s=0;for(;s":">",'"':""","'":"'","/":"/"};function Qd(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,e=>Zd[e]):n}class Xd{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const r=this.regExpMap.get(e);if(r!==void 0)return r;const i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const eh=[" ",",","?","!",";"],th=new Xd(20);function nh(n,e,r){e=e||"",r=r||"";const i=eh.filter(s=>e.indexOf(s)<0&&r.indexOf(s)<0);if(i.length===0)return!0;const o=th.getRegExp("(".concat(i.map(s=>s==="?"?"\\?":s).join("|"),")"));let a=!o.test(n);if(!a){const s=n.indexOf(r);s>0&&!o.test(n.substring(0,s))&&(a=!0)}return a}function Wi(n,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return n[e];const i=e.split(r);let o=n;for(let a=0;a-1&&u0?n.replace("_","-"):n}class ta extends hi{constructor(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=r,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const r=this.options.ns.indexOf(e);r>-1&&this.options.ns.splice(r,1)}getResource(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let l;e.indexOf(".")>-1?l=e.split("."):(l=[e,r],i&&(Array.isArray(i)?l.push(...i):typeof i=="string"&&a?l.push(...i.split(a)):l.push(i)));const u=Ir(this.data,l);return!u&&!r&&!i&&e.indexOf(".")>-1&&(e=l[0],r=l[1],i=l.slice(2).join(".")),u||!s||typeof i!="string"?u:Wi(this.data&&this.data[e]&&this.data[e][r],i,a)}addResource(e,r,i,o){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let l=[e,r];i&&(l=l.concat(s?i.split(s):i)),e.indexOf(".")>-1&&(l=e.split("."),o=r,r=l[1]),this.addNamespaces(r),ea(this.data,l,o),a.silent||this.emit("added",e,r,i,o)}addResources(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const a in i)(typeof i[a]=="string"||Array.isArray(i[a]))&&this.addResource(e,r,a,i[a],{silent:!0});o.silent||this.emit("added",e,r,i)}addResourceBundle(e,r,i,o,a){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},l=[e,r];e.indexOf(".")>-1&&(l=e.split("."),o=i,i=r,r=l[1]),this.addNamespaces(r);let u=Ir(this.data,l)||{};s.skipCopy||(i=JSON.parse(JSON.stringify(i))),o?bs(u,i,a):u={...u,...i},ea(this.data,l,u),s.silent||this.emit("added",e,r,i)}removeResourceBundle(e,r){this.hasResourceBundle(e,r)&&delete this.data[e][r],this.removeNamespaces(r),this.emit("removed",e,r)}hasResourceBundle(e,r){return this.getResource(e,r)!==void 0}getResourceBundle(e,r){return r||(r=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,r)}:this.getResource(e,r)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const r=this.getDataByLanguage(e);return!!(r&&Object.keys(r)||[]).find(o=>r[o]&&Object.keys(r[o]).length>0)}toJSON(){return this.data}}var vs={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,r,i,o){return n.forEach(a=>{this.processors[a]&&(e=this.processors[a].process(e,r,i,o))}),e}};const na={};class Br extends hi{constructor(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Jd(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=r,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=lt.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const i=this.resolve(e,r);return i&&i.res!==void 0}extractFromKey(e,r){let i=r.nsSeparator!==void 0?r.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const o=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let a=r.ns||this.options.defaultNS||[];const s=i&&e.indexOf(i)>-1,l=!this.options.userDefinedKeySeparator&&!r.keySeparator&&!this.options.userDefinedNsSeparator&&!r.nsSeparator&&!nh(e,i,o);if(s&&!l){const u=e.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:e,namespaces:a};const c=e.split(i);(i!==o||i===o&&this.options.ns.indexOf(c[0])>-1)&&(a=c.shift()),e=c.join(o)}return typeof a=="string"&&(a=[a]),{key:e,namespaces:a}}translate(e,r,i){if(typeof r!="object"&&this.options.overloadTranslationOptionHandler&&(r=this.options.overloadTranslationOptionHandler(arguments)),typeof r=="object"&&(r={...r}),r||(r={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const o=r.returnDetails!==void 0?r.returnDetails:this.options.returnDetails,a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,{key:s,namespaces:l}=this.extractFromKey(e[e.length-1],r),u=l[l.length-1],c=r.lng||this.language,d=r.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&c.toLowerCase()==="cimode"){if(d){const j=r.nsSeparator||this.options.nsSeparator;return o?{res:"".concat(u).concat(j).concat(s),usedKey:s,exactUsedKey:s,usedLng:c,usedNS:u,usedParams:this.getUsedParamsDetails(r)}:"".concat(u).concat(j).concat(s)}return o?{res:s,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:u,usedParams:this.getUsedParamsDetails(r)}:s}const h=this.resolve(e,r);let p=h&&h.res;const m=h&&h.usedKey||s,y=h&&h.exactUsedKey||s,w=Object.prototype.toString.apply(p),_=["[object Number]","[object Function]","[object RegExp]"],N=r.joinArrays!==void 0?r.joinArrays:this.options.joinArrays,R=!this.i18nFormat||this.i18nFormat.handleAsObject;if(R&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&_.indexOf(w)<0&&!(typeof N=="string"&&Array.isArray(p))){if(!r.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const j=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,p,{...r,ns:l}):"key '".concat(s," (").concat(this.language,")' returned an object instead of string.");return o?(h.res=j,h.usedParams=this.getUsedParamsDetails(r),h):j}if(a){const j=Array.isArray(p),A=j?[]:{},G=j?y:m;for(const T in p)if(Object.prototype.hasOwnProperty.call(p,T)){const U="".concat(G).concat(a).concat(T);A[T]=this.translate(U,{...r,joinArrays:!1,ns:l}),A[T]===U&&(A[T]=p[T])}p=A}}else if(R&&typeof N=="string"&&Array.isArray(p))p=p.join(N),p&&(p=this.extendTranslation(p,e,r,i));else{let j=!1,A=!1;const G=r.count!==void 0&&typeof r.count!="string",T=Br.hasDefaultValue(r),U=G?this.pluralResolver.getSuffix(c,r.count,r):"",L=r.ordinal&&G?this.pluralResolver.getSuffix(c,r.count,{ordinal:!1}):"",I=G&&!r.ordinal&&r.count===0&&this.pluralResolver.shouldUseIntlApi(),W=I&&r["defaultValue".concat(this.options.pluralSeparator,"zero")]||r["defaultValue".concat(U)]||r["defaultValue".concat(L)]||r.defaultValue;!this.isValidLookup(p)&&T&&(j=!0,p=W),this.isValidLookup(p)||(A=!0,p=s);const te=(r.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&A?void 0:p,Q=T&&W!==p&&this.options.updateMissing;if(A||j||Q){if(this.logger.log(Q?"updateKey":"missingKey",c,u,s,Q?W:p),a){const Ne=this.resolve(s,{...r,keySeparator:!1});Ne&&Ne.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Be=[];const Xe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,r.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Xe&&Xe[0])for(let Ne=0;Ne{const ze=T&&Pe!==p?Pe:te;this.options.missingKeyHandler?this.options.missingKeyHandler(Ne,u,We,ze,Q,r):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(Ne,u,We,ze,Q,r),this.emit("missingKey",Ne,u,We,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&G?Be.forEach(Ne=>{const We=this.pluralResolver.getSuffixes(Ne,r);I&&r["defaultValue".concat(this.options.pluralSeparator,"zero")]&&We.indexOf("".concat(this.options.pluralSeparator,"zero"))<0&&We.push("".concat(this.options.pluralSeparator,"zero")),We.forEach(Pe=>{et([Ne],s+Pe,r["defaultValue".concat(Pe)]||W)})}):et(Be,s,W))}p=this.extendTranslation(p,e,r,h,i),A&&p===s&&this.options.appendNamespaceToMissingKey&&(p="".concat(u,":").concat(s)),(A||j)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(u,":").concat(s):s,j?p:void 0):p=this.options.parseMissingKeyHandler(p))}return o?(h.res=p,h.usedParams=this.getUsedParamsDetails(r),h):p}extendTranslation(e,r,i,o,a){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const c=typeof e=="string"&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(c){const p=e.match(this.interpolator.nestingRegexp);d=p&&p.length}let h=i.replace&&typeof i.replace!="string"?i.replace:i;if(this.options.interpolation.defaultVariables&&(h={...this.options.interpolation.defaultVariables,...h}),e=this.interpolator.interpolate(e,h,i.lng||this.language,i),c){const p=e.match(this.interpolator.nestingRegexp),m=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},i,o,a,s,l;return typeof e=="string"&&(e=[e]),e.forEach(u=>{if(this.isValidLookup(i))return;const c=this.extractFromKey(u,r),d=c.key;o=d;let h=c.namespaces;this.options.fallbackNS&&(h=h.concat(this.options.fallbackNS));const p=r.count!==void 0&&typeof r.count!="string",m=p&&!r.ordinal&&r.count===0&&this.pluralResolver.shouldUseIntlApi(),y=r.context!==void 0&&(typeof r.context=="string"||typeof r.context=="number")&&r.context!=="",w=r.lngs?r.lngs:this.languageUtils.toResolveHierarchy(r.lng||this.language,r.fallbackLng);h.forEach(_=>{this.isValidLookup(i)||(l=_,!na["".concat(w[0],"-").concat(_)]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(l)&&(na["".concat(w[0],"-").concat(_)]=!0,this.logger.warn('key "'.concat(o,'" for languages "').concat(w.join(", "),'" won\'t get resolved as namespace "').concat(l,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),w.forEach(N=>{if(this.isValidLookup(i))return;s=N;const R=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(R,d,N,_,r);else{let j;p&&(j=this.pluralResolver.getSuffix(N,r.count,r));const A="".concat(this.options.pluralSeparator,"zero"),G="".concat(this.options.pluralSeparator,"ordinal").concat(this.options.pluralSeparator);if(p&&(R.push(d+j),r.ordinal&&j.indexOf(G)===0&&R.push(d+j.replace(G,this.options.pluralSeparator)),m&&R.push(d+A)),y){const T="".concat(d).concat(this.options.contextSeparator).concat(r.context);R.push(T),p&&(R.push(T+j),r.ordinal&&j.indexOf(G)===0&&R.push(T+j.replace(G,this.options.pluralSeparator)),m&&R.push(T+A))}}let M;for(;M=R.pop();)this.isValidLookup(i)||(a=M,i=this.getResource(N,_,M,r))}))})}),{res:i,usedKey:o,exactUsedKey:a,usedLng:s,usedNS:l}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,r,i,o):this.resourceStore.getResource(e,r,i,o)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const r=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&typeof e.replace!="string";let o=i?e.replace:e;if(i&&typeof e.count<"u"&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const a of r)delete o[a]}return o}static hasDefaultValue(e){const r="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&r===i.substring(0,r.length)&&e[i]!==void 0)return!0;return!1}}function ji(n){return n.charAt(0).toUpperCase()+n.slice(1)}class ra{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=lt.create("languageUtils")}getScriptPartFromCode(e){if(e=Dr(e),!e||e.indexOf("-")<0)return null;const r=e.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}getLanguagePartFromCode(e){if(e=Dr(e),!e||e.indexOf("-")<0)return e;const r=e.split("-");return this.formatLanguageCode(r[0])}formatLanguageCode(e){if(typeof e=="string"&&e.indexOf("-")>-1){const r=["hans","hant","latn","cyrl","cans","mong","arab"];let i=e.split("-");return this.options.lowerCaseLng?i=i.map(o=>o.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=ji(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=ji(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=ji(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let r;return e.forEach(i=>{if(r)return;const o=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(o))&&(r=o)}),!r&&this.options.supportedLngs&&e.forEach(i=>{if(r)return;const o=this.getLanguagePartFromCode(i);if(this.isSupportedCode(o))return r=o;r=this.options.supportedLngs.find(a=>{if(a===o)return a;if(!(a.indexOf("-")<0&&o.indexOf("-")<0)&&(a.indexOf("-")>0&&o.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===o||a.indexOf(o)===0&&o.length>1))return a})}),r||(r=this.getFallbackCodes(this.options.fallbackLng)[0]),r}getFallbackCodes(e,r){if(!e)return[];if(typeof e=="function"&&(e=e(r)),typeof e=="string"&&(e=[e]),Array.isArray(e))return e;if(!r)return e.default||[];let i=e[r];return i||(i=e[this.getScriptPartFromCode(r)]),i||(i=e[this.formatLanguageCode(r)]),i||(i=e[this.getLanguagePartFromCode(r)]),i||(i=e.default),i||[]}toResolveHierarchy(e,r){const i=this.getFallbackCodes(r||this.options.fallbackLng||[],e),o=[],a=s=>{s&&(this.isSupportedCode(s)?o.push(s):this.logger.warn("rejecting language code not found in supportedLngs: ".concat(s)))};return typeof e=="string"&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(e))):typeof e=="string"&&a(this.formatLanguageCode(e)),i.forEach(s=>{o.indexOf(s)<0&&a(this.formatLanguageCode(s))}),o}}let rh=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ih={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1&&n%100!=11?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n==0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3}};const oh=["v1","v2","v3"],ah=["v4"],ia={zero:0,one:1,two:2,few:3,many:4,other:5};function sh(){const n={};return rh.forEach(e=>{e.lngs.forEach(r=>{n[r]={numbers:e.nr,plurals:ih[e.fc]}})}),n}class lh{constructor(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=r,this.logger=lt.create("pluralResolver"),(!this.options.compatibilityJSON||ah.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=sh()}addRule(e,r){this.rules[e]=r}getRule(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Dr(e==="dev"?"en":e),{type:r.ordinal?"ordinal":"cardinal"})}catch(i){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(e,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(o=>"".concat(r).concat(o))}getSuffixes(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,r);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((o,a)=>ia[o]-ia[a]).map(o=>"".concat(this.options.prepend).concat(r.ordinal?"ordinal".concat(this.options.prepend):"").concat(o)):i.numbers.map(o=>this.getSuffix(e,o,r)):[]}getSuffix(e,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(e,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.ordinal?"ordinal".concat(this.options.prepend):"").concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(e)),"")}getSuffixRetroCompatible(e,r){const i=e.noAbs?e.plurals(r):e.plurals(Math.abs(r));let o=e.numbers[i];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const a=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?"_plural_".concat(o.toString()):a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?a():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!oh.includes(this.options.compatibilityJSON)}}function oa(n,e,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=Yd(n,e,r);return!a&&o&&typeof r=="string"&&(a=Wi(n,r,i),a===void 0&&(a=Wi(e,r,i))),a}class uh{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=lt.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:r,escapeValue:i,useRawValueToEscape:o,prefix:a,prefixEscaped:s,suffix:l,suffixEscaped:u,formatSeparator:c,unescapeSuffix:d,unescapePrefix:h,nestingPrefix:p,nestingPrefixEscaped:m,nestingSuffix:y,nestingSuffixEscaped:w,nestingOptionsSeparator:_,maxReplaces:N,alwaysFormat:R}=e.interpolation;this.escape=r!==void 0?r:Qd,this.escapeValue=i!==void 0?i:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=a?nn(a):s||"{{",this.suffix=l?nn(l):u||"}}",this.formatSeparator=c||",",this.unescapePrefix=d?"":h||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=p?nn(p):m||nn("$t("),this.nestingSuffix=y?nn(y):w||nn(")"),this.nestingOptionsSeparator=_||",",this.maxReplaces=N||1e3,this.alwaysFormat=R!==void 0?R:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(r,i)=>r&&r.source===i?(r.lastIndex=0,r):new RegExp(i,"g");this.regexp=e(this.regexp,"".concat(this.prefix,"(.+?)").concat(this.suffix)),this.regexpUnescape=e(this.regexpUnescape,"".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix)),this.nestingRegexp=e(this.nestingRegexp,"".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix))}interpolate(e,r,i,o){let a,s,l;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(y){return y.replace(/\$/g,"$$$$")}const d=y=>{if(y.indexOf(this.formatSeparator)<0){const R=oa(r,u,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(R,void 0,i,{...o,...r,interpolationkey:y}):R}const w=y.split(this.formatSeparator),_=w.shift().trim(),N=w.join(this.formatSeparator).trim();return this.format(oa(r,u,_,this.options.keySeparator,this.options.ignoreJSONStructure),N,i,{...o,...r,interpolationkey:_})};this.resetRegExp();const h=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,p=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>c(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?c(this.escape(y)):c(y)}].forEach(y=>{for(l=0;a=y.regex.exec(e);){const w=a[1].trim();if(s=d(w),s===void 0)if(typeof h=="function"){const N=h(e,a,o);s=typeof N=="string"?N:""}else if(o&&Object.prototype.hasOwnProperty.call(o,w))s="";else if(p){s=a[0];continue}else this.logger.warn("missed to pass in variable ".concat(w," for interpolating ").concat(e)),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=Xo(s));const _=y.safeValue(s);if(e=e.replace(a[0],_),p?(y.regex.lastIndex+=s.length,y.regex.lastIndex-=a[0].length):y.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),e}nest(e,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,a,s;function l(u,c){const d=this.nestingOptionsSeparator;if(u.indexOf(d)<0)return u;const h=u.split(new RegExp("".concat(d,"[ ]*{")));let p="{".concat(h[1]);u=h[0],p=this.interpolate(p,s);const m=p.match(/'/g),y=p.match(/"/g);(m&&m.length%2===0&&!y||y.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),c&&(s={...c,...s})}catch(w){return this.logger.warn("failed parsing options string in nesting for key ".concat(u),w),"".concat(u).concat(d).concat(p)}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,u}for(;o=this.nestingRegexp.exec(e);){let u=[];s={...i},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let c=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const d=o[1].split(this.formatSeparator).map(h=>h.trim());o[1]=d.shift(),u=d,c=!0}if(a=r(l.call(this,o[1].trim(),s),s),a&&o[0]===e&&typeof a!="string")return a;typeof a!="string"&&(a=Xo(a)),a||(this.logger.warn("missed to resolve ".concat(o[1]," for nesting ").concat(e)),a=""),c&&(a=u.reduce((d,h)=>this.format(d,h,i.lng,{...i,interpolationkey:o[1].trim()}),a.trim())),e=e.replace(o[0],a),this.regexp.lastIndex=0}return e}}function ch(n){let e=n.toLowerCase().trim();const r={};if(n.indexOf("(")>-1){const i=n.split("(");e=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);e==="currency"&&o.indexOf(":")<0?r.currency||(r.currency=o.trim()):e==="relativetime"&&o.indexOf(":")<0?r.range||(r.range=o.trim()):o.split(";").forEach(s=>{if(s){const[l,...u]=s.split(":"),c=u.join(":").trim().replace(/^'+|'+$/g,""),d=l.trim();r[d]||(r[d]=c),c==="false"&&(r[d]=!1),c==="true"&&(r[d]=!0),isNaN(c)||(r[d]=parseInt(c,10))}})}return{formatName:e,formatOptions:r}}function rn(n){const e={};return function(i,o,a){const s=o+JSON.stringify(a);let l=e[s];return l||(l=n(Dr(o),a),e[s]=l),l(i)}}class dh{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=lt.create("formatter"),this.options=e,this.formats={number:rn((r,i)=>{const o=new Intl.NumberFormat(r,{...i});return a=>o.format(a)}),currency:rn((r,i)=>{const o=new Intl.NumberFormat(r,{...i,style:"currency"});return a=>o.format(a)}),datetime:rn((r,i)=>{const o=new Intl.DateTimeFormat(r,{...i});return a=>o.format(a)}),relativetime:rn((r,i)=>{const o=new Intl.RelativeTimeFormat(r,{...i});return a=>o.format(a,i.range||"day")}),list:rn((r,i)=>{const o=new Intl.ListFormat(r,{...i});return a=>o.format(a)})},this.init(e)}init(e){const i=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(e,r){this.formats[e.toLowerCase().trim()]=r}addCached(e,r){this.formats[e.toLowerCase().trim()]=rn(r)}format(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return r.split(this.formatSeparator).reduce((l,u)=>{const{formatName:c,formatOptions:d}=ch(u);if(this.formats[c]){let h=l;try{const p=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},m=p.locale||p.lng||o.locale||o.lng||i;h=this.formats[c](l,m,{...d,...o,...p})}catch(p){this.logger.warn(p)}return h}else this.logger.warn("there was no format function for ".concat(c));return l},e)}}function hh(n,e){n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)}class ph extends hi{constructor(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=r,this.services=i,this.languageUtils=i.languageUtils,this.options=o,this.logger=lt.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,o.backend,o)}queueLoad(e,r,i,o){const a={},s={},l={},u={};return e.forEach(c=>{let d=!0;r.forEach(h=>{const p="".concat(c,"|").concat(h);!i.reload&&this.store.hasResourceBundle(c,h)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),a[p]===void 0&&(a[p]=!0),u[h]===void 0&&(u[h]=!0)))}),d||(l[c]=!0)}),(Object.keys(a).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(a),pending:Object.keys(s),toLoadLanguages:Object.keys(l),toLoadNamespaces:Object.keys(u)}}loaded(e,r,i){const o=e.split("|"),a=o[0],s=o[1];r&&this.emit("failedLoading",a,s,r),i&&this.store.addResourceBundle(a,s,i,void 0,void 0,{skipCopy:!0}),this.state[e]=r?-1:2;const l={};this.queue.forEach(u=>{qd(u.loaded,[a],s),hh(u,e),r&&u.errors.push(r),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(c=>{l[c]||(l[c]={});const d=u.loaded[c];d.length&&d.forEach(h=>{l[c][h]===void 0&&(l[c][h]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",l),this.queue=this.queue.filter(u=>!u.done)}read(e,r,i){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!e.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:r,fcName:i,tried:o,wait:a,callback:s});return}this.readingCalls++;const l=(c,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const h=this.waitingReads.shift();this.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(c&&d&&o{this.read.call(this,e,r,i,o+1,a*2,s)},a);return}s(c,d)},u=this.backend[i].bind(this.backend);if(u.length===2){try{const c=u(e,r);c&&typeof c.then=="function"?c.then(d=>l(null,d)).catch(l):l(null,c)}catch(c){l(c)}return}return u(e,r,l)}prepareLoading(e,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();typeof e=="string"&&(e=this.languageUtils.toResolveHierarchy(e)),typeof r=="string"&&(r=[r]);const a=this.queueLoad(e,r,i,o);if(!a.toLoad.length)return a.pending.length||o(),null;a.toLoad.forEach(s=>{this.loadOne(s)})}load(e,r,i){this.prepareLoading(e,r,{},i)}reload(e,r,i){this.prepareLoading(e,r,{reload:!0},i)}loadOne(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),o=i[0],a=i[1];this.read(o,a,"read",void 0,void 0,(s,l)=>{s&&this.logger.warn("".concat(r,"loading namespace ").concat(a," for language ").concat(o," failed"),s),!s&&l&&this.logger.log("".concat(r,"loaded namespace ").concat(a," for language ").concat(o),l),this.loaded(e,s,l)})}saveMissing(e,r,i,o,a){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(r)){this.logger.warn('did not save key "'.concat(i,'" as the namespace "').concat(r,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const u={...s,isUpdate:a},c=this.backend.create.bind(this.backend);if(c.length<6)try{let d;c.length===5?d=c(e,r,i,o,u):d=c(e,r,i,o),d&&typeof d.then=="function"?d.then(h=>l(null,h)).catch(l):l(null,d)}catch(d){l(d)}else c(e,r,i,o,l,u)}!e||!e[0]||this.store.addResource(e[0],r,i,o)}}}function aa(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let r={};if(typeof e[1]=="object"&&(r=e[1]),typeof e[1]=="string"&&(r.defaultValue=e[1]),typeof e[2]=="string"&&(r.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const i=e[3]||e[2];Object.keys(i).forEach(o=>{r[o]=i[o]})}return r},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function sa(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function pr(){}function fh(n){Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(r=>{typeof n[r]=="function"&&(n[r]=n[r].bind(n))})}class Yn extends hi{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if(super(),this.options=sa(e),this.services={},this.logger=lt,this.modules={external:[]},fh(this),r&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,r),this;setTimeout(()=>{this.init(e,r)},0)}}init(){var e=this;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof r=="function"&&(i=r,r={}),!r.defaultNS&&r.defaultNS!==!1&&r.ns&&(typeof r.ns=="string"?r.defaultNS=r.ns:r.ns.indexOf("translation")<0&&(r.defaultNS=r.ns[0]));const o=aa();this.options={...o,...this.options,...sa(r)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),r.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=r.keySeparator),r.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=r.nsSeparator);function a(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?lt.init(a(this.modules.logger),this.options):lt.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=dh);const h=new ra(this.options);this.store=new ta(this.options.resources,this.options);const p=this.services;p.logger=lt,p.resourceStore=this.store,p.languageUtils=h,p.pluralResolver=new lh(h,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(p.formatter=a(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new uh(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new ph(a(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(m){for(var y=arguments.length,w=new Array(y>1?y-1:0),_=1;_1?y-1:0),_=1;_{m.init&&m.init(this)})}if(this.format=this.options.interpolation.format,i||(i=pr),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return e.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return e.store[d](...arguments),e}});const u=Tn(),c=()=>{const d=(h,p)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),u.resolve(p),i(h,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?c():setTimeout(c,0),u}loadResources(e){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pr;const o=typeof e=="string"?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const a=[],s=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(c=>{c!=="cimode"&&a.indexOf(c)<0&&a.push(c)})};o?s(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>s(u)),this.options.preload&&this.options.preload.forEach(l=>s(l)),this.services.backendConnector.load(a,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(l)})}else i(null)}reloadResources(e,r,i){const o=Tn();return e||(e=this.languages),r||(r=this.options.ns),i||(i=pr),this.services.backendConnector.reload(e,r,a=>{o.resolve(),i(a)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&vs.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let r=0;r-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,r){var i=this;this.isLanguageChangingTo=e;const o=Tn();this.emit("languageChanging",e);const a=u=>{this.language=u,this.languages=this.services.languageUtils.toResolveHierarchy(u),this.resolvedLanguage=void 0,this.setResolvedLanguage(u)},s=(u,c)=>{c?(a(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,o.resolve(function(){return i.t(...arguments)}),r&&r(u,function(){return i.t(...arguments)})},l=u=>{!e&&!u&&this.services.languageDetector&&(u=[]);const c=typeof u=="string"?u:this.services.languageUtils.getBestMatchFromCodes(u);c&&(this.language||a(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(c)),this.loadResources(c,d=>{s(d,c)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e),o}getFixedT(e,r,i){var o=this;const a=function(s,l){let u;if(typeof l!="object"){for(var c=arguments.length,d=new Array(c>2?c-2:0),h=2;h"".concat(u.keyPrefix).concat(p).concat(y)):m=u.keyPrefix?"".concat(u.keyPrefix).concat(p).concat(s):s,o.t(m,u)};return typeof e=="string"?a.lng=e:a.lngs=e,a.ns=r,a.keyPrefix=i,a}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=r.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,a=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const s=(l,u)=>{const c=this.services.backendConnector.state["".concat(l,"|").concat(u)];return c===-1||c===2};if(r.precheck){const l=r.precheck(this,s);if(l!==void 0)return l}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(i,e)&&(!o||s(a,e)))}loadNamespaces(e,r){const i=Tn();return this.options.ns?(typeof e=="string"&&(e=[e]),e.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{i.resolve(),r&&r(o)}),i):(r&&r(),Promise.resolve())}loadLanguages(e,r){const i=Tn();typeof e=="string"&&(e=[e]);const o=this.options.preload||[],a=e.filter(s=>o.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return a.length?(this.options.preload=o.concat(a),this.loadResources(s=>{i.resolve(),r&&r(s)}),i):(r&&r(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const r=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new ra(aa());return r.indexOf(i.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return new Yn(e,r)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pr;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const o={...this.options,...e,isClone:!0},a=new Yn(o);return(e.debug!==void 0||e.prefix!==void 0)&&(a.logger=a.logger.clone(e)),["store","services","language"].forEach(l=>{a[l]=this[l]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},i&&(a.store=new ta(this.store.data,o),a.services.resourceStore=a.store),a.translator=new Br(a.services,o),a.translator.on("*",function(l){for(var u=arguments.length,c=new Array(u>1?u-1:0),d=1;dsn,mh=n=>{Ye.onLanguageChange(e=>n.changeLanguage(e))};class yh{constructor(){this._appName="RMG",this._lng=void 0,this._defaultResources={},this._resources={}}use(e){return Te.use(e),this}withAppName(e){return this._appName=e,this}withLng(e){return this._lng=e,this}withDefaultResource(e){return Object.entries(e).forEach(([r,i])=>{this._defaultResources[r]=i}),this}withResource(e,r){return this._resources[e]=r,this}combineResource(){const e={};return Object.entries(this._defaultResources).forEach(([r,i])=>{e[r]={translation:i}}),Object.entries(this._resources).forEach(([r,i])=>{r in e?e[r].translation=Object.assign(Object.assign({},e[r].translation),i):e[r]={translation:i}}),e}build(){return sn=Te.createInstance({lng:this._lng,fallbackLng:{"zh-CN":["zh-Hans","zh-Hant","en"],"zh-HK":["zh-Hant","zh-Hans","en"],"zh-TW":["zh-Hant","zh-Hans","en"],default:["en"]},resources:this.combineResource()},(e,r)=>{var i;if(e){me.error("unexpected error occurs while initialising i18n",e);return}document.title=r(this._appName),document.documentElement.lang=(i=this._lng)!==null&&i!==void 0?i:"en"}),sn.on("languageChanged",e=>{document.title=sn.t(this._appName),document.documentElement.lang=e}),mh(sn),sn}}var Zn=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};let Tt={};const bh=()=>Tt,ws="LOAD_REMOTE_FONT",vh=(n,e)=>{Se.postEvent(ws,{family:n,definition:e})},wh=n=>{Se.onMessage(ws,n)},vo=n=>n.source.startsWith("local"),xh=n=>{var e;const r=(e=n.source.match(/url\(['"](\S+)['"]\)/))===null||e===void 0?void 0:e[1];if(!r)throw new Error("Invalid URL in source "+n.source);return new URL(r,window.location.href)},la=(n,e)=>{var r;return"@font-face {\n font-family: '".concat(n,"';\n src: ").concat(e.source,";\n ").concat(Object.entries((r=e.descriptors)!==null&&r!==void 0?r:{}).map(([i,o])=>"".concat(i,": ").concat(o,";")).join("\n"),"\n}")},Sh=()=>Xc(()=>fetch("/fonts/config.json").then(n=>n.json()));let xs=Sh();const Nh=(n,e,r)=>Zn(void 0,void 0,void 0,function*(){try{const i=new FontFace(n,e.source,e.descriptors);return vo(e)?yield i.load():i.loaded.then(r),document.fonts.add(i),Tt[n]={configs:[Object.assign(Object.assign({},e),{font:i})]},!0}catch(i){return me.warn("Failed to load font ".concat(n," with source ").concat(e.source),i),!1}}),_h=(n,e,r)=>Zn(void 0,void 0,void 0,function*(){if(e.some(vo))return me.error("Unable to load multiple FontFace for the same family ".concat(n)),!1;const i=[];return e.forEach(o=>{const a=new FontFace(n,o.source,o.descriptors);a.loaded.then(r),document.fonts.add(a),i.push(Object.assign(Object.assign({},o),{font:a}))}),Tt[n]={configs:i},!0}),Rh=(n,e)=>Zn(void 0,void 0,void 0,function*(){if(n in Tt)return Tt[n];let r;if(e)r=e;else try{r=(yield xs())[n]}catch(a){throw new Error("Unable to load font definition of "+n)}const i=()=>{vh(n,r)};for(const a of r.configs)if(Array.isArray(a)?yield _h(n,a,i):yield Nh(n,a,i))break;const o=Tt[n];if(o)return o.displayName=r.displayName,o.url=r.url,Tt[n]}),kh=n=>Zn(void 0,void 0,void 0,function*(){const e=Tt[n];if(!e)throw new Error("Font family ".concat(n," is not loaded"));return(yield Promise.all(e.configs.filter(i=>{const o=i.font.status==="loaded";return o||me.warn("Font family ".concat(n," is not loaded completely. Some FontFaceRules may be missing")),o}).map(i=>Zn(void 0,void 0,void 0,function*(){if(vo(i))return la(n,i);const o=xh(i),a=yield fetch(o),s=yield Qc(yield a.blob());return la(n,Object.assign(Object.assign({},i),{source:"url('".concat(s,"')")}))})))).join("\n\n")}),En={getAllFonts:xs,getLoadedFonts:bh,loadFont:Rh,getFontCSS:kh,onRemoteFontLoaded:wh},Ch=()=>{if(Le.getEnvironment()!=="PRD"||!Le.isRMT())if(document.querySelector('meta[name="robots"]'))me.info("Noindex meta tag already presents.");else{me.info("Injecting noindex meta tag as this app is not PRD RMT.");const n=document.createElement("meta");n.name="robots",n.content="noindex",document.head.appendChild(n)}},Ah={injectNoindexRule:Ch};var Ss=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};let Ns=!1;const Th=()=>Ss(void 0,void 0,void 0,function*(){yield Le.loadWithTimeout(),me.setup(Le.getComponent()),Ah.injectNoindexRule(),Ye.isAnalyticsQADone()?Ye.isAllowAnalytics()&&(me.info("User has previously allowed GA"),Pr.init()):Je.isStandaloneWindow()&&!Le.isRMT()&&(me.warn("App is opened in standalone window but analytics Q&A is not finished. GA will be init by default."),Pr.init()),Ns=!0}),Eh=()=>Ss(void 0,void 0,void 0,function*(){let n=0;for(;n<=10&&!Ns;)yield ns(1e3),n+=1}),Ge={ready:Eh,getAppName:Le.getComponent,getAppVersion:Le.getVersion,getEnv:Le.getEnvironment,getInstance:Le.getInstance,event:Pr.customEvent,isStandaloneWindow:Je.isStandaloneWindow,injectUITools:Je.injectUITools,openApp:Je.openApp,onAppOpen:Je.onAppOpen,closeApp:Je.closeApp,onAppClose:Je.onAppClose,updateAppMetadata:Je.updateAppMetadata,onAppMetadataUpdate:Je.onAppMetadataUpdate,updateUrl:Je.updateUrl,onUrlUpdate:Je.onUrlUpdate,toggleNavMenu:Je.toggleNavMenu,postEvent:Se.postEvent,onMessage:Se.onMessage,setLanguage:Ye.setLanguage,getLanguage:Ye.getLanguage,onLanguageChange:Ye.onLanguageChange,setColourMode:Ye.setColourMode,getColourMode:Ye.getColourMode,onColourModeChange:Ye.onColourModeChange,isAnalyticsQADone:Ye.isAnalyticsQADone,isAllowAnalytics:Ye.isAllowAnalytics,allowAnalytics:Ye.allowAnalytics,storage:{on:tn.on,get:tn.get,getAll:tn.getAll,set:tn.set,remove:tn.remove,clear:tn.clear},getMsSinceStartUp:Bd.getMsSinceStartUp,I18nBuilder:yh,getI18nInstance:gh,getAllFonts:En.getAllFonts,getLoadedFonts:En.getLoadedFonts,loadFont:En.loadFont,getFontCSS:En.getFontCSS,onRemoteFontLoaded:En.onRemoteFontLoaded};Th().then();window.rmgRuntime=Ge;const jt=me.logger;var wo={exports:{}},ln=typeof Reflect=="object"?Reflect:null,ua=ln&&typeof ln.apply=="function"?ln.apply:function(e,r,i){return Function.prototype.apply.call(e,r,i)},Ar;ln&&typeof ln.ownKeys=="function"?Ar=ln.ownKeys:Object.getOwnPropertySymbols?Ar=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Ar=function(e){return Object.getOwnPropertyNames(e)};function Lh(n){console&&console.warn&&console.warn(n)}var _s=Number.isNaN||function(e){return e!==e};function ie(){ie.init.call(this)}wo.exports=ie;wo.exports.once=Ph;ie.EventEmitter=ie;ie.prototype._events=void 0;ie.prototype._eventsCount=0;ie.prototype._maxListeners=void 0;var ca=10;function pi(n){if(typeof n!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n)}Object.defineProperty(ie,"defaultMaxListeners",{enumerable:!0,get:function(){return ca},set:function(n){if(typeof n!="number"||n<0||_s(n))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+n+".");ca=n}});ie.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ie.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||_s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Rs(n){return n._maxListeners===void 0?ie.defaultMaxListeners:n._maxListeners}ie.prototype.getMaxListeners=function(){return Rs(this)};ie.prototype.emit=function(e){for(var r=[],i=1;i0&&(s=r[0]),s instanceof Error)throw s;var l=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw l.context=s,l}var u=a[e];if(u===void 0)return!1;if(typeof u=="function")ua(u,this,r);else for(var c=u.length,d=Es(u,c),i=0;i0&&s.length>o&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=n,l.type=e,l.count=s.length,Lh(l)}return n}ie.prototype.addListener=function(e,r){return ks(this,e,r,!1)};ie.prototype.on=ie.prototype.addListener;ie.prototype.prependListener=function(e,r){return ks(this,e,r,!0)};function Oh(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Cs(n,e,r){var i={fired:!1,wrapFn:void 0,target:n,type:e,listener:r},o=Oh.bind(i);return o.listener=r,i.wrapFn=o,o}ie.prototype.once=function(e,r){return pi(r),this.on(e,Cs(this,e,r)),this};ie.prototype.prependOnceListener=function(e,r){return pi(r),this.prependListener(e,Cs(this,e,r)),this};ie.prototype.removeListener=function(e,r){var i,o,a,s,l;if(pi(r),o=this._events,o===void 0)return this;if(i=o[e],i===void 0)return this;if(i===r||i.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete o[e],o.removeListener&&this.emit("removeListener",e,i.listener||r));else if(typeof i!="function"){for(a=-1,s=i.length-1;s>=0;s--)if(i[s]===r||i[s].listener===r){l=i[s].listener,a=s;break}if(a<0)return this;a===0?i.shift():jh(i,a),i.length===1&&(o[e]=i[0]),o.removeListener!==void 0&&this.emit("removeListener",e,l||r)}return this};ie.prototype.off=ie.prototype.removeListener;ie.prototype.removeAllListeners=function(e){var r,i,o;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var a=Object.keys(i),s;for(o=0;o=0;o--)this.removeListener(e,r[o]);return this};function As(n,e,r){var i=n._events;if(i===void 0)return[];var o=i[e];return o===void 0?[]:typeof o=="function"?r?[o.listener||o]:[o]:r?Mh(o):Es(o,o.length)}ie.prototype.listeners=function(e){return As(this,e,!0)};ie.prototype.rawListeners=function(e){return As(this,e,!1)};ie.listenerCount=function(n,e){return typeof n.listenerCount=="function"?n.listenerCount(e):Ts.call(n,e)};ie.prototype.listenerCount=Ts;function Ts(n){var e=this._events;if(e!==void 0){var r=e[n];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ie.prototype.eventNames=function(){return this._eventsCount>0?Ar(this._events):[]};function Es(n,e){for(var r=new Array(e),i=0;i=e?{done:!0}:{done:!1,value:n[r++]}})};ct.empty=function(){var n=new ct(function(){return{done:!0}});return n};ct.fromSequence=function(n){var e=0,r=n.length;return new ct(function(){return e>=r?{done:!0}:{done:!1,value:n[e++]}})};ct.is=function(n){return n instanceof ct?!0:typeof n=="object"&&n!==null&&typeof n.next=="function"};var xo=ct;const Qe=ho(xo);var So={};So.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u";So.SYMBOL_SUPPORT=typeof Symbol<"u";var Dh=xo,Os=So,Bh=Os.ARRAY_BUFFER_SUPPORT,zh=Os.SYMBOL_SUPPORT;function Fh(n){return typeof n=="string"||Array.isArray(n)||Bh&&ArrayBuffer.isView(n)?Dh.fromSequence(n):typeof n!="object"||n===null?null:zh&&typeof n[Symbol.iterator]=="function"?n[Symbol.iterator]():typeof n.next=="function"?n:null}var js=function(e){var r=Fh(e);if(!r)throw new Error("obliterator: target is not iterable nor a valid iterator.");return r},Gh=js,Uh=function(e,r){for(var i=arguments.length>1?r:1/0,o=i!==1/0?new Array(i):[],a,s=0,l=Gh(e);;){if(s===i)return o;if(a=l.next(),a.done)return s!==r&&(o.length=s),o;o[s++]=a.value}};const Ms=ho(Uh);var Wh=xo,Vh=js,Hh=function(){var e=arguments,r=null,i=-1;return new Wh(function(){var a=null;do{if(r===null){if(i++,i>=e.length)return{done:!0};r=Vh(e[i])}if(a=r.next(),a.done===!0){r=null;continue}break}while(!0);return a})};const wt=ho(Hh);function Jh(){const n=arguments[0];for(let e=1,r=arguments.length;en++}class No extends Error{constructor(e){super(),this.name="GraphError",this.message=e}}class E extends No{constructor(e){super(e),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,E.prototype.constructor)}}class C extends No{constructor(e){super(e),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,C.prototype.constructor)}}class z extends No{constructor(e){super(e),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,z.prototype.constructor)}}function $s(n,e){this.key=n,this.attributes=e,this.clear()}$s.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function Is(n,e){this.key=n,this.attributes=e,this.clear()}Is.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function Ds(n,e){this.key=n,this.attributes=e,this.clear()}Ds.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function mn(n,e,r,i,o){this.key=e,this.attributes=o,this.undirected=n,this.source=r,this.target=i}mn.prototype.attach=function(){let n="out",e="in";this.undirected&&(n=e="undirected");const r=this.source.key,i=this.target.key;this.source[n][i]=this,!(this.undirected&&r===i)&&(this.target[e][r]=this)};mn.prototype.attachMulti=function(){let n="out",e="in";const r=this.source.key,i=this.target.key;this.undirected&&(n=e="undirected");const o=this.source[n],a=o[i];if(typeof a>"u"){o[i]=this,this.undirected&&r===i||(this.target[e][r]=this);return}a.previous=this,this.next=a,o[i]=this,this.target[e][r]=this};mn.prototype.detach=function(){const n=this.source.key,e=this.target.key;let r="out",i="in";this.undirected&&(r=i="undirected"),delete this.source[r][e],delete this.target[i][n]};mn.prototype.detachMulti=function(){const n=this.source.key,e=this.target.key;let r="out",i="in";this.undirected&&(r=i="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[r][e],delete this.target[i][n]):(this.next.previous=void 0,this.source[r][e]=this.next,this.target[i][n]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const Bs=0,zs=1,qh=2,Fs=3;function xt(n,e,r,i,o,a,s){let l,u,c,d;if(i=""+i,r===Bs){if(l=n._nodes.get(i),!l)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" node in the graph.'));c=o,d=a}else if(r===Fs){if(o=""+o,u=n._edges.get(o),!u)throw new C("Graph.".concat(e,': could not find the "').concat(o,'" edge in the graph.'));const h=u.source.key,p=u.target.key;if(i===h)l=u.target;else if(i===p)l=u.source;else throw new C("Graph.".concat(e,': the "').concat(i,'" node is not attached to the "').concat(o,'" edge (').concat(h,", ").concat(p,")."));c=a,d=s}else{if(u=n._edges.get(i),!u)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'));r===zs?l=u.source:l=u.target,c=o,d=a}return[l,c,d]}function Yh(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);return s.attributes[l]}}function Zh(n,e,r){n.prototype[e]=function(i,o){const[a]=xt(this,e,r,i,o);return a.attributes}}function Qh(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);return s.attributes.hasOwnProperty(l)}}function Xh(n,e,r){n.prototype[e]=function(i,o,a,s){const[l,u,c]=xt(this,e,r,i,o,a,s);return l.attributes[u]=c,this.emit("nodeAttributesUpdated",{key:l.key,type:"set",attributes:l.attributes,name:u}),this}}function ep(n,e,r){n.prototype[e]=function(i,o,a,s){const[l,u,c]=xt(this,e,r,i,o,a,s);if(typeof c!="function")throw new E("Graph.".concat(e,": updater should be a function."));const d=l.attributes,h=c(d[u]);return d[u]=h,this.emit("nodeAttributesUpdated",{key:l.key,type:"set",attributes:l.attributes,name:u}),this}}function tp(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);return delete s.attributes[l],this.emit("nodeAttributesUpdated",{key:s.key,type:"remove",attributes:s.attributes,name:l}),this}}function np(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);if(!Ae(l))throw new E("Graph.".concat(e,": provided attributes are not a plain object."));return s.attributes=l,this.emit("nodeAttributesUpdated",{key:s.key,type:"replace",attributes:s.attributes}),this}}function rp(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);if(!Ae(l))throw new E("Graph.".concat(e,": provided attributes are not a plain object."));return we(s.attributes,l),this.emit("nodeAttributesUpdated",{key:s.key,type:"merge",attributes:s.attributes,data:l}),this}}function ip(n,e,r){n.prototype[e]=function(i,o,a){const[s,l]=xt(this,e,r,i,o,a);if(typeof l!="function")throw new E("Graph.".concat(e,": provided updater is not a function."));return s.attributes=l(s.attributes),this.emit("nodeAttributesUpdated",{key:s.key,type:"update",attributes:s.attributes}),this}}const op=[{name:n=>"get".concat(n,"Attribute"),attacher:Yh},{name:n=>"get".concat(n,"Attributes"),attacher:Zh},{name:n=>"has".concat(n,"Attribute"),attacher:Qh},{name:n=>"set".concat(n,"Attribute"),attacher:Xh},{name:n=>"update".concat(n,"Attribute"),attacher:ep},{name:n=>"remove".concat(n,"Attribute"),attacher:tp},{name:n=>"replace".concat(n,"Attributes"),attacher:np},{name:n=>"merge".concat(n,"Attributes"),attacher:rp},{name:n=>"update".concat(n,"Attributes"),attacher:ip}];function ap(n){op.forEach(function({name:e,attacher:r}){r(n,e("Node"),Bs),r(n,e("Source"),zs),r(n,e("Target"),qh),r(n,e("Opposite"),Fs)})}function sp(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}return a.attributes[o]}}function lp(n,e,r){n.prototype[e]=function(i){let o;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const a=""+i,s=""+arguments[1];if(o=Ze(this,a,s,r),!o)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,o=this._edges.get(i),!o)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}return o.attributes}}function up(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}return a.attributes.hasOwnProperty(o)}}function cp(n,e,r){n.prototype[e]=function(i,o,a){let s;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const l=""+i,u=""+o;if(o=arguments[2],a=arguments[3],s=Ze(this,l,u,r),!s)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(l,'" - "').concat(u,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,s=this._edges.get(i),!s)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}return s.attributes[o]=a,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:o}),this}}function dp(n,e,r){n.prototype[e]=function(i,o,a){let s;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const l=""+i,u=""+o;if(o=arguments[2],a=arguments[3],s=Ze(this,l,u,r),!s)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(l,'" - "').concat(u,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,s=this._edges.get(i),!s)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}if(typeof a!="function")throw new E("Graph.".concat(e,": updater should be a function."));return s.attributes[o]=a(s.attributes[o]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:o}),this}}function hp(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}return delete a.attributes[o],this.emit("edgeAttributesUpdated",{key:a.key,type:"remove",attributes:a.attributes,name:o}),this}}function pp(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}if(!Ae(o))throw new E("Graph.".concat(e,": provided attributes are not a plain object."));return a.attributes=o,this.emit("edgeAttributesUpdated",{key:a.key,type:"replace",attributes:a.attributes}),this}}function fp(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}if(!Ae(o))throw new E("Graph.".concat(e,": provided attributes are not a plain object."));return we(a.attributes,o),this.emit("edgeAttributesUpdated",{key:a.key,type:"merge",attributes:a.attributes,data:o}),this}}function gp(n,e,r){n.prototype[e]=function(i,o){let a;if(this.type!=="mixed"&&r!=="mixed"&&r!==this.type)throw new z("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new z("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));const s=""+i,l=""+o;if(o=arguments[2],a=Ze(this,s,l,r),!a)throw new C("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(l,'").'))}else{if(r!=="mixed")throw new z("Graph.".concat(e,": calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type."));if(i=""+i,a=this._edges.get(i),!a)throw new C("Graph.".concat(e,': could not find the "').concat(i,'" edge in the graph.'))}if(typeof o!="function")throw new E("Graph.".concat(e,": provided updater is not a function."));return a.attributes=o(a.attributes),this.emit("edgeAttributesUpdated",{key:a.key,type:"update",attributes:a.attributes}),this}}const mp=[{name:n=>"get".concat(n,"Attribute"),attacher:sp},{name:n=>"get".concat(n,"Attributes"),attacher:lp},{name:n=>"has".concat(n,"Attribute"),attacher:up},{name:n=>"set".concat(n,"Attribute"),attacher:cp},{name:n=>"update".concat(n,"Attribute"),attacher:dp},{name:n=>"remove".concat(n,"Attribute"),attacher:hp},{name:n=>"replace".concat(n,"Attributes"),attacher:pp},{name:n=>"merge".concat(n,"Attributes"),attacher:fp},{name:n=>"update".concat(n,"Attributes"),attacher:gp}];function yp(n){mp.forEach(function({name:e,attacher:r}){r(n,e("Edge"),"mixed"),r(n,e("DirectedEdge"),"directed"),r(n,e("UndirectedEdge"),"undirected")})}const bp=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function vp(n,e,r,i){let o=!1;for(const a in e){if(a===i)continue;const s=e[a];if(o=r(s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected),n&&o)return s.key}}function wp(n,e,r,i){let o,a,s,l=!1;for(const u in e)if(u!==i){o=e[u];do{if(a=o.source,s=o.target,l=r(o.key,o.attributes,a.key,s.key,a.attributes,s.attributes,o.undirected),n&&l)return o.key;o=o.next}while(o!==void 0)}}function Mi(n,e){const r=Object.keys(n),i=r.length;let o,a=0;return new Qe(function(){do if(o)o=o.next;else{if(a>=i)return{done:!0};const l=r[a++];if(l===e){o=void 0;continue}o=n[l]}while(!o);return{done:!1,value:{edge:o.key,attributes:o.attributes,source:o.source.key,target:o.target.key,sourceAttributes:o.source.attributes,targetAttributes:o.target.attributes,undirected:o.undirected}}})}function xp(n,e,r,i){const o=e[r];if(!o)return;const a=o.source,s=o.target;if(i(o.key,o.attributes,a.key,s.key,a.attributes,s.attributes,o.undirected)&&n)return o.key}function Sp(n,e,r,i){let o=e[r];if(!o)return;let a=!1;do{if(a=i(o.key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected),n&&a)return o.key;o=o.next}while(o!==void 0)}function Pi(n,e){let r=n[e];return r.next!==void 0?new Qe(function(){if(!r)return{done:!0};const i={edge:r.key,attributes:r.attributes,source:r.source.key,target:r.target.key,sourceAttributes:r.source.attributes,targetAttributes:r.target.attributes,undirected:r.undirected};return r=r.next,{done:!1,value:i}}):Qe.of({edge:r.key,attributes:r.attributes,source:r.source.key,target:r.target.key,sourceAttributes:r.source.attributes,targetAttributes:r.target.attributes,undirected:r.undirected})}function Np(n,e){if(n.size===0)return[];if(e==="mixed"||e===n.type)return typeof Array.from=="function"?Array.from(n._edges.keys()):Ms(n._edges.keys(),n._edges.size);const r=e==="undirected"?n.undirectedSize:n.directedSize,i=new Array(r),o=e==="undirected",a=n._edges.values();let s=0,l,u;for(;l=a.next(),l.done!==!0;)u=l.value,u.undirected===o&&(i[s++]=u.key);return i}function Gs(n,e,r,i){if(e.size===0)return;const o=r!=="mixed"&&r!==e.type,a=r==="undirected";let s,l,u=!1;const c=e._edges.values();for(;s=c.next(),s.done!==!0;){if(l=s.value,o&&l.undirected!==a)continue;const{key:d,attributes:h,source:p,target:m}=l;if(u=i(d,h,p.key,m.key,p.attributes,m.attributes,l.undirected),n&&u)return d}}function _p(n,e){if(n.size===0)return Qe.empty();const r=e!=="mixed"&&e!==n.type,i=e==="undirected",o=n._edges.values();return new Qe(function(){let s,l;for(;;){if(s=o.next(),s.done)return s;if(l=s.value,!(r&&l.undirected!==i))break}return{value:{edge:l.key,attributes:l.attributes,source:l.source.key,target:l.target.key,sourceAttributes:l.source.attributes,targetAttributes:l.target.attributes,undirected:l.undirected},done:!1}})}function _o(n,e,r,i,o,a){const s=e?wp:vp;let l;if(r!=="undirected"&&(i!=="out"&&(l=s(n,o.in,a),n&&l)||i!=="in"&&(l=s(n,o.out,a,i?void 0:o.key),n&&l))||r!=="directed"&&(l=s(n,o.undirected,a),n&&l))return l}function Rp(n,e,r,i){const o=[];return _o(!1,n,e,r,i,function(a){o.push(a)}),o}function kp(n,e,r){let i=Qe.empty();return n!=="undirected"&&(e!=="out"&&typeof r.in<"u"&&(i=wt(i,Mi(r.in))),e!=="in"&&typeof r.out<"u"&&(i=wt(i,Mi(r.out,e?void 0:r.key)))),n!=="directed"&&typeof r.undirected<"u"&&(i=wt(i,Mi(r.undirected))),i}function Ro(n,e,r,i,o,a,s){const l=r?Sp:xp;let u;if(e!=="undirected"&&(typeof o.in<"u"&&i!=="out"&&(u=l(n,o.in,a,s),n&&u)||typeof o.out<"u"&&i!=="in"&&(i||o.key!==a)&&(u=l(n,o.out,a,s),n&&u))||e!=="directed"&&typeof o.undirected<"u"&&(u=l(n,o.undirected,a,s),n&&u))return u}function Cp(n,e,r,i,o){const a=[];return Ro(!1,n,e,r,i,o,function(s){a.push(s)}),a}function Ap(n,e,r,i){let o=Qe.empty();return n!=="undirected"&&(typeof r.in<"u"&&e!=="out"&&i in r.in&&(o=wt(o,Pi(r.in,i))),typeof r.out<"u"&&e!=="in"&&i in r.out&&(e||r.key!==i)&&(o=wt(o,Pi(r.out,i)))),n!=="directed"&&typeof r.undirected<"u"&&i in r.undirected&&(o=wt(o,Pi(r.undirected,i))),o}function Tp(n,e){const{name:r,type:i,direction:o}=e;n.prototype[r]=function(a,s){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return[];if(!arguments.length)return Np(this,i);if(arguments.length===1){a=""+a;const l=this._nodes.get(a);if(typeof l>"u")throw new C("Graph.".concat(r,': could not find the "').concat(a,'" node in the graph.'));return Rp(this.multi,i==="mixed"?this.type:i,o,l)}if(arguments.length===2){a=""+a,s=""+s;const l=this._nodes.get(a);if(!l)throw new C("Graph.".concat(r,': could not find the "').concat(a,'" source node in the graph.'));if(!this._nodes.has(s))throw new C("Graph.".concat(r,': could not find the "').concat(s,'" target node in the graph.'));return Cp(i,this.multi,o,l,s)}throw new E("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}function Ep(n,e){const{name:r,type:i,direction:o}=e,a="forEach"+r[0].toUpperCase()+r.slice(1,-1);n.prototype[a]=function(c,d,h){if(!(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)){if(arguments.length===1)return h=c,Gs(!1,this,i,h);if(arguments.length===2){c=""+c,h=d;const p=this._nodes.get(c);if(typeof p>"u")throw new C("Graph.".concat(a,': could not find the "').concat(c,'" node in the graph.'));return _o(!1,this.multi,i==="mixed"?this.type:i,o,p,h)}if(arguments.length===3){c=""+c,d=""+d;const p=this._nodes.get(c);if(!p)throw new C("Graph.".concat(a,': could not find the "').concat(c,'" source node in the graph.'));if(!this._nodes.has(d))throw new C("Graph.".concat(a,': could not find the "').concat(d,'" target node in the graph.'));return Ro(!1,i,this.multi,o,p,d,h)}throw new E("Graph.".concat(a,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}};const s="map"+r[0].toUpperCase()+r.slice(1);n.prototype[s]=function(){const c=Array.prototype.slice.call(arguments),d=c.pop();let h;if(c.length===0){let p=0;i!=="directed"&&(p+=this.undirectedSize),i!=="undirected"&&(p+=this.directedSize),h=new Array(p);let m=0;c.push((y,w,_,N,R,M,j)=>{h[m++]=d(y,w,_,N,R,M,j)})}else h=[],c.push((p,m,y,w,_,N,R)=>{h.push(d(p,m,y,w,_,N,R))});return this[a].apply(this,c),h};const l="filter"+r[0].toUpperCase()+r.slice(1);n.prototype[l]=function(){const c=Array.prototype.slice.call(arguments),d=c.pop(),h=[];return c.push((p,m,y,w,_,N,R)=>{d(p,m,y,w,_,N,R)&&h.push(p)}),this[a].apply(this,c),h};const u="reduce"+r[0].toUpperCase()+r.slice(1);n.prototype[u]=function(){let c=Array.prototype.slice.call(arguments);if(c.length<2||c.length>4)throw new E("Graph.".concat(u,": invalid number of arguments (expecting 2, 3 or 4 and got ").concat(c.length,")."));if(typeof c[c.length-1]=="function"&&typeof c[c.length-2]!="function")throw new E("Graph.".concat(u,": missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array."));let d,h;c.length===2?(d=c[0],h=c[1],c=[]):c.length===3?(d=c[1],h=c[2],c=[c[0]]):c.length===4&&(d=c[2],h=c[3],c=[c[0],c[1]]);let p=h;return c.push((m,y,w,_,N,R,M)=>{p=d(p,m,y,w,_,N,R,M)}),this[a].apply(this,c),p}}function Lp(n,e){const{name:r,type:i,direction:o}=e,a="find"+r[0].toUpperCase()+r.slice(1,-1);n.prototype[a]=function(u,c,d){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return!1;if(arguments.length===1)return d=u,Gs(!0,this,i,d);if(arguments.length===2){u=""+u,d=c;const h=this._nodes.get(u);if(typeof h>"u")throw new C("Graph.".concat(a,': could not find the "').concat(u,'" node in the graph.'));return _o(!0,this.multi,i==="mixed"?this.type:i,o,h,d)}if(arguments.length===3){u=""+u,c=""+c;const h=this._nodes.get(u);if(!h)throw new C("Graph.".concat(a,': could not find the "').concat(u,'" source node in the graph.'));if(!this._nodes.has(c))throw new C("Graph.".concat(a,': could not find the "').concat(c,'" target node in the graph.'));return Ro(!0,i,this.multi,o,h,c,d)}throw new E("Graph.".concat(a,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))};const s="some"+r[0].toUpperCase()+r.slice(1,-1);n.prototype[s]=function(){const u=Array.prototype.slice.call(arguments),c=u.pop();return u.push((h,p,m,y,w,_,N)=>c(h,p,m,y,w,_,N)),!!this[a].apply(this,u)};const l="every"+r[0].toUpperCase()+r.slice(1,-1);n.prototype[l]=function(){const u=Array.prototype.slice.call(arguments),c=u.pop();return u.push((h,p,m,y,w,_,N)=>!c(h,p,m,y,w,_,N)),!this[a].apply(this,u)}}function Op(n,e){const{name:r,type:i,direction:o}=e,a=r.slice(0,-1)+"Entries";n.prototype[a]=function(s,l){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return Qe.empty();if(!arguments.length)return _p(this,i);if(arguments.length===1){s=""+s;const u=this._nodes.get(s);if(!u)throw new C("Graph.".concat(a,': could not find the "').concat(s,'" node in the graph.'));return kp(i,o,u)}if(arguments.length===2){s=""+s,l=""+l;const u=this._nodes.get(s);if(!u)throw new C("Graph.".concat(a,': could not find the "').concat(s,'" source node in the graph.'));if(!this._nodes.has(l))throw new C("Graph.".concat(a,': could not find the "').concat(l,'" target node in the graph.'));return Ap(i,o,u,l)}throw new E("Graph.".concat(a,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}function jp(n){bp.forEach(e=>{Tp(n,e),Ep(n,e),Lp(n,e),Op(n,e)})}const Mp=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function fi(){this.A=null,this.B=null}fi.prototype.wrap=function(n){this.A===null?this.A=n:this.B===null&&(this.B=n)};fi.prototype.has=function(n){return this.A!==null&&n in this.A||this.B!==null&&n in this.B};function Ln(n,e,r,i,o){for(const a in i){const s=i[a],l=s.source,u=s.target,c=l===r?u:l;if(e&&e.has(c.key))continue;const d=o(c.key,c.attributes);if(n&&d)return c.key}}function ko(n,e,r,i,o){if(e!=="mixed"){if(e==="undirected")return Ln(n,null,i,i.undirected,o);if(typeof r=="string")return Ln(n,null,i,i[r],o)}const a=new fi;let s;if(e!=="undirected"){if(r!=="out"){if(s=Ln(n,null,i,i.in,o),n&&s)return s;a.wrap(i.in)}if(r!=="in"){if(s=Ln(n,a,i,i.out,o),n&&s)return s;a.wrap(i.out)}}if(e!=="directed"&&(s=Ln(n,a,i,i.undirected,o),n&&s))return s}function Pp(n,e,r){if(n!=="mixed"){if(n==="undirected")return Object.keys(r.undirected);if(typeof e=="string")return Object.keys(r[e])}const i=[];return ko(!1,n,e,r,function(o){i.push(o)}),i}function On(n,e,r){const i=Object.keys(r),o=i.length;let a=0;return new Qe(function(){let l=null;do{if(a>=o)return n&&n.wrap(r),{done:!0};const u=r[i[a++]],c=u.source,d=u.target;if(l=c===e?d:c,n&&n.has(l.key)){l=null;continue}}while(l===null);return{done:!1,value:{neighbor:l.key,attributes:l.attributes}}})}function $p(n,e,r){if(n!=="mixed"){if(n==="undirected")return On(null,r,r.undirected);if(typeof e=="string")return On(null,r,r[e])}let i=Qe.empty();const o=new fi;return n!=="undirected"&&(e!=="out"&&(i=wt(i,On(o,r,r.in))),e!=="in"&&(i=wt(i,On(o,r,r.out)))),n!=="directed"&&(i=wt(i,On(o,r,r.undirected))),i}function Ip(n,e){const{name:r,type:i,direction:o}=e;n.prototype[r]=function(a){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return[];a=""+a;const s=this._nodes.get(a);if(typeof s>"u")throw new C("Graph.".concat(r,': could not find the "').concat(a,'" node in the graph.'));return Pp(i==="mixed"?this.type:i,o,s)}}function Dp(n,e){const{name:r,type:i,direction:o}=e,a="forEach"+r[0].toUpperCase()+r.slice(1,-1);n.prototype[a]=function(c,d){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return;c=""+c;const h=this._nodes.get(c);if(typeof h>"u")throw new C("Graph.".concat(a,': could not find the "').concat(c,'" node in the graph.'));ko(!1,i==="mixed"?this.type:i,o,h,d)};const s="map"+r[0].toUpperCase()+r.slice(1);n.prototype[s]=function(c,d){const h=[];return this[a](c,(p,m)=>{h.push(d(p,m))}),h};const l="filter"+r[0].toUpperCase()+r.slice(1);n.prototype[l]=function(c,d){const h=[];return this[a](c,(p,m)=>{d(p,m)&&h.push(p)}),h};const u="reduce"+r[0].toUpperCase()+r.slice(1);n.prototype[u]=function(c,d,h){if(arguments.length<3)throw new E("Graph.".concat(u,": missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array."));let p=h;return this[a](c,(m,y)=>{p=d(p,m,y)}),p}}function Bp(n,e){const{name:r,type:i,direction:o}=e,a=r[0].toUpperCase()+r.slice(1,-1),s="find"+a;n.prototype[s]=function(c,d){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return;c=""+c;const h=this._nodes.get(c);if(typeof h>"u")throw new C("Graph.".concat(s,': could not find the "').concat(c,'" node in the graph.'));return ko(!0,i==="mixed"?this.type:i,o,h,d)};const l="some"+a;n.prototype[l]=function(c,d){return!!this[s](c,d)};const u="every"+a;n.prototype[u]=function(c,d){return!this[s](c,(p,m)=>!d(p,m))}}function zp(n,e){const{name:r,type:i,direction:o}=e,a=r.slice(0,-1)+"Entries";n.prototype[a]=function(s){if(i!=="mixed"&&this.type!=="mixed"&&i!==this.type)return Qe.empty();s=""+s;const l=this._nodes.get(s);if(typeof l>"u")throw new C("Graph.".concat(a,': could not find the "').concat(s,'" node in the graph.'));return $p(i==="mixed"?this.type:i,o,l)}}function Fp(n){Mp.forEach(e=>{Ip(n,e),Dp(n,e),Bp(n,e),zp(n,e)})}function fr(n,e,r,i,o){const a=i._nodes.values(),s=i.type;let l,u,c,d,h,p;for(;l=a.next(),l.done!==!0;){let m=!1;if(u=l.value,s!=="undirected"){d=u.out;for(c in d){h=d[c];do p=h.target,m=!0,o(u.key,p.key,u.attributes,p.attributes,h.key,h.attributes,h.undirected),h=h.next;while(h)}}if(s!=="directed"){d=u.undirected;for(c in d)if(!(e&&u.key>c)){h=d[c];do p=h.target,p.key!==c&&(p=h.source),m=!0,o(u.key,p.key,u.attributes,p.attributes,h.key,h.attributes,h.undirected),h=h.next;while(h)}}r&&!m&&o(u.key,null,u.attributes,null,null,null,null)}}function Gp(n,e){const r={key:n};return Ps(e.attributes)||(r.attributes=we({},e.attributes)),r}function Up(n,e,r){const i={key:e,source:r.source.key,target:r.target.key};return Ps(r.attributes)||(i.attributes=we({},r.attributes)),n==="mixed"&&r.undirected&&(i.undirected=!0),i}function Wp(n){if(!Ae(n))throw new E('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in n))throw new E("Graph.import: serialized node is missing its key.");if("attributes"in n&&(!Ae(n.attributes)||n.attributes===null))throw new E("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function Vp(n){if(!Ae(n))throw new E('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in n))throw new E("Graph.import: serialized edge is missing its source.");if(!("target"in n))throw new E("Graph.import: serialized edge is missing its target.");if("attributes"in n&&(!Ae(n.attributes)||n.attributes===null))throw new E("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in n&&typeof n.undirected!="boolean")throw new E("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const Hp=Kh(),Jp=new Set(["directed","undirected","mixed"]),ha=new Set(["domain","_events","_eventsCount","_maxListeners"]),Kp=[{name:n=>"".concat(n,"Edge"),generateKey:!0},{name:n=>"".concat(n,"DirectedEdge"),generateKey:!0,type:"directed"},{name:n=>"".concat(n,"UndirectedEdge"),generateKey:!0,type:"undirected"},{name:n=>"".concat(n,"EdgeWithKey")},{name:n=>"".concat(n,"DirectedEdgeWithKey"),type:"directed"},{name:n=>"".concat(n,"UndirectedEdgeWithKey"),type:"undirected"}],qp={allowSelfLoops:!0,multi:!1,type:"mixed"};function Yp(n,e,r){if(r&&!Ae(r))throw new E('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(r,'"'));if(e=""+e,r=r||{},n._nodes.has(e))throw new z('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));const i=new n.NodeDataClass(e,r);return n._nodes.set(e,i),n.emit("nodeAdded",{key:e,attributes:r}),i}function pa(n,e,r){const i=new n.NodeDataClass(e,r);return n._nodes.set(e,i),n.emit("nodeAdded",{key:e,attributes:r}),i}function Us(n,e,r,i,o,a,s,l){if(!i&&n.type==="undirected")throw new z("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&n.type==="directed")throw new z("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(l&&!Ae(l))throw new E("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(l,'"'));if(a=""+a,s=""+s,l=l||{},!n.allowSelfLoops&&a===s)throw new z("Graph.".concat(e,': source & target are the same ("').concat(a,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));const u=n._nodes.get(a),c=n._nodes.get(s);if(!u)throw new C("Graph.".concat(e,': source node "').concat(a,'" not found.'));if(!c)throw new C("Graph.".concat(e,': target node "').concat(s,'" not found.'));const d={key:null,undirected:i,source:a,target:s,attributes:l};if(r)o=n._edgeKeyGenerator();else if(o=""+o,n._edges.has(o))throw new z("Graph.".concat(e,': the "').concat(o,'" edge already exists in the graph.'));if(!n.multi&&(i?typeof u.undirected[s]<"u":typeof u.out[s]<"u"))throw new z("Graph.".concat(e,': an edge linking "').concat(a,'" to "').concat(s,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));const h=new mn(i,o,u,c,l);n._edges.set(o,h);const p=a===s;return i?(u.undirectedDegree++,c.undirectedDegree++,p&&(u.undirectedLoops++,n._undirectedSelfLoopCount++)):(u.outDegree++,c.inDegree++,p&&(u.directedLoops++,n._directedSelfLoopCount++)),n.multi?h.attachMulti():h.attach(),i?n._undirectedSize++:n._directedSize++,d.key=o,n.emit("edgeAdded",d),o}function Zp(n,e,r,i,o,a,s,l,u){if(!i&&n.type==="undirected")throw new z("Graph.".concat(e,": you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead."));if(i&&n.type==="directed")throw new z("Graph.".concat(e,": you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead."));if(l){if(u){if(typeof l!="function")throw new E("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(l,'"'))}else if(!Ae(l))throw new E("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(l,'"'))}a=""+a,s=""+s;let c;if(u&&(c=l,l=void 0),!n.allowSelfLoops&&a===s)throw new z("Graph.".concat(e,': source & target are the same ("').concat(a,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));let d=n._nodes.get(a),h=n._nodes.get(s),p,m;if(!r&&(p=n._edges.get(o),p)){if((p.source.key!==a||p.target.key!==s)&&(!i||p.source.key!==s||p.target.key!==a))throw new z("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(o,'" edge with "').concat(a,'" source & "').concat(s,'" target vs. ("').concat(p.source.key,'", "').concat(p.target.key,'").'));m=p}if(!m&&!n.multi&&d&&(m=i?d.undirected[s]:d.out[s]),m){const R=[m.key,!1,!1,!1];if(u?!c:!l)return R;if(u){const M=m.attributes;m.attributes=c(M),n.emit("edgeAttributesUpdated",{type:"replace",key:m.key,attributes:m.attributes})}else we(m.attributes,l),n.emit("edgeAttributesUpdated",{type:"merge",key:m.key,attributes:m.attributes,data:l});return R}l=l||{},u&&c&&(l=c(l));const y={key:null,undirected:i,source:a,target:s,attributes:l};if(r)o=n._edgeKeyGenerator();else if(o=""+o,n._edges.has(o))throw new z("Graph.".concat(e,': the "').concat(o,'" edge already exists in the graph.'));let w=!1,_=!1;d||(d=pa(n,a,{}),w=!0,a===s&&(h=d,_=!0)),h||(h=pa(n,s,{}),_=!0),p=new mn(i,o,d,h,l),n._edges.set(o,p);const N=a===s;return i?(d.undirectedDegree++,h.undirectedDegree++,N&&(d.undirectedLoops++,n._undirectedSelfLoopCount++)):(d.outDegree++,h.inDegree++,N&&(d.directedLoops++,n._directedSelfLoopCount++)),n.multi?p.attachMulti():p.attach(),i?n._undirectedSize++:n._directedSize++,y.key=o,n.emit("edgeAdded",y),[o,!0,w,_]}function on(n,e){n._edges.delete(e.key);const{source:r,target:i,attributes:o}=e,a=e.undirected,s=r===i;a?(r.undirectedDegree--,i.undirectedDegree--,s&&(r.undirectedLoops--,n._undirectedSelfLoopCount--)):(r.outDegree--,i.inDegree--,s&&(r.directedLoops--,n._directedSelfLoopCount--)),n.multi?e.detachMulti():e.detach(),a?n._undirectedSize--:n._directedSize--,n.emit("edgeDropped",{key:e.key,attributes:o,source:r.key,target:i.key,undirected:a})}class ae extends Ih.EventEmitter{constructor(e){if(super(),e=we({},qp,e),typeof e.multi!="boolean")throw new E("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!Jp.has(e.type))throw new E('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if(typeof e.allowSelfLoops!="boolean")throw new E("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));const r=e.type==="mixed"?$s:e.type==="directed"?Is:Ds;Ve(this,"NodeDataClass",r);const i="geid_"+Hp()+"_";let o=0;const a=()=>{let s;do s=i+o++;while(this._edges.has(s));return s};Ve(this,"_attributes",{}),Ve(this,"_nodes",new Map),Ve(this,"_edges",new Map),Ve(this,"_directedSize",0),Ve(this,"_undirectedSize",0),Ve(this,"_directedSelfLoopCount",0),Ve(this,"_undirectedSelfLoopCount",0),Ve(this,"_edgeKeyGenerator",a),Ve(this,"_options",e),ha.forEach(s=>Ve(this,s,this[s])),rt(this,"order",()=>this._nodes.size),rt(this,"size",()=>this._edges.size),rt(this,"directedSize",()=>this._directedSize),rt(this,"undirectedSize",()=>this._undirectedSize),rt(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),rt(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),rt(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),rt(this,"multi",this._options.multi),rt(this,"type",this._options.type),rt(this,"allowSelfLoops",this._options.allowSelfLoops),rt(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(e){return this._nodes.has(""+e)}hasDirectedEdge(e,r){if(this.type==="undirected")return!1;if(arguments.length===1){const i=""+e,o=this._edges.get(i);return!!o&&!o.undirected}else if(arguments.length===2){e=""+e,r=""+r;const i=this._nodes.get(e);return i?i.out.hasOwnProperty(r):!1}throw new E("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))}hasUndirectedEdge(e,r){if(this.type==="directed")return!1;if(arguments.length===1){const i=""+e,o=this._edges.get(i);return!!o&&o.undirected}else if(arguments.length===2){e=""+e,r=""+r;const i=this._nodes.get(e);return i?i.undirected.hasOwnProperty(r):!1}throw new E("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))}hasEdge(e,r){if(arguments.length===1){const i=""+e;return this._edges.has(i)}else if(arguments.length===2){e=""+e,r=""+r;const i=this._nodes.get(e);return i?typeof i.out<"u"&&i.out.hasOwnProperty(r)||typeof i.undirected<"u"&&i.undirected.hasOwnProperty(r):!1}throw new E("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))}directedEdge(e,r){if(this.type==="undirected")return;if(e=""+e,r=""+r,this.multi)throw new z("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const i=this._nodes.get(e);if(!i)throw new C('Graph.directedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(r))throw new C('Graph.directedEdge: could not find the "'.concat(r,'" target node in the graph.'));const o=i.out&&i.out[r]||void 0;if(o)return o.key}undirectedEdge(e,r){if(this.type==="directed")return;if(e=""+e,r=""+r,this.multi)throw new z("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const i=this._nodes.get(e);if(!i)throw new C('Graph.undirectedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(r))throw new C('Graph.undirectedEdge: could not find the "'.concat(r,'" target node in the graph.'));const o=i.undirected&&i.undirected[r]||void 0;if(o)return o.key}edge(e,r){if(this.multi)throw new z("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.edge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(r))throw new C('Graph.edge: could not find the "'.concat(r,'" target node in the graph.'));const o=i.out&&i.out[r]||i.undirected&&i.undirected[r]||void 0;if(o)return o.key}areDirectedNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areDirectedNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?!1:r in i.in||r in i.out}areOutNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areOutNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?!1:r in i.out}areInNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areInNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?!1:r in i.in}areUndirectedNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areUndirectedNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type==="directed"?!1:r in i.undirected}areNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type!=="undirected"&&(r in i.in||r in i.out)||this.type!=="directed"&&r in i.undirected}areInboundNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areInboundNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type!=="undirected"&&r in i.in||this.type!=="directed"&&r in i.undirected}areOutboundNeighbors(e,r){e=""+e,r=""+r;const i=this._nodes.get(e);if(!i)throw new C('Graph.areOutboundNeighbors: could not find the "'.concat(e,'" node in the graph.'));return this.type!=="undirected"&&r in i.out||this.type!=="directed"&&r in i.undirected}inDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.inDegree: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.inDegree}outDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.outDegree: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.outDegree}directedDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.directedDegree: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.inDegree+r.outDegree}undirectedDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.undirectedDegree: could not find the "'.concat(e,'" node in the graph.'));return this.type==="directed"?0:r.undirectedDegree}inboundDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.inboundDegree: could not find the "'.concat(e,'" node in the graph.'));let i=0;return this.type!=="directed"&&(i+=r.undirectedDegree),this.type!=="undirected"&&(i+=r.inDegree),i}outboundDegree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.outboundDegree: could not find the "'.concat(e,'" node in the graph.'));let i=0;return this.type!=="directed"&&(i+=r.undirectedDegree),this.type!=="undirected"&&(i+=r.outDegree),i}degree(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.degree: could not find the "'.concat(e,'" node in the graph.'));let i=0;return this.type!=="directed"&&(i+=r.undirectedDegree),this.type!=="undirected"&&(i+=r.inDegree+r.outDegree),i}inDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.inDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.inDegree-r.directedLoops}outDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.outDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.outDegree-r.directedLoops}directedDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.directedDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));return this.type==="undirected"?0:r.inDegree+r.outDegree-r.directedLoops*2}undirectedDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.undirectedDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));return this.type==="directed"?0:r.undirectedDegree-r.undirectedLoops*2}inboundDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.inboundDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));let i=0,o=0;return this.type!=="directed"&&(i+=r.undirectedDegree,o+=r.undirectedLoops*2),this.type!=="undirected"&&(i+=r.inDegree,o+=r.directedLoops),i-o}outboundDegreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.outboundDegreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));let i=0,o=0;return this.type!=="directed"&&(i+=r.undirectedDegree,o+=r.undirectedLoops*2),this.type!=="undirected"&&(i+=r.outDegree,o+=r.directedLoops),i-o}degreeWithoutSelfLoops(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.degreeWithoutSelfLoops: could not find the "'.concat(e,'" node in the graph.'));let i=0,o=0;return this.type!=="directed"&&(i+=r.undirectedDegree,o+=r.undirectedLoops*2),this.type!=="undirected"&&(i+=r.inDegree+r.outDegree,o+=r.directedLoops*2),i-o}source(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.source: could not find the "'.concat(e,'" edge in the graph.'));return r.source.key}target(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.target: could not find the "'.concat(e,'" edge in the graph.'));return r.target.key}extremities(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.extremities: could not find the "'.concat(e,'" edge in the graph.'));return[r.source.key,r.target.key]}opposite(e,r){e=""+e,r=""+r;const i=this._edges.get(r);if(!i)throw new C('Graph.opposite: could not find the "'.concat(r,'" edge in the graph.'));const o=i.source.key,a=i.target.key;if(e===o)return a;if(e===a)return o;throw new C('Graph.opposite: the "'.concat(e,'" node is not attached to the "').concat(r,'" edge (').concat(o,", ").concat(a,")."))}hasExtremity(e,r){e=""+e,r=""+r;const i=this._edges.get(e);if(!i)throw new C('Graph.hasExtremity: could not find the "'.concat(e,'" edge in the graph.'));return i.source.key===r||i.target.key===r}isUndirected(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.isUndirected: could not find the "'.concat(e,'" edge in the graph.'));return r.undirected}isDirected(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.isDirected: could not find the "'.concat(e,'" edge in the graph.'));return!r.undirected}isSelfLoop(e){e=""+e;const r=this._edges.get(e);if(!r)throw new C('Graph.isSelfLoop: could not find the "'.concat(e,'" edge in the graph.'));return r.source===r.target}addNode(e,r){return Yp(this,e,r).key}mergeNode(e,r){if(r&&!Ae(r))throw new E('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(r,'"'));e=""+e,r=r||{};let i=this._nodes.get(e);return i?(r&&(we(i.attributes,r),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:i.attributes,data:r})),[e,!1]):(i=new this.NodeDataClass(e,r),this._nodes.set(e,i),this.emit("nodeAdded",{key:e,attributes:r}),[e,!0])}updateNode(e,r){if(r&&typeof r!="function")throw new E('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(r,'"'));e=""+e;let i=this._nodes.get(e);if(i){if(r){const a=i.attributes;i.attributes=r(a),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:i.attributes})}return[e,!1]}const o=r?r({}):{};return i=new this.NodeDataClass(e,o),this._nodes.set(e,i),this.emit("nodeAdded",{key:e,attributes:o}),[e,!0]}dropNode(e){e=""+e;const r=this._nodes.get(e);if(!r)throw new C('Graph.dropNode: could not find the "'.concat(e,'" node in the graph.'));let i;if(this.type!=="undirected"){for(const o in r.out){i=r.out[o];do on(this,i),i=i.next;while(i)}for(const o in r.in){i=r.in[o];do on(this,i),i=i.next;while(i)}}if(this.type!=="directed")for(const o in r.undirected){i=r.undirected[o];do on(this,i),i=i.next;while(i)}this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:r.attributes})}dropEdge(e){let r;if(arguments.length>1){const i=""+arguments[0],o=""+arguments[1];if(r=Ze(this,i,o,this.type),!r)throw new C('Graph.dropEdge: could not find the "'.concat(i,'" -> "').concat(o,'" edge in the graph.'))}else if(e=""+e,r=this._edges.get(e),!r)throw new C('Graph.dropEdge: could not find the "'.concat(e,'" edge in the graph.'));return on(this,r),this}dropDirectedEdge(e,r){if(arguments.length<2)throw new z("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new z("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");e=""+e,r=""+r;const i=Ze(this,e,r,"directed");if(!i)throw new C('Graph.dropDirectedEdge: could not find a "'.concat(e,'" -> "').concat(r,'" edge in the graph.'));return on(this,i),this}dropUndirectedEdge(e,r){if(arguments.length<2)throw new z("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new z("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const i=Ze(this,e,r,"undirected");if(!i)throw new C('Graph.dropUndirectedEdge: could not find a "'.concat(e,'" -> "').concat(r,'" edge in the graph.'));return on(this,i),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const e=this._nodes.values();let r;for(;r=e.next(),r.done!==!0;)r.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(e){return this._attributes[e]}getAttributes(){return this._attributes}hasAttribute(e){return this._attributes.hasOwnProperty(e)}setAttribute(e,r){return this._attributes[e]=r,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this}updateAttribute(e,r){if(typeof r!="function")throw new E("Graph.updateAttribute: updater should be a function.");const i=this._attributes[e];return this._attributes[e]=r(i),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this}removeAttribute(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this}replaceAttributes(e){if(!Ae(e))throw new E("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(e){if(!Ae(e))throw new E("Graph.mergeAttributes: provided attributes are not a plain object.");return we(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this}updateAttributes(e){if(typeof e!="function")throw new E("Graph.updateAttributes: provided updater is not a function.");return this._attributes=e(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(e,r){if(typeof e!="function")throw new E("Graph.updateEachNodeAttributes: expecting an updater function.");if(r&&!da(r))throw new E("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const i=this._nodes.values();let o,a;for(;o=i.next(),o.done!==!0;)a=o.value,a.attributes=e(a.key,a.attributes);this.emit("eachNodeAttributesUpdated",{hints:r||null})}updateEachEdgeAttributes(e,r){if(typeof e!="function")throw new E("Graph.updateEachEdgeAttributes: expecting an updater function.");if(r&&!da(r))throw new E("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const i=this._edges.values();let o,a,s,l;for(;o=i.next(),o.done!==!0;)a=o.value,s=a.source,l=a.target,a.attributes=e(a.key,a.attributes,s.key,l.key,s.attributes,l.attributes,a.undirected);this.emit("eachEdgeAttributesUpdated",{hints:r||null})}forEachAdjacencyEntry(e){if(typeof e!="function")throw new E("Graph.forEachAdjacencyEntry: expecting a callback.");fr(!1,!1,!1,this,e)}forEachAdjacencyEntryWithOrphans(e){if(typeof e!="function")throw new E("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");fr(!1,!1,!0,this,e)}forEachAssymetricAdjacencyEntry(e){if(typeof e!="function")throw new E("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");fr(!1,!0,!1,this,e)}forEachAssymetricAdjacencyEntryWithOrphans(e){if(typeof e!="function")throw new E("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");fr(!1,!0,!0,this,e)}nodes(){return typeof Array.from=="function"?Array.from(this._nodes.keys()):Ms(this._nodes.keys(),this._nodes.size)}forEachNode(e){if(typeof e!="function")throw new E("Graph.forEachNode: expecting a callback.");const r=this._nodes.values();let i,o;for(;i=r.next(),i.done!==!0;)o=i.value,e(o.key,o.attributes)}findNode(e){if(typeof e!="function")throw new E("Graph.findNode: expecting a callback.");const r=this._nodes.values();let i,o;for(;i=r.next(),i.done!==!0;)if(o=i.value,e(o.key,o.attributes))return o.key}mapNodes(e){if(typeof e!="function")throw new E("Graph.mapNode: expecting a callback.");const r=this._nodes.values();let i,o;const a=new Array(this.order);let s=0;for(;i=r.next(),i.done!==!0;)o=i.value,a[s++]=e(o.key,o.attributes);return a}someNode(e){if(typeof e!="function")throw new E("Graph.someNode: expecting a callback.");const r=this._nodes.values();let i,o;for(;i=r.next(),i.done!==!0;)if(o=i.value,e(o.key,o.attributes))return!0;return!1}everyNode(e){if(typeof e!="function")throw new E("Graph.everyNode: expecting a callback.");const r=this._nodes.values();let i,o;for(;i=r.next(),i.done!==!0;)if(o=i.value,!e(o.key,o.attributes))return!1;return!0}filterNodes(e){if(typeof e!="function")throw new E("Graph.filterNodes: expecting a callback.");const r=this._nodes.values();let i,o;const a=[];for(;i=r.next(),i.done!==!0;)o=i.value,e(o.key,o.attributes)&&a.push(o.key);return a}reduceNodes(e,r){if(typeof e!="function")throw new E("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new E("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let i=r;const o=this._nodes.values();let a,s;for(;a=o.next(),a.done!==!0;)s=a.value,i=e(i,s.key,s.attributes);return i}nodeEntries(){const e=this._nodes.values();return new Qe(()=>{const r=e.next();if(r.done)return r;const i=r.value;return{value:{node:i.key,attributes:i.attributes},done:!1}})}export(){const e=new Array(this._nodes.size);let r=0;this._nodes.forEach((o,a)=>{e[r++]=Gp(a,o)});const i=new Array(this._edges.size);return r=0,this._edges.forEach((o,a)=>{i[r++]=Up(this.type,a,o)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:e,edges:i}}import(e,r=!1){if(e instanceof ae)return e.forEachNode((u,c)=>{r?this.mergeNode(u,c):this.addNode(u,c)}),e.forEachEdge((u,c,d,h,p,m,y)=>{r?y?this.mergeUndirectedEdgeWithKey(u,d,h,c):this.mergeDirectedEdgeWithKey(u,d,h,c):y?this.addUndirectedEdgeWithKey(u,d,h,c):this.addDirectedEdgeWithKey(u,d,h,c)}),this;if(!Ae(e))throw new E("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!Ae(e.attributes))throw new E("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}let i,o,a,s,l;if(e.nodes){if(a=e.nodes,!Array.isArray(a))throw new E("Graph.import: invalid nodes. Expecting an array.");for(i=0,o=a.length;i{const a=we({},i.attributes);i=new r.NodeDataClass(o,a),r._nodes.set(o,i)}),r}copy(e){if(e=e||{},typeof e.type=="string"&&e.type!==this.type&&e.type!=="mixed")throw new z('Graph.copy: cannot create an incompatible copy from "'.concat(this.type,'" type to "').concat(e.type,'" because this would mean losing information about the current graph.'));if(typeof e.multi=="boolean"&&e.multi!==this.multi&&e.multi!==!0)throw new z("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof e.allowSelfLoops=="boolean"&&e.allowSelfLoops!==this.allowSelfLoops&&e.allowSelfLoops!==!0)throw new z("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const r=this.emptyCopy(e),i=this._edges.values();let o,a;for(;o=i.next(),o.done!==!0;)a=o.value,Us(r,"copy",!1,a.undirected,a.key,a.source.key,a.target.key,we({},a.attributes));return r}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const e={};this._nodes.forEach((a,s)=>{e[s]=a.attributes});const r={},i={};this._edges.forEach((a,s)=>{const l=a.undirected?"--":"->";let u="",c=a.source.key,d=a.target.key,h;a.undirected&&c>d&&(h=c,c=d,d=h);const p="(".concat(c,")").concat(l,"(").concat(d,")");s.startsWith("geid_")?this.multi&&(typeof i[p]>"u"?i[p]=0:i[p]++,u+="".concat(i[p],". ")):u+="[".concat(s,"]: "),u+=p,r[u]=a.attributes});const o={};for(const a in this)this.hasOwnProperty(a)&&!ha.has(a)&&typeof this[a]!="function"&&typeof a!="symbol"&&(o[a]=this[a]);return o.attributes=this._attributes,o.nodes=e,o.edges=r,Ve(o,"constructor",this.constructor),o}}typeof Symbol<"u"&&(ae.prototype[Symbol.for("nodejs.util.inspect.custom")]=ae.prototype.inspect);Kp.forEach(n=>{["add","merge","update"].forEach(e=>{const r=n.name(e),i=e==="add"?Us:Zp;n.generateKey?ae.prototype[r]=function(o,a,s){return i(this,r,!0,(n.type||this.type)==="undirected",null,o,a,s,e==="update")}:ae.prototype[r]=function(o,a,s,l){return i(this,r,!1,(n.type||this.type)==="undirected",o,a,s,l,e==="update")}})});ap(ae);yp(ae);jp(ae);Fp(ae);class Ws extends ae{constructor(e){const r=we({type:"directed"},e);if("multi"in r&&r.multi!==!1)throw new E("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(r.type!=="directed")throw new E('DirectedGraph.from: inconsistent "'+r.type+'" type in given options!');super(r)}}class Vs extends ae{constructor(e){const r=we({type:"undirected"},e);if("multi"in r&&r.multi!==!1)throw new E("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(r.type!=="undirected")throw new E('UndirectedGraph.from: inconsistent "'+r.type+'" type in given options!');super(r)}}class Hs extends ae{constructor(e){const r=we({multi:!0},e);if("multi"in r&&r.multi!==!0)throw new E("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(r)}}class pe extends ae{constructor(e){const r=we({type:"directed",multi:!0},e);if("multi"in r&&r.multi!==!0)throw new E("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(r.type!=="directed")throw new E('MultiDirectedGraph.from: inconsistent "'+r.type+'" type in given options!');super(r)}}class Js extends ae{constructor(e){const r=we({type:"undirected",multi:!0},e);if("multi"in r&&r.multi!==!0)throw new E("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(r.type!=="undirected")throw new E('MultiUndirectedGraph.from: inconsistent "'+r.type+'" type in given options!');super(r)}}function yn(n){n.from=function(e,r){const i=we({},e.options,r),o=new n(i);return o.import(e),o}}yn(ae);yn(Ws);yn(Vs);yn(Hs);yn(pe);yn(Js);ae.Graph=ae;ae.DirectedGraph=Ws;ae.UndirectedGraph=Vs;ae.MultiGraph=Hs;ae.MultiDirectedGraph=pe;ae.MultiUndirectedGraph=Js;ae.InvalidArgumentsGraphError=E;ae.NotFoundGraphError=C;ae.UsageGraphError=z;var Ks,fa=Gc;Ks=fa.createRoot,fa.hydrateRoot;const Qp="modulepreload",Xp=function(n){return"/rmp/"+n},ga={},bn=function(e,r,i){let o=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),l=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=Promise.allSettled(r.map(u=>{if(u=Xp(u),u in ga)return;ga[u]=!0;const c=u.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector('link[href="'.concat(u,'"]').concat(d)))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":Qp,c||(h.as="script"),h.crossOrigin="",h.href=u,l&&h.setAttribute("nonce",l),document.head.appendChild(h),c)return new Promise((p,m)=>{h.addEventListener("load",p),h.addEventListener("error",()=>m(new Error("Unable to preload CSS for ".concat(u))))})}))}function a(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return o.then(s=>{for(const l of s||[])l.status==="rejected"&&a(l.reason);return e().catch(a)})};var qs=function(){if(typeof Map<"u")return Map;function n(e,r){var i=-1;return e.some(function(o,a){return o[0]===r?(i=a,!0):!1}),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(r){var i=n(this.__entries__,r),o=this.__entries__[i];return o&&o[1]},e.prototype.set=function(r,i){var o=n(this.__entries__,r);~o?this.__entries__[o][1]=i:this.__entries__.push([r,i])},e.prototype.delete=function(r){var i=this.__entries__,o=n(i,r);~o&&i.splice(o,1)},e.prototype.has=function(r){return!!~n(this.__entries__,r)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(r,i){i===void 0&&(i=null);for(var o=0,a=this.__entries__;o0},n.prototype.connect_=function(){!Vi||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),af?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},n.prototype.disconnect_=function(){!Vi||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},n.prototype.onTransitionEnd_=function(e){var r=e.propertyName,i=r===void 0?"":r,o=of.some(function(a){return!!~i.indexOf(a)});o&&this.refresh()},n.getInstance=function(){return this.instance_||(this.instance_=new n),this.instance_},n.instance_=null,n}(),Ys=function(n,e){for(var r=0,i=Object.keys(e);r"u"||!(Element instanceof Object))){if(!(e instanceof hn(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(e)||(r.set(e,new gf(e)),this.controller_.addObserver(this),this.controller_.refresh())}},n.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof hn(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(e)&&(r.delete(e),r.size||this.controller_.removeObserver(this))}},n.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},n.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&e.activeObservations_.push(r)})},n.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,r=this.activeObservations_.map(function(i){return new mf(i.target,i.broadcastRect())});this.callback_.call(e,r,e),this.clearActive()}},n.prototype.clearActive=function(){this.activeObservations_.splice(0)},n.prototype.hasActive=function(){return this.activeObservations_.length>0},n}(),Qs=typeof WeakMap<"u"?new WeakMap:new qs,Xs=function(){function n(e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=sf.getInstance(),i=new yf(e,r,this);Qs.set(this,i)}return n}();["observe","unobserve","disconnect"].forEach(function(n){Xs.prototype[n]=function(){var e;return(e=Qs.get(this))[n].apply(e,arguments)}});var bf=function(){return typeof zr.ResizeObserver<"u"?zr.ResizeObserver:Xs}();window.ResizeObserver||(window.ResizeObserver=bf);var Hi=function(){return Hi=Object.assign||function(n){for(var e,r=1,i=arguments.length;r`"});var mi=function(n,e){for(var r,i=$.Children.toArray(n),o=0,a=i;o{var e;return(e=typeof n=="string"||typeof n=="number"?n:n[Object.keys(n)[0]])==null?void 0:e.toString()},Sf=(n,e)=>typeof n!="string"||qa(e)?n:n.toString().replace(new RegExp(kf(e),"gi"),r=>"".concat(r,"")),Nf=n=>nl(n,e=>{var r;return((r=e==null?void 0:e.type)==null?void 0:r.displayName)==="AutoCompleteItem"}).map(e=>{const r=sc(e.props,["value","label","fixed","disabled"]),{getValue:i=Co}=e.props,o=i(r.value);return{...Ya(r.label)?r:{...r,label:o},value:o,originalValue:r.value}}),_f=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),Rf=(n,e,r)=>(e==null?void 0:e.toLowerCase().indexOf(n==null?void 0:n.toLowerCase()))>=0||(r==null?void 0:r.toLowerCase().indexOf(n==null?void 0:n.toLowerCase()))>=0||ba(n,e)>=.5||ba(n,r)>=.5;function kf(n){return n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const Cf=(n,e)=>{const r={},i={},{field:o}=n;return o&&Object.keys(o).forEach(a=>{if(a.startsWith("--input")===!1)r[a]=o[a];else{let s=o[a];const l=a.replace("--input-","").replace(/-([a-z])/g,function(u){return u[1].toUpperCase()});s.indexOf(".")!==-1&&(s=s.substring(s.indexOf(".")+1)),i[l]=s}}),{...e&&{...r,...i,_focusWithin:n.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}},Af=(n,e)=>mi(n,r=>{var i;return((i=r==null?void 0:r.type)==null?void 0:i.displayName)==="AutoCompleteItem"&&r.props.value===(e==null?void 0:e.value)}),Tf=(n,e)=>mi(n,r=>{var i;return((i=r==null?void 0:r.type)==null?void 0:i.displayName)==="AutoCompleteItem"&&r.props.value===(e==null?void 0:e.value)}),Ef=(n,e)=>Ya(mi(n,r=>{var i,o;const a=be(((i=r.props)==null?void 0:i.getValue)||Co,((o=r.props)==null?void 0:o.value)||{});return e.some(s=>s.value===a)}));function Lf(n){var e;let{closeOnBlur:r=!0,creatable:i,emphasize:o,emptyState:a=!0,freeSolo:s,isReadOnly:l,listAllValuesOnFocus:u,maxSuggestions:c,multiple:d,closeOnSelect:h=!d,defaultValue:p,defaultValues:m=p?[p]:[],onReady:y,defaultIsOpen:w,disableFilter:_,isLoading:N=!1,placement:R="bottom",restoreOnBlurIfEmpty:M=!s,shouldRenderSuggestions:j=()=>!0,submitKeys:A=[],suggestWhenEmpty:G,value:T,values:U=T?typeof T=="string"?[T]:[...T]:void 0}=n;s=s||(d?!0:n.freeSolo);const{isOpen:L,onClose:I,onOpen:W}=ec({defaultIsOpen:w}),se=be(n.children,{isOpen:L,onClose:I,onOpen:W}),te=Nf(se),Q=$.useRef(null),Be=$.useRef(null),Xe=$.useRef(null),et=$.useRef(null),[Ne,We]=$.useState(!1);let Pe="";d?Pe="":_r(m)?_r(U)||(Pe=U[0]):Pe=m[0];const[ze,Pt]=$.useState(Pe!=null?Pe:""),ne=_?te:te.filter(B=>B.fixed||be(n.filter||Rf,ze,B.value,B.label)||Ne).filter((B,re)=>c?B.fixed||reB==null?void 0:B.toString()),value:U,onChange:B=>{const re=Ee.find(X=>X.value===B[0]),ge=B.map(X=>Ee.find($e=>$e.value===X));be(n.onChange,d?B:B[0],d?ge:re)}}),[tt,ot]=$.useState((e=te[0])==null?void 0:e.value),vn=n.maxSelections||Oe.length+1,Kt=Ee.findIndex(B=>B.value===tt),wn=nc(Kt,Ee,!!n.rollNavigation),rr=rc(Kt,Ee,!!n.rollNavigation),$t=ic(Ee),ir=Oi(Ee);oc(()=>{ot($t==null?void 0:$t.value)},[ze]),$.useEffect(()=>{var B;L||ot((B=te[0])==null?void 0:B.value)},[L]),$.useEffect(()=>{const B=te.find(re=>re.value===tt);be(n.onOptionFocus,{item:B,focusMethod:et.current,isNewInput:B==null?void 0:B.creatable})},[tt,n.onOptionFocus]);const xn=B=>{var re,ge;!Oe.includes(B)&&Oe.lengthd?[...Ie,B]:[B]);const X=Ee.find(Ie=>Ie.value===B);d&&((re=Q.current)==null||re.focus()),n.focusInputOnSelect&&((ge=Q.current)==null||ge.focus()),be(n.onSelectOption,{item:X,selectMethod:et.current,isNewInput:X==null?void 0:X.creatable}),X!=null&&X.creatable&&be(n.onCreateOption,{item:ui(X,["noFilter"]),selectMethod:et.current});const $e=(X==null?void 0:X.label)||(X==null?void 0:X.value);Pt(()=>d?"":$e!=null?$e:""),h&&I()},or=(B,re)=>{var ge;Jt(X=>{const $e=te.find(Ie=>Ie.value===B);return be(n.onTagRemoved,B,$e,X),X.filter(Ie=>Ie!==B)}),ze===B&&Pt(""),re&&((ge=Q.current)==null||ge.focus())},wi=B=>{var re;Jt([]),B&&((re=Q.current)==null||re.focus())},ar=d?Oe.map(B=>{var re;return{label:((re=te.find(ge=>ge.value===(B==null?void 0:B.toString())))==null?void 0:re.label)||B,onRemove:()=>or(B)}}):[];return $.useEffect(()=>{be(y,{tags:ar})},[Oe]),{autoCompleteProps:n,children:se,filteredList:Ee,filteredResults:ne,focusedValue:tt,getEmptyStateProps:B=>{if(Ee.every(re=>re.noFilter)&&a&&!i)return typeof a=="boolean"?B:be(a,{query:ze})},getGroupProps:B=>{const re=Ef(B.children,Ee);return{divider:{hasFirstChild:Af(B.children,$t),hasLastChild:Tf(B.children,Oi(Ee.filter(ge=>_r(ge==null?void 0:ge.noFilter))))},group:{display:re?"initial":"none"}}},getInputProps:(B,re)=>{const{onBlur:ge,onChange:X,onFocus:$e,onKeyDown:Ie,variant:qt,...Yt}=B;return{wrapper:{ref:Be,onClick:()=>{var K;(K=Q==null?void 0:Q.current)==null||K.focus()},...Cf(re,d),...Yt},input:{isReadOnly:l,onFocus:K=>{be($e,K),n.openOnFocus&&!l&&W(),n.selectOnFocus&&K.target.select(),u&&We(!0)},onBlur:K=>{var De,_e;be(ge,K);const Re=K.relatedTarget===(Xe==null?void 0:Xe.current)||((De=Xe.current)==null?void 0:De.contains(K.relatedTarget)),Zt=(_e=Be.current)==null?void 0:_e.contains(K.relatedTarget);if(!Re&&!Zt&&(r&&I(),!Oe.includes(K.target.value)&&M)){const Sn=Oi(Oe),St=te.find(Nt=>Nt.value===Sn),ke=(St==null?void 0:St.label)||(St==null?void 0:St.value)||"";Pt(ke)}},onChange:K=>{const De=K.target.value;be(X,K),Pt(De);const _e=qa(De);be(j,De)&&(!_e||G)?W():I(),We(!1)},onKeyDown:K=>{var De;be(Ie,K),et.current="keyboard";const{key:_e}=K,Re=Ee[Kt];if(["Enter",...A].includes(_e)){Re&&!(Re!=null&&Re.disabled)?xn(Re==null?void 0:Re.value):(De=Q.current)==null||De.focus(),K.preventDefault();return}if(_e==="ArrowDown"){L?ot(wn==null?void 0:wn.value):W(),K.preventDefault();return}if(_e==="ArrowUp"){L?ot(rr==null?void 0:rr.value):W(),K.preventDefault();return}if(_e==="Tab"){L&&Re&&!(Re!=null&&Re.disabled)?xn(Re==null?void 0:Re.value):I();return}if(_e==="Home"){ot($t==null?void 0:$t.value),K.preventDefault();return}if(_e==="End"){ot(ir==null?void 0:ir.value),K.preventDefault();return}_e==="Escape"&&(I(),K.preventDefault())},value:ze,variant:d?"unstyled":qt,...Yt}}},getItemProps:(B,re)=>{var ge;const{_fixed:X,_focus:$e,children:Ie,disabled:qt,label:Yt,value:K,fixed:De,getValue:_e=Co,onClick:Re,onMouseOver:Zt,sx:Sn,...St}=B,ke=re?K:(ge=_e(K))==null?void 0:ge.toString(),Nt=ke===tt,xi=Ee.findIndex(It=>It.value===ke)>=0,Qt=Ie||Yt||ke;return{item:{...typeof Qt!="string"||!o?{children:Qt}:{dangerouslySetInnerHTML:{__html:Sf(Qt,ze)}},"aria-selected":Oe.includes(ke),"aria-disabled":qt,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:It=>{var Nn;be(Re,It),qt?(Nn=Q.current)==null||Nn.focus():xn(ke)},onMouseOver:It=>{be(Zt,It),ot(ke),et.current="mouse"},sx:{...Sn,mark:{color:"inherit",bg:"transparent",...ac(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...Nt&&($e||_f()),...De&&X,...St},root:{isValidSuggestion:xi,value:ke}}},inputRef:Q,interactionRef:et,isLoading:N,isOpen:L,itemList:te,listRef:Xe,onClose:I,onOpen:W,placement:R,query:ze,removeItem:or,resetItems:wi,setQuery:Pt,tags:ar,values:Oe}}const rl=Vt((n,e)=>{const r=Lf(n),{children:i,isOpen:o,onClose:a,onOpen:s,placement:l,resetItems:u,removeItem:c}=r;return $.useImperativeHandle(e,()=>({resetItems:u,removeItem:c})),F.jsx(xf,{value:r,children:F.jsx(Va,{isLazy:!0,isOpen:o,onClose:a,onOpen:s,autoFocus:!1,placement:l,closeOnBlur:!0,matchWidth:!0,children:F.jsx(Lr.div,{w:"full",ref:e,children:i})})})});rl.displayName="AutoComplete";const il=Vt((n,e)=>{const{focusedValue:r,getItemProps:i,interactionRef:o}=Mt(),a=$.useRef(),s=Xn(e,a),l=i(n),{isValidSuggestion:u,value:c}=l.root,d=r===c;$.useEffect(()=>{var w;d&&o.current==="keyboard"&&((w=a==null?void 0:a.current)==null||w.scrollIntoView({behavior:"smooth",block:"center"}))},[d,o]),$.useEffect(()=>{typeof c!="string"&&console.warn("wow"),typeof c!="string"&&_r(n.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:h,dangerouslySetInnerHTML:p,...m}=l.item,y=ui(m,["groupId"]);return u?F.jsx(ut,{ref:s,...Of,...y,children:h||F.jsx("span",{dangerouslySetInnerHTML:p})}):null});il.displayName="AutoCompleteItem";const Of={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},jf=Vt((n,e)=>{const{children:r,showDivider:i,...o}=n,a=ui(o,["groupSibling"]),{getGroupProps:s}=Mt(),{group:l}=s(n),u=$f(n);return F.jsxs(Hu,{ref:e,...l,...a,children:[F.jsx(Zo,{...u.top}),r,F.jsx(Zo,{...u.bottom})]})}),Mf=Vt((n,e)=>F.jsx(ut,{...Pf,...n,ref:e}));jf.displayName="AutoCompleteGroup";Mf.displayName="AutoCompleteGroupTitle";const Pf={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},$f=n=>{const{getGroupProps:e}=Mt(),r=n.groupSibling,{divider:{hasFirstChild:i,hasLastChild:o}}=e(n),a={my:2,borderColor:n.dividerColor},s={...a,mb:4,display:!n.showDivider||i?"none":""},l={...a,display:!n.showDivider||o||r?"none":""};return{top:s,bottom:l}},va=Vt((n,e)=>{const{isLoading:r}=Mt(),{loadingIcon:i,...o}=n;return F.jsxs(Ju,{children:[F.jsx(Ha,{...o,ref:e}),r&&F.jsx(Ku,{children:i||F.jsx(Ja,{})})]})}),Ao=Vt((n,e)=>{const{autoCompleteProps:r,inputRef:i,getInputProps:o,tags:a,setQuery:s}=Mt(),{children:l,isInvalid:u,hidePlaceholder:c,...d}=n,{value:h}=d;$.useEffect(()=>{h!==void 0&&(typeof h=="string"||h instanceof String)&&s(h)},[h]);const p=qu("Input",n);let{wrapper:m,input:y}=o(d,p);const{ref:w,..._}=m,N=Xn(e,i),R=be(l,{tags:a});c&&(y={...y,placeholder:Array.isArray(R)&&R.length?void 0:y.placeholder});const M=F.jsx(va,{isInvalid:u,...y,ref:N}),j=F.jsxs(Yu,{..._,ref:w,children:[R,F.jsx(Zu,{as:va,...y,ref:N})]});return F.jsx(Qu,{children:r.multiple?j:M})});Ao.displayName="Input";Ao.id="Input";function If(){const n=$.useContext(dc);if(!n)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return n}var ol=$.createContext({});ol.displayName="ColorModeContext";function al(){const n=$.useContext(ol);if(n===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return n}function Df(){const n=al(),e=If();return{...n,theme:e}}var To=(...n)=>n.filter(Boolean).join(" ");function Ut(n){const e=typeof n;return n!=null&&(e==="object"||e==="function")&&!Array.isArray(n)}function zt(n,...e){return Bf(n)?n(...e):n}var Bf=n=>typeof n=="function",Gr={exports:{}};Gr.exports;(function(n,e){var r=200,i="__lodash_hash_undefined__",o=800,a=16,s=9007199254740991,l="[object Arguments]",u="[object Array]",c="[object AsyncFunction]",d="[object Boolean]",h="[object Date]",p="[object Error]",m="[object Function]",y="[object GeneratorFunction]",w="[object Map]",_="[object Number]",N="[object Null]",R="[object Object]",M="[object Proxy]",j="[object RegExp]",A="[object Set]",G="[object String]",T="[object Undefined]",U="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",W="[object Float32Array]",se="[object Float64Array]",te="[object Int8Array]",Q="[object Int16Array]",Be="[object Int32Array]",Xe="[object Uint8Array]",et="[object Uint8ClampedArray]",Ne="[object Uint16Array]",We="[object Uint32Array]",Pe=/[\\^$.*+?()[\]{}|]/g,ze=/^\[object .+?Constructor\]$/,Pt=/^(?:0|[1-9]\d*)$/,ne={};ne[W]=ne[se]=ne[te]=ne[Q]=ne[Be]=ne[Xe]=ne[et]=ne[Ne]=ne[We]=!0,ne[l]=ne[u]=ne[L]=ne[d]=ne[I]=ne[h]=ne[p]=ne[m]=ne[w]=ne[_]=ne[R]=ne[j]=ne[A]=ne[G]=ne[U]=!1;var nr=typeof gr=="object"&&gr&&gr.Object===Object&&gr,Ee=typeof self=="object"&&self&&self.Object===Object&&self,Oe=nr||Ee||Function("return this")(),Jt=e&&!e.nodeType&&e,tt=Jt&&!0&&n&&!n.nodeType&&n,ot=tt&&tt.exports===Jt,vn=ot&&nr.process,Kt=function(){try{var g=tt&&tt.require&&tt.require("util").types;return g||vn&&vn.binding&&vn.binding("util")}catch(v){}}(),wn=Kt&&Kt.isTypedArray;function rr(g,v,x){switch(x.length){case 0:return g.call(v);case 1:return g.call(v,x[0]);case 2:return g.call(v,x[0],x[1]);case 3:return g.call(v,x[0],x[1],x[2])}return g.apply(v,x)}function $t(g,v){for(var x=-1,O=Array(g);++x-1}function Ql(g,v){var x=this.__data__,O=sr(x,g);return O<0?(++this.size,x.push([g,v])):x[O][1]=v,this}pt.prototype.clear=Kl,pt.prototype.delete=ql,pt.prototype.get=Yl,pt.prototype.has=Zl,pt.prototype.set=Ql;function Xt(g){var v=-1,x=g==null?0:g.length;for(this.clear();++v1?x[V-1]:void 0,de=V>2?x[2]:void 0;for(oe=g.length>3&&typeof oe=="function"?(V--,oe):void 0,de&&Cu(x[0],x[1],de)&&(oe=V<3?void 0:oe,V=1),v=Object(v);++O-1&&g%1==0&&g0){if(++v>=o)return arguments[0]}else v=0;return g.apply(void 0,arguments)}}function Pu(g){if(g!=null){try{return ge.call(g)}catch(v){}try{return g+""}catch(v){}}return""}function cr(g,v){return g===v||g!==g&&v!==v}var ki=zo(function(){return arguments}())?zo:function(g){return Rn(g)&&X.call(g,"callee")&&!Sn.call(g,"callee")},Ci=Array.isArray;function Ai(g){return g!=null&&Vo(g.length)&&!Ti(g)}function $u(g){return Rn(g)&&Ai(g)}var Wo=xi||Fu;function Ti(g){if(!Bt(g))return!1;var v=lr(g);return v==m||v==y||v==c||v==M}function Vo(g){return typeof g=="number"&&g>-1&&g%1==0&&g<=s}function Bt(g){var v=typeof g;return g!=null&&(v=="object"||v=="function")}function Rn(g){return g!=null&&typeof g=="object"}function Iu(g){if(!Rn(g)||lr(g)!=R)return!1;var v=Re(g);if(v===null)return!0;var x=X.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&ge.call(x)==qt}var Ho=wn?ir(wn):pu;function Du(g){return Su(g,Jo(g))}function Jo(g){return Ai(g)?uu(g):fu(g)}var Bu=Nu(function(g,v,x,O){Fo(g,v,x,O)});function zu(g){return function(){return g}}function Ko(g){return g}function Fu(){return!1}n.exports=Bu})(Gr,Gr.exports);var zf=Gr.exports;const Et=el(zf);var Ff=n=>/!(important)?$/.test(n),wa=n=>typeof n=="string"?n.replace(/!(important)?$/,"").trim():n,Gf=(n,e)=>r=>{const i=String(e),o=Ff(i),a=wa(i),s=n?"".concat(n,".").concat(a):a;let l=Ut(r.__cssMap)&&s in r.__cssMap?r.__cssMap[s].varRef:e;return l=wa(l),o?"".concat(l," !important"):l};function Eo(n){const{scale:e,transform:r,compose:i}=n;return(o,a)=>{var s;const l=Gf(e,o)(a);let u=(s=r==null?void 0:r(l,a))!=null?s:l;return i&&(u=i(u,a)),u}}var yr=(...n)=>e=>n.reduce((r,i)=>i(r),e);function He(n,e){return r=>{const i={property:r,scale:n};return i.transform=Eo({scale:n,transform:e}),i}}var Uf=({rtl:n,ltr:e})=>r=>r.direction==="rtl"?n:e;function Wf(n){const{property:e,scale:r,transform:i}=n;return{scale:r,property:Uf(e),transform:r?Eo({scale:r,compose:i}):i}}var sl=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Vf(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sl].join(" ")}function Hf(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sl].join(" ")}var Jf={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kf={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function qf(n){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":n,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yf={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},Ji={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Zf=new Set(Object.values(Ji)),Ki=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Qf=n=>n.trim();function Xf(n,e){if(n==null||Ki.has(n))return n;if(!(qi(n)||Ki.has(n)))return"url('".concat(n,"')");const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(n),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return n;const a=i.includes("-gradient")?i:"".concat(i,"-gradient"),[s,...l]=o.split(",").map(Qf).filter(Boolean);if((l==null?void 0:l.length)===0)return n;const u=s in Ji?Ji[s]:s;l.unshift(u);const c=l.map(d=>{if(Zf.has(d))return d;const h=d.indexOf(" "),[p,m]=h!==-1?[d.substr(0,h),d.substr(h+1)]:[d],y=qi(m)?m:m&&m.split(" "),w="colors.".concat(p),_=w in e.__cssMap?e.__cssMap[w].varRef:p;return y?[_,...Array.isArray(y)?y:[y]].join(" "):_});return"".concat(a,"(").concat(c.join(", "),")")}var qi=n=>typeof n=="string"&&n.includes("(")&&n.includes(")"),eg=(n,e)=>Xf(n,e!=null?e:{});function tg(n){return/^var\(--.+\)$/.test(n)}var ng=n=>{const e=parseFloat(n.toString()),r=n.toString().replace(String(e),"");return{unitless:!r,value:e,unit:r}},at=n=>e=>"".concat(n,"(").concat(e,")"),J={filter(n){return n!=="auto"?n:Jf},backdropFilter(n){return n!=="auto"?n:Kf},ring(n){return qf(J.px(n))},bgClip(n){return n==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:n}},transform(n){return n==="auto"?Vf():n==="auto-gpu"?Hf():n},vh(n){return n==="$100vh"?"var(--chakra-vh)":n},px(n){if(n==null)return n;const{unitless:e}=ng(n);return e||typeof n=="number"?"".concat(n,"px"):n},fraction(n){return typeof n!="number"||n>1?n:"".concat(n*100,"%")},float(n,e){const r={left:"right",right:"left"};return e.direction==="rtl"?r[n]:n},degree(n){if(tg(n)||n==null)return n;const e=typeof n=="string"&&!n.endsWith("deg");return typeof n=="number"||e?"".concat(n,"deg"):n},gradient:eg,blur:at("blur"),opacity:at("opacity"),brightness:at("brightness"),contrast:at("contrast"),dropShadow:at("drop-shadow"),grayscale:at("grayscale"),hueRotate:at("hue-rotate"),invert:at("invert"),saturate:at("saturate"),sepia:at("sepia"),bgImage(n){return n==null||qi(n)||Ki.has(n)?n:"url(".concat(n,")")},outline(n){const e=String(n)==="0"||String(n)==="none";return n!==null&&e?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:n}},flexDirection(n){var e;const{space:r,divide:i}=(e=Yf[n])!=null?e:{},o={flexDirection:n};return r&&(o[r]=1),i&&(o[i]=1),o}},b={borderWidths:He("borderWidths"),borderStyles:He("borderStyles"),colors:He("colors"),borders:He("borders"),gradients:He("gradients",J.gradient),radii:He("radii",J.px),space:He("space",yr(J.vh,J.px)),spaceT:He("space",yr(J.vh,J.px)),degreeT(n){return{property:n,transform:J.degree}},prop(n,e,r){return{property:n,scale:e,...e&&{transform:Eo({scale:e,transform:r})}}},propT(n,e){return{property:n,transform:e}},sizes:He("sizes",yr(J.vh,J.px)),sizesT:He("sizes",yr(J.vh,J.fraction)),shadows:He("shadows"),logical:Wf,blur:He("blur",J.blur)},Tr={background:b.colors("background"),backgroundColor:b.colors("backgroundColor"),backgroundImage:b.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:J.bgClip},bgSize:b.prop("backgroundSize"),bgPosition:b.prop("backgroundPosition"),bg:b.colors("background"),bgColor:b.colors("backgroundColor"),bgPos:b.prop("backgroundPosition"),bgRepeat:b.prop("backgroundRepeat"),bgAttachment:b.prop("backgroundAttachment"),bgGradient:b.gradients("backgroundImage"),bgClip:{transform:J.bgClip}};Object.assign(Tr,{bgImage:Tr.backgroundImage,bgImg:Tr.backgroundImage});var Y={border:b.borders("border"),borderWidth:b.borderWidths("borderWidth"),borderStyle:b.borderStyles("borderStyle"),borderColor:b.colors("borderColor"),borderRadius:b.radii("borderRadius"),borderTop:b.borders("borderTop"),borderBlockStart:b.borders("borderBlockStart"),borderTopLeftRadius:b.radii("borderTopLeftRadius"),borderStartStartRadius:b.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:b.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:b.radii("borderTopRightRadius"),borderStartEndRadius:b.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:b.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:b.borders("borderRight"),borderInlineEnd:b.borders("borderInlineEnd"),borderBottom:b.borders("borderBottom"),borderBlockEnd:b.borders("borderBlockEnd"),borderBottomLeftRadius:b.radii("borderBottomLeftRadius"),borderBottomRightRadius:b.radii("borderBottomRightRadius"),borderLeft:b.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:b.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:b.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:b.borders(["borderLeft","borderRight"]),borderInline:b.borders("borderInline"),borderY:b.borders(["borderTop","borderBottom"]),borderBlock:b.borders("borderBlock"),borderTopWidth:b.borderWidths("borderTopWidth"),borderBlockStartWidth:b.borderWidths("borderBlockStartWidth"),borderTopColor:b.colors("borderTopColor"),borderBlockStartColor:b.colors("borderBlockStartColor"),borderTopStyle:b.borderStyles("borderTopStyle"),borderBlockStartStyle:b.borderStyles("borderBlockStartStyle"),borderBottomWidth:b.borderWidths("borderBottomWidth"),borderBlockEndWidth:b.borderWidths("borderBlockEndWidth"),borderBottomColor:b.colors("borderBottomColor"),borderBlockEndColor:b.colors("borderBlockEndColor"),borderBottomStyle:b.borderStyles("borderBottomStyle"),borderBlockEndStyle:b.borderStyles("borderBlockEndStyle"),borderLeftWidth:b.borderWidths("borderLeftWidth"),borderInlineStartWidth:b.borderWidths("borderInlineStartWidth"),borderLeftColor:b.colors("borderLeftColor"),borderInlineStartColor:b.colors("borderInlineStartColor"),borderLeftStyle:b.borderStyles("borderLeftStyle"),borderInlineStartStyle:b.borderStyles("borderInlineStartStyle"),borderRightWidth:b.borderWidths("borderRightWidth"),borderInlineEndWidth:b.borderWidths("borderInlineEndWidth"),borderRightColor:b.colors("borderRightColor"),borderInlineEndColor:b.colors("borderInlineEndColor"),borderRightStyle:b.borderStyles("borderRightStyle"),borderInlineEndStyle:b.borderStyles("borderInlineEndStyle"),borderTopRadius:b.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:b.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:b.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:b.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Y,{rounded:Y.borderRadius,roundedTop:Y.borderTopRadius,roundedTopLeft:Y.borderTopLeftRadius,roundedTopRight:Y.borderTopRightRadius,roundedTopStart:Y.borderStartStartRadius,roundedTopEnd:Y.borderStartEndRadius,roundedBottom:Y.borderBottomRadius,roundedBottomLeft:Y.borderBottomLeftRadius,roundedBottomRight:Y.borderBottomRightRadius,roundedBottomStart:Y.borderEndStartRadius,roundedBottomEnd:Y.borderEndEndRadius,roundedLeft:Y.borderLeftRadius,roundedRight:Y.borderRightRadius,roundedStart:Y.borderInlineStartRadius,roundedEnd:Y.borderInlineEndRadius,borderStart:Y.borderInlineStart,borderEnd:Y.borderInlineEnd,borderTopStartRadius:Y.borderStartStartRadius,borderTopEndRadius:Y.borderStartEndRadius,borderBottomStartRadius:Y.borderEndStartRadius,borderBottomEndRadius:Y.borderEndEndRadius,borderStartRadius:Y.borderInlineStartRadius,borderEndRadius:Y.borderInlineEndRadius,borderStartWidth:Y.borderInlineStartWidth,borderEndWidth:Y.borderInlineEndWidth,borderStartColor:Y.borderInlineStartColor,borderEndColor:Y.borderInlineEndColor,borderStartStyle:Y.borderInlineStartStyle,borderEndStyle:Y.borderInlineEndStyle});var rg={color:b.colors("color"),textColor:b.colors("color"),fill:b.colors("fill"),stroke:b.colors("stroke")},Yi={boxShadow:b.shadows("boxShadow"),mixBlendMode:!0,blendMode:b.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:b.prop("backgroundBlendMode"),opacity:!0};Object.assign(Yi,{shadow:Yi.boxShadow});var ig={filter:{transform:J.filter},blur:b.blur("--chakra-blur"),brightness:b.propT("--chakra-brightness",J.brightness),contrast:b.propT("--chakra-contrast",J.contrast),hueRotate:b.degreeT("--chakra-hue-rotate"),invert:b.propT("--chakra-invert",J.invert),saturate:b.propT("--chakra-saturate",J.saturate),dropShadow:b.propT("--chakra-drop-shadow",J.dropShadow),backdropFilter:{transform:J.backdropFilter},backdropBlur:b.blur("--chakra-backdrop-blur"),backdropBrightness:b.propT("--chakra-backdrop-brightness",J.brightness),backdropContrast:b.propT("--chakra-backdrop-contrast",J.contrast),backdropHueRotate:b.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:b.propT("--chakra-backdrop-invert",J.invert),backdropSaturate:b.propT("--chakra-backdrop-saturate",J.saturate)},Ur={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:J.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:b.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:b.space("gap"),rowGap:b.space("rowGap"),columnGap:b.space("columnGap")};Object.assign(Ur,{flexDir:Ur.flexDirection});var ll={gridGap:b.space("gridGap"),gridColumnGap:b.space("gridColumnGap"),gridRowGap:b.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},og={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:J.outline},outlineOffset:!0,outlineColor:b.colors("outlineColor")},Ke={width:b.sizesT("width"),inlineSize:b.sizesT("inlineSize"),height:b.sizes("height"),blockSize:b.sizes("blockSize"),boxSize:b.sizes(["width","height"]),minWidth:b.sizes("minWidth"),minInlineSize:b.sizes("minInlineSize"),minHeight:b.sizes("minHeight"),minBlockSize:b.sizes("minBlockSize"),maxWidth:b.sizes("maxWidth"),maxInlineSize:b.sizes("maxInlineSize"),maxHeight:b.sizes("maxHeight"),maxBlockSize:b.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(n,e)=>{var r,i,o;return{["@media screen and (min-width: ".concat((o=(i=(r=e.__breakpoints)==null?void 0:r.get(n))==null?void 0:i.minW)!=null?o:n,")")]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(n,e)=>{var r,i,o;return{["@media screen and (max-width: ".concat((o=(i=(r=e.__breakpoints)==null?void 0:r.get(n))==null?void 0:i._minW)!=null?o:n,")")]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:b.propT("float",J.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ke,{w:Ke.width,h:Ke.height,minW:Ke.minWidth,maxW:Ke.maxWidth,minH:Ke.minHeight,maxH:Ke.maxHeight,overscroll:Ke.overscrollBehavior,overscrollX:Ke.overscrollBehaviorX,overscrollY:Ke.overscrollBehaviorY});var ag={listStyleType:!0,listStylePosition:!0,listStylePos:b.prop("listStylePosition"),listStyleImage:!0,listStyleImg:b.prop("listStyleImage")};function sg(n,e,r,i){const o=typeof e=="string"?e.split("."):[e];for(i=0;i{const e=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return n(r,i,o);e.has(r)||e.set(r,new Map);const s=e.get(r);if(s.has(i))return s.get(i);const l=n(r,i,o,a);return s.set(i,l),l}},ug=lg(sg),cg={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dg={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},$i=(n,e,r)=>{const i={},o=ug(n,e,{});for(const a in o)a in r&&r[a]!=null||(i[a]=o[a]);return i},hg={srOnly:{transform(n){return n===!0?cg:n==="focusable"?dg:{}}},layerStyle:{processResult:!0,transform:(n,e,r)=>$i(e,"layerStyles.".concat(n),r)},textStyle:{processResult:!0,transform:(n,e,r)=>$i(e,"textStyles.".concat(n),r)},apply:{processResult:!0,transform:(n,e,r)=>$i(e,n,r)}},Wn={position:!0,pos:b.prop("position"),zIndex:b.prop("zIndex","zIndices"),inset:b.spaceT("inset"),insetX:b.spaceT(["left","right"]),insetInline:b.spaceT("insetInline"),insetY:b.spaceT(["top","bottom"]),insetBlock:b.spaceT("insetBlock"),top:b.spaceT("top"),insetBlockStart:b.spaceT("insetBlockStart"),bottom:b.spaceT("bottom"),insetBlockEnd:b.spaceT("insetBlockEnd"),left:b.spaceT("left"),insetInlineStart:b.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:b.spaceT("right"),insetInlineEnd:b.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Wn,{insetStart:Wn.insetInlineStart,insetEnd:Wn.insetInlineEnd});var pg={ring:{transform:J.ring},ringColor:b.colors("--chakra-ring-color"),ringOffset:b.prop("--chakra-ring-offset-width"),ringOffsetColor:b.colors("--chakra-ring-offset-color"),ringInset:b.prop("--chakra-ring-inset")},ue={margin:b.spaceT("margin"),marginTop:b.spaceT("marginTop"),marginBlockStart:b.spaceT("marginBlockStart"),marginRight:b.spaceT("marginRight"),marginInlineEnd:b.spaceT("marginInlineEnd"),marginBottom:b.spaceT("marginBottom"),marginBlockEnd:b.spaceT("marginBlockEnd"),marginLeft:b.spaceT("marginLeft"),marginInlineStart:b.spaceT("marginInlineStart"),marginX:b.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:b.spaceT("marginInline"),marginY:b.spaceT(["marginTop","marginBottom"]),marginBlock:b.spaceT("marginBlock"),padding:b.space("padding"),paddingTop:b.space("paddingTop"),paddingBlockStart:b.space("paddingBlockStart"),paddingRight:b.space("paddingRight"),paddingBottom:b.space("paddingBottom"),paddingBlockEnd:b.space("paddingBlockEnd"),paddingLeft:b.space("paddingLeft"),paddingInlineStart:b.space("paddingInlineStart"),paddingInlineEnd:b.space("paddingInlineEnd"),paddingX:b.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:b.space("paddingInline"),paddingY:b.space(["paddingTop","paddingBottom"]),paddingBlock:b.space("paddingBlock")};Object.assign(ue,{m:ue.margin,mt:ue.marginTop,mr:ue.marginRight,me:ue.marginInlineEnd,marginEnd:ue.marginInlineEnd,mb:ue.marginBottom,ml:ue.marginLeft,ms:ue.marginInlineStart,marginStart:ue.marginInlineStart,mx:ue.marginX,my:ue.marginY,p:ue.padding,pt:ue.paddingTop,py:ue.paddingY,px:ue.paddingX,pb:ue.paddingBottom,pl:ue.paddingLeft,ps:ue.paddingInlineStart,paddingStart:ue.paddingInlineStart,pr:ue.paddingRight,pe:ue.paddingInlineEnd,paddingEnd:ue.paddingInlineEnd});var fg={textDecorationColor:b.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:b.shadows("textShadow")},gg={clipPath:!0,transform:b.propT("transform",J.transform),transformOrigin:!0,translateX:b.spaceT("--chakra-translate-x"),translateY:b.spaceT("--chakra-translate-y"),skewX:b.degreeT("--chakra-skew-x"),skewY:b.degreeT("--chakra-skew-y"),scaleX:b.prop("--chakra-scale-x"),scaleY:b.prop("--chakra-scale-y"),scale:b.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:b.degreeT("--chakra-rotate")},mg={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:b.prop("transitionDuration","transition.duration"),transitionProperty:b.prop("transitionProperty","transition.property"),transitionTimingFunction:b.prop("transitionTimingFunction","transition.easing")},yg={fontFamily:b.prop("fontFamily","fonts"),fontSize:b.prop("fontSize","fontSizes",J.px),fontWeight:b.prop("fontWeight","fontWeights"),lineHeight:b.prop("lineHeight","lineHeights"),letterSpacing:b.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(n){if(n===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},bg={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:b.spaceT("scrollMargin"),scrollMarginTop:b.spaceT("scrollMarginTop"),scrollMarginBottom:b.spaceT("scrollMarginBottom"),scrollMarginLeft:b.spaceT("scrollMarginLeft"),scrollMarginRight:b.spaceT("scrollMarginRight"),scrollMarginX:b.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:b.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:b.spaceT("scrollPadding"),scrollPaddingTop:b.spaceT("scrollPaddingTop"),scrollPaddingBottom:b.spaceT("scrollPaddingBottom"),scrollPaddingLeft:b.spaceT("scrollPaddingLeft"),scrollPaddingRight:b.spaceT("scrollPaddingRight"),scrollPaddingX:b.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:b.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function ul(n){return Ut(n)&&n.reference?n.reference:String(n)}var yi=(n,...e)=>e.map(ul).join(" ".concat(n," ")).replace(/calc/g,""),xa=(...n)=>"calc(".concat(yi("+",...n),")"),Sa=(...n)=>"calc(".concat(yi("-",...n),")"),Zi=(...n)=>"calc(".concat(yi("*",...n),")"),Na=(...n)=>"calc(".concat(yi("/",...n),")"),_a=n=>{const e=ul(n);return e!=null&&!Number.isNaN(parseFloat(e))?String(e).startsWith("-")?String(e).slice(1):"-".concat(e):Zi(e,-1)},Mn=Object.assign(n=>({add:(...e)=>Mn(xa(n,...e)),subtract:(...e)=>Mn(Sa(n,...e)),multiply:(...e)=>Mn(Zi(n,...e)),divide:(...e)=>Mn(Na(n,...e)),negate:()=>Mn(_a(n)),toString:()=>n.toString()}),{add:xa,subtract:Sa,multiply:Zi,divide:Na,negate:_a});function vg(n){const e=parseFloat(n.toString()),r=n.toString().replace(String(e),"");return{unitless:!r,value:e,unit:r}}function Ra(n){if(n==null)return n;const{unitless:e}=vg(n);return e||typeof n=="number"?"".concat(n,"px"):n}function wg(n,e){const r=["@media screen"];return n&&r.push("and","(min-width: ".concat(Ra(n),")")),e&&r.push("and","(max-width: ".concat(Ra(e),")")),r.join(" ")}var Ce={hover:(n,e)=>"".concat(n,":hover ").concat(e,", ").concat(n,"[data-hover] ").concat(e),focus:(n,e)=>"".concat(n,":focus ").concat(e,", ").concat(n,"[data-focus] ").concat(e),focusVisible:(n,e)=>"".concat(n,":focus-visible ").concat(e),focusWithin:(n,e)=>"".concat(n,":focus-within ").concat(e),active:(n,e)=>"".concat(n,":active ").concat(e,", ").concat(n,"[data-active] ").concat(e),disabled:(n,e)=>"".concat(n,":disabled ").concat(e,", ").concat(n,"[data-disabled] ").concat(e),invalid:(n,e)=>"".concat(n,":invalid ").concat(e,", ").concat(n,"[data-invalid] ").concat(e),checked:(n,e)=>"".concat(n,":checked ").concat(e,", ").concat(n,"[data-checked] ").concat(e),indeterminate:(n,e)=>"".concat(n,":indeterminate ").concat(e,", ").concat(n,"[aria-checked=mixed] ").concat(e,", ").concat(n,"[data-indeterminate] ").concat(e),readOnly:(n,e)=>"".concat(n,":read-only ").concat(e,", ").concat(n,"[readonly] ").concat(e,", ").concat(n,"[data-read-only] ").concat(e),expanded:(n,e)=>"".concat(n,":read-only ").concat(e,", ").concat(n,"[aria-expanded=true] ").concat(e,", ").concat(n,"[data-expanded] ").concat(e),placeholderShown:(n,e)=>"".concat(n,":placeholder-shown ").concat(e)},_t=n=>cl(e=>n(e,"&"),"[role=group]","[data-group]",".group"),ft=n=>cl(e=>n(e,"~ &"),"[data-peer]",".peer"),cl=(n,...e)=>e.map(n).join(", "),Lo={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:_t(Ce.hover),_peerHover:ft(Ce.hover),_groupFocus:_t(Ce.focus),_peerFocus:ft(Ce.focus),_groupFocusVisible:_t(Ce.focusVisible),_peerFocusVisible:ft(Ce.focusVisible),_groupActive:_t(Ce.active),_peerActive:ft(Ce.active),_groupDisabled:_t(Ce.disabled),_peerDisabled:ft(Ce.disabled),_groupInvalid:_t(Ce.invalid),_peerInvalid:ft(Ce.invalid),_groupChecked:_t(Ce.checked),_peerChecked:ft(Ce.checked),_groupFocusWithin:_t(Ce.focusWithin),_peerFocusWithin:ft(Ce.focusWithin),_peerPlaceholderShown:ft(Ce.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},xg=Object.keys(Lo);function Sg(n,e=[]){const r=Object.assign({},n);for(const i of e)i in r&&delete r[i];return r}var Oo=Et({},Tr,Y,rg,Ur,Ke,ig,pg,og,ll,hg,Wn,Yi,ue,bg,yg,fg,gg,ag,mg);Object.assign({},ue,Ke,Ur,ll,Wn);var Ng=[...Object.keys(Oo),...xg],_g={...Oo,...Lo},Rg=n=>n in _g,kg=n=>e=>{if(!e.__breakpoints)return n;const{isResponsive:r,toArrayValue:i,media:o}=e.__breakpoints,a={};for(const s in n){let l=zt(n[s],e);if(l==null)continue;if(l=Ut(l)&&r(l)?i(l):l,!Array.isArray(l)){a[s]=l;continue}const u=l.slice(0,o.length).length;for(let c=0;cn.startsWith("--")&&typeof e=="string"&&!Ag(e),Eg=(n,e)=>{var r,i;if(e==null)return e;const o=u=>{var c,d;return(d=(c=n.__cssMap)==null?void 0:c[u])==null?void 0:d.varRef},a=u=>{var c;return(c=o(u))!=null?c:u},[s,l]=Cg(e);return e=(i=(r=o(s))!=null?r:a(l))!=null?i:a(e),e};function Lg(n){const{configs:e={},pseudos:r={},theme:i}=n,o=(a,s=!1)=>{var l,u,c;const d=zt(a,i),h=kg(d)(i);let p={};for(let m in h){const y=h[m];let w=zt(y,i);m in r&&(m=r[m]),Tg(m,w)&&(w=Eg(i,w));let _=e[m];if(_===!0&&(_={property:m}),Ut(w)){p[m]=(l=p[m])!=null?l:{},p[m]=Et({},p[m],o(w,!0));continue}let N=(c=(u=_==null?void 0:_.transform)==null?void 0:u.call(_,w,i,d))!=null?c:w;N=_!=null&&_.processResult?o(N,!0):N;const R=zt(_==null?void 0:_.property,i);if(!s&&_!=null&&_.static){const M=zt(_.static,i);p=Et({},p,M)}if(R&&Array.isArray(R)){for(const M of R)p[M]=N;continue}if(R){R==="&"&&Ut(N)?p=Et({},p,N):p[R]=N;continue}if(Ut(N)){p=Et({},p,N);continue}p[m]=N}return p};return o}var Og=n=>e=>Lg({theme:e,pseudos:Lo,configs:Oo})(n);function jg(n,e){if(Array.isArray(n))return n;if(Ut(n))return e(n);if(n!=null)return[n]}function Mg(n,e){for(let r=e+1;r{Et(u,{[R]:h?N[R]:{[_]:N[R]}})});continue}if(!p){h?Et(u,N):u[_]=N;continue}u[_]=N}}return u}}function $g(n){return e=>{var r;const{variant:i,size:o,theme:a}=e,s=Pg(a);return Et({},zt((r=n.baseStyle)!=null?r:{},e),s(n,"sizes",o,e),s(n,"variants",i,e))}}function Ig(n){return Sg(n,["styleConfig","size","variant","colorScheme"])}var Dg=typeof Element<"u",Bg=typeof Map=="function",zg=typeof Set=="function",Fg=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Er(n,e){if(n===e)return!0;if(n&&e&&typeof n=="object"&&typeof e=="object"){if(n.constructor!==e.constructor)return!1;var r,i,o;if(Array.isArray(n)){if(r=n.length,r!=e.length)return!1;for(i=r;i--!==0;)if(!Er(n[i],e[i]))return!1;return!0}var a;if(Bg&&n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(a=n.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;for(a=n.entries();!(i=a.next()).done;)if(!Er(i.value[1],e.get(i.value[0])))return!1;return!0}if(zg&&n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(a=n.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;return!0}if(Fg&&ArrayBuffer.isView(n)&&ArrayBuffer.isView(e)){if(r=n.length,r!=e.length)return!1;for(i=r;i--!==0;)if(n[i]!==e[i])return!1;return!0}if(n.constructor===RegExp)return n.source===e.source&&n.flags===e.flags;if(n.valueOf!==Object.prototype.valueOf&&typeof n.valueOf=="function"&&typeof e.valueOf=="function")return n.valueOf()===e.valueOf();if(n.toString!==Object.prototype.toString&&typeof n.toString=="function"&&typeof e.toString=="function")return n.toString()===e.toString();if(o=Object.keys(n),r=o.length,r!==Object.keys(e).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(e,o[i]))return!1;if(Dg&&n instanceof Element)return!1;for(i=r;i--!==0;)if(!((o[i]==="_owner"||o[i]==="__v"||o[i]==="__o")&&n.$$typeof)&&!Er(n[o[i]],e[o[i]]))return!1;return!0}return n!==n&&e!==e}var Gg=function(n,e){try{return Er(n,e)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Ug=el(Gg);function dl(n,e={}){var r;const{styleConfig:i,...o}=e,{theme:a,colorMode:s}=Df(),l=n?lc(a,"components.".concat(n)):void 0,u=i||l,c=uc({theme:a,colorMode:s},(r=u==null?void 0:u.defaultProps)!=null?r:{},Za(ui(o,["children"]))),d=$.useRef({});if(u){const h=$g(u)(c);Ug(d.current,h)||(d.current=h)}return d.current}function Wg(n,e={}){return dl(n,e)}function Vg(n,e={}){return dl(n,e)}var Hg=new Set([...Ng,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Jg=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Kg(n){return Jg.has(n)||!Hg.has(n)}function qg(n,...e){if(n==null)throw new TypeError("Cannot convert undefined or null to object");const r={...n};for(const i of e)if(i!=null)for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&(o in r&&delete r[o],r[o]=i[o]);return r}var ka,Yg=(ka=Yo.default)!=null?ka:Yo,Zg=({baseStyle:n})=>e=>{const{theme:r,css:i,__css:o,sx:a,...s}=e,l=cc(s,(h,p)=>Rg(p)),u=be(n,e),c=qg({},o,u,Za(l),a),d=Og(c)(e.theme);return i?[d,i]:d};function Ii(n,e){const{baseStyle:r,...i}=e!=null?e:{};i.shouldForwardProp||(i.shouldForwardProp=Kg);const o=Zg({baseStyle:r}),a=Yg(n,i)(o);return P.forwardRef(function(s,l){const{colorMode:u,forced:c}=al();return P.createElement(a,{ref:l,"data-theme":c?u:void 0,...s})})}function Qg(){const n=new Map;return new Proxy(Ii,{apply(e,r,i){return Ii(...i)},get(e,r){return n.has(r)||n.set(r,Ii(r)),n.get(r)}})}var dt=Qg();function it(n){return $.forwardRef(n)}var Ca={path:F.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[F.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),F.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),F.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},bi=it((n,e)=>{const{as:r,viewBox:i,color:o="currentColor",focusable:a=!1,children:s,className:l,__css:u,...c}=n,d=To("chakra-icon",l),h=Wg("Icon",n),p={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...u,...h},m={ref:e,focusable:a,className:d,__css:p},y=i!=null?i:Ca.viewBox;if(r&&typeof r!="string")return F.jsx(dt.svg,{as:r,...m,...c});const w=s!=null?s:Ca.path;return F.jsx(dt.svg,{verticalAlign:"middle",viewBox:y,...m,...c,children:w})});bi.displayName="Icon";function Xg(n,e){return"".concat(n," returned `undefined`. Seems you forgot to wrap component within ").concat(e)}function em(n={}){const{name:e,strict:r=!0,hookName:i="useContext",providerName:o="Provider",errorMessage:a,defaultValue:s}=n,l=$.createContext(s);l.displayName=e;function u(){var c;const d=$.useContext(l);if(!d&&r){const h=new Error(a!=null?a:Xg(i,o));throw h.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,h,u),h}return d}return[l.Provider,u,l]}var tm=it(function(n,e){const{spacing:r="0.5rem",spacingX:i,spacingY:o,children:a,justify:s,direction:l,align:u,className:c,shouldWrapChildren:d,...h}=n,p=$.useMemo(()=>d?$.Children.map(a,(m,y)=>F.jsx(jo,{children:m},y)):a,[a,d]);return F.jsx(dt.div,{ref:e,className:To("chakra-wrap",c),...h,children:F.jsx(dt.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:s,alignItems:u,flexDirection:l,listStyleType:"none",gap:r,columnGap:i,rowGap:o,padding:"0"},children:p})})});tm.displayName="Wrap";var jo=it(function(n,e){const{className:r,...i}=n;return F.jsx(dt.li,{ref:e,__css:{display:"flex",alignItems:"flex-start"},className:To("chakra-wrap__listitem",r),...i})});jo.displayName="WrapItem";var Mo=dt("div");Mo.displayName="Box";var hl=it(function(n,e){const{size:r,centerContent:i=!0,...o}=n,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return F.jsx(Mo,{ref:e,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});hl.displayName="Square";var nm=it(function(n,e){const{size:r,...i}=n;return F.jsx(hl,{size:r,ref:e,borderRadius:"9999px",...i})});nm.displayName="Circle";var pl=it(function(n,e){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...c}=n,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return F.jsx(dt.div,{ref:e,__css:d,...c})});pl.displayName="Flex";const rm=n=>{const{getEmptyStateProps:e}=Mt(),r=e(F.jsx(pl,{...im,children:"No options found!"}));return F.jsx(Mo,{...n,children:r})},im={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Aa=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],om=n=>{const e=P.Children.map(n,(i,o)=>{var a;if(((a=i==null?void 0:i.type)==null?void 0:a.displayName)==="AutoCompleteGroup"){const s=P.Children.toArray(n)[o+1];return P.cloneElement(i,{groupSibling:s?s.type.displayName==="AutoCompleteGroup":!1})}return i}),r=P.Children.toArray(e).filter(i=>{var o;return!Aa.includes((o=i==null?void 0:i.type)==null?void 0:o.displayName)});return[P.Children.toArray(e).filter(i=>{var o;return Aa.includes((o=i==null?void 0:i.type)==null?void 0:o.displayName)}),r]},fl=Vt((n,e)=>{const{children:r,loadingState:i,...o}=n,{listRef:a,isLoading:s}=Mt(),l=Xn(e,a),[u,c]=om(r);return F.jsxs(Ka,{ref:l,w:"inherit",...am,...o,children:[s&&F.jsx(Xu,{children:i||F.jsx(Ja,{size:"md"})}),!s&&F.jsxs(F.Fragment,{children:[u,F.jsx(rm,{}),c]})]})});fl.displayName="AutoCompleteList";const am={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}};var[sm,gl]=em({name:"TagStylesContext",errorMessage:"useTagStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),ml=it((n,e)=>{const r=Vg("Tag",n),i=Ig(n),o={display:"inline-flex",verticalAlign:"top",alignItems:"center",maxWidth:"100%",...r.container};return F.jsx(sm,{value:r,children:F.jsx(dt.span,{ref:e,...i,__css:o})})});ml.displayName="Tag";var yl=it((n,e)=>{const r=gl();return F.jsx(dt.span,{ref:e,noOfLines:1,...n,__css:r.label})});yl.displayName="TagLabel";var lm=it((n,e)=>F.jsx(bi,{ref:e,verticalAlign:"top",marginEnd:"0.5rem",...n}));lm.displayName="TagLeftIcon";var um=it((n,e)=>F.jsx(bi,{ref:e,verticalAlign:"top",marginStart:"0.5rem",...n}));um.displayName="TagRightIcon";var bl=n=>F.jsx(bi,{verticalAlign:"inherit",viewBox:"0 0 512 512",...n,children:F.jsx("path",{fill:"currentColor",d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})});bl.displayName="TagCloseIcon";var vl=it((n,e)=>{const{isDisabled:r,children:i,...o}=n,a={display:"flex",alignItems:"center",justifyContent:"center",outline:"0",...gl().closeButton};return F.jsx(dt.button,{ref:e,"aria-label":"close",...o,type:"button",disabled:r,__css:a,children:i||F.jsx(bl,{})})});vl.displayName="TagCloseButton";$.memo(n=>{const{label:e,onRemove:r,disabled:i,...o}=n;return F.jsx(jo,{children:F.jsxs(ml,{borderRadius:"md",fontWeight:"normal",...i&&Ta,...o,children:[F.jsx(yl,{children:e}),F.jsx(vl,{onClick:()=>!i&&be(r),cursor:"pointer",...i&&Ta})]})})});const Ta={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};var Ft=function(){return Ft=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},La=function(n,e,r){if(r||arguments.length===2)for(var i=0,o=e.length,a;i0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},fm=function(n,e){var r=n.validator,i=n.onDebouncedChange,o=n.delay,a=n.optionList,s=n.defaultValue;n.onChange;var l=hm(n,["validator","onDebouncedChange","delay","optionList","defaultValue","onChange"]),u=$.useRef(null),c=Xn(u,e),d=$.useRef("datalist-"+new Date().valueOf()),h=pm($.useState(!1),2),p=h[0],m=h[1],y=$.useRef();$.useEffect(function(){u.current&&(u.current.value=(s==null?void 0:s.toString())||"")},[s]);var w=function(N){var R=N.target.value;window.clearTimeout(y.current),r&&m(!r(R)),y.current=window.setTimeout(function(){i==null||i(R),y.current=void 0},o!=null?o:500)},_=function(N){var R=N.target.value;y.current!==void 0&&(window.clearTimeout(y.current),r&&m(!r(R)),i==null||i(R),y.current=void 0)};return f.jsxs(f.Fragment,{children:[f.jsx(Ha,Qi({ref:c,list:d.current,variant:"flushed",size:"sm",h:6,onChange:w,onBlur:_,isInvalid:p},l)),a&&f.jsx("datalist",{id:d.current,children:a==null?void 0:a.map(function(N,R){return f.jsx("option",{children:N},R)})})]})},gm=$.forwardRef(fm),Xi=function(){return Xi=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},wm=function(n){switch(n){case Lt.DEV:return"red";case Lt.UAT:return"orange";case Lt.PRD:return"green"}};function Ex(n){var e=n.environment,r=n.version,i=n.popoverHeader,o=n.popoverBody,a=vm($.useState(!1),2),s=a[0],l=a[1];return f.jsxs(Va,{isOpen:s,onOpen:function(){return i&&l(!0)},onClose:function(){return l(!1)},children:[f.jsx(fc,{children:f.jsx(Qa,{ml:1,colorScheme:wm(e),title:"".concat(e,": ").concat(r),cursor:i?"pointer":"help",children:e===Lt.PRD?r:e})}),f.jsxs(Ka,{children:[f.jsx(gc,{}),f.jsx(mc,{}),f.jsx(yc,{children:i}),f.jsx(bc,{children:o})]})]})}var xm=function(n,e,r){var i=new Blob([r],{type:e});Sm(n,i)},Sm=function(n,e){var r=window.URL.createObjectURL(e),i=document.createElement("a");i.href=r,i.download=n,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r)},Nm=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function _m(n){var e=n.cancelRef,r=n.isOpen,i=n.onClose,o=Nm($.useState(!1),2),a=o[0],s=o[1],l=function(){s(!0);var u=Ge.storage.getAll(),c=Ge.getAppName(),d="".concat(c,"_BACKUP_").concat(new Date().toISOString(),".json");xm(d,"application/json",JSON.stringify(u)),Ge.storage.clear(),setTimeout(function(){window.location.reload()},2e3)};return f.jsxs(vc,{leastDestructiveRef:e,isOpen:r,onClose:i,children:[f.jsx(wc,{}),f.jsxs(xc,{children:[f.jsx(Sc,{children:"Warning 警告"}),f.jsx(Nc,{}),f.jsxs(_c,{sx:{"& p":{my:1}},children:[f.jsx(At,{children:"Are you sure you want to reset the app? The webpage local storage for this app will be cleared. A copy of the local storage will be downloaded and it may be used for restoration (varies with app)."}),f.jsx(At,{children:"確定重設該應用程式嗎?應用程式的網頁本地儲存將會被清除。本地儲存的副本可供下載及用於復原(因應用程式而異)。"}),f.jsx(At,{children:"确定重置本应用程序吗?应用程序的网页本地存储将会被清除。本地存储的拷贝可供下载以及用于还原(因应用程序而異)。"})]}),f.jsxs(Rc,{children:[f.jsx(dn,{ref:e,onClick:i,children:"Cancel"}),f.jsx(dn,{isLoading:a,colorScheme:"red",ml:3,onClick:l,children:"Confirm and reload"})]})]})]})}var Hn=function(){return Hn=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Cm(n){var e=n.error,r=n.errorInfo,i=n.allowReset,o=n.sx,a=Rm(n,["error","errorInfo","allowReset","sx"]),s=ht("RmgErrorBoundary"),l=Xa("primary.500","primary.300"),u=km($.useState(!1),2),c=u[0],d=u[1],h=$.useRef(null),p=function(w){return f.jsx(Fn,{color:l,role:"button",onClick:function(){return d(!0)},children:w})},m=Ge.getAppName(),y=f.jsx(Fn,{color:l,href:"https://github.com/railmapgen/".concat(m,"/issues"),isExternal:!0,children:"GitHub Issue"});return f.jsxs(uo,Hn({status:"error",sx:Hn(Hn({},s),o)},a,{children:[f.jsx(co,{}),f.jsx(kc,{children:"Something went wrong!"}),f.jsxs(Cc,{children:[f.jsxs(At,{children:["Please try to refresh or re-import your configuration files. If the issue still persists, please consider upgrading your browser",i?f.jsxs(f.Fragment,{children:[" or ",p("reset this app")]}):"",". Should you need any help, please contact us by submitting an issue in ",y," with the details shown below."]}),f.jsxs(At,{children:["請嘗試重新整理或重新上載設定檔。如果問題仍然存在,請考慮更新你的瀏覽器",i?f.jsxs(f.Fragment,{children:["或",p("重設該應用程式")]}):"","。如需協助或與我們聯絡,請前往 ",y," 提交一個 Issue 並附以詳細資料。"]}),f.jsxs(At,{children:["请尝试刷新或者重新上传配置文件。如果问题仍然存在,请考虑更新您的浏览器",i?f.jsxs(f.Fragment,{children:["或者",p("重置本应用程序")]}):"","。如需帮助或者联系我们,请前往 ",y," 提交一个 Issue 并附上详细信息。"]}),f.jsxs(At,{as:"details",children:[e==null?void 0:e.toString(),f.jsx("br",{}),r==null?void 0:r.componentStack]}),i&&f.jsx(_m,{cancelRef:h,isOpen:c,onClose:function(){return d(!1)}})]})]}))}var Am=function(){var n=function(e,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,o){i.__proto__=o}||function(i,o){for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(i[a]=o[a])},n(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");n(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}(),eo=function(){return eo=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Mm(n){var e=n.defaultValue,r=n.options,i=n.disabledOptions,o=jm(n,["defaultValue","options","disabledOptions"]),a=$.useRef(null);$.useEffect(function(){a.current&&(a.current.value=(e==null?void 0:e.toString())||"")},[e]);var s=function(l,u){return f.jsx("option",{value:l,disabled:(i==null?void 0:i.find(function(c){return c.toString()===l}))!==void 0,children:u},l)};return f.jsx(Ec,no({ref:a,variant:"flushed",size:"sm",h:6},o,{children:Object.entries(r).map(function(l){var u=Oa(l,2),c=u[0],d=u[1];return typeof d=="object"?f.jsx("optgroup",{label:c,children:Object.entries(d).map(function(h){var p=Oa(h,2),m=p[0],y=p[1];return s(m,y)})},c):s(c,d)})}))}var Pm=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},Lx=function(n,e,r){var i=Pm($.useState(e()),2),o=i[0],a=i[1];return $.useEffect(function(){n.then(function(){console.debug("[rmg-components] Getter updates finished"),a(e())})},[]),o},Di=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},ja=function(n,e,r){if(r||arguments.length===2)for(var i=0,o=e.length,a;i0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Dm(n){var e=n.defaultValue,r=n.min,i=n.max,o=n.step,a=n.onThrottledChange,s=n.leftIcon,l=n.rightIcon,u=ht("RmgThrottledSlider"),c=Im($.useState(e!=null?e:0),2),d=c[0],h=c[1];$.useEffect(function(){e!==void 0&&d!==e&&h(e)},[e]);var p=$m(a!=null?a:function(){},500),m=function(){var w=Math.min(d+(o!=null?o:1)*10,i!=null?i:100);a==null||a(w),h(w)},y=function(){var w=Math.max(d-(o!=null?o:1)*10,r!=null?r:0);a==null||a(w),h(w)};return f.jsxs(ut,{sx:u,children:[s&&f.jsx(Or,{size:"xs",variant:"ghost","aria-label":"Drag left",icon:s,onClick:y}),f.jsxs(Lc,{value:d,min:r,max:i,step:o,onChange:function(w){p(w),h(w)},children:[f.jsx(Oc,{children:f.jsx(jc,{})}),f.jsx(Mc,{})]}),l&&f.jsx(Or,{size:"xs",variant:"ghost","aria-label":"Drag right",icon:l,onClick:m})]})}var Bm=function(n){var e=n.children,r=n.noWrap,i=ht("RmgOutput",{noWrap:r});return f.jsx(Lr.output,{sx:i,children:e})};function ye(n){var e=n.fields,r=n.noLabel,i=n.minW;return f.jsx(ut,{wrap:"wrap",children:e.map(function(o,a){if(o.hidden)return f.jsx($.Fragment,{},a);var s=o.minW||i,l=s==="full";return f.jsx(Om,{className:l?"mw-full":"",label:o.label,flex:l?void 0:1,minW:l?void 0:s,noLabel:r,oneLine:o.oneLine,children:function(u){switch(u.type){case"input":return f.jsx(gm,{placeholder:u.placeholder,defaultValue:u.value,type:u.variant,validator:u.validator,onDebouncedChange:u.onChange,delay:u.debouncedDelay,optionList:u.optionList,isDisabled:u.isDisabled});case"output":return f.jsx(Bm,{noWrap:u.noWrap,children:u.value});case"textarea":return f.jsx(bm,{placeholder:u.placeholder,defaultValue:u.value,onDebouncedChange:u.onChange,isDisabled:u.isDisabled});case"slider":return f.jsx(Dm,{defaultValue:u.value,min:u.min,max:u.max,step:u.step,onThrottledChange:u.onChange,leftIcon:u.leftIcon,rightIcon:u.rightIcon,isDisabled:u.isDisabled});case"select":return f.jsx(Mm,{defaultValue:u.value,onChange:function(c){var d,h=c.target.value;return(d=u.onChange)===null||d===void 0?void 0:d.call(u,typeof u.value=="number"?Number(h):h.toString())},options:u.options,disabledOptions:u.disabledOptions,isInvalid:u.isInvalid,isDisabled:u.isDisabled});case"switch":return f.jsx(Pc,{isChecked:u.isChecked,isDisabled:u.isDisabled,onChange:function(c){var d,h=c.target.checked;return(d=u.onChange)===null||d===void 0?void 0:d.call(u,h)}});case"custom":return u.component;default:return f.jsx("div",{})}}(o)},a)})})}var Ot=function(){return Ot=Object.assign||function(n){for(var e,r=1,i=arguments.length;r button:first-of-type":{ml:1}}},Qm={baseStyle:{w:"100%",h:"100%",position:"absolute",top:0,right:0,alignItems:"center",justifyContent:"center","& .rmg-loader__backdrop":{position:"absolute",w:"100%",h:"100%",zIndex:1500,bg:"blackAlpha.400"},"& .chakra-progress":{zIndex:2e3}}},Rt=function(n){return n==="dark"?"primary.300":"primary.500"},Xm={baseStyle:function(n){var e=n.theme,r=n.colorMode;return{"& .rmg-multi-select__wrapper":{position:"relative",w:"100%",h:"25.75px",transform:"translateY(1.75px)",cursor:"default"},"& .rmg-multi-select__field":{position:"relative",w:"100%",minW:0,outline:0,appearance:"none",transitionProperty:"common",transitionDuration:"normal",pb:"1px",fontSize:"sm",h:"6",borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_active:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},_focus:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},_focusVisible:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},"&.active":{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},"& > span:last-of-type":{position:"absolute",right:8}},"& .rmg-multi-select__icon-wrapper":{display:"inline-flex",justifyContent:"center",w:6,h:"100%",position:"absolute",right:2,top:0,fontSize:"xl","& svg":{h:"1em",w:"1em"}},"& .chakra-popover__content":{w:"unset",minW:200},"& .chakra-popover__body":{p:0,"li label":{p:2,w:"100%",_hover:{bg:r==="dark"?"whiteAlpha.200":"gray.100"},_active:{bg:r==="dark"?"whiteAlpha.300":"gray.200"}}}}}},io=function(){return io=Object.assign||function(n){for(var e,r=1,i=arguments.length;r(n.RailMap="railmap",n.Platform="platform",n))(yy||{}),by=(n=>(n.Metro="metro",n.NationalRail="nationalrail",n.LightRail="lightrail",n.Footpath="footpath",n))(by||{}),vy=(n=>(n.APP_LOAD="APP_LOAD",n.ADD_STATION="ADD_STATION",n.ADD_LINE="ADD_LINE",n.IMPORT_RMG_PARAM="IMPORT_RMG_PARAM",n.IMPORT_WORK_FROM_GALLERY="IMPORT_WORK_FROM_GALLERY",n.DOWNLOAD_PARAM="DOWNLOAD_PARAM",n.DOWNLOAD_IMAGES="DOWNLOAD_IMAGES",n.LOAD_TUTORIAL="LOAD_TUTORIAL",n))(vy||{}),Ue=(n=>(n.LOGIN_STATE="rmp__login_state",n.APP="rmp__app",n.PARAM="rmp__param",n.PARAM_BACKUP="rmp__param__backup",n.DO_NOT_SHOW_RMT_MSG="rmp__doNotShowRMTMsg",n.ACCOUNT="rmg-home__account",n))(Ue||{}),le=(n=>(n.Other="other",n.Beijing="beijing",n.Berlin="berlin",n.Chongqing="chongqing",n.Foshan="foshan",n.Guangzhou="guangzhou",n.Hongkong="hongkong",n.Kunming="kunming",n.London="london",n.Qingdao="qingdao",n.Shanghai="shanghai",n.Shenzhen="shenzhen",n.Singapore="singapore",n.Suzhou="suzhou",n.Tokyo="tokyo",n))(le||{}),wy=(n=>(n.Shmetro="shmetro",n.Bjsubway="bjsubway",n))(wy||{});const xy="https://railmapgen.org/v1/subscription",Dx="https://railmapgen.org/v1/randomStationNames",Wr={RMP_CLOUD:!1,RMP_EXPORT:!1},Sy={state:"logged-out",activeSubscriptions:Wr,token:void 0},Sl=ci({name:"account",initialState:Sy,reducers:{setState:(n,e)=>{n.state=e.payload},setActiveSubscriptions:(n,e)=>{n.activeSubscriptions=e.payload},setToken:(n,e)=>{n.token=e.payload}}}),{setState:Kn,setActiveSubscriptions:Vr,setToken:Nl}=Sl.actions,Ny=Sl.reducer;var ee;(function(n){n.black="#000",n.white="#fff"})(ee||(ee={}));var _l=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};let zi={};const _y=(n,e)=>_l(void 0,void 0,void 0,function*(){if(n in zi)return zi[n];const i=yield(yield fetch(n,e)).json();return zi[n]=i,i}),Ry=(n,e)=>_l(void 0,void 0,void 0,function*(){return yield _y("/rmg-palette/resources/palettes/".concat(n,".json"),{signal:e})});var ky=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};const Bx=(n,e,r)=>ky(void 0,void 0,void 0,function*(){const[i,o]=n;if(i==="other")return n;try{const s=(yield Ry(i)).find(l=>l.id===o);return s?[i,o,s.colour,s.fg||ee.white]:(console.warn("[rmg-palette] updateTheme(".concat(i,", ").concat(o,"), line does not exist, returning old theme")),n)}catch(a){throw console.error("[rmg-palette] updateTheme(".concat(i,", ").concat(o,"), unexpected error occurs"),a),a}}),zx=n=>{const e=n.currentTarget.getBoundingClientRect(),r=n.clientX-e.left,i=n.clientY-e.top;return{x:r,y:i}},Fx=(n,e,r,i)=>({x:n*r/100+i.x,y:e*r/100+i.y}),Gx=(n,e)=>Math.round(n/e)*e,Ux=n=>{let[e,r,i,o]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return n.forEachNode((a,s)=>{const l=document.getElementById(a);if(l){const u=Cy(l);e=Math.min(u.x,e),r=Math.min(u.y,r),i=Math.max(u.x+u.width,i),o=Math.max(u.y+u.height,o)}}),e-=50,r-=50,i+=100,o+=100,{xMin:e,yMin:r,xMax:i,yMax:o}},Wx=n=>{var e,r;return{width:((e=n.width)!=null?e:720)-40,height:((r=n.height)!=null?r:1280)-40}},Cy=n=>{const e=n.getBBox(),r=n.ownerSVGElement,i=n.parentNode.getScreenCTM().inverse().multiply(n.getScreenCTM()),o=[r.createSVGPoint(),r.createSVGPoint(),r.createSVGPoint(),r.createSVGPoint()];o[0].x=e.x,o[0].y=e.y,o[1].x=e.x+e.width,o[1].y=e.y,o[2].x=e.x+e.width,o[2].y=e.y+e.height,o[3].x=e.x,o[3].y=e.y+e.height;let[a,s,l,u]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return o.forEach(c=>{c=c.matrixTransform(i),a=Math.min(a,c.x),l=Math.max(l,c.x),s=Math.min(s,c.y),u=Math.max(u,c.y)}),e.x=a,e.width=l-a,e.y=s,e.height=u-s,e},Vx=navigator.platform.startsWith("Mac"),Ia=async(n,e="SHA-256")=>{const i=new TextEncoder().encode(n),o=await crypto.subtle.digest(e,i);return Array.from(new Uint8Array(o)).map(s=>s.toString(16).padStart(2,"0")).join("")},Hx=()=>{const n=Math.floor(Math.random()*16777215);return"#".concat(n.toString(16).padStart(6,"0"))},Jx=n=>{const e=parseInt(n.slice(1,3),16),r=parseInt(n.slice(3,5),16),i=parseInt(n.slice(5,7),16);return(e*299+r*587+i*114)/1e3>=128?ee.black:ee.white},Ay="rmt-save-manager";var Ty=(n=>(n.SAVE_CHANGED="SAVE_CHANGED",n.TOKEN_REQUEST="TOKEN_REQUEST",n))(Ty||{});const Rl=new BroadcastChannel(Ay);let br,vr;const Ey=async n=>{if(!vr){const r=new pe().export();vr=await Ia(JSON.stringify(r)),jt.debug("Default graph hash: ".concat(vr))}const e=await Ia(JSON.stringify(n));br&&br!==vr&&br!==e&&(jt.debug("Notify RMP save change, hash: ".concat(e)),Rl.postMessage({type:"SAVE_CHANGED",key:Ue.PARAM,from:"rmp"})),br=e},Da=async()=>{jt.debug("Requesting token from RMT"),Rl.postMessage({type:"TOKEN_REQUEST",from:"rmp"})},Ly=async(n,e)=>{jt.debug("Updating token to: ".concat(e)),n.dispatch(Nl(e))},Oy=async(n,e)=>{const r=await fetch(xy,{headers:{accept:"application/json","Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(r.status!==200){jt.debug("Token is invalid, expiring the login state"),n.dispatch(Kn("expired")),n.dispatch(Vr(Wr));return}n.dispatch(Kn("free"));const i=(await r.json()).subscriptions,o=structuredClone(Wr);for(const a of i){const s=a.type;s in o&&(n.dispatch(Kn("subscriber")),o[s]=!0)}n.dispatch(Vr(o)),jt.debug("Token is valid, setting active subscriptions: ".concat(JSON.stringify(o)))},jy=n=>{const e=i=>{if(!i){jt.debug("Account string is empty, logging out"),n.dispatch(Nl(void 0)),n.dispatch(Kn("logged-out")),n.dispatch(Vr(Wr));return}const o=JSON.parse(i),{token:a}=o;Ly(n,a),Oy(n,a)};let r=localStorage.getItem(Ue.ACCOUNT);e(r!=null?r:void 0),window.onstorage=()=>{const i=localStorage.getItem(Ue.ACCOUNT);r!==i&&(r=i,jt.debug("Account string changed to: ".concat(i)),e(i!=null?i:void 0))}},My="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Py=(n=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=My[r[n]&63];return e};var S=(n=>(n.Diagonal="diagonal",n.Perpendicular="perpendicular",n.RotatePerpendicular="ro-perp",n.Simple="simple",n))(S||{}),D=(n=>(n.SingleColor="single-color",n.ShanghaiSuburbanRailway="sh-sub-rwy",n.ShmetroVirtualInt="shmetro-virtual-int",n.GzmtrVirtualInt="gzmtr-virtual-int",n.GZMTRLoop="gzmtr-loop",n.ChinaRailway="china-railway",n.BjsubwaySingleColor="bjsubway-single-color",n.BjsubwayTram="bjsubway-tram",n.BjsubwayDotted="bjsubway-dotted",n.DualColor="dual-color",n.River="river",n.MTRRaceDays="mtr-race-days",n.MTRLightRail="mtr-light-rail",n.MTRUnpaidArea="mtr-unpaid-area",n.MTRPaidArea="mtr-paid-area",n.MRTUnderConstruction="mrt-under-constr",n.MRTSentosaExpress="mrt-sentosa-express",n.JREastSingleColor="jr-east-single-color",n.JREastSingleColorPattern="jr-east-single-color-pattern",n.LRTSingleColor="lrt-single-color",n.LondonTubeTerminal="london-tube-terminal",n.LondonTubeInternalInt="london-tube-internal-int",n.LondonTube10MinWalk="london-tube-10-min-walk",n.LondonRail="london-rail",n.LondonSandwich="london-sandwich",n.LondonLutonAirportDART="london-DART",n.LondonIFSCloudCableCar="london-dangleway",n.GuangdongIntercityRailway="gd-intercity-rwy",n))(D||{});const Kx=["single-color","bjsubway-single-color","bjsubway-tram","bjsubway-dotted","china-railway","mtr-race-days","mtr-light-rail","mrt-under-constr","jr-east-single-color","jr-east-single-color-pattern","lrt-single-color","london-sandwich","london-DART","london-dangleway"],$y=(n,e,r,i,o=Hr)=>{const{offset:a=Hr.offset}=o,s=Math.abs((i-r)/(e-n));if(s===1/0)return"M ".concat(n+a," ").concat(r," L ").concat(e+a," ").concat(i);if(s===0)return"M ".concat(n," ").concat(r+a," L ").concat(e," ").concat(i+a);{const l=1/s,u=a/Math.sqrt(l*l+1),c=u*l*-Math.sign((e-n)*(i-r));return"M ".concat(n+u," ").concat(r+c," L ").concat(e+u," ").concat(i+c)}},Hr={offset:0},Iy=n=>{var s;const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"input",label:o("panel.details.lines.simple.offset"),value:((s=r.offset)!=null?s:Hr.offset).toString(),variant:"number",onChange:l=>{r.offset=Number(l),i(e,r)},minW:"full"}];return f.jsx(ye,{fields:a})},Dy=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M6,18L18,6",stroke:"currentColor",fill:"none"})}),By={generatePath:$y,icon:Dy,defaultAttrs:Hr,attrsComponent:Iy,metadata:{displayName:"panel.details.lines.simple.displayName"}},qx={translateX:0,translateY:0,scale:1,rotate:0},zy=3,Fy=1/0;var st=(n=>(n.Virtual="virtual",n.ShmetroNumLineBadge="shmetro-num-line-badge",n.ShmetroTextLineBadge="shmetro-text-line-badge",n.GzmtrLineBadge="gzmtr-line-badge",n.BjsubwayNumLineBadge="bjsubway-num-line-badge",n.BjsubwayTextLineBadge="bjsubway-text-line-badge",n.SuzhouRTNumLineBadge="suzhourt-num-line-badge",n.BerlinSBahnLineBadge="berlin-s-bahn-line-badge",n.BerlinUBahnLineBadge="berlin-u-bahn-line-badge",n.ChongqingRTNumLineBadge="chongqingrt-num-line-badge",n.ChongqingRTTextLineBadge="chongqingrt-text-line-badge",n.ShenzhenMetroNumLineBadge="shenzhen-metro-num-line-badge",n.MRTDestinationNumbers="mrt-num-line-badge",n.JREastLineBadge="jr-east-line-badge",n.QingdaoMetroNumLineBadge="qingdao-metro-num-line-badge",n.MRTLineBadge="mrt-line-badge",n.GuangdongIntercityRailwayLineBadge="gd-intercity-rwy-line-badge",n.LondonArrow="london-arrow",n.Facilities="facilities",n.Text="text",n.I18nText="i18n-text",n.Master="master",n))(st||{});const Gy="操作",Uy="应用程序",Wy="黑",Vy="取消",Hy="城市",Jy="组件",Ky="确定",qy="继续",Yy="复制",Zy="编辑",Qy="语言/Language",Xy="理由",eb="名称",tb="下一步",nb="打开",rb="调色板",ib="上一步",ob="删除",ab="重置",sb="设置",lb="提交",ub="翻译",cb="上传",db="白",hb={Action:Gy,Apps:Uy,"Back to list":"返回列表","Background colour":"背景色",Black:Wy,Cancel:Vy,City:Hy,Components:Jy,"Configuration file":"配置文件",Confirm:Ky,Continue:qy,"Country/Region":"国家/地区",Copy:Yy,Edit:Zy,"Foreground colour":"前景色","Go back":"返回",Language:Qy,Justification:Xy,Name:eb,Next:tb,Open:nb,Palette:rb,"Please select...":"请选择...",Previous:ib,"Rail Map Generator":"铁路线路图生成器","Rail Map Painter":"地铁线路图绘制器","Rail Map Toolkit":"线路图工具包",Remove:ob,Reset:ab,"RMG Templates":"RMG 模板","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 设计师","Seed Project":"种子项目",Settings:sb,Submit:lb,Translate:ub,Upload:cb,White:db},pb="動作",fb="應用程式",gb="黑",mb="取消",yb="城市",bb="元件",vb="確定",wb="繼續",xb="複製",Sb="編輯",Nb="語言/Language",_b="理由",Rb="名稱",kb="下一步",Cb="開啟",Ab="調色盤",Tb="上一步",Eb="移除",Lb="重設",Ob="設定",jb="提交",Mb="翻譯",Pb="上載",$b="白",Ib={Action:pb,Apps:fb,"Back to list":"返回列表","Background colour":"背景色",Black:gb,Cancel:mb,City:yb,Components:bb,"Configuration file":"設定檔",Confirm:vb,Continue:wb,Copy:xb,"Country/Region":"國家/地區",Edit:Sb,"Foreground colour":"前景色","Go back":"返回",Language:Nb,Justification:_b,Name:Rb,Next:kb,Open:Cb,Palette:Ab,"Please select...":"請選擇...",Previous:Tb,"Rail Map Generator":"鐵路路綫圖產生器","Rail Map Painter":"地鐵路綫圖繪製器","Rail Map Toolkit":"路綫圖工具組",Remove:Eb,Reset:Lb,"RMG Templates":"RMG 範本","RMP Gallery":"RMP 畫廊","RMP Designer":"RMP 設計師","Seed Project":"種子項目",Settings:Ob,Submit:jb,Translate:Mb,Upload:Pb,White:$b},Db="言語/Language",Bb="調色板",zb="削除",Fb={Language:Db,Palette:Bb,"Rail Map Generator":"鉄道路線図ジェネレータ","Rail Map Painter":"鉄道路線図画家","Rail Map Toolkit":"路線図ツールキット",Remove:zb,"RMG Templates":"RMG テンプレート","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 図案家"},Gb="조작",Ub="앱",Wb="블랙",Vb="취소",Hb="도시",Jb="요소",Kb="확인",qb="복사",Yb="편집",Zb="언어/Language",Qb="이유",Xb="명칭",ev="다음",tv="열기",nv="팔레트",rv="나아가",iv="삭제",ov="리셋",av="설치",sv="제출",lv="번역",uv="업로드",cv="화이트",dv={Action:Gb,Apps:Ub,"Back to list":"다시 목록으로","Background colour":"배경색",Black:Wb,Cancel:Vb,City:Hb,Components:Jb,"Configuration file":"환경 설정 파일",Confirm:Kb,Copy:qb,"Country/Region":"국가/지역",Edit:Yb,"Foreground colour":"전경색","Go back":"되돌아가",Language:Zb,Justification:Qb,Name:Xb,Next:ev,Open:tv,Palette:nv,"Please select...":"선택해주세요",Previous:rv,"Rail Map Generator":"철도 노선도 생성기","Rail Map Painter":"지하철 노선도 그리기","Rail Map Toolkit":"노선도 툴킷",Remove:iv,Reset:ov,"RMG Templates":"RMG 템플릿","RMP Gallery":"RMP 갤러리","RMP Designer":"RMP 디자이너","Seed Project":"종자 프로젝트",Settings:av,Submit:sv,Translate:lv,Upload:uv,White:cv};var hv={en:{},"zh-Hans":hb,"zh-Hant":Ib,ja:Fb,ko:dv};const pv="Color",fv="Warning",gv="Cancel",mv="Apply",yv="Remove",bv="Close",vv="Don't show me again",wv="The all-in-one toolkit you definitely do not want to miss!",xv={tools:{showLess:"Show less",section:{lineDrawing:"Line drawing",stations:"Stations",miscellaneousNodes:"Miscellaneous nodes"},select:"Select",learnHowToAdd:{station:"Learn how to add your stations!","misc-node":"Learn how to add your nodes!",line:"Learn how to add your line styles!"}},details:{header:"Details",info:{title:"Basic information",id:"ID",zIndex:"Depth",stationType:"Station Type",linePathType:"Line Path Type",lineStyleType:"Line Style Type",type:"Type",parallel:"Parallel line",parallelIndex:"Parallel index"},multipleSelection:{title:"Multiple Selection",change:"Change selected attributes",selected:"Selected Objects:",show:"Show",station:"Stations",miscNode:"MiscNodes",edge:"Lines"},changeStationTypeContent:"Changing station's type will remove all attributes from the station except its names.",changeLineTypeContent:"Changing line's type will remove all attributes from the line.",changeType:"Change Type",nodePosition:{title:"Node Position",pos:{x:"Coordinate X",y:"Coordinate Y"}},lineExtremities:{title:"Line Extremities",source:"Source",target:"Target",sourceName:"Source Name",targetName:"Target Name"},specificAttrsTitle:"Specific Attributes",unknown:{error:"Oops :( We can't recognize this {{category}}. Maybe it is created in a newer version.",node:"node",linePath:"line path",lineStyle:"line style"},nodes:{common:{nameZh:"Line name in Chinese",nameEn:"Line name in English",nameJa:"Line name in Japanese",num:"Line number"},virtual:{displayName:"Virtual node"},shmetroNumLineBadge:{displayName:"Shanghai Metro num line badge"},shmetroTextLineBadge:{displayName:"Shanghai Metro text line badge"},gzmtrLineBadge:{displayName:"Guangzhou Metro line badge",tram:"Tram",span:"Row-spanning digits"},bjsubwayNumLineBadge:{displayName:"Beijing Subway num line badge"},bjsubwayTextLineBadge:{displayName:"Beijing Subway text line badge"},berlinSBahnLineBadge:{displayName:"Berlin S Bahn line badge"},berlinUBahnLineBadge:{displayName:"Berlin U Bahn line badge"},suzhouRTNumLineBadge:{displayName:"Suzhou Rail Transit num line badge",branch:"Is branch line"},chongqingRTNumLineBadge:{displayName:"Chongqing Rail Transit num line badge"},chongqingRTTextLineBadge:{displayName:"Chongqing Rail Transit text line badge"},shenzhenMetroNumLineBadge:{displayName:"Shenzhen Metro num line badge",branch:"Is branch line"},mrtDestinationNumbers:{displayName:"Singapore MRT destination numbers"},mrtLineBadge:{displayName:"Singapore MRT line badge",isTram:"Is LRT line badge"},jrEastLineBadge:{displayName:"JR East line badge",crosshatchPatternFill:"Fill with crosshatch pattern"},qingdaoMetroNumLineBadge:{displayName:"Qingdao Metro Num line badge",numEn:"Line number in English",showText:"Show text"},guangdongIntercityRailwayLineBadge:{displayName:"Guangdong Intercity Railway line badge"},londonArrow:{displayName:"London arrow",type:"Type",continuation:"Continuation",sandwich:"Sandwich",tube:"Tube"},master:{displayName:"Master node",type:"Master node type",undefined:"Undefined"},facilities:{displayName:"Facilities",type:"Type"},text:{displayName:"Arbitrary text",content:"Content",fontSize:"Font size",lineHeight:"Line height",textAnchor:"Text anchor",start:"Start",middle:"Middle",end:"End",auto:"Auto",hanging:"Hanging",dominantBaseline:"Dominant baseline",language:"Font family in which language",zh:"Chinese",en:"English",mtr__zh:"Hongkong MTR Chinese",mtr__en:"Hongkong MTR English",berlin:"Berlin S/U Bahn",mrt:"Singapore MRT",jreast_ja:"JR East Japanese",jreast_en:"JR East English",rotate:"Rotation",italic:"Italic",bold:"Bold"}},stations:{common:{nameZh:"Names in Chinese",nameEn:"Names in English",nameJa:"Names in Japanese",nameOffsetX:"Names offset X",nameOffsetY:"Names offset Y",rotate:"Icon rotation",lineCode:"Line code",stationCode:"Station code",left:"Left",middle:"Middle",right:"Right",top:"Top",bottom:"Bottom"},interchange:{title:"Interchanges",within:"Within-station interchange",outStation:"Out-of-station interchange",outSystem:"Out-of-system interchange",addGroup:"Add interchange group",noInterchanges:"No interchanges",nameZh:"Chinese name",nameEn:"English name",add:"Add interchange",copy:"Copy interchange",remove:"Remove interchange"},shmetroBasic:{displayName:"Shanghai Metro basic station"},shmetroBasic2020:{displayName:"Shanghai Metro basic station (2020)"},shmetroInt:{displayName:"Shanghai Metro interchange station",height:"Icon height",width:"Icon width"},shmetroOsysi:{displayName:"Shanghai Metro out-of-system interchange station"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway station"},gzmtrBasic:{displayName:"Guangzhou Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},gzmtrInt:{displayName:"Guangzhou Metro interchange station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",foshan:"Foshan"},gzmtrInt2024:{displayName:"Guangzhou Metro interchange station (2024)",columns:"Columns of stations",topHeavy:"Prefer more stations on the top row",anchorAt:"Anchor at",anchorAtNone:"Center",osiPosition:"Out-of-Station Interchange",osiPositionNone:"None",osiPositionLeft:"Left",osiPositionRight:"Right"},bjsubwayBasic:{displayName:"Beijing Subway basic station",open:"Is opened"},bjsubwayInt:{displayName:"Beijing Subway interchange station",outOfStation:"Out of station interchange"},mtr:{displayName:"Hongkong MTR station",rotate:"Icon rotation"},suzhouRTBasic:{displayName:"Suzhou Rail Transit basic station",textVertical:"Vertical names"},suzhouRTInt:{displayName:"Suzhou Rail Transit interchange station"},kunmingRTBasic:{displayName:"Kunming Rail Transit basic station"},kunmingRTInt:{displayName:"Kunming Rail Transit interchange station"},MRTBasic:{displayName:"Singapore MRT basic station",isTram:"Is LRT station"},MRTInt:{displayName:"Singapore MRT interchange station"},jrEastBasic:{displayName:"JR East basic station",nameOffset:"Names offset",textOneLine:"Names in one line",textVertical:"Vertical names",important:"Important station",lines:"Interchange lines offset"},jrEastImportant:{displayName:"JR East important station",textVertical:"Vertical names",mostImportant:"Most important station",minLength:"Minimal length of the station"},foshanMetroBasic:{displayName:"Foshan Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},qingdaoMetro:{displayName:"Qingdao Metro station",isInt:"Is interchange station"},tokyoMetroBasic:{displayName:"Tokyo Metro basic station",nameOffset:"Names offset",textVertical:"Vertical names",lineCode:"Line code",stationCode:"Station code"},tokyoMetroInt:{displayName:"Tokyo Metro interchange station",mereOffset:{displayName:"Names mere offset",none:"None",left1:"Left (less)",left2:"Left (more)",right1:"Right (less)",right2:"Right (more)",up:"Up",down:"Down"},importance:{displayName:"Station importance",default:"Default",middle:"Middle",high:"High"},align:{displayName:"Icon align",horizontal:"Horizontal",vertical:"Vertical"}},londonTubeCommon:{stepFreeAccess:"Step free access",stepFreeAccessNone:"None",stepFreeAccessTrain:"From street to train",stepFreeAccessPlatform:"From street to platform"},londonTubeBasic:{displayName:"London Tube basic station",terminal:"Terminal station",shareTracks:"Track shares",shareTracksIndex:"Index of the track shares"},londonTubeInt:{displayName:"London Tube interchange station"},londonRiverServicesInt:{displayName:"London river services interchange station"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway station"}},lines:{reconcileId:"Reconcile ID",common:{offsetFrom:"Offset From",offsetTo:"Offset To",startFrom:"Start From",from:"From",to:"To",roundCornerFactor:"Round Corner Factor",parallelDisabled:"Some attributes are disabled as this line is parallel.",changeInBaseLine:"Change them in the base line:"},simple:{displayName:"Simple path",offset:"Offset"},diagonal:{displayName:"135° diagonal path"},perpendicular:{displayName:"90° perpendicular path"},rotatePerpendicular:{displayName:"90° rotate perpendicular path"},singleColor:{displayName:"Single color style"},shmetroVirtualInt:{displayName:"Shanghai Metro out-of-station interchange style"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway style",isEnd:"Is the ending line"},gzmtrVirtualInt:{displayName:"Guangzhou Metro out-of-station interchange style"},gzmtrLoop:{displayName:"Guangzhou Metro loop style"},chinaRailway:{displayName:"China Railway style"},bjsubwaySingleColor:{displayName:"Beijing Subway single color style"},bjsubwayTram:{displayName:"Beijing Subway tram style"},bjsubwayDotted:{displayName:"Beijing Subway dotted style"},dualColor:{displayName:"Dual color style",swap:"Swap color",colorA:"Color A",colorB:"Color B"},river:{displayName:"River style",width:"Width"},mtrRaceDays:{displayName:"Hongkong MTR race days style"},mtrLightRail:{displayName:"Hongkong MTR light rail style"},mtrUnpaidArea:{displayName:"Hongkong MTR unpaid area style"},mtrPaidArea:{displayName:"Hongkong MTR paid area style"},mrtUnderConstruction:{displayName:"Singapore MRT under construction style"},mrtSentosaExpress:{displayName:"Singapore MRT Sentosa Express style"},jrEastSingleColor:{displayName:"JR East single color style"},jrEastSingleColorPattern:{displayName:"JR East single color filled with crosshatch pattern style"},lrtSingleColor:{displayName:"Singapore LRT single color style"},londonTubeInternalInt:{displayName:"London Tube internal interchange style"},londonTube10MinWalk:{displayName:"London Tube under a 10 minute walk interchange style"},londonTubeTerminal:{displayName:"London Tube terminal style"},londonRail:{displayName:"London rail style",limitedService:"Limited service/Peak hours only",colorBackground:"Color background",colorForeground:"Color foreground"},londonSandwich:{displayName:"London sandwich style"},londonLutonAirportDART:{displayName:"London Luton Airport DART style"},londonIFSCloudCableCar:{displayName:"London IFS Cloud Cable Car style"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway style"}},edge:{},footer:{duplicate:"Duplicate",copy:"Copy",remove:"Remove"}}},Sv={popoverHeader:"You're on <1>{{environment}} environment!",popoverBody:"We are currently testing the latest RMP. If you have any suggestions, feel free to raise at https://github.com/railmapgen/rmp/issues",search:"Search stations",open:{new:"New project",config:"Import project",projectRMG:"Import from RMG project",invalidType:"Invalid file type! Only file in JSON format is accepted.",unknownError:"Unknown error occurred while parsing the uploaded file! Please try again.",gallery:"Import from Gallery",tutorial:"Start tutorial",importFromRMPGallery:"Template {{id}} imported. Not satisfied with this change? Undo via Ctrl + Z or the undo button.",failToImportFromRMPGallery:"Fail to import {{id}} from the gallery. The file can not be found."},download:{config:"Export project",image:"Export image","2rmg":{title:"Export to RMG project",type:{line:"Line",loop:"Loop",branch:"Branch"},placeholder:{chinese:"Chinese name",english:"English name",lineCode:"Line code"},info1:"This function is designed to convert the RMP project into RMG projects.",info2:"The lines in the list following are the available lines for converting. You can enter the Chinese line name in the text box on the left, the English line name in the middle, the line code (for Guangzhou Metro style) on the right, and then click the download button on the right to save your RMG projects.",noline:"No available lines found.",download:"Download",downloadInfo:"Please select one of the following stations as the starting station and click it to download."},format:"Format",png:"PNG",svg:"SVG",svgVersion:"Version","svg1.1":"1.1 (Compatible with Adobe Illustrator)",svg2:"2 (Compatible with modern browsers)",transparent:"Transparency",scale:"Scale",disabledScaleOptions:"Some scale options are disabled due to your browser's canvas limitation.",disabledScaleOptionsWorkarounds:"Possible workarounds include generating the image from svg using this cli tool: ",imageTooBig:"The image is too big for your browser to generate!",useSystemFonts:"Use system fonts instead of fonts previewed in the canvas",shareInfo1:"I will attach ",shareInfo2:" and its link when I share this image.",termsAndConditions:"Terms and Conditions",termsAndConditionsInfo:"I agree to ",period:".",confirm:"Download"},donation:{title:"Donation",openCollective:"Open Collective",viaUSD:"Donate in USD via Paypal or Visa card.",afdian:"爱发电",viaCNY:"Donate in CNY via Alipay or Wechat Pay."},settings:{title:"Settings",pro:"This is a PRO feature and an account with a subscription is required.",proWithTrial:"This is a PRO feature with a limited free trial available.",proLimitExceed:{master:"Master nodes exceed the free tier.",parallel:"Parallel lines exceed the free tier.",solution:"Remove them to dismiss this warning, or subscribe to unlock more!"},subscription:{title:"Subscription Status","logged-out":"You are currently logged out.",free:"Logged In! Subscribe to unlock more features!",subscriber:"Thanks for your subscription! Enjoy all features!",expired:"Login status expired. Please log out and log in again."},preference:{title:"Preference",keepLastPath:"Keep drawing lines until clicking on the background in the next move",autoParallel:"Automatically set new lines to be parallel to existing lines",randomStationNames:{title:"Set station names to random on creation",none:"None",shmetro:"Shanghai",bjsubway:"Beijing"}},shortcuts:{title:"Shortcuts",keys:"Keys",description:"Description",f:"Use the last tool.",s:"Select.",arrows:"Move the canvas a little bit.",ijkl:"Move the selected station(s) a little bit.",shift:"Multiple selection.",alt:"Precise movement.",delete:"Delete the selected station(s).",cut:"Cut.",copy:"Copy.",paste:"Paste.",undo:"Undo.",redo:"Redo."},procedures:{title:"Procedures",translate:{title:"Translate nodes' coordinates",content:"Add the following offset to all nodes' x and y:",x:"X axis",y:"Y axis"},scale:{title:"Scale nodes' coordinates",content:"Multiply the following value to all nodes' x and y:",factor:"Scale factor"},changeType:{title:"Change all objects' attributes",any:"Any"},changeZIndex:"Change depth in batch",changeStationType:{title:"Change stations type in batch",changeFrom:"Change all stations from this type:",changeTo:"To this type:",info:"Changing stations' type will remove all specific attributes from stations except their position and names. SAVE BEFORE CHANGE!"},changeLineStyleType:{title:"Change lines style in batch",changeFrom:"Change all lines from this style:",changeTo:"To this style:",info:"Changing lines' style will remove all specific attributes from lines except their connections. SAVE BEFORE CHANGE!"},changeLinePathType:{title:"Change lines path in batch",changeFrom:"Change all lines from this path:",changeTo:"To this path:"},changeColor:{title:"Change color in batch",changeFrom:"Change all objects from this color:",changeTo:"To this color:",any:"From any color"},removeLines:{title:"Remove lines with single color",content:"Remove lines that have this color: "},updateColor:{title:"Update color",content:"Update all colors with their latest value.",success:"Successfully update all colors.",error:"Error in updating all colors: {{e}}."},unlockSimplePath:{title:"Unlock simple path",content1:"The Rail Map Painter application endeavors to offer an interactive platform conducive to the creation of rail maps while adhering to established conventions. Among these conventions, one particularly renowned style finds its origins in the innovative work of Harry Beck. His pioneering contribution, officially endorsed in the year 1932, garnered instantaneous acclaim from the general populace. Presently, it stands as an exemplar of paramount significance within the realm of information design. This paradigmatic approach has found widespread implementation in transit cartography on a global scale, albeit with varying degrees of success.",content2:"The application inherently conceals the option to utilize a simple path, as its deployment has the potential to contravene established conventions. This particular feature remains discreetly tucked away by default. Additionally, submissions to the Rail Map Painter Gallery are subject to stringent scrutiny, with a categorical rejection of compositions that employ the simple path with a single color style approach.",content3:"Still, we reserve the opportunity to unlock this option and use the simple path when you subscribe. It should be noted that even after acquisition, the use of simple path is limited to single color.",check:"Unlock",unlocked:"Already Unlocked"},masterManager:{title:"Manage all master nodes",id:"Id",label:"Label",type:"Type",types:{MiscNode:"MiscNode",Station:"Station"},importTitle:"Upload master parameter",importFrom:"Use imported styles",importOther:"Import new style",importParam:"Paste configuration"}},telemetry:{title:"Telemetry",info:"To help improve Rail Map Painter and keep contributors motivated to enhance the project, anonymous usage data is collected through Google Analytics. This data is used solely for enhancing the user experience and optimizing the tool's functionality and is never shared with third parties.",essential:"Basic",essentialTooltip:"Change this global setting in Rail Map Toolkit",essentialInfo:"Rail Map Painter collects essential usage data that helps us understand how and when users interact with the tool. Rest assured, no personally identifiable information or data from your projects is ever collected.",essentialLink:"Click this link to see detailed fields that Google Analytics may collect.",additional:"Additional",additionalInfo:"Rail Map Painter also gathers data on interactions, such as project creation or station addition, when you input. These additional data is also anonymous and are only used for statistical analysis to help us make the tool better."}},about:{title:"About",rmp:"Rail Map Painter",railmapgen:"A Rail Map Toolkit project",desc:"Design your own rail map by freely dragging stations from different cities and connecting them with 90 or 135-degree rounded corners lines!",content1:"In memory of all the freedom and equality we once had.",content2:"06/01/2022 in Shanghai",contributors:"Contributors",coreContributors:"Core Contributors",styleContributors:"Style Contributors",langonginc:"Live a life you will remember.","203IhzElttil":"Special thanks for his diligent work in ensuring that the stations of Shanghai Metro match the original design.",Swiftiecott:"Special thanks for his diligent work in ensuring that the stations of Beijing Subway match the original design.",Minwtraft:"Special thanks for his diligent work in ensuring that the stations of Guangzhou Metro match the original design.",contactUs:"Contact Us",github:"Project repository",githubContent:"Face any problems? Search or raise an issue here!",slack:"Slack group",slackContent:"Chat in these Slack channels!"}},Nv={color:pv,warning:fv,cancel:gv,apply:mv,remove:yv,close:bv,noShowAgain:vv,rmtPromotion:wv,panel:xv,header:Sv},_v="Color A",Rv="Color B",kv="カラー",Cv="警告",Av="キャンセル",Tv="適用",Ev="削除",Lv="閉じる",Ov="次回表示しない",jv="絶対に見逃せないオールインワンツールキット!",Mv={tools:{showLess:"表示を減らす",section:{lineDrawing:"路線描画",stations:"駅",miscellaneousNodes:"その他の節点"},select:"選択する",learnHowToAdd:{station:"駅を追加する方法を学ぶ!","misc-node":"節点を追加する方法を学ぶ!",line:"路線風格を追加する方法を学ぶ!"}},details:{header:"詳細",info:{title:"基本情報",id:"ID",zIndex:"深度",stationType:"駅の種類",linePathType:"路線経路の種類",lineStyleType:"路線風格の種類",type:"種類",parallel:"平行路線",parallelIndex:"平行路線索引"},multipleSelection:{title:"複数選択",change:"選択した属性を変更する",selected:"選択されたオブジェクト:",show:"見せる",station:"駅",miscNode:"その他のノード",edge:"ライン"},changeStationTypeContent:"駅の種類を変更すると、駅の名前以外のすべての属性が削除されます。",changeLineTypeContent:"路線の種類を変更すると、すべての属性が削除されます。",changeType:"種類を変更",nodePosition:{title:"節点の位置",pos:{x:"X座標",y:"Y座標"}},lineExtremities:{title:"路線の端点",source:"出発点",target:"到着点",sourceName:"出発点名",targetName:"到着点名"},specificAttrsTitle:"特定の属性",unknown:{error:"おっと :( これは{{category}}を認識できません。おそらくそれは新しいバージョンで作成されました。",node:"節点",linePath:"路線経路",lineStyle:"路線風格"},nodes:{common:{nameZh:"中国語の路線名",nameEn:"英語の路線名",nameJa:"日本語の路線名",num:"路線番号"},virtual:{displayName:"仮想節点"},shmetroNumLineBadge:{displayName:"上海地下鉄路線番号徽章"},shmetroTextLineBadge:{displayName:"上海地下鉄テキスト路線徽章"},gzmtrLineBadge:{displayName:"広州地下鉄路線徽章",tram:"路面電車",span:"行にまたがる数字"},bjsubwayNumLineBadge:{displayName:"北京地下鉄路線番号徽章"},bjsubwayTextLineBadge:{displayName:"北京地下鉄テキスト路線徽章"},berlinSBahnLineBadge:{displayName:"ベルリンSバーン番号徽章"},berlinUBahnLineBadge:{displayName:"ベルリン地下鉄番号徽章"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通路線番号徽章",branch:"支線"},chongqingRTNumLineBadge:{displayName:"重慶鉄道交通路線番号徽章"},chongqingRTTextLineBadge:{displayName:"重慶鉄道交通テキスト路線徽章"},shenzhenMetroNumLineBadge:{displayName:"深セン地下鉄路線番号徽章",branch:"支線"},mrtDestinationNumbers:{displayName:"シンガポールMRTの目的地番号"},mrtLineBadge:{displayName:"シンガポールMRT路線バッジ",isTram:"LRT路線バッジです"},jrEastLineBadge:{displayName:"JR東日本路線番号徽章",crosshatchPatternFill:"網目模様で塗りつぶす"},qingdaoMetroNumLineBadge:{displayName:"青島地下鉄番号線徽章",numEn:"英語の行番号",showText:"テキストを表示"},guangdongIntercityRailwayLineBadge:{displayName:"広東省都市間鉄道線徽章"},londonArrow:{displayName:"ロンドン矢印",type:"種類",continuation:"継続",sandwich:"サンドイッチ",tube:"地下鉄"},master:{displayName:"大師節点",type:"大師節点種類",undefined:"未定義"},facilities:{displayName:"施設",type:"種類"},text:{displayName:"任意のテキスト",content:"コンテンツ",fontSize:"書体サイズ",lineHeight:"行の高さ",textAnchor:"テキストのアンカー",start:"開始",middle:"中央",end:"終了",auto:"自動",hanging:"吊り下げ",dominantBaseline:"ドミナントベースライン",language:"言語での書体ファミリー",zh:"中国語",en:"英語",mtr__zh:"香港MTR中国語",mtr__en:"香港MTR英語",berlin:"ベルリンS/Uバーン",mrt:"シンガポールMRT",jreast_ja:"JR東日本日本語",jreast_en:"JR東日本英語",rotate:"回転",italic:"イタリック体",bold:"太字"}},stations:{common:{nameZh:"中国語の駅名",nameEn:"英語の駅名",nameJa:"日本語の駅名",nameOffsetX:"駅名補正値X",nameOffsetY:"駅名補正値Y",rotate:"アイコンの回転",lineCode:"路線番号",stationCode:"駅番号",left:"左",middle:"中央",right:"右",top:"上",bottom:"下"},interchange:{title:"乗り換え",within:"駅構内の乗り換え",outStation:"駅外の乗り換え",outSystem:"系統外の乗り換え",addGroup:"乗り換えグループを追加",noInterchanges:"乗り換えなし",nameZh:"中国語の駅名",nameEn:"英語の駅名",add:"乗り換えを追加",copy:"乗り換えをコピー",remove:"乗り換えを削除"},shmetroBasic:{displayName:"上海地下鉄基本駅"},shmetroBasic2020:{displayName:"上海地下鉄基本駅(令和2年)"},shmetroInt:{displayName:"上海地下鉄乗り換え駅",height:"アイコンの高さ",width:"アイコンの幅"},shmetroOsysi:{displayName:"上海地下鉄の系統外乗り換え駅"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道駅"},gzmtrBasic:{displayName:"広州地下鉄基本駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},gzmtrInt:{displayName:"広州地下鉄乗り換え駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",foshan:"仏山"},gzmtrInt2024:{displayName:"広州地下鉄乗り換え駅(令和6年)",columns:"駅の列数",topHeavy:"上段に多くの駅を優先配置",anchorAt:"錨位置",anchorAtNone:"中心",osiPosition:"改札外乗り換え",osiPositionNone:"なし",osiPositionLeft:"左",osiPositionRight:"右"},bjsubwayBasic:{displayName:"北京地下鉄基本駅",open:"開業済み"},bjsubwayInt:{displayName:"北京地下鉄乗り換え駅",outOfStation:"改札外乗り換え"},mtr:{displayName:"香港MTR駅",rotate:"アイコンの回転"},suzhouRTBasic:{displayName:"蘇州軌道交通基本駅",textVertical:"垂直の名前"},suzhouRTInt:{displayName:"蘇州軌道交通乗り換え駅"},kunmingRTBasic:{displayName:"昆明軌道交通基本駅"},kunmingRTInt:{displayName:"昆明軌道交通乗り換え駅"},MRTBasic:{displayName:"シンガポールMRT基本駅",isTram:"LRTの駅です"},MRTInt:{displayName:"シンガポールMRT乗り換え駅"},jrEastBasic:{displayName:"JR東日本基本駅",nameOffset:"名前の補正値",textOneLine:"1行での名前",textVertical:"垂直の名前",important:"重要な駅",lines:"乗り換え線の補正値"},jrEastImportant:{displayName:"JR東日本重要駅",textVertical:"垂直の名前",mostImportant:"最も重要な駅",minLength:"駅の最小長"},foshanMetroBasic:{displayName:"仏山地鐵基本車站",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},qingdaoMetro:{displayName:"地下鉄青島駅",isInt:"乗換駅です"},tokyoMetroBasic:{displayName:"東京メトロの基本駅",nameOffset:"駅名補正値",textVertical:"垂直の名前"},tokyoMetroInt:{displayName:"東京メトロ乗換駅",mereOffset:{displayName:"名前は単なるオフセットです",none:"なし",left1:"左(少ない)",left2:"左(さらに)",right1:"右(少ない)",right2:"右(さらに)",up:"上",down:"下"},importance:{displayName:"駅の重要性",default:"デフォルト",middle:"真ん中",high:"高い"},align:{displayName:"アイコンの整列",horizontal:"水平",vertical:"垂直"}},londonTubeCommon:{stepFreeAccess:"段差のないアクセス",stepFreeAccessNone:"なし",stepFreeAccessTrain:"駅から電車まで",stepFreeAccessPlatform:"駅からプラットフォームまで"},londonTubeBasic:{displayName:"ロンドン地下鉄基本駅",terminal:"終着駅",shareTracks:"線路共有",shareTracksIndex:"線路共有索引"},londonTubeInt:{displayName:"ロンドン地下鉄乗換駅"},londonRiverServicesInt:{displayName:"ロンドン川サービス乗換駅"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道駅"}},lines:{reconcileId:"調整ID",common:{offsetFrom:"補正値(From)",offsetTo:"補正値(To)",startFrom:"開始位置",roundCornerFactor:"角の丸め係数",from:"から",to:"まで",parallelDisabled:"この路線が平行であるため、一部の属性が無効になっています。",changeInBaseLine:"基準線で変更してください:"},simple:{displayName:"簡単な経路",offset:"補正値"},diagonal:{displayName:"135°対角経路"},perpendicular:{displayName:"90°垂直経路"},rotatePerpendicular:{displayName:"90°回転する垂直経路"},singleColor:{displayName:"単色風格"},shmetroVirtualInt:{displayName:"上海地下鉄駅外乗り換え風格"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道風格",isEnd:"終了行"},gzmtrVirtualInt:{displayName:"広州地下鉄駅外乗り換え風格"},gzmtrLoop:{displayName:"広州地下鉄環状線風格"},chinaRailway:{displayName:"中国鉄道風格"},bjsubwaySingleColor:{displayName:"北京地下鉄単色風格"},bjsubwayTram:{displayName:"北京地下鉄路面電車風格"},bjsubwayDotted:{displayName:"北京地下鉄の点線風格"},dualColor:{displayName:"2色風格",swap:"色を交換",colorA:"色A",colorB:"色B"},river:{displayName:"河川風格",width:"幅"},mtrRaceDays:{displayName:"香港MTRレース日風格"},mtrLightRail:{displayName:"香港MTR軽軌風格"},mtrUnpaidArea:{displayName:"香港MTR改札外乗り換え風格"},mtrPaidArea:{displayName:"香港MTR改札内乗り換え風格"},mrtUnderConstruction:{displayName:"シンガポール MRT 工事中風格"},mrtSentosaExpress:{displayName:"シンガポール MRT セントーサ・エクスプレス風格"},jrEastSingleColor:{displayName:"JR東日本単色風格"},jrEastSingleColorPattern:{displayName:"JR東日本単色網目模様風格"},lrtSingleColor:{displayName:"シンガポールLRT単色風格"},londonTubeInternalInt:{displayName:"ロンドン地下鉄内部乗換風格"},londonTube10MinWalk:{displayName:"ロンドン地下鉄10分以内の乗換風格"},londonTubeTerminal:{displayName:"ロンドン地下鉄終着風格"},londonRail:{displayName:"ロンドン鉄道風格",limitedService:"限定サービス/ピーク時のみ",colorBackground:"背景色",colorForeground:"前景色"},londonSandwich:{displayName:"ロンドンサンドイッチ風格"},londonLutonAirportDART:{displayName:"ロンドンルートン空港DART風格"},londonIFSCloudCableCar:{displayName:"ロンドンIF雲索道風格"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道風格"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"削除"}}},Pv={popoverHeader:"<1>{{environment}} 環境です!",popoverBody:"現在、最新のRMPをテストしています。ご意見がありましたら、https://github.com/railmapgen/rmp/issues で提案してください",search:"駅を探す",open:{new:"新しい作品",config:"作品をインポート",projectRMG:"RMG作品からインポート",invalidType:"無効なファイルタイプです!JSON形式のファイルのみが受け付けられます。",unknownError:"アップロードされたファイルの解析中に不明なエラーが発生しました。もう一度お試しください。",gallery:"ギャラリーからインポート",tutorial:"指導を開始する",importFromRMPGallery:"テンプレート{{id}}がインポートされました。この変更に満足していませんか?Ctrl + Zまたは元に戻すボタンで元に戻せます。",failToImportFromRMPGallery:"ギャラリーから{{id}}のインポートに失敗しました。ファイルが見つかりませんでした。"},download:{config:"作品をエクスポート",image:"画像をエクスポート","2rmg":{title:"RMG作品へエクスポート",type:{line:"直線",loop:"環状線",branch:"支線"},placeholder:{chinese:"中国語のライン名",english:"英語の路線名",lineCode:"路線番号"},info1:"この機能は、RMP作品をRMG作品に変換するために設計されています。",info2:"以下のリストの行は、変換用に利用できます。左側のテキストボックスに中国語の行名、中央に英語の行名、右側に(広州メトロ風格用の)行コードを入力し、ダウンロードボタンをクリックしてRMG作品を保存できます。",noline:"利用可能な回線が見つかりません。",download:"ダウンロード",downloadInfo:"出発駅を選択してクリックしてください。"},format:"フォーマット",png:"PNG",svg:"SVG",svgVersion:"版","svg1.1":"1.1(Adobe Illustratorと互換性あり)",svg2:"2(現代のブラウザと互換性あり)",transparent:"透明性",scale:"スケール",disabledScaleOptions:"ブラウザのキャンバス制限のため、一部のスケールオプションが無効になっています。",disabledScaleOptionsWorkarounds:"回避策として、このCLIツールを使用してSVGから画像を生成する方法が考えられます:",imageTooBig:"画像が大きすぎてブラウザで生成できません!",useSystemFonts:"キャンバスで内覧された書体の代わりに系統書体を使用する",shareInfo1:"この画像を共有する際に、添付ファイル ",shareInfo2:" とリンクを添付します。",termsAndConditions:"利用規約",termsAndConditionsInfo:"以下の利用規約に同意します:",period:"。",confirm:"ダウンロード"},donation:{title:"寄付",openCollective:"Open Collective",viaUSD:"PaypalまたはVisaカードを使用してドルで寄付する。",afdian:"爱发电",viaCNY:"AlipayまたはWechat Payを使用して人民元で寄付する。"},settings:{title:"設定",pro:"これはPRO機能であり、サブスクリプションが必要です。",proWithTrial:"これはPRO機能で、無料の限定トライアルが利用可能です。",proLimitExceed:{master:"大師節点が無料枠を超えています。",parallel:"平行路線が無料枠を超えています。",solution:"これらを削除して警告を解除するか、サブスクリプションに登録してさらに多くの機能を利用してください!"},subscription:{title:"サブスクリプションステータス","logged-out":"現在ログアウトしています。",free:"ログイン済み!さらに多くの機能をアンロックするにはサブスクリプションを登録してください!",subscriber:"サブスクリプションありがとうございます!すべての機能をお楽しみください!",expired:"ログインステータスの有効期限が切れました。ログアウトして再度ログインしてください。"},preference:{title:"設定",keepLastPath:"次の移動で背景をクリックするまで、線を描き続ける",autoParallel:"新しい路線を既存の路線と平行に自動的に設定",randomStationNames:{title:"作成時に駅名を乱数化する",none:"なし",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"ショートカット",keys:"キー",description:"説明",f:"最後のツールを使用する。",s:"選択する。",arrows:"キャンバスを少し移動します。",ijkl:"選択した駅を少し移動します。",shift:"複数選択。",alt:"正確な移動。",delete:"選択した駅を削除します。",cut:"切り取る。",copy:"複製する。",paste:"貼り付ける。",undo:"元に戻す。",redo:"やり直す。"},procedures:{title:"手順",translate:{title:"節点の座標を変換",content:"すべての節点のX座標とY座標に次の補正値を追加する:",x:"X軸",y:"Y軸"},scale:{title:"節点の座標をスケーリング",content:"すべての節点のX座標とY座標に次の値を乗算する:",factor:"スケールファクター"},changeType:{title:"すべてのオブジェクトの属性を変更する",any:"どれでも"},changeZIndex:"深度を変更する",changeStationType:{title:"一括で駅の種類を変更",changeFrom:"すべての駅をこの種類から変更する:",changeTo:"この種類に変更する:",info:"駅の種類を変更すると、位置と名前以外の特定の属性がすべて削除されます。変更する前に保存してください!"},changeLineStyleType:{title:"線の風格を一括で変更",changeFrom:"この風格からすべての行を変更します:",changeTo:"この風格に:",info:"線の風格を変更すると、接続を除くすべての特定の属性が線から削除されます。 変更する前に保存してください!"},changeLinePathType:{title:"行のパスを一括で変更する",changeFrom:"このパスのすべての行を変更します:",changeTo:"この道へ:"},changeColor:{title:"一括で色を変更する",changeFrom:"すべてのオブジェクトをこの色から変更します:",changeTo:"この色に:",any:"どの色からも"},removeLines:{title:"単一色の路線を削除",content:"この色を持つ路線を削除する:"},updateColor:{title:"色を更新する",content:"最新の値ですべての色を更新します。",success:"すべての色を正常に更新しました。",error:"すべての色を更新する際にエラーが発生しました: {{e}}。"},unlockSimplePath:{title:"簡単な経路の解除",content1:"「地下鉄路線図画家」は、既存の慣例に従いつつ、鉄道地図の作成を支援するインタラクティブなプラットフォームを提供することを目指しています。その中でも、特に有名な風格の1つは、ハリー・ベックの革新的な作品に由来しています。彼の先駆的な貢献は1932年に正式に認められ、一般大衆から即座に称賛されました。現在では、情報デザインの領域において極めて重要な存在となっています。この典型的なアプローチは、世界規模の公共交通カートグラフィに広く採用されていますが、成功度は異なります。",content2:"アプリケーション自体は、既存の慣例に反する可能性があるため、簡単な経路を利用するオプションをデフォルトで控えめに隠しています。また、「地下鉄路線図画家ギャラリー」への投稿は厳格な審査を受けることになり、簡単な経路を単一の色の風格で使用する作品は断固として拒否されます。",content3:"それでも、このオプションのロックを解除し、寄付時にイージーパスを使用する機会を予約します。 取得後も、単純なパスの使用はモノクロスタイルに限定されることに注意してください。",check:"簡単な経路を解除",unlocked:"既に解除されています"},masterManager:{title:"すべての大師節点を管理する",id:"ID",label:"標識",type:"種類",types:{MiscNode:"その他節点",Station:"駅"},importTitle:"大師引数をアップロード",importFrom:"インポートしたスタイルを使用",importOther:"新しいスタイルをインポート",importParam:"設定情報を貼り付け"}},telemetry:{title:"テレメトリー",info:"鉄道路線図画家を改善し、貢献者がプロジェクトを向上させる意欲を維持するため、Google Analytics を通じて匿名の使用データを収集しています。このデータはユーザー体験の向上とツールの最適化のためだけに使用され、第三者と共有されることはありません。",essential:"基本",essentialTooltip:"鉄道路線図ツールキットでこのグローバル設定を変更する",essentialInfo:"鉄道路線図画家は、ツールがどのように、またいつ使用されるかを理解するための基本的な使用データを収集します。ご安心ください。個人を特定できる情報やプロジェクトデータは一切収集されません。",essentialLink:"Google Analytics が収集する可能性のある詳細フィールドを表示するには、こちらのリンクをクリックしてください。",additional:"追加",additionalInfo:"鉄道路線図画家は、プロジェクトの作成や駅の追加など、入力時のインタラクションに関するデータも収集します。これらの追加データも匿名であり、ツールを改善するための統計分析にのみ使用されます。"}},about:{title:"について",rmp:"地下鉄路線図画家",railmapgen:"地下鉄路線図ツールキットのプロジェクト",desc:"異なる都市の駅を自由にドラッグして、90度または135度の角丸線で接続して独自の鉄道地図を設計しましょう!",content1:"かつて私たちが持っていた自由と平等のすべての記憶に捧げます。",content2:"2022年6月1日、上海",contributors:"貢献者",coreContributors:"主要な貢献者",styleContributors:"風格の貢献者","203IhzElttil":"上海地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Swiftiecott:"北京地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Minwtraft:"広州地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",contactUs:"お問い合わせ",github:"プロジェクトリポジトリ",githubContent:"問題が発生しましたか?こちらで検索したり、問題を報告したりしてください!",slack:"Slackグループ",slackContent:"Slackのチャンネルでチャットしましょう!"}},$v={colorA:_v,colorB:Rv,color:kv,warning:Cv,cancel:Av,apply:Tv,remove:Ev,close:Lv,noShowAgain:Ov,rmtPromotion:jv,panel:Mv,header:Pv},Iv="색깔",Dv="경고",Bv="취소",zv="사용",Fv="삭제",Gv="다시",Uv="표시하지 않기",Wv="놓치고 싶지 않은 올인원 툴킷! 닫기.",Vv={tools:{showLess:"적게 표시",section:{lineDrawing:"선 그리기",stations:"역",miscellaneousNodes:"기타 노드"},select:"선택하다",learnHowToAdd:{station:"역을 추가하는 방법 배우기!","misc-node":"노드를 추가하는 방법 배우기!",line:"라인 스타일을 추가하는 방법 배우기!"}},details:{header:"상세한 상황",info:{title:"기본정보",id:"고유 식별자",zIndex:"깊이",stationType:"역 유형",linePathType:"선분 경로 유형",lineStyleType:"선분 스타일 유형",type:"유형",parallel:"평행선",parallelIndex:"평행 인덱스"},multipleSelection:{title:"다중 선택",change:"선택한 속성 변경",selected:"선택한 개체:",show:"보여주다",station:"역",miscNode:"기타 노드",edge:"윤곽"},changeStationTypeContent:"역 유형을 변경하면 이름을 제외한 모든 독특한 속성이 제거됩니다.",changeLineTypeContent:"선분 유형을 변경하면 모든 독특한 속성이 제거됩니다.",changeType:"종류 변경",nodePosition:{title:"노드 위치",pos:{x:"가로 좌표",y:"세로 좌표"}},lineExtremities:{title:"선분 양단",source:"시작점",target:"종말점",sourceName:"시작점 명칭",targetName:"종말점 명칭"},specificAttrsTitle:"독특 속성",unknown:{error:"이런 :( 우리는 이 {{category}}를 인식할 수 없습니다. 아마도 더 최근 버전에서 생성되었을 것입니다.",node:"노드",lineType:"선분 경로",lineStyle:"선분 스타일"},nodes:{common:{nameZh:"한자 노선명칭",nameEn:"영문 노선명칭",nameJa:"일본 노선명칭",num:"노선 번호"},virtual:{displayName:"가상 노드"},shmetroNumLineBadge:{displayName:"상해 지하철 디지털 노선 표지"},shmetroTextLineBadge:{displayName:"상해 지하철 문자 노선 표지"},gzmtrLineBadge:{displayName:"광저우 지하철 노선 표지",tram:"시가 전차",span:"행 범위 숫자"},bjsubwayNumLineBadge:{displayName:"베이징 지하철 노선 배지"},bjsubwayTextLineBadge:{displayName:"베이징 지하철 텍스트 라인 배지"},berlinSBahnLineBadge:{displayName:"베를린 S반 노선 배지"},berlinUBahnLineBadge:{displayName:"베를린 U반 노선 배지"},suzhouRTNumLineBadge:{displayName:"수주 철도 번호 라인 배지",branch:"지선입니다"},chongqingRTNumLineBadge:{displayName:"충칭 철도 교통 디지털 노선 식별"},chongqingRTTextLineBadge:{displayName:"충칭 철도 교통 텍스트 라인 표시"},shenzhenMetroNumLineBadge:{displayName:"심천 지하철 번호 라인 배지",branch:"지선입니다"},mrtDestinationNumbers:{displayName:"싱가포르 MRT 목적지 번호"},mrtLineBadge:{displayName:"싱가포르 MRT 노선 배지",isTram:"LRT 노선 배지입니다"},jrEastLineBadge:{displayName:"JR 동일본 라인 배지",crosshatchPatternFill:"크로스해치 패턴으로 채우기"},qingdaoMetroNumLineBadge:{displayName:"칭다오 지하철 번호 라인 배지",numEn:"영어로 된 줄 번호",showText:"텍스트 표시"},guangdongIntercityRailwayLineBadge:{displayName:"광동 시외 철도 노선 표지판"},londonArrow:{displayName:"런던 화살표",type:"유형",continuation:"계속",sandwich:"샌드위치",tube:"튜브"},master:{displayName:"마스터 노드",type:"마스터 노드 유형",undefined:"정의되지 않음"},facilities:{displayName:"시설",type:"유형"},text:{displayName:"임의 글자",content:"내용",fontSize:"글자 대소",lineHeight:"행고도",textAnchor:"글자 앵커",start:"시작",middle:"가운데",end:"끝",auto:"자동",hanging:"매달리는",dominantBaseline:"현성 바셀린",language:"언어로 된 글꼴 종류",zh:"중국어",en:"영어",mtr__zh:"홍콩 MTR 중국어",mtr__en:"홍콩 MTR 영어",berlin:"베를린 S/U Bahn",mrt:"싱가포르 MRT",jreast_ja:"JR 동일본어",jreast_en:"JR 동일본 영어",rotate:"회전",italic:"이탤릭체",bold:"굵게"}},stations:{common:{nameZh:"한자 명칭",nameEn:"영문 명칭",nameJa:"일본 명칭",nameOffsetX:"명칭 가로 이동",nameOffsetY:"명칭 세로 이동",rotate:"역회전각도",lineCode:"노선 번호",stationCode:"역 번호",left:"왼쪽",middle:"가운데",right:"오른쪽",top:"위",bottom:"아래"},interchange:{title:"환승",within:"같은 역에서 환승한",outStation:"역을 나가 환승한",outSystem:"시스템외환승",addGroup:"환승 조합 추가",noInterchanges:"비환승역",nameZh:"한자 명칭",nameEn:"영문 명칭",add:"환승 추가",copy:"환승 복제",remove:"환승 삭제"},shmetroBasic:{displayName:"상해 지하철의 기본 역"},shmetroBasic2020:{displayName:"상해 지하철 기본 역(2020년)"},shmetroInt:{displayName:"상해 지하철 환승역",height:"역 높이",width:"역 폭"},shmetroOsysi:{displayName:"상하이 지하철 시스템 외환승 역"},shanghaiSuburbanRailway:{displayName:"상하이 기차역"},gzmtrBasic:{displayName:"광저우 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},gzmtrInt:{displayName:"광저우 지하철 환승역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",foshan:"포산"},gzmtrInt2024:{displayName:"광저우 지하철 환승역 (2024)",columns:"역 열 수",topHeavy:"상단에 더 많은 역 우선 배치",anchorAt:"앵커 위치",anchorAtNone:"중앙",osiPosition:"역을 나가 환승",osiPositionNone:"없음",osiPositionLeft:"왼쪽",osiPositionRight:"오른쪽"},bjsubwayBasic:{displayName:"베이징 지하철 기본역",open:"개통여부"},bjsubwayInt:{displayName:"베이징 지하철 환승역",outOfStation:"역을 나가 환승"},mtr:{displayName:"홍콩 MTR 역"},suzhouRTBasic:{displayName:"쑤저우 궤도교통 기본역",textVertical:"수직 이름"},suzhouRTInt:{displayName:"쑤저우 궤도교통 환승역"},kunmingRTBasic:{displayName:"쿤밍 궤도교통 기본역"},kunmingRTInt:{displayName:"쿤밍 궤도교통 환승역"},MRTBasic:{displayName:"싱가포르MRT기본역",isTram:"LRT역이에요"},MRTInt:{displayName:"싱가포르MRT환승역"},jrEastBasic:{displayName:"JR 동일본 기본 역",nameOffset:"이름 오프셋",textOneLine:"한 줄로 표시된 이름",textVertical:"수직 이름",important:"중요한 역",lines:"환승 노선 오프셋"},jrEastImportant:{displayName:"JR 동일본 중요 역",textVertical:"수직 이름",mostImportant:"가장 중요한 역",minLength:"스테이션의 최소 길이"},foshanMetroBasic:{displayName:"포산 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},qingdaoMetro:{displayName:"칭다오 지하철역",isInt:"환승역인가"},tokyoMetroBasic:{displayName:"도쿄메트로 기본역",nameOffset:"이름 오프셋",textVertical:"업종명",lineCode:"라인 코드",stationCode:"역 코드"},tokyoMetroInt:{displayName:"도쿄메트로 환승역",mereOffset:{displayName:"단순한 오프셋 이름",none:"없음",left1:"왼쪽(적음)",left2:"왼쪽(더)",right1:"오른쪽(적음)",right2:"맞아요 (더)",up:"위로",down:"아래에"},importance:{displayName:"역 중요성",default:"기본",middle:"가운데",high:"높은"},align:{displayName:"아이콘 정렬",horizontal:"수평의",vertical:"수직의"}},londonTubeCommon:{stepFreeAccess:"단차 없는 접근",stepFreeAccessNone:"없음",stepFreeAccessTrain:"거리에서 열차까지",stepFreeAccessPlatform:"거리에서 플랫폼까지"},londonTubeBasic:{displayName:"런던 지하철 기본역",terminal:"종착역",shareTracks:"선로 공유",shareTracksIndex:"선로 공유 지수"},londonTubeInt:{displayName:"런던 지하철 환승역"},londonRiverServicesInt:{displayName:"런던 강 서비스 환승역"},guangdongIntercityRailway:{displayName:"광둥 시외 기차역"}},lines:{reconcileId:"연결 선분 고유 식별자",common:{offsetFrom:"시작점 오프셋",offsetTo:"끝점 오프셋",startFrom:"여기서부터 시작",roundCornerFactor:"회전원각인자",from:"에서",to:"까지",parallelDisabled:"이 선이 평행하기 때문에 일부 속성이 비활성화되었습니다.",changeInBaseLine:"기본선에서 변경하십시오:"},simple:{displayName:"기본 선분",offset:"오프셋"},diagonal:{displayName:"135° 접힌 선분"},perpendicular:{displayName:"90° 수직 선분"},rotatePerpendicular:{displayName:"90° 수직 경로 회전"},singleColor:{displayName:"단색 스타일"},shmetroVirtualInt:{displayName:"상해 지하철 역 환승 모습"},shanghaiSuburbanRailway:{displayName:"상하이 도시철도 스타일",isEnd:"끝 범위"},gzmtrVirtualInt:{displayName:"광저우 지하철 역 환승 모습"},gzmtrLoop:{displayName:"광저우 지하철 순환선 스타일"},chinaRailway:{displayName:"중국 철도 모습"},bjsubwaySingleColor:{displayName:"베이징 지하철 단색 스타일"},bjsubwayTram:{displayName:"베이징 지하철 노면 전차 모습"},bjsubwayDotted:{displayName:"베이징 지하철 점선 스타일"},dualColor:{displayName:"이색 스타일",swap:"색을 바꾸기",colorA:"색깔 A",colorB:"색깔 B"},river:{displayName:"강 스타일",width:"폭"},mtrRaceDays:{displayName:"홍콩 MTR 경마일 스타일"},mtrLightRail:{displayName:"홍콩 MTR 경전철 스타일"},mtrUnpaidArea:{displayName:"홍콩 MTR 미결제 구역 스타일"},mtrPaidArea:{displayName:"홍콩 MTR 결제완료 구역 스타일"},mrtUnderConstruction:{displayName:"싱가포르 MRT 공사중 스타일"},mrtSentosaExpress:{displayName:"싱가포르 MRT 센토사 익스프레스 스타일"},jrEastSingleColor:{displayName:"JR 동일본 단색 스타일"},jrEastSingleColorPattern:{displayName:"JR 동일본 단색 크로스해치 패턴 스타일"},lrtSingleColor:{displayName:"싱가포르 LRT 단색 스타일"},londonTubeInternalInt:{displayName:"런던 지하철 내부 환승 스타일"},londonTube10MinWalk:{displayName:"런던 지하철 10분 이내 도보 환승 스타일"},londonTubeTerminal:{displayName:"런던 지하철 종착 스타일"},londonRail:{displayName:"런던 철도 스타일",limitedService:"제한 서비스/혼잡 시간대만",colorBackground:"배경 색상",colorForeground:"전경 색상"},londonSandwich:{displayName:"런던 샌드위치 스타일"},londonLutonAirportDART:{displayName:"런던 루튼 공항 DART 스타일"},londonIFSCloudCableCar:{displayName:"런던 IFS 클라우드 케이블카 스타일"},guangdongIntercityRailway:{displayName:"광동성 도시간 철도 스타일"}},edges:{},footer:{duplicate:"복사",copy:"복사",remove:"삭제"}}},Hv={popoverHeader:"당신은 환경을<1>{{environment}}탐색하고 있습니다",popoverBody:"최신 RMP를 테스트하고 있습니다.제안 사항이 있으시면 언제든지 https://github.com/railmapgen/rmp/issues에 제출해 주십시오.",search:"방송국 검색",open:{new:"신 프로젝트",config:"프로젝트 가져오기",projectRMG:"RMG 프로젝트에서 가져오기",invalidType:"잘못된 파일 형식입니다! JSON 형식의 파일만 허용됩니다.",unknownError:"업로드된 파일의 파싱 중 알 수 없는 오류가 발생했습니다. 다시 시도해주세요.",gallery:"갤러리에서 가져오기",tutorial:"튜토리얼 시작",importFromRMPGallery:"템플릿 {{id}}가 가져 왔습니다. 이 변경 사항에 만족하지 않으십니까? Ctrl + Z 또는 실행 취소 버튼을 사용하여 실행 취소하세요.",failToImportFromRMPGallery:"갤러리에서 {{id}}를 가져올 수 없습니다. 파일을 찾을 수 없습니다."},download:{config:"프로젝트 내보내기",image:"사진 내보내기","2rmg":{title:"RMG 프로젝트로 내보내기",type:{line:"일직선",loop:"고리",branch:"지선"},placeholder:{chinese:"중국어 라인 이름",english:"영어 줄 이름",lineCode:"노선 번호"},info1:"이 기능은 RMP 프로젝트를 RMG 프로젝트로 변환하는 데 사용됩니다.",info2:"변환할 수 있는 사용 가능한 라인들은 다음과 같습니다. 왼쪽 텍스트 상자에 중국어 라인 이름을 입력하고, 가운데에 영어 라인 이름을 입력하며, 오른쪽에 (광저우 메트로 스타일용) 라인 코드를 입력한 다음, 오른쪽의 다운로드 버튼을 클릭하여 RMG 프로젝트를 저장할 수 있습니다.",noline:"사용 가능한 라인이 없습니다.",download:"다운로드",downloadInfo:"출발 역을 선택하고 클릭하십시오."},format:"파일 종류",png:"PNG 이미지",svg:"SVG 이미지",svgVersion:"버전","svg1.1":"1.1 (Adobe Illustrator 호환)",svg2:"2 (현대 브라우저 호환)",transparent:"투명 배경",scale:"확대/축소",disabledScaleOptions:"브라우저의 캔버스 제한으로 인해 일부 스케일 옵션이 비활성화되었습니다.",disabledScaleOptionsWorkarounds:"가능한 해결 방법으로는 이 CLI 도구를 사용하여 SVG에서 이미지를 생성하는 것이 있습니다:",imageTooBig:"이미지가 너무 크기 때문에 브라우저에서 생성할 수 없습니다!",useSystemFonts:"캔버스에서 미리보기된 글꼴 대신 시스템 글꼴 사용",shareInfo1:"이 사진을 공유할 때",shareInfo2:"링크를 첨부할 것입니다.",termsAndConditions:"약관 및 세칙",termsAndConditionsInfo:"동의",period:".",confirm:"다운로드"},donation:{title:"기부",openCollective:"Open Collective",viaUSD:"Paypal 또는 Visa 카드를 통해 달러로 기부하기.",afdian:"爱发电",viaCNY:"Alipay 또는 Wechat Pay를 통해 인민폐로 기부하기."},settings:{title:"설정",pro:"이것은 PRO 기능이며, 구독이 필요한 계정입니다.",proWithTrial:"이것은 PRO 기능이며, 제한된 무료 체험이 가능합니다.",proLimitExceed:{master:"마스터 노드가 무료 사용 한도를 초과했습니다.",parallel:"평행선이 무료 사용 한도를 초과했습니다.",solution:"경고를 해제하려면 이 항목들을 제거하거나 구독을 통해 더 많은 기능을 잠금 해제하세요!"},subscription:{title:"구독 상태","logged-out":"현재 로그아웃 상태입니다.",free:"로그인 완료! 더 많은 기능을 사용하려면 구독하세요!",subscriber:"구독해주셔서 감사합니다! 모든 기능을 즐기세요!",expired:"로그인 상태가 만료되었습니다. 다시 로그인 해주세요."},preference:{title:"선호",keepLastPath:"다음 이동에서 배경을 클릭할 때까지 계속 선을 그립니다",autoParallel:"새 선을 기존 선과 평행하게 자동으로 설정합니다",randomStationNames:{title:"생성 시 역 이름을 랜덤으로 설정",none:"없음",shmetro:"상하이",bjsubway:"베이징"}},shortcuts:{title:"바로 가기",keys:"키",description:"설명",f:"마지막 도구 사용.",s:"선택하다.",arrows:"캔버스를 약간 이동합니다.",ijkl:"선택한 역을 약간 이동합니다.",shift:"여러 항목 선택.",alt:"정밀한 이동.",delete:"선택한 역을 삭제합니다.",cut:"잘라내기.",copy:"복사하다.",paste:"붙여넣다.",undo:"취소하다.",redo:"다시 하다."},procedures:{title:"절차",translate:{title:"노드 좌표 변환",content:"모든 노드의 x 및 y에 다음 오프셋을 추가:",x:"X축",y:"Y축"},scale:{title:"스케일 노드의 좌표",content:"모든 노드의 x 및 y에 다음 값을 곱하:",factor:"스케일 팩터"},changeType:{title:"모든 객체의 속성 변경",any:"어느"},changeZIndex:"일괄적으로 깊이 변경",changeStationType:{title:"역의 종류를 대량으로 수정",changeFrom:"이 유형의 모든 역:",changeTo:"이 유형의 역으로 변환:",info:"역 유형을 변경하면 이름을 제외한 모든 고유한 속성이 제거됩니다.저장했다가 다시 실행!"},changeLineStyleType:{title:"일괄적으로 선 스타일 변경",changeFrom:"이 스타일의 모든 선을 변경하세요:",changeTo:"이 스타일에:",info:"선 스타일을 변경하면 연결을 제외한 선의 모든 특정 속성이 제거됩니다. 변경하기 전에 저장하세요!"},changeLinePathType:{title:"일괄적으로 라인 경로 변경",changeFrom:"이 경로의 모든 줄을 변경하세요:",changeTo:"이 길로:"},changeColor:{title:"일괄 색상 변경",changeFrom:"이 색상의 모든 개체를 변경합니다.:",changeTo:"이 색상에:",any:"모든 색상에서"},removeLines:{title:"단일 색상의 선 제거",content:"이 색상의 선을 제거하세요: "},updateColor:{title:"색상 업데이트",content:"최신 값으로 모든 색상을 업데이트합니다.",success:"모든 색상을 성공적으로 업데이트했습니다.",error:"모든 색상을 업데이트하는 동안 오류가 발생했습니다: {{e}}."},unlockSimplePath:{title:"간단 경로 잠금 해제",content1:"Rail Map Painter 애플리케이션은 확립된 관례를 준수하면서도 철도지도 작성을 위한 대화식 플랫폼을 제공하기 위해 노력합니다. 이러한 관례 중 하나는 특히 해리 벡의 혁신적인 작업에서 비롯되었습니다. 그의 개척적인 기여는 공식적으로 1932년에 인정받았으며 일반 대중으로부터 즉각적인 찬사를 받았습니다. 현재는 정보 디자인 분야에서 중요한 본보기로 자리 잡고 있습니다. 이 패러다임적인 접근 방식은 전 세계적인 규모의 교통 카토그래피에서 널리 구현되었으나 성공의 정도는 다양합니다.",content2:"이 애플리케이션은 기존 관례에 위배될 가능성이 있기 때문에 간단한 경로를 활용하는 옵션을 기본 설정으로 가려놓았습니다. 또한 Rail Map Painter 갤러리에 제출되는 작품은 엄격한 심사를 받으며, 단일 색상 스타일로 간단한 경로를 사용하는 작품은 명확히 거부됩니다.",content3:"그래도 이 옵션을 잠금 해제하고 기부할 때 Easy Path를 사용할 수 있는 기회를 보유하고 있습니다. 획득 후에도 단순 경로의 사용은 단색 스타일로 제한된다는 점에 유의해야 합니다.",check:"간단한 경로 잠금 해제",unlocked:"이미 해제됨"},masterManager:{title:"모든 마스터 노드를 관리",id:"ID",label:"레이블",type:"유형",types:{MiscNode:"기타 노드",Station:"스테이션"},importTitle:"마스터 매개변수 업로드",importFrom:"가져온 스타일 사용",importOther:"새 스타일 가져오기",importParam:"구성 정보 붙여넣기"}},telemetry:{title:"원격 측정",info:"지하철 노선도 그리기를 개선하고 기여자가 프로젝트를 향상시키는 데 동기를 부여하기 위해 Google Analytics를 통해 익명의 사용 데이터를 수집합니다. 이 데이터는 사용자 경험을 향상하고 도구 기능을 최적화하는 데에만 사용되며, 제3자와 절대 공유되지 않습니다.",essential:"기본",essentialTooltip:"지하철 노선도 툴킷에서 이 전역 설정을 변경하세요",essentialInfo:"지하철 노선도 그리기는 도구를 언제, 어떻게 사용하는지 이해하기 위해 기본적인 사용 데이터를 수집합니다. 안심하세요. 개인 식별이 가능한 정보나 프로젝트 데이터는 절대 수집되지 않습니다.",essentialLink:"Google Analytics에서 수집할 수 있는 세부 필드를 보려면 이 링크를 클릭하세요.",additional:"추가",additionalInfo:"지하철 노선도 그리기는 프로젝트 생성이나 역 추가와 같은 입력 시의 상호작용 데이터도 수집합니다. 이러한 추가 데이터도 익명으로 처리되며, 도구를 개선하기 위한 통계 분석에만 사용됩니다."}},about:{title:"대함",rmp:"지하철 노선도 그리기",railmapgen:"철도 지도 툴킷 프로젝트 노선도 툴킷",desc:"다양한 도시의 역을 자유롭게 끌어서 90도 또는 135도의 둥근 모서리 선으로 연결함으로써 여러분만의 철도 지도를 디자인해요!",content1:"우리가 가졌던 자유와 평등을 기념한다.",content2:"2022년 6월 1일 상해",contributors:"기여자",coreContributors:"핵심 기여자",styleContributors:"스타일 기여자",langonginc:"기억에 남을 삶을 살아보세요.","203IhzElttil":"상하이 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Swiftiecott:"베이징 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Minwtraft:"광저우 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",contactUs:"우리에게 연락하기",github:"프로젝트 저장소",githubContent:"무슨 문제라도 있나요? 여기서 문제를 검색하거나 제기하십시오!",slack:"슬랙 그룹",slackContent:"이 슬랙 채널에서 채팅해요!"}},Jv={color:Iv,warning:Dv,cancel:Bv,apply:zv,remove:Fv,close:Gv,noShowAgain:Uv,rmtPromotion:Wv,panel:Vv,header:Hv},Kv="颜色",qv="警告",Yv="取消",Zv="应用",Qv="移除",Xv="关闭",ew="不再显示",tw="您绝对不想错过的全能工具包!",nw={tools:{showLess:"显示更少",section:{lineDrawing:"线段绘制",stations:"车站",miscellaneousNodes:"杂项节点"},select:"多选",learnHowToAdd:{station:"了解如何添加车站!","misc-node":"了解如何添加节点!",line:"了解如何添加线段样式!"}},details:{header:"详情",info:{title:"基本信息",id:"唯一识别符",zIndex:"深度",stationType:"车站类型",linePathType:"线段路径类型",lineStyleType:"线段样式类型",type:"类型",parallel:"平行线段",parallelIndex:"平行线段索引"},multipleSelection:{title:"多重选取",change:"修改选中对象的属性",selected:"选中的对象:",show:"显示",station:"车站",miscNode:"杂项节点",edge:"线段"},changeStationTypeContent:"修改车站类型会移除所有独特属性除了名称。",changeLineTypeContent:"修改线段类型会移除所有独特属性。",changeType:"更改类型",nodePosition:{title:"节点位置",pos:{x:"横坐标",y:"纵坐标"}},lineExtremities:{title:"线段两端",source:"起点",target:"终点",sourceName:"起点名称",targetName:"终点名称"},specificAttrsTitle:"独特属性",unknown:{error:"哎呀 :( 我们无法识别此{{category}}。也许它是在更新版本中创建的。",node:"节点",linePath:"线段路径",lineStyle:"线段样式"},nodes:{common:{nameZh:"中文线路名称",nameEn:"英文线路名称",nameJa:"日语线路名称",num:"线路号"},virtual:{displayName:"虚拟节点"},shmetroNumLineBadge:{displayName:"上海地铁数字线路标识"},shmetroTextLineBadge:{displayName:"上海地铁文字线路标识"},gzmtrLineBadge:{displayName:"广州地铁线路标识",tram:"有轨电车",span:"跨行显示数字"},bjsubwayNumLineBadge:{displayName:"北京地铁数字线路标识"},bjsubwayTextLineBadge:{displayName:"北京地铁文字线路标识"},berlinSBahnLineBadge:{displayName:"柏林城市快铁线路标识"},berlinUBahnLineBadge:{displayName:"柏林地铁线路标识"},suzhouRTNumLineBadge:{displayName:"苏州轨道交通数字线路标识",branch:"是否支线"},chongqingRTNumLineBadge:{displayName:"重庆轨道交通数字线路标识"},chongqingRTTextLineBadge:{displayName:"重庆轨道交通文字线路标识"},shenzhenMetroNumLineBadge:{displayName:"深圳地铁数字线路标识",branch:"是否为支线"},mrtDestinationNumbers:{displayName:"新加坡MRT终点数字"},mrtLineBadge:{displayName:"新加坡MRT线路标识",isTram:"是LRT线路标识"},jrEastLineBadge:{displayName:"JR东日本线路标识",crosshatchPatternFill:"用网状图案填充"},qingdaoMetroNumLineBadge:{displayName:"青岛地铁数字线路标识",numEn:"英文线路号",showText:"显示文字"},guangdongIntercityRailwayLineBadge:{displayName:"广东城际铁路线路标识"},londonArrow:{displayName:"伦敦箭头",type:"类型",continuation:"延续",sandwich:"三明治",tube:"地铁"},master:{displayName:"大师节点",type:"大师节点类型",undefined:"未定义"},facilities:{displayName:"设施",type:"类型"},text:{displayName:"任意文字",content:"内容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字锚点",start:"开始",middle:"居中",end:"结束",auto:"自动",hanging:"悬挂",dominantBaseline:"显性基线",language:"哪个语言的字体系列",zh:"中文",en:"英文",mtr__zh:"港铁中文",mtr__en:"港铁英文",berlin:"柏林 S/U Bahn",mrt:"新加坡地铁",jreast_ja:"JR东日本日语",jreast_en:"JR东日本英语",rotate:"旋转",italic:"斜体",bold:"粗体"}},stations:{common:{nameZh:"中文名称",nameEn:"英文名称",nameJa:"日语名称",nameOffsetX:"名称横向偏移",nameOffsetY:"名称纵向偏移",rotate:"车站旋转角度",lineCode:"路线编号",stationCode:"车站编号",left:"左",middle:"中间",right:"右",top:"顶部",bottom:"底部"},interchange:{title:"换乘",within:"同站换乘",outStation:"出站换乘",outSystem:"系统外换乘",addGroup:"添加换乘组合",noInterchanges:"非换乘站",nameZh:"中文名称",nameEn:"英文名称",add:"添加换乘",copy:"复制换乘",remove:"删除换乘"},shmetroBasic:{displayName:"上海地铁基本车站"},shmetroBasic2020:{displayName:"上海地铁基本车站(2020)"},shmetroInt:{displayName:"上海地铁换乘车站",height:"车站高度",width:"车站宽度"},shmetroOsysi:{displayName:"上海地铁转乘车站"},shanghaiSuburbanRailway:{displayName:"上海市域铁路车站"},gzmtrBasic:{displayName:"广州地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},gzmtrInt:{displayName:"广州地铁换乘车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",foshan:"佛山"},gzmtrInt2024:{displayName:"广州地铁换乘站(2024)",columns:"站点列数",topHeavy:"优先将更多站点放在上方",anchorAt:"锚点位置",anchorAtNone:"居中",osiPosition:"出站换乘",osiPositionNone:"无",osiPositionLeft:"左侧",osiPositionRight:"右侧"},bjsubwayBasic:{displayName:"北京地铁基本车站",open:"是否开通"},bjsubwayInt:{displayName:"北京地铁换乘车站",outOfStation:"出站换乘"},mtr:{displayName:"香港MTR车站"},suzhouRTBasic:{displayName:"苏州轨道交通基本车站",textVertical:"垂直名称"},suzhouRTInt:{displayName:"苏州轨道交通换乘车站"},kunmingRTBasic:{displayName:"昆明轨道交通基本车站"},kunmingRTInt:{displayName:"昆明轨道交通换乘车站"},MRTBasic:{displayName:"新加坡MRT基本车站",isTram:"是LRT车站"},MRTInt:{displayName:"新加坡MRT换乘车站"},jrEastBasic:{displayName:"JR东日本基本车站",nameOffset:"名称偏移",textOneLine:"名称在一行中",textVertical:"垂直名称",important:"重要车站",lines:"换乘线偏移"},jrEastImportant:{displayName:"JR东日本重要车站",textVertical:"垂直名称",mostImportant:"最重要车站",minLength:"车站的最小长度"},foshanMetroBasic:{displayName:"佛山地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},qingdaoMetro:{displayName:"青岛地铁车站",isInt:"是换乘站"},tokyoMetroBasic:{displayName:"东京地铁基本车站",nameOffset:"名称偏移",textVertical:"垂直站名",lineCode:"线路编号",stationCode:"车站编号"},tokyoMetroInt:{displayName:"东京地铁换乘车站",mereOffset:{displayName:"名称微小偏移",none:"无",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"车站重要性",default:"默认",middle:"中",high:"高"},align:{displayName:"图标排列方向",horizontal:"横向",vertical:"纵向"}},londonTubeCommon:{stepFreeAccess:"无障碍通行",stepFreeAccessNone:"无",stepFreeAccessTrain:"从街道到列车",stepFreeAccessPlatform:"从街道到站台"},londonTubeBasic:{displayName:"伦敦地铁基本车站",terminal:"终点站",shareTracks:"轨道共享",shareTracksIndex:"轨道共享索引"},londonTubeInt:{displayName:"伦敦地铁换乘车站"},londonRiverServicesInt:{displayName:"伦敦河流服务换乘站"},guangdongIntercityRailway:{displayName:"广东城际铁路车站"}},lines:{reconcileId:"合并线段唯一标识符",common:{offsetFrom:"起始点偏移",offsetTo:"结束点偏移",startFrom:"从这里开始",roundCornerFactor:"转折圆角因子",from:"从",to:"到",parallelDisabled:"由于此线段是平行的,因此某些属性已被禁用。",changeInBaseLine:"在基准线段中更改它们:"},simple:{displayName:"基本线段",offset:"偏移"},diagonal:{displayName:"135°折线线段"},perpendicular:{displayName:"90°垂直线段"},rotatePerpendicular:{displayName:"90°旋转垂直线段"},singleColor:{displayName:"纯色样式"},shmetroVirtualInt:{displayName:"上海地铁出站换乘样式"},shanghaiSuburbanRailway:{displayName:"上海市域铁路样式",isEnd:"结束区间"},gzmtrVirtualInt:{displayName:"广州地铁出站换乘样式"},gzmtrLoop:{displayName:"广州地铁环线样式"},chinaRailway:{displayName:"中国铁路样式"},bjsubwaySingleColor:{displayName:"北京地铁纯色样式"},bjsubwayTram:{displayName:"北京地铁有轨电车样式"},bjsubwayDotted:{displayName:"北京地铁虚线样式"},dualColor:{displayName:"双色样式",swap:"切换颜色",colorA:"颜色A",colorB:"颜色B"},river:{displayName:"河流样式",width:"宽度"},mtrRaceDays:{displayName:"香港MTR赛马日样式"},mtrLightRail:{displayName:"香港MTR轻铁样式"},mtrUnpaidArea:{displayName:"香港MTR未付费区域样式"},mtrPaidArea:{displayName:"香港MTR付费区域样式"},mrtUnderConstruction:{displayName:"新加坡MRT在建样式"},mrtSentosaExpress:{displayName:"新加坡MRT圣淘沙捷运样式"},jrEastSingleColor:{displayName:"JR东日本单色样式"},jrEastSingleColorPattern:{displayName:"JR东日本单色网状图案样式"},lrtSingleColor:{displayName:"新加坡LRT纯色样式"},londonTubeInternalInt:{displayName:"伦敦地铁内部换乘样式"},londonTube10MinWalk:{displayName:"伦敦地铁10分钟步行换乘样式"},londonTubeTerminal:{displayName:"伦敦地铁终点站样式"},londonRail:{displayName:"伦敦铁路样式",limitedService:"有限服务/仅限高峰时段",colorBackground:"背景颜色",colorForeground:"前景颜色"},londonSandwich:{displayName:"伦敦三明治样式"},londonLutonAirportDART:{displayName:"伦敦卢顿机场DART样式"},londonIFSCloudCableCar:{displayName:"伦敦IFS云缆车样式"},guangdongIntercityRailway:{displayName:"广东城际铁路样式"}},edges:{},footer:{duplicate:"重复",copy:"复制",remove:"移除"}}},rw={popoverHeader:"你正在浏览<1>{{environment}}环境!",popoverBody:"我们正在测试最新的RMP。如果你有任何建议,欢迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜索车站",open:{new:"新项目",config:"导入项目",projectRMG:"从RMG项目中导入",invalidType:"无效的文件类型!仅接受JSON格式的文件。",unknownError:"解析上传文件时发生未知错误!请重试。",gallery:"从画廊中导入",tutorial:"开始教程",importFromRMPGallery:"模板 {{id}} 已导入。对此更改不满意?可通过 Ctrl + Z 或撤销按钮进行撤销。",failToImportFromRMPGallery:"无法从画廊导入{{id}},找不到文件。"},download:{config:"导出项目",image:"导出图片","2rmg":{title:"导出RMG项目",type:{line:"直线",loop:"环线",branch:"支线"},placeholder:{chinese:"中文线路名称",english:"英文线路名称",lineCode:"路线编号"},info1:"这个功能可将RMP项目导出为RMG项目。",info2:"下面的线路将可以被导出,你可以在左侧文本框中输入中文线路名称、在中间输入英文线路名称、右边输入线路编号(广州地铁样式专用),随后点击下载按钮即可导出RMG项目。",noline:"未找到可用线路。",download:"下载",downloadInfo:"请选择一个起始车站,并点击它。"},format:"文件种类",png:"PNG图像",svg:"SVG图像",svgVersion:"版本","svg1.1":"1.1(适用于Adobe Illustrator)",svg2:"2(适用于现代浏览器)",transparent:"透明背景",scale:"缩放",disabledScaleOptions:"由于浏览器的画布限制,部分缩放选项被禁用。",disabledScaleOptionsWorkarounds:"可能的解决方法包括使用此命令行工具从SVG生成图像:",imageTooBig:"图像太大,无法在您的浏览器中生成!",useSystemFonts:"使用系统字体而不是在画布上预览的字体",shareInfo1:"当我分享此图片时我会附上",shareInfo2:"和它的链接。",termsAndConditions:"条款及细则",termsAndConditionsInfo:"我同意",period:"。",confirm:"下载"},donation:{title:"捐赠",openCollective:"Open Collective",viaUSD:"通过Paypal或Visa卡以美元捐赠。",afdian:"爱发电",viaCNY:"通过支付宝或微信支付以人民币捐赠。"},settings:{title:"设置",pro:"这是一个专业功能,需要带有订阅的账户。",proWithTrial:"这是一个PRO功能,并提供有限的免费试用。",proLimitExceed:{master:"大师节点超出了免费额度。",parallel:"平行线段超出了免费额度。",solution:"移除它们以消除此警告,或订阅以解锁更多功能!"},subscription:{title:"订阅状态","logged-out":"您当前已登出。",free:"已登录!订阅以解锁更多功能!",subscriber:"感谢您的订阅!享受所有功能吧!",expired:"登录状态已过期。请登出后重新登录。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持续画线段直到点击背景",autoParallel:"自动将新线段设置为与现有线段平行",randomStationNames:{title:"创建时将站名随机化",none:"无",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"快捷键",keys:"键",description:"描述",f:"使用上一个工具。",s:"多选。",arrows:"稍微移动画布。",ijkl:"稍微移动所选站点。",shift:"多选。",alt:"精确移动。",delete:"删除所选站点。",cut:"剪切。",copy:"复制。",paste:"粘贴。",undo:"撤销。",redo:"重做。"},procedures:{title:"过程",translate:{title:"转化节点坐标",content:"将以下偏移加到所有节点的x和y上:",x:"横坐标",y:"纵坐标"},scale:{title:"缩放节点坐标",content:"将所有节点的x和y乘以以下值:",factor:"缩放因子"},changeType:{title:"修改所有对象的属性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改车站种类",changeFrom:"将此类型的所有车站:",changeTo:"转换为这个类型的车站:",info:"修改车站类型会移除所有独特属性除了名称。保存再操作!"},changeLineStyleType:{title:"批量修改线段样式",changeFrom:"将此样式的所有线段:",changeTo:"转换为这个样式的线段:",info:"修改线段样式会移除所有独特属性除了连通性。保存再操作!"},changeLinePathType:{title:"批量修改线段类型",changeFrom:"将此类型的所有线段:",changeTo:"转换为这个类型的线段:"},changeColor:{title:"批量修改颜色",changeFrom:"将此颜色的所有对象:",changeTo:"转换为这个颜色:",any:"从任何颜色转换"},removeLines:{title:"移除所有纯色线段",content:"移除具有此颜色的所有线段: "},updateColor:{title:"更新颜色",content:"使用最新值更新所有颜色。",success:"成功更新所有颜色。",error:"更新所有颜色时出错:{{e}}。"},unlockSimplePath:{title:"解锁简单路径",content1:"地铁线路图绘制器应用致力于在遵循既定惯例的前提下,提供一个有利于创建地铁线路图的互动平台。在这些惯例中,一种特别著名的风格源自哈利·贝克的创新工作。他的开创性贡献于1932年得到官方认可,并在大众中迅速赢得了声誉。目前,它在信息设计领域具有重要的示范意义,在全球范围内的交通制图中得到了广泛的实施,尽管成功程度有所不同。",content2:"应用程序固有地隐藏了使用简单路径的选项,因为其部署有可能违反既定的惯例。默认情况下,此特定功能保持隐蔽。此外,提交到地铁线路图绘制器画廊的作品将经过严格的审查,坚决拒绝使用单色风格的简单路径的构图。",content3:"尽管如此,我们仍然保留了解锁此选项的机会,当您订阅后,方可使用简单路径。需要注意的是,即使获得后,简单路径的使用也仅限于单色风格。",check:"解锁简单路径",unlocked:"已解锁"},masterManager:{title:"管理全部大师节点",id:"唯一标识",label:"标签",type:"类型",types:{MiscNode:"杂项节点",Station:"车站"},importTitle:"上传大师节点参数",importFrom:"使用导入的样式",importOther:"导入新样式",importParam:"粘贴配置信息"}},telemetry:{title:"遥测",info:"为了帮助改进地铁线路图绘制器并激励贡献者提升项目,我们通过 Google Analytics 收集匿名使用数据。这些数据仅用于增强用户体验和优化工具功能,绝不会与第三方共享。",essential:"基础",essentialTooltip:"在地铁线路图工具包中更改此全局设置",essentialInfo:"地铁线路图绘制器收集一些基本使用数据,以帮助我们了解用户如何以及何时与工具交互。请放心,我们从不收集任何可识别个人身份的信息或您的项目数据。",essentialLink:"点击此链接查看 Google Analytics 可能收集的详细字段。",additional:"额外",additionalInfo:"地铁线路图绘制器还会收集有关交互的数据,例如项目创建或站点添加等操作。这些额外数据同样是匿名的,仅用于统计分析以帮助我们改进工具。"}},about:{title:"关于",rmp:"地铁线路图绘制器",railmapgen:"一个线路图工具包项目",desc:"通过自由拖动来自不同城市的车站并以 90 或 135 度圆角线段将它们连接起来,设计您自己的铁路地图!",content1:"谨以此纪念我们曾拥有的自由与平等。",content2:"06/01/2022于上海",contributors:"贡献者",coreContributors:"核心贡献者",styleContributors:"样式贡献者",langonginc:"活出值得铭记的人生。","203IhzElttil":"特别感谢他勤勉工作,确保上海地铁站与原始设计相符。",Swiftiecott:"特别感谢他勤勉工作,确保北京地铁站与原始设计相符。",Minwtraft:"特别感谢他勤勉工作,确保广州地铁站与原始设计相符。",contactUs:"联系我们",github:"项目仓库",githubContent:"遇到任何问题?在这里搜索或提出一个问题!",slack:"Slack群组",slackContent:"在这些Slack频道中讨论!"}},iw={color:Kv,warning:qv,cancel:Yv,apply:Zv,remove:Qv,close:Xv,noShowAgain:ew,rmtPromotion:tw,panel:nw,header:rw},ow="顏色",aw="警告",sw="取消",lw="應用",uw="移除",cw="關閉",dw="不要再顯示",hw="絕對不想錯過的多功能工具包!",pw={tools:{showLess:"顯示更少",section:{lineDrawing:"線段繪製",stations:"車站",miscellaneousNodes:"雜項節點"},select:"多選",learnHowToAdd:{station:"了解如何添加車站!","misc-node":"了解如何添加節點!",line:"了解如何添加線條樣式!"}},details:{header:"詳情",info:{title:"基本信息",id:"唯一識別符",zIndex:"深度",stationType:"車站類型",linePathType:"線段路徑類型",lineStyleType:"線段樣式類型",type:"類型",parallel:"平行線段",parallelIndex:"平行線段索引"},multipleSelection:{title:"多重選取",change:"修改選取物件的屬性",selected:"選取的物件:",show:"顯示",station:"車站",miscNode:"雜項節點",edge:"線段"},changeStationTypeContent:"修改車站類型會移除所有獨特屬性除了名稱。",changeLineTypeContent:"修改線段類型會移除所有獨特屬性。",changeType:"更改類型",nodePosition:{title:"節點位置",pos:{x:"橫坐標",y:"縱坐標"}},lineExtremities:{title:"線段兩端",source:"起點",target:"終點",sourceName:"起點名稱",targetName:"終點名稱"},specificAttrsTitle:"獨特屬性",unknown:{error:"哎呀 :( 我們無法識別此{{category}}。也許它是在更新版本中創建的。",node:"節點",linePath:"線段路徑",lineStyle:"線段樣式"},nodes:{common:{nameZh:"中文線路名稱",nameEn:"英文線路名稱",nameJa:"日語線路名稱",num:"線路號"},virtual:{displayName:"虛擬節點"},shmetroNumLineBadge:{displayName:"上海地鐵數字線路標識"},shmetroTextLineBadge:{displayName:"上海地鐵文字線路標識"},gzmtrLineBadge:{displayName:"廣州地鐵線路標識",tram:"輕軌",span:"跨行顯示數字"},bjsubwayNumLineBadge:{displayName:"北京地鐵數字線路標識"},bjsubwayTextLineBadge:{displayName:"北京地鐵文字線路標識"},berlinSBahnLineBadge:{displayName:"柏林城市快鐵線路標識"},berlinUBahnLineBadge:{displayName:"柏林地鐵線路標識"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通數字線路標識",branch:"是否支線"},chongqingRTNumLineBadge:{displayName:"重慶軌道交通數字線路標識"},chongqingRTTextLineBadge:{displayName:"重慶軌道交通文字線路標識"},shenzhenMetroNumLineBadge:{displayName:"深圳地鐵數字線路標識",branch:"是否支線"},mrtDestinationNumbers:{displayName:"新加坡MRT終點數字"},mrtLineBadge:{displayName:"新加坡MRT線路標識",isTram:"是LRT線路標識"},jrEastLineBadge:{displayName:"JR東日本線路標識",crosshatchPatternFill:"用網狀圖案填充"},qingdaoMetroNumLineBadge:{displayName:"青島地鐵數位線路標識",numEn:"英文線路號",showText:"顯示文字"},guangdongIntercityRailwayLineBadge:{displayName:"廣東城際鐵路線標識"},londonArrow:{displayName:"倫敦箭頭",type:"類型",continuation:"延續",sandwich:"三明治",tube:"地鐵"},master:{displayName:"大師節點",type:"大師節點類型",undefined:"未定義"},facilities:{displayName:"設施",type:"類型"},text:{displayName:"任意文字",content:"內容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字錨點",start:"開始",middle:"中間",end:"結束",auto:"自動",hanging:"懸吊",dominantBaseline:"顯性基線",language:"哪個語言的字體系列",zh:"中文",en:"英文",mtr__zh:"香港地鐵中文",mtr__en:"香港地鐵英文",berlin:"柏林 S/U 地鐵",mrt:"新加坡地鐵",jreast_ja:"JR 東日本日文",jreast_en:"JR 東日本英文",rotate:"旋轉",italic:"斜體",bold:"粗體"}},stations:{common:{nameZh:"中文名稱",nameEn:"英文名稱",nameJa:"日語名稱",nameOffsetX:"名稱橫向偏移",nameOffsetY:"名稱縱向偏移",rotate:"車站旋轉角度",lineCode:"路綫編碼",stationCode:"車站編碼",left:"左",middle:"中間",right:"右",top:"頂部",bottom:"底部"},interchange:{title:"換乘",within:"同站換乘",outStation:"出站換乘",outSystem:"系統外換乘",addGroup:"添加換乘組合",noInterchanges:"非換乘站",nameZh:"中文名稱",nameEn:"英文名稱",add:"添加換乘",copy:"復製換乘",remove:"刪除換乘"},shmetroBasic:{displayName:"上海地鐵基本車站"},shmetroBasic2020:{displayName:"上海地鐵基本車站(2020)"},shmetroInt:{displayName:"上海地鐵換乘車站",height:"車站高度",width:"車站寬度"},shmetroOsysi:{displayName:"上海地鐵轉乘車站"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路車站"},gzmtrBasic:{displayName:"廣州地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},gzmtrInt:{displayName:"廣州地鐵換乘車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",foshan:"佛山"},gzmtrInt2024:{displayName:"廣州地鐵換乘站(2024)",columns:"站點列數",topHeavy:"優先將更多站點放在上方",anchorAt:"錨點位置",anchorAtNone:"居中",osiPosition:"出站轉車",osiPositionNone:"無",osiPositionLeft:"左側",osiPositionRight:"右側"},bjsubwayBasic:{displayName:"北京地鐵基本車站",open:"是否開通"},bjsubwayInt:{displayName:"北京地鐵換乘車站",outOfStation:"出站轉車"},mtr:{displayName:"香港MTR車站"},suzhouRTBasic:{displayName:"蘇州軌道交通基本車站",textVertical:"垂直名稱"},suzhouRTInt:{displayName:"蘇州軌道交通換乘車站"},kunmingRTBasic:{displayName:"昆明軌道交通基本車站"},kunmingRTInt:{displayName:"昆明軌道交通換乘車站"},MRTBasic:{displayName:"新加坡MRT基本車站",isTram:"是LRT車站"},MRTInt:{displayName:"新加坡MRT換乘車站"},jrEastBasic:{displayName:"JR東日本基本車站",nameOffset:"名稱偏移",textOneLine:"名稱在一行中",textVertical:"垂直名稱",important:"重要車站",lines:"轉乘線偏移"},jrEastImportant:{displayName:"JR東日本重要車站",textVertical:"垂直名稱",mostImportant:"最重要車站",minLength:"車站的最小長度"},foshanMetroBasic:{displayName:"佛山地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},qingdaoMetro:{displayName:"青島地鐵基本車站",isInt:"是換乘站"},tokyoMetroBasic:{displayName:"東京地鐵基本車站",nameOffset:"名稱偏移",textVertical:"垂直站名",lineCode:"線路編號",stationCode:"車站編號"},tokyoMetroInt:{displayName:"東京地鐵轉乘車站",mereOffset:{displayName:"名稱微小偏移",none:"無",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"車站重要性",default:"預設",middle:"中",high:"高"},align:{displayName:"圖標排列方向",horizontal:"橫向",vertical:"縱向"}},londonTubeCommon:{stepFreeAccess:"無障礙通行",stepFreeAccessNone:"無",stepFreeAccessTrain:"從街道到列車",stepFreeAccessPlatform:"從街道到月台"},londonTubeBasic:{displayName:"倫敦地鐵基本車站",terminal:"終點站",shareTracks:"軌道共享",shareTracksIndex:"軌道共享指數"},londonTubeInt:{displayName:"倫敦地鐵換乘車站"},londonRiverServicesInt:{displayName:"倫敦河流服務換乘站"},guangdongIntercityRailway:{displayName:"廣東城際鐵路車站"}},lines:{reconcileId:"合並線段唯一標識符",common:{offsetFrom:"起始點偏移",offsetTo:"結束點偏移",startFrom:"從這裏開始",roundCornerFactor:"轉折圓角因子",from:"從",to:"到",parallelDisabled:"由於此線段是平行的,因此某些屬性已被禁用。",changeInBaseLine:"在基準線段中更改它們:"},simple:{displayName:"基本線段",offset:"偏移"},diagonal:{displayName:"135°折線線段"},perpendicular:{displayName:"90°垂直線段"},rotatePerpendicular:{displayName:"90°旋轉垂直線段"},singleColor:{displayName:"純色樣式"},shmetroVirtualInt:{displayName:"上海地鐵出站換乘樣式"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路樣式",isEnd:"結束區間"},gzmtrVirtualInt:{displayName:"廣州地鐵出站換乘樣式"},gzmtrLoop:{displayName:"廣州地鐵環線樣式"},chinaRailway:{displayName:"中國鐵路樣式"},bjsubwaySingleColor:{displayName:"北京地鐵純色樣式"},bjsubwayTram:{displayName:"北京地鐵有軌電車樣式"},bjsubwayDotted:{displayName:"北京地鐵虛線樣式"},dualColor:{displayName:"雙色樣式",swap:"切換顏色",colorA:"顏色A",colorB:"顏色B"},river:{displayName:"河流樣式",width:"寬度"},mtrRaceDays:{displayName:"香港MTR賽馬日樣式"},mtrLightRail:{displayName:"香港MTR輕鐵樣式"},mtrUnpaidArea:{displayName:"香港MTR未付費區域樣式"},mtrPaidArea:{displayName:"香港MTR付費區域樣式"},mrtUnderConstruction:{displayName:"新加坡MRT在建樣式"},mrtSentosaExpress:{displayName:"新加坡MRT聖淘沙捷運樣式"},jrEastSingleColor:{displayName:"JR東日本單色樣式"},jrEastSingleColorPattern:{displayName:"JR東日本單色網狀圖案樣式"},lrtSingleColor:{displayName:"新加坡LRT純色樣式"},londonTubeInternalInt:{displayName:"倫敦地鐵內部換乘樣式"},londonTube10MinWalk:{displayName:"倫敦地鐵10分鐘步行換乘樣式"},londonTubeTerminal:{displayName:"倫敦地鐵終點站樣式"},londonRail:{displayName:"倫敦鐵路樣式",limitedService:"有限服務/只限繁忙時段",colorBackground:"背景顏色",colorForeground:"前景顏色"},londonSandwich:{displayName:"倫敦三明治樣式"},londonLutonAirportDART:{displayName:"倫敦盧頓機場DART樣式"},londonIFSCloudCableCar:{displayName:"倫敦IFS雲纜車樣式"},guangdongIntercityRailway:{displayName:"廣東城際鐵路樣式"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"移除"}}},fw={popoverHeader:"你正在瀏覽<1>{{environment}}環境!",popoverBody:"我們正在測試最新的RMP。如果妳有任何建議,歡迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜尋車站",open:{new:"新項目",config:"讀入項目",projectRMG:"從RMG專案中讀入",invalidType:"無效的文件類型!僅接受JSON格式的文件。",unknownError:"解析上傳文件時發生未知錯誤!請重試。",gallery:"從畫廊中讀入",tutorial:"開始教程",importFromRMPGallery:"範本 {{id}} 已匯入。對此更改不滿意?可通過 Ctrl + Z 或撤銷按鈕進行撤銷。",failToImportFromRMPGallery:"無法從畫廊導入{{id}},找不到檔案。"},download:{config:"導出項目",image:"導出圖片","2rmg":{title:"導出RMG項目",type:{line:"直線",loop:"環線",branch:"支線"},placeholder:{chinese:"中文線路名稱",english:"英文線路名稱",lineCode:"路綫編碼"},info1:"這個功能可將RMP項目導出為RMG項目。",info2:"下面的線路將可以被導出,你可以在左側文本框中輸入中文線路名稱、在中間輸入英文線路名稱、右邊輸入線路編號(廣州地鐵樣式專用),隨後點擊下載按鈕即可導出RMG項目。",noline:"未找到可用線路。",download:"下載",downloadInfo:"請選擇一個起始車站,並點擊它。"},format:"檔案種類",png:"PNG影像",svg:"SVG影像",svgVersion:"版本","svg1.1":"1.1(適用於Adobe Illustrator)",svg2:"2(適用於現代瀏覽器)",transparent:"透明背景",scale:"縮放",disabledScaleOptions:"由於您的瀏覽器的畫布限制,部分縮放選項已被禁用。",disabledScaleOptionsWorkarounds:"可能的解決方法包括使用此命令行工具從SVG生成圖像:",imageTooBig:"圖像太大,您的瀏覽器無法生成!",useSystemFonts:"使用系統字型而不是在畫布上預覽的字型",shareInfo1:"當我分享此圖片時我會附上",shareInfo2:"和它的鏈接。",termsAndConditions:"條款及細則",termsAndConditionsInfo:"我同意",period:"。",confirm:"下載"},donation:{title:"捐款",openCollective:"Open Collective",viaUSD:"通過Paypal或Visa卡以美元捐款。",afdian:"爱发电",viaCNY:"通過支付寶或微信支付以人民幣捐款。"},settings:{title:"設置",pro:"這是一個專業功能,需要带有訂閱的帳戶。",proWithTrial:"這是一個PRO功能,並提供有限的免費試用。",proLimitExceed:{master:"大師節點超出了免費額度。",parallel:"平行線段超出了免費額度。",solution:"移除它們以解除此警告,或訂閱以解鎖更多功能!"},subscription:{title:"訂閱狀態","logged-out":"您目前已登出。",free:"已登入!訂閱以解鎖更多功能!",subscriber:"感謝您的訂閱!享受所有功能吧!",expired:"登入狀態已過期。請登出後重新登入。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持續畫線段直到點擊背景",autoParallel:"自動將新段線設置為與現有線段平行",randomStationNames:{title:"創建時將站名隨機化",none:"無",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"捷徑",keys:"按鍵",description:"描述",f:"使用上一個工具。",s:"多選。",arrows:"稍微移動畫布。",ijkl:"稍微移動所選站點。",shift:"多選。",alt:"精確移動。",delete:"刪除所選站點。",cut:"剪切。",copy:"複製。",paste:"貼上。",undo:"撤銷。",redo:"重做。"},procedures:{title:"過程",translate:{title:"轉化節點坐標",content:"將以下偏移加到所有節點的x和y上:",x:"橫坐標",y:"縱坐標"},scale:{title:"縮放節點坐標",content:"將所有節點的x和y乘以以下值:",factor:"縮放因子"},changeType:{title:"修改所有物件的屬性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改車站種類",changeFrom:"將此類型的所有車站:",changeTo:"轉換為這個類型的車站:",info:"修改車站類型會移除所有獨特屬性除了名稱。保存再操作!"},changeLineStyleType:{title:"批量修改線段樣式",changeFrom:"將此樣式的所有線段:",changeTo:"轉換為這個樣式的線段:",info:"修改線段樣式會移除所有獨特屬性除了連通性。保存再操作!"},changeLinePathType:{title:"批量修改線段類型",changeFrom:"將此類型的所有線段:",changeTo:"轉換為這個類型的線段:"},changeColor:{title:"批量修改顏色",changeFrom:"將此顏色的所有對象:",changeTo:"轉換為這個顏色:",any:"從任何顏色轉換"},removeLines:{title:"移除所有純色線段",content:"移除具有此顏色的所有線段: "},updateColor:{title:"更新顏色",content:"使用最新值更新所有顏色。",success:"成功更新所有顏色。",error:"更新所有顏色時發生錯誤:{{e}}。"},unlockSimplePath:{title:"解鎖簡單路徑",content1:"地鐵線路圖繪製器應用致力於在遵循既定慣例的前提下,提供一個有利於創建地鐵線路圖的互動平台。在這些慣例中,一種特別著名的風格源自哈利·貝克的創新工作。他的開創性貢獻於1932年得到官方認可,並在大眾中迅速贏得了聲譽。目前,它在信息設計領域具有重要的示範意義,在全球範圍內的交通製圖中得到了廣泛的實施,儘管成功程度有所不同。",content2:"應用程式固有地隱藏了使用簡單路徑的選項,因為其部署有可能違反既定的慣例。默認情況下,此特定功能保持隱蔽。此外,提交到地鐵線路圖繪製器畫廊的作品將經過嚴格的審查,堅決拒絕使用單色風格的簡單路徑的構圖。",content3:"儘管如此,我們仍然保留瞭解鎖此選項的機會,當您訂閱后,方可使用簡單路徑。 需要注意的是,即使獲得后,簡單路徑的使用也僅限於單色風格。",check:"解鎖簡單路徑",unlocked:"已解鎖"},masterManager:{title:"管理全部大師節點",id:"唯一標識",label:"標籤",type:"類型",types:{MiscNode:"雜項節點",Station:"車站"},importTitle:"上傳大師節點參數",importFrom:"使用匯入的樣式",importOther:"導入新樣式",importParam:"貼上配置信息"}},telemetry:{title:"遙測",info:"為了協助改進地鐵路綫圖繪製器並激勵貢獻者提升項目,我們透過 Google Analytics 收集匿名使用數據。這些數據僅用於提升用戶體驗及優化工具功能,絕不會與第三方共享。",essential:"基本",essentialTooltip:"在地鐵路綫圖工具組中更改此全局設定",essentialInfo:"地鐵路綫圖繪製器收集一些基本使用數據,以協助我們了解用戶如何及何時與工具互動。請放心,我們絕不收集任何可識別個人身份的資訊或您的項目數據。",essentialLink:"點擊此鏈接查看 Google Analytics 可能收集的詳細字段。",additional:"額外",additionalInfo:"地鐵路綫圖繪製器還會收集與互動有關的數據,例如創建項目或新增站點等操作。這些額外數據同樣是匿名的,僅用於統計分析以協助我們改進工具。"}},about:{title:"關於",rmp:"地鐵線路圖繪製器",railmapgen:"一個路綫圖工具組的項目",desc:"通過自由拖動來自不同城市的車站並以 90 或 135 度圓角線段將它們連接起來,設計您自己的鐵路地圖!",content1:"謹以此紀念我們曾擁有的自由與平等。",content2:"06/01/2022於上海",contributors:"貢獻者",coreContributors:"核心貢獻者",styleContributors:"樣式貢獻者",langonginc:"活出值得銘記的人生。","203IhzElttil":"特別感謝他勤奮工作,確保上海地鐵站與原始設計相符。",Swiftiecott:"特別感謝他勤奮工作,確保北京地鐵站與原始設計相符。",Minwtraft:"特別感謝他勤奮工作,確保廣州地鐵站與原始設計相符。",contactUs:"聯繫我們",github:"項目倉庫",githubContent:"遇到任何問題?在這裡搜索或提出一個問題!",slack:"Slack群組",slackContent:"在這些Slack頻道中討論!"}},gw={color:ow,warning:aw,cancel:sw,apply:lw,remove:uw,close:cw,noShowAgain:dw,rmtPromotion:hw,panel:pw,header:fw},Qn=new Ge.I18nBuilder().use(Uc).withAppName("Rail Map Painter").withLng(Ge.getLanguage()).withDefaultResource(hv).withResource("en",Nv).withResource("zh-Hans",iw).withResource("zh-Hant",gw).withResource("ja",$v).withResource("ko",Jv).build(),{abs:Pn,cos:gt,sin:an,acos:mw,atan2:$n,sqrt:kt,pow:qe}=Math;function In(n){return n<0?-qe(-n,1/3):qe(n,1/3)}const kl=Math.PI,wr=2*kl,Ct=kl/2,yw=1e-6,Fi=Number.MAX_SAFE_INTEGER||9007199254740991,Gi=Number.MIN_SAFE_INTEGER||-9007199254740991,bw={x:0,y:0,z:0},k={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(n,e){const r=e(n);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),kt(i)},compute:function(n,e,r){if(n===0)return e[0].t=0,e[0];const i=e.length-1;if(n===1)return e[i].t=1,e[i];const o=1-n;let a=e;if(i===0)return e[0].t=n,e[0];if(i===1){const l={x:o*a[0].x+n*a[1].x,y:o*a[0].y+n*a[1].y,t:n};return r&&(l.z=o*a[0].z+n*a[1].z),l}if(i<4){let l=o*o,u=n*n,c,d,h,p=0;i===2?(a=[a[0],a[1],a[2],bw],c=l,d=o*n*2,h=u):i===3&&(c=l*o,d=l*n*3,h=o*u*3,p=n*u);const m={x:c*a[0].x+d*a[1].x+h*a[2].x+p*a[3].x,y:c*a[0].y+d*a[1].y+h*a[2].y+p*a[3].y,t:n};return r&&(m.z=c*a[0].z+d*a[1].z+h*a[2].z+p*a[3].z),m}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let l=0;l1;o--,a--){const s=[];for(let l=0,u;l"u")n=.5;else if(n===0||n===1)return n;const r=qe(n,e)+qe(1-n,e),i=r-1;return Pn(i/r)},projectionratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=qe(1-n,e),i=qe(n,e)+r;return r/i},lli8:function(n,e,r,i,o,a,s,l){const u=(n*i-e*r)*(o-s)-(n-r)*(o*l-a*s),c=(n*i-e*r)*(a-l)-(e-i)*(o*l-a*s),d=(n-r)*(a-l)-(e-i)*(o-s);return d==0?!1:{x:u/d,y:c/d}},lli4:function(n,e,r,i){const o=n.x,a=n.y,s=e.x,l=e.y,u=r.x,c=r.y,d=i.x,h=i.y;return k.lli8(o,a,s,l,u,c,d,h)},lli:function(n,e){return k.lli4(n,n.c,e,e.c)},makeline:function(n,e){return new ce(n.x,n.y,(n.x+e.x)/2,(n.y+e.y)/2,e.x,e.y)},findbbox:function(n){let e=Fi,r=Fi,i=Gi,o=Gi;return n.forEach(function(a){const s=a.bbox();e>s.x.min&&(e=s.x.min),r>s.y.min&&(r=s.y.min),i0&&(d.c1=u,d.c2=c,d.s1=n,d.s2=r,a.push(d))})}),a},makeshape:function(n,e,r){const i=e.points.length,o=n.points.length,a=k.makeline(e.points[i-1],n.points[0]),s=k.makeline(n.points[o-1],e.points[0]),l={startcap:a,forward:n,back:e,endcap:s,bbox:k.findbbox([a,n,e,s])};return l.intersections=function(u){return k.shapeintersections(l,l.bbox,u,u.bbox,r)},l},getminmax:function(n,e,r){if(!r)return{min:0,max:0};let i=Fi,o=Gi,a,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let l=0,u=r.length;lo&&(o=s[e]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(n,e){const r=e.p1.x,i=e.p1.y,o=-$n(e.p2.y-i,e.p2.x-r),a=function(s){return{x:(s.x-r)*gt(o)-(s.y-i)*an(o),y:(s.x-r)*an(o)+(s.y-i)*gt(o)}};return n.map(a)},roots:function(n,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=n.length-1,i=k.align(n,e),o=function(T){return 0<=T&&T<=1};if(r===2){const T=i[0].y,U=i[1].y,L=i[2].y,I=T-2*U+L;if(I!==0){const W=-kt(U*U-T*L),se=-T+U,te=-(W+se)/I,Q=-(-W+se)/I;return[te,Q].filter(o)}else if(U!==L&&I===0)return[(2*U-L)/(2*U-2*L)].filter(o);return[]}const a=i[0].y,s=i[1].y,l=i[2].y,u=i[3].y;let c=-a+3*s-3*l+u,d=3*a-6*s+3*l,h=-3*a+3*s,p=a;if(k.approximately(c,0)){if(k.approximately(d,0))return k.approximately(h,0)?[]:[-p/h].filter(o);const T=kt(h*h-4*d*p),U=2*d;return[(T-h)/U,(-h-T)/U].filter(o)}d/=c,h/=c,p/=c;const m=(3*h-d*d)/3,y=m/3,w=(2*d*d*d-9*d*h+27*p)/27,_=w/2,N=_*_+y*y*y;let R,M,j,A,G;if(N<0){const T=-m/3,U=T*T*T,L=kt(U),I=-w/(2*L),W=I<-1?-1:I>1?1:I,se=mw(W),te=In(L),Q=2*te;return j=Q*gt(se/3)-d/3,A=Q*gt((se+wr)/3)-d/3,G=Q*gt((se+2*wr)/3)-d/3,[j,A,G].filter(o)}else{if(N===0)return R=_<0?In(-_):-In(_),j=2*R-d/3,A=-R-d/3,[j,A].filter(o);{const T=kt(N);return R=In(-_+T),M=In(_+T),[R-M-d/3].filter(o)}}},droots:function(n){if(n.length===3){const e=n[0],r=n[1],i=n[2],o=e-2*r+i;if(o!==0){const a=-kt(r*r-e*i),s=-e+r,l=-(a+s)/o,u=-(-a+s)/o;return[l,u]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(n.length===2){const e=n[0],r=n[1];return e!==r?[e/(e-r)]:[]}return[]},curvature:function(n,e,r,i,o){let a,s,l,u,c=0,d=0;const h=k.compute(n,e),p=k.compute(n,r),m=h.x*h.x+h.y*h.y;if(i?(a=kt(qe(h.y*p.z-p.y*h.z,2)+qe(h.z*p.x-p.z*h.x,2)+qe(h.x*p.y-p.x*h.y,2)),s=qe(m+h.z*h.z,3/2)):(a=h.x*p.y-h.y*p.x,s=qe(m,3/2)),a===0||s===0)return{k:0,r:0};if(c=a/s,d=s/a,!o){const y=k.curvature(n-.001,e,r,i,!0).k,w=k.curvature(n+.001,e,r,i,!0).k;u=(w-c+(c-y))/2,l=(Pn(w-c)+Pn(c-y))/2}return{k:c,r:d,dk:u,adk:l}},inflections:function(n){if(n.length<4)return[];const e=k.align(n,{p1:n[0],p2:n.slice(-1)[0]}),r=e[2].x*e[1].y,i=e[3].x*e[1].y,o=e[1].x*e[2].y,a=e[3].x*e[2].y,s=18*(-3*r+2*i+3*o-a),l=18*(3*r-i-3*o),u=18*(o-r);if(k.approximately(s,0)){if(!k.approximately(l,0)){let p=-u/l;if(0<=p&&p<=1)return[p]}return[]}const c=2*s;if(k.approximately(c,0))return[];const d=l*l-4*s*u;if(d<0)return[];const h=Math.sqrt(d);return[(h-l)/c,-(l+h)/c].filter(function(p){return 0<=p&&p<=1})},bboxoverlap:function(n,e){const r=["x","y"],i=r.length;for(let o=0,a,s,l,u;o=u)return!1;return!0},expandbox:function(n,e){e.x.minn.x.max&&(n.x.max=e.x.max),e.y.max>n.y.max&&(n.y.max=e.y.max),e.z&&e.z.max>n.z.max&&(n.z.max=e.z.max),n.x.mid=(n.x.min+n.x.max)/2,n.y.mid=(n.y.min+n.y.max)/2,n.z&&(n.z.mid=(n.z.min+n.z.max)/2),n.x.size=n.x.max-n.x.min,n.y.size=n.y.max-n.y.min,n.z&&(n.z.size=n.z.max-n.z.min)},pairiteration:function(n,e,r){const i=n.bbox(),o=e.bbox(),a=1e5,s=r||.5;if(i.x.size+i.y.sizeG||G>T)&&(A+=wr),A>T&&(U=T,T=A,A=U)):T4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(a!==6&&a!==8&&a!==9&&a!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!o&&(a===9||a===12)||e&&e[0]&&typeof e[0].z<"u",l=this.points=[];for(let m=0,y=s?3:2;mm+Dn(y.y),0)

"u"&&(o=.5),o===0)return new ce(r,r,i);if(o===1)return new ce(e,r,r);const a=ce.getABC(2,e,r,i,o);return new ce(e,a.A,i)}static cubicFromPoints(e,r,i,o,a){typeof o>"u"&&(o=.5);const s=ce.getABC(3,e,r,i,o);typeof a>"u"&&(a=k.dist(r,s.C));const l=a*(1-o)/o,u=k.dist(e,i),c=(i.x-e.x)/u,d=(i.y-e.y)/u,h=a*c,p=a*d,m=l*c,y=l*d,w={x:r.x-h,y:r.y-p},_={x:r.x+m,y:r.y+y},N=s.A,R={x:N.x+(w.x-N.x)/(1-o),y:N.y+(w.y-N.y)/(1-o)},M={x:N.x+(_.x-N.x)/o,y:N.y+(_.y-N.y)/o},j={x:e.x+(R.x-e.x)/o,y:e.y+(R.y-e.y)/o},A={x:i.x+(M.x-i.x)/(1-o),y:i.y+(M.y-i.y)/(1-o)};return new ce(e,j,A,i)}static getUtils(){return k}getUtils(){return ce.getUtils()}static get PolyBezier(){return qn}valueOf(){return this.toString()}toString(){return k.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,r=e[0].x,i=e[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let a=1,s=e.length;a0}length(){return k.length(this.derivative.bind(this))}static getABC(e=2,r,i,o,a=.5){const s=k.projectionratio(a,e),l=1-s,u={x:s*r.x+l*o.x,y:s*r.y+l*o.y},c=k.abcratio(a,e);return{A:{x:i.x+(i.x-u.x)/c,y:i.y+(i.y-u.y)/c},B:i,C:u,S:r,E:o}}getABC(e,r){r=r||this.get(e);let i=this.points[0],o=this.points[this.order];return ce.getABC(this.order,i,r,o,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let r=0,i,o;r1?1:h,p=this.compute(h),p.t=h,p.d=c,p}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?k.computeWithRatios(e,this.points,this.ratios,this._3d):k.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,r=[e[0]],i=e.length;for(let o=1,a,s;o1;){i=[];for(let s=0,l,u=r.length-1;s=0&&s<=1}),r=r.concat(e[i].sort(k.numberSort))}).bind(this)),e.values=r.sort(k.numberSort).filter(function(i,o){return r.indexOf(i)===o}),e}bbox(){const e=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=k.getminmax(this,i,e[i])}).bind(this)),r}overlaps(e){const r=this.bbox(),i=e.bbox();return k.bboxoverlap(r,i)}offset(e,r){if(typeof r<"u"){const i=this.get(e),o=this.normal(e),a={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(a.z=i.z+o.z*r),a}if(this._linear){const i=this.normal(0),o=this.points.map(function(a){const s={x:a.x+e*i.x,y:a.y+e*i.y};return a.z&&i.z&&(s.z=a.z+e*i.z),s});return[new ce(o)]}return this.reduce().map(function(i){return i._linear?i.offset(e)[0]:i.scale(e)})}simple(){if(this.order===3){const o=k.angle(this.points[0],this.points[3],this.points[1]),a=k.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&a<0||o<0&&a>0)return!1}const e=this.normal(0),r=this.normal(1);let i=e.x*r.x+e.y*r.y;return this._3d&&(i+=e.z*r.z),Dn(xw(i))(1-l/o)*r+l/o*i);return new ce(this.points.map((s,l)=>({x:s.x+e.x*a[l],y:s.y+e.y*a[l]})))}scale(e){const r=this.order;let i=!1;if(typeof e=="function"&&(i=e),i&&r===2)return this.raise().scale(i);const o=this.clockwise,a=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):e,i?i(1):e);const s=i?i(0):e,l=i?i(1):e,u=[this.offset(0,10),this.offset(1,10)],c=[],d=k.lli4(u[0],u[0].c,u[1],u[1].c);if(!d)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const p=c[h*r]=k.copy(a[h*r]);p.x+=(h?l:s)*u[h].n.x,p.y+=(h?l:s)*u[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var p=a[h+1],m={x:p.x-d.x,y:p.y-d.y},y=i?i((h+1)/r):e;i&&!o&&(y=-y);var w=Bn(m.x*m.x+m.y*m.y);m.x/=w,m.y/=w,c[h+1]={x:p.x+y*m.x,y:p.y+y*m.y}}}),new ce(c)):([0,1].forEach(h=>{if(r===2&&h)return;const p=c[h*r],m=this.derivative(h),y={x:p.x+m.x,y:p.y+m.y};c[h+1]=k.lli4(p,y,d,a[h+1])}),new ce(c))}outline(e,r,i,o){if(r=r===void 0?e:r,this._linear){const A=this.normal(0),G=this.points[0],T=this.points[this.points.length-1];let U,L,I;i===void 0&&(i=e,o=r),U={x:G.x+A.x*e,y:G.y+A.y*e},I={x:T.x+A.x*i,y:T.y+A.y*i},L={x:(U.x+I.x)/2,y:(U.y+I.y)/2};const W=[U,L,I];U={x:G.x-A.x*r,y:G.y-A.y*r},I={x:T.x-A.x*o,y:T.y-A.y*o},L={x:(U.x+I.x)/2,y:(U.y+I.y)/2};const se=[I,L,U],te=k.makeline(se[2],W[0]),Q=k.makeline(W[2],se[0]),Be=[te,new ce(W),Q,new ce(se)];return new qn(Be)}const a=this.reduce(),s=a.length,l=[];let u=[],c,d=0,h=this.length();const p=typeof i<"u"&&typeof o<"u";function m(A,G,T,U,L){return function(I){const W=U/T,se=(U+L)/T,te=G-A;return k.map(I,0,1,A+W*te,A+se*te)}}a.forEach(function(A){const G=A.length();p?(l.push(A.scale(m(e,i,h,d,G))),u.push(A.scale(m(-r,-o,h,d,G)))):(l.push(A.scale(e)),u.push(A.scale(-r))),d+=G}),u=u.map(function(A){return c=A.points,c[3]?A.points=[c[3],c[2],c[1],c[0]]:A.points=[c[2],c[1],c[0]],A}).reverse();const y=l[0].points[0],w=l[s-1].points[l[s-1].points.length-1],_=u[s-1].points[u[s-1].points.length-1],N=u[0].points[0],R=k.makeline(_,y),M=k.makeline(w,N),j=[R].concat(l).concat([M]).concat(u);return new qn(j)}outlineshapes(e,r,i){r=r||e;const o=this.outline(e,r).curves,a=[];for(let s=1,l=o.length;s1,u.endcap.virtual=s{var l=this.get(s);return k.between(l.x,r,o)&&k.between(l.y,i,a)})}selfintersects(e){const r=this.reduce(),i=r.length-2,o=[];for(let a=0,s,l,u;a0&&(a=a.concat(l))}),a}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,r,i,o){const a=(o-i)/4,s=this.get(i+a),l=this.get(o-a),u=k.dist(e,r),c=k.dist(e,s),d=k.dist(e,l);return Dn(c-u)+Dn(d-u)}_iterate(e,r){let i=0,o=1,a;do{a=0,o=1;let s=this.get(i),l,u,c,d,h=!1,p=!1,m,y=o,w=1;do if(p=h,d=c,y=(i+o)/2,l=this.get(y),u=this.get(o),c=k.getccenter(s,l,u),c.interval={start:i,end:o},h=this._error(c,s,i,o)<=e,m=p&&!h,m||(w=o),h){if(o>=1){if(c.interval.end=w=1,d=c,o>1){let N={x:c.x+c.r*vw(c.e),y:c.y+c.r*ww(c.e)};c.e+=k.angle({x:c.x,y:c.y},N,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!m&&a++<100);if(a>=100)break;d=d||c,r.push(d),i=w}while(o<1);return r}}const Cl=(n,e,r,i)=>{i=i!=null?i:-r;const[o,a]=Al(n);if(!o||!a)return;if(o[0]===a[0]||o[1]===a[1]||e===S.Diagonal&&Math.abs(o[1]-a[1])===Math.abs(o[0]-a[0])){const j=Math.abs(r);return Tl(o,a,j)}const[s,l]=ao(n);if(!s||!l)return;const u=new ce([...s,...l]),[c,d]=[u.scale(r),u.scale(i)],h=El(o,s,a,u,c,d);if(!h)return;const{mA:[p,m],mB:[y,w],endA:[_,N],endB:[R,M]}=h;return["M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N),"M ".concat(y," ").concat(w," ").concat(d.toSVG().replace("M","L")," L ").concat(R," ").concat(M)]},Nw=(n,e,r,i)=>{i=i!=null?i:2.5;const[o,a]=Al(n);if(!o||!a)return;if(o[0]===a[0]||o[1]===a[1]||e===S.Diagonal&&Math.abs(o[1]-a[1])===Math.abs(o[0]-a[0])){const L=Math.abs(r),[I,W]=Tl(o,a,L);return{outline:_w(o,a,L),pA:I,pB:W}}const[s,l]=ao(n);if(!s||!l)return;const u=new ce([...s,...l]),[c,d]=[u.scale(r),u.scale(i)],h=El(o,s,a,u,c,d);if(!h)return;const{mA:[p,m],mB:[y,w],endA:[_,N],endB:[R,M]}=h,[j,A]=ao(d.toSVG().replace("M","L")),[G,T]=Rw(j,A);return{outline:"M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N," L ").concat(R," ").concat(M," L ").concat(G.join(" ")," C ").concat(T.join(" ")," L ").concat(y," ").concat(w," Z"),pA:"M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N),pB:"M ".concat(y," ").concat(w," ").concat(d.toSVG().replace("M","L")," L ").concat(R," ").concat(M)}},Al=n=>{var i,o,a,s;const e=(o=(i=n.match(/M\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))==null?void 0:i.at(0))==null?void 0:o.replace(/M\s*/,"").split(" ").map(l=>Number(l)),r=(s=(a=n.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*$/))==null?void 0:a.at(0))==null?void 0:s.replace(/L\s*/,"").split(" ").map(l=>Number(l));return[e,r]},Tl=(n,e,r)=>{const[i,o,a,s]=[n[0],n[1],e[0],e[1]],l=Math.abs((s-o)/(a-i));if(l===1/0)return["M ".concat(i+r," ").concat(o," L ").concat(a+r," ").concat(s),"M ".concat(i-r," ").concat(o," L ").concat(a-r," ").concat(s)];if(l===0)return["M ".concat(i," ").concat(o+r," L ").concat(a," ").concat(s+r),"M ".concat(i," ").concat(o-r," L ").concat(a," ").concat(s-r)];{const u=1/l,c=r/Math.sqrt(u*u+1),d=c*u*-Math.sign((a-i)*(s-o));return["M ".concat(i+c," ").concat(o+d," L ").concat(a+c," ").concat(s+d),"M ".concat(i-c," ").concat(o-d," L ").concat(a-c," ").concat(s-d)]}},_w=(n,e,r)=>{const[i,o,a,s]=[n[0],n[1],e[0],e[1]],l=Math.abs((s-o)/(a-i));if(l===1/0)return"M ".concat(i+r," ").concat(o," L ").concat(a+r," ").concat(s," L ").concat(a-r," ").concat(s," L ").concat(i-r," ").concat(o," Z");if(l===0)return"M ".concat(i," ").concat(o+r," L ").concat(a," ").concat(s+r," L ").concat(a," ").concat(s-r," L ").concat(i," ").concat(o-r," Z");{const u=1/l,c=r/Math.sqrt(u*u+1),d=c*u*-Math.sign((a-i)*(s-o));return"M ".concat(i+c," ").concat(o+d," L ").concat(a+c," ").concat(s+d," L ").concat(a-c," ").concat(s-d," L ").concat(i-c," ").concat(o-d," Z")}},ao=n=>{var i,o,a,s;const e=(o=(i=n.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))==null?void 0:i.at(0))==null?void 0:o.replace(/L\s*/,"").split(" ").map(l=>Number(l)),r=(s=(a=n.match(/C\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/g))==null?void 0:a.at(0))==null?void 0:s.replace(/C\s*/,"").split(" ").map(l=>Number(l));return[e,r]},Rw=(n,e)=>[[e[4],e[5]],[e[2],e[3],e[0],e[1],n[0],n[1]]],El=(n,e,r,i,o,a)=>{const s=[o.points.at(0).x,o.points.at(0).y],l=[a.points.at(0).x,a.points.at(0).y];if(!n)return;const[u,c]=xr(n[0],e[0],s[0],n[1],e[1],s[1]),[d,h]=xr(n[0],e[0],l[0],n[1],e[1],l[1]),p=[o.points.at(-1).x,o.points.at(-1).y],m=[a.points.at(-1).x,a.points.at(-1).y],y=[i.points.at(-1).x,i.points.at(-1).y];if(!r)return;const[w,_]=xr(p[0],y[0],r[0],p[1],y[1],r[1]),[N,R]=xr(m[0],y[0],r[0],m[1],y[1],r[1]);return{mA:[u,c],mB:[d,h],endA:[w,_],endB:[N,R]}},xr=(n,e,r,i,o,a)=>{const[s,l]=[n+r,i+a],[u,c]=[s-e,l-o];return[u,c]},kw=1,Yx=(n,e)=>{const{type:r,parallelIndex:i}=e.attributes;if(r===S.Simple||i<0)return{normal:[e],parallel:[]};const{source:o,target:a}=e,s=[],l=[];for(const u of n.edgeEntries(o,a)){if(u.attributes.parallelIndex<0){s.push(u);continue}const{startFrom:c}=u.attributes[r];Ll(r,o,c,u)&&l.push(u)}return{normal:s,parallel:l}},Cw=(n,e,r,i,o)=>{let a=!1;if(n===S.Diagonal)(Math.abs(i-e)e&&o>r)||Math.abs(i-e)>Math.abs(o-r)&&(i>e&&or))&&(a=!0);else if(n===S.Perpendicular)(i>e&&or)&&(a=!0);else if(n===S.RotatePerpendicular){const[s,l,u,c]=[e*Math.SQRT1_2+r*Math.SQRT1_2,-e*Math.SQRT1_2+r*Math.SQRT1_2,i*Math.SQRT1_2+o*Math.SQRT1_2,-i*Math.SQRT1_2+o*Math.SQRT1_2];(u>s&&cl)&&(a=!0)}return a},Zx=n=>{var p;let e=n.at(0);if(!e)return{};for(const m of n)m.attributes.parallelIndex0?m.attributes.parallelIndex:0;if(y===0){h[m.edge]=c;continue}const w=y*5,_=["M ".concat(a," ").concat(s+w," L ").concat(l," ").concat(u+w),"M ".concat(a," ").concat(s-w," L ").concat(l," ").concat(u-w)],[N,R]=(p=Cl(c,r,w))!=null?p:_;h[m.edge]=d?N:R}return h},Ll=(n,e,r,i)=>{const o=i.attributes.type;return n===i.attributes.type&&e===i.source&&r===i.attributes[o].startFrom?!0:n===i.attributes.type&&e===i.target&&r!==i.attributes[o].startFrom},Qx=(n,e,r,i,o)=>{if(e===S.Simple)return-1;const a=[];for(const l of n.edgeEntries(r,i))Ll(e,r,o,l)&&a.push(l.attributes.parallelIndex);a.sort();let s=0;for(const l of a){if(l>s)break;s=l+1}return s},Po=(n,e,r)=>{if(e===S.Simple)return r;const i=n.getEdgeAttribute(r,"parallelIndex");if(i<0)return r;const{startFrom:o}=n.getEdgeAttribute(r,e),[a,s]=n.extremities(r);let l=i,u=r;for(const c of n.edgeEntries(a,s)){const d=c.attributes;(e===d.type&&a===c.source&&d[e].startFrom===o&&d.parallelIndex>=0&&d.parallelIndex=0&&d.parallelIndex{let e=0;for(const r of n.edgeEntries())r.attributes.parallelIndex>=0&&(e+=1);return e},Lw={telemetry:{app:!0,project:!0},preference:{unlockSimplePathAttempts:3,toolsPanel:{expand:!0},autoParallel:!0,randomStationsNames:"none"}},Ol=ci({name:"app",initialState:Lw,reducers:{setTelemetryApp:(n,e)=>{n.telemetry.app=e.payload},setTelemetryProject:(n,e)=>{n.telemetry.project=e.payload},setUnlockSimplePath:(n,e)=>{n.preference.unlockSimplePathAttempts=e.payload},setToolsPanelExpansion:(n,e)=>{n.preference.toolsPanel.expand=e.payload},setAutoParallel:(n,e)=>{n.preference.autoParallel=e.payload},setRandomStationsNames:(n,e)=>{n.preference.randomStationsNames=e.payload}}}),{setTelemetryApp:Ow,setTelemetryProject:jw,setUnlockSimplePath:Mw,setToolsPanelExpansion:Pw,setAutoParallel:jl,setRandomStationsNames:$w}=Ol.actions,Iw=Ol.reducer,Dw=49,Bw={present:new pe().export(),past:[],future:[],svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}},Ml=es("undo"),Pl=es("redo"),$l=ci({name:"param",initialState:Bw,reducers:{setFullState:(n,e)=>structuredClone(e.payload),saveGraph:(n,e)=>{n.future=[],n.past.push(n.present),n.past.length>Dw&&n.past.shift(),n.present=structuredClone(e.payload)},setSvgViewBoxZoom:(n,e)=>{n.svgViewBoxZoom=e.payload},setSvgViewBoxMin:(n,e)=>{n.svgViewBoxMin=e.payload}},extraReducers:n=>{n.addCase(Ml,e=>{if(e.past.length===0)return;const r=e.past.pop();e.future.unshift(e.present),e.present=r,window.graph.clear(),window.graph.import(structuredClone(Qo(r)))}).addCase(Pl,e=>{if(e.future.length===0)return;const r=e.future.shift();e.past.push(e.present),e.present=r,window.graph.clear(),window.graph.import(structuredClone(Qo(r)))})}}),{setFullState:zw,saveGraph:un,setSvgViewBoxZoom:Xx,setSvgViewBoxMin:eS}=$l.actions,Fw=$l.reducer,Gw={selected:new Set,active:void 0,refresh:{nodes:Date.now(),edges:Date.now()},mode:"free",lastTool:void 0,keepLastPath:!1,theme:[le.Shanghai,"sh1","#E3002B",ee.white],paletteAppClip:{input:void 0,output:void 0},masterNodesCount:0,parallelLinesCount:0,stationNames:{},globalAlerts:{}},Jr=ts("runtime/refreshNodes",async(n,{getState:e,dispatch:r})=>{const i=e();r(Vw());let o=0;window.graph.forEachNode((s,l)=>{l.type===st.Master&&(o+=1)}),r(Uw(o));const a=i.account.activeSubscriptions.RMP_CLOUD?Fy:zy;o>a&&r(Do({status:"warning",message:"".concat(Qn.t("header.settings.proLimitExceed.master")," ").concat(Qn.t("header.settings.proLimitExceed.solution"))}))}),pn=ts("runtime/refreshEdges",async(n,{getState:e,dispatch:r})=>{const i=e();r(Hw());const o=Ew(window.graph);r(Ww(o));const a=i.account.activeSubscriptions.RMP_CLOUD?Tw:Aw;o>=a&&r(jl(!1)),o>a&&r(Do({status:"warning",message:"".concat(Qn.t("header.settings.proLimitExceed.parallel")," ").concat(Qn.t("header.settings.proLimitExceed.solution"))}))}),$o=ci({name:"runtime",initialState:Gw,reducers:{setSelected:(n,e)=>{n.selected=e.payload},addSelected:(n,e)=>{n.selected.add(e.payload)},removeSelected:(n,e)=>{n.selected.delete(e.payload)},clearSelected:n=>{n.selected=new Set},setActive:(n,e)=>{n.active=e.payload},setRefreshNodes:n=>{n.refresh.nodes=Date.now()},setRefreshEdges:n=>{n.refresh.edges=Date.now()},setMode:(n,e)=>{n.mode!=="free"&&(n.lastTool=n.mode),n.mode=e.payload},setKeepLastPath:(n,e)=>{n.keepLastPath=e.payload},setTheme:(n,e)=>{n.theme=e.payload},openPaletteAppClip:(n,e)=>{n.paletteAppClip.input=e.payload,n.paletteAppClip.output=void 0},closePaletteAppClip:n=>{n.paletteAppClip.input=void 0},onPaletteAppClipEmit:(n,e)=>{n.paletteAppClip.input=void 0,n.paletteAppClip.output=e.payload},setMasterNodesCount:(n,e)=>{n.masterNodesCount=e.payload},setParallelLinesCount:(n,e)=>{n.parallelLinesCount=e.payload},setStationNames:(n,e)=>{n.stationNames[e.payload.cityName]=e.payload.names},setGlobalAlert:(n,e)=>{const{status:r,message:i,url:o,linkedApp:a}=e.payload;n.globalAlerts[r]={message:i,url:o,linkedApp:a}},closeGlobalAlert:(n,e)=>{delete n.globalAlerts[e.payload]}},extraReducers:n=>{n.addCase(Ml,e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()}).addCase(Pl,e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()})}}),{setMasterNodesCount:Uw,setParallelLinesCount:Ww}=$o.actions,{setSelected:Io,addSelected:tS,removeSelected:nS,clearSelected:rS,setActive:iS,setRefreshNodes:Vw,setRefreshEdges:Hw,setMode:oS,setKeepLastPath:aS,setTheme:sS,openPaletteAppClip:Jw,closePaletteAppClip:Kw,onPaletteAppClipEmit:qw,setStationNames:lS,setGlobalAlert:Do,closeGlobalAlert:uS}=$o.actions,Yw=$o.reducer,Bo=(n,e,r)=>e===0?n:Zw(n,e);function Zw(n,e,r){function i(L,I,W){var se=I.x-L.x,te=I.y-L.y,Q=Math.sqrt(se*se+te*te);return o(L,I,Math.min(1,W/Q))}function o(L,I,W){return{x:L.x+(I.x-L.x)*W,y:L.y+(I.y-L.y)*W}}function a(L,I){L.length>2&&(L[L.length-2]=I.x,L[L.length-1]=I.y)}function s(L){return{x:parseFloat(L[L.length-2]),y:parseFloat(L[L.length-1])}}var l=n.split(/[,\s]/).reduce(function(L,I){var W=I.match("([a-zA-Z])(.+)");return W?(L.push(W[1]),L.push(W[2])):L.push(I),L},[]),u=l.reduce(function(L,I){return parseFloat(I)==I&&L.length?L[L.length-1].push(I):L.push([I]),L},[]),c=[];if(u.length>1){var d=s(u[0]),h=null;u[u.length-1][0]=="Z"&&u[0].length>2&&(h=["L",d.x,d.y],u[u.length-1]=h),c.push(u[0]);for(var p=1;p2&&y[0]=="L"&&w.length>2&&w[0]=="L"){var _=s(m),N=s(y),R=s(w),M,j;M=i(N,_,e),j=i(N,R,e),a(y,M),y.origPoint=N,c.push(y);var A=o(M,N,.5),G=o(N,j,.5),T=["C",A.x,A.y,G.x,G.y,j.x,j.y];T.origPoint=N,c.push(T)}else c.push(y)}if(h){var U=s(c[c.length-1]);c.push(["Z"]),a(c[0],U)}}else c=u;return c.reduce(function(L,I){return L+I.join(" ")+" "},"")}const Qw=(n,e,r,i,o=yt)=>{const{startFrom:a=yt.startFrom,offsetFrom:s=yt.offsetFrom,offsetTo:l=yt.offsetTo,roundCornerFactor:u=yt.roundCornerFactor}=o,[c,d,h,p]=a==="from"?[n,r,e,i]:[e,i,n,r],m=Math.abs(h-c)0?-1:1):j,L=m==="horizontal"?A:T+Math.abs(G-j)*(T-A>0?-1:1),[I,W,se,te]=a==="from"?[j,A,G,T]:[G,T,j,A];return Bo("M ".concat(I," ").concat(W," L ").concat(U," ").concat(L," L ").concat(se," ").concat(te),u)},yt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:10},Xw=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.Diagonal,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:yt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:yt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:yt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},e0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M9,18V12L15,6",stroke:"currentColor",fill:"none"})}),t0={generatePath:Qw,icon:e0,defaultAttrs:yt,attrsComponent:Xw,metadata:{displayName:"panel.details.lines.diagonal.displayName"}},n0=(n,e,r,i,o=bt)=>{const{startFrom:a=bt.startFrom,offsetFrom:s=bt.offsetFrom,offsetTo:l=bt.offsetTo,roundCornerFactor:u=bt.roundCornerFactor}=o,[c,d]=a==="from"?[s,l]:[l,s],[h,p,m,y]=a==="from"?[0,c,d,0]:[c,0,0,d],w=a==="from"?e+m:n+h,_=a==="from"?r+p:i+y;return Bo("M ".concat(n+h," ").concat(r+p," L ").concat(w," ").concat(_," L ").concat(e+m," ").concat(i+y),u)},bt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},r0=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.Perpendicular,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:bt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:bt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:bt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},i0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M6,6H18V18",stroke:"currentColor",fill:"none"})}),o0={generatePath:n0,icon:i0,defaultAttrs:bt,attrsComponent:r0,metadata:{displayName:"panel.details.lines.perpendicular.displayName"}},a0=(n,e,r,i,o=vt)=>{const{startFrom:a=vt.startFrom,offsetFrom:s=vt.offsetFrom,offsetTo:l=vt.offsetTo,roundCornerFactor:u=vt.roundCornerFactor}=o,[c,d]=a==="from"?[s,l]:[l,s],[h,p,m,y]=a==="from"?[0,c,d,0]:[c,0,0,d],[w,_,N,R]=[n*Math.SQRT1_2+r*Math.SQRT1_2,-n*Math.SQRT1_2+r*Math.SQRT1_2,e*Math.SQRT1_2+i*Math.SQRT1_2,-e*Math.SQRT1_2+i*Math.SQRT1_2],[M,j,A,G]=[w+h,_+p,N+m,R+y],[T,U,L,I]=[M*Math.SQRT1_2-j*Math.SQRT1_2,M*Math.SQRT1_2+j*Math.SQRT1_2,A*Math.SQRT1_2-G*Math.SQRT1_2,A*Math.SQRT1_2+G*Math.SQRT1_2],W=a==="from"?N+m:w+h,se=a==="from"?_+p:R+y,[te,Q]=[W*Math.SQRT1_2-se*Math.SQRT1_2,W*Math.SQRT1_2+se*Math.SQRT1_2];return Bo("M ".concat(T," ").concat(U," L ").concat(te," ").concat(Q," L ").concat(L," ").concat(I),u)},vt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},s0=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.RotatePerpendicular,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:vt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:vt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:vt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},l0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M9,6L15,12L9,18",stroke:"currentColor",fill:"none"})}),u0={generatePath:a0,icon:l0,defaultAttrs:vt,attrsComponent:s0,metadata:{displayName:"panel.details.lines.rotatePerpendicular.displayName"}};var Z=(n=>(n.ShmetroBasic="shmetro-basic",n.ShmetroBasic2020="shmetro-basic-2020",n.ShmetroInt="shmetro-int",n.ShmetroOutOfSystemInt="shmetro-osysi",n.ShanghaiSuburbanRailway="sh-sub-rwy",n.GzmtrBasic="gzmtr-basic",n.GzmtrInt="gzmtr-int",n.GzmtrInt2024="gzmtr-int-2024",n.BjsubwayBasic="bjsubway-basic",n.BjsubwayInt="bjsubway-int",n.MTR="mtr",n.SuzhouRTBasic="suzhourt-basic",n.SuzhouRTInt="suzhourt-int",n.KunmingRTBasic="kunmingrt-basic",n.KunmingRTInt="kunmingrt-int",n.MRTBasic="mrt-basic",n.MRTInt="mrt-int",n.JREastBasic="jr-east-basic",n.JREastImportant="jr-east-imp",n.FoshanMetroBasic="foshan-metro-basic",n.QingdaoMetroStation="qingdao-metro-basic",n.TokyoMetroBasic="tokyo-metro-basic",n.TokyoMetroInt="tokyo-metro-int",n.LondonTubeBasic="london-tube-basic",n.LondonTubeInt="london-tube-int",n.LondonRiverServicesInt="london-river-int",n.GuangdongIntercityRailway="gd-intercity-rwy",n))(Z||{});const cS=["shmetro-basic-2020","gzmtr-basic","suzhourt-basic","kunmingrt-basic","mrt-basic","foshan-metro-basic","qingdao-metro-basic"],dS={names:["车站","Stn"]};class c0{static hexToRgb(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}static fade(e,r){return"rgba(".concat([...this.hexToRgb(e),r].join(","),")")}static euclideanDistance(e,r){return this.hexToRgb(e).reduce((i,o,a)=>i+Math.pow(o-this.hexToRgb(r)[a],2),0)}}function hS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(n)}function pS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(n)}function fS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"},child:[]}]})(n)}function gS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z"},child:[]}]})(n)}function mS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"},child:[]}]})(n)}function yS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(n)}function bS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"},child:[]}]})(n)}function vS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7 1.62-4.33L19.12 17h-3.24z"},child:[]}]})(n)}function wS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]},{tag:"path",attr:{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"},child:[]}]})(n)}function xS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"},child:[]}]})(n)}function SS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M13 7h9v2h-9zM13 15h9v2h-9zM16 11h6v2h-6zM13 12 8 7v4H2v2h6v4z"},child:[]}]})(n)}function NS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(n)}function _S(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"},child:[]}]})(n)}function RS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 13h2v-2H3v2zm4 8h2v-2H7v2zm6-18h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zm8 4h2v-2h-2v2zm8-8h2v-2h-2v2zm0-4h2V7h-2v2zm-4-4h2V3h-2v2zM7.83 5 7 4.17V3h2v2H7.83zm12 12-.83-.83V15h2v2h-1.17zm1.36 4.19L2.81 2.81 1.39 4.22 4.17 7H3v2h2V7.83l2 2V17h7.17l2 2H15v2h2v-1.17l2.78 2.78 1.41-1.42zM9 15v-3.17L12.17 15H9zm6-2.83V9h-3.17l-2-2H17v7.17l-2-2z"},child:[]}]})(n)}function kS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"},child:[]}]})(n)}function CS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13H5v-2h14v2z"},child:[]}]})(n)}function AS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 12.4V7l-4-4H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.4l8.6-8.6zM15 15c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zM6 6h9v4H6V6zm13.99 10.25 1.77 1.77L16.77 23H15v-1.77l4.99-4.98zm3.26.26-.85.85-1.77-1.77.85-.85c.2-.2.51-.2.71 0l1.06 1.06c.2.2.2.52 0 .71z"},child:[]}]})(n)}function TS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(n)}function ES(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"},child:[]}]})(n)}function LS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"},child:[]}]})(n)}function OS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"},child:[]}]})(n)}function jS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 20h14v-2H5v2zm0-10h4v6h6v-6h4l-7-7-7 7z"},child:[]}]})(n)}function d0(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(n)}function MS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"},child:[]}]})(n)}function PS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(n)}function $S(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(n)}function IS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(n)}function DS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(n)}function BS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"},child:[]}]})(n)}function zS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"},child:[]}]})(n)}function FS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(n)}function GS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3 1 9l11 6 9-4.91V17h2V9L12 3z"},child:[]}]})(n)}function h0(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(n)}function p0(n){const{theme:e,onClick:r}=n,{t:i}=fe();return f.jsx(Or,{"aria-label":i("Color"),color:e[3],bg:e[2],size:"md",_hover:{bg:c0.fade(e[2],.7)},icon:f.jsx(d0,{}),onClick:r})}const ve=n=>{var R;const{type:e,colorKey:r="color",defaultTheme:i}=n,o=Ht(),{selected:a,paletteAppClip:{output:s}}=vi(M=>M.runtime),[l]=a,u=P.useCallback(()=>{o(Jr()),o(pn()),o(un(c.current.export()))},[o,Jr,pn,un]),c=P.useRef(window.graph),[d,h,p]=[].concat(Object.values(Z)).concat(Object.values(st)).find(M=>e===M)?[c.current.hasNode,c.current.getNodeAttribute,c.current.mergeNodeAttributes]:[c.current.hasEdge,c.current.getEdgeAttribute,c.current.mergeEdgeAttributes],m=M=>{if(l&&d.bind(c.current)(l)){const j=h.bind(c.current)(l,e);j[r]=M,p.bind(c.current)(l,{[e]:j}),u()}},[y,w]=P.useState(!1);P.useEffect(()=>{y&&s&&(m(s),w(!1))},[s==null?void 0:s.toString()]);const N=l&&d.bind(c.current)(l)&&(l.startsWith("stn")||l.startsWith("misc_node")?c.current.getNodeAttribute(l,"type")===e:c.current.getEdgeAttribute(l,"style")===e)?((R=h.bind(c.current)(l,e))!=null?R:{[r]:i})[r]:i;return f.jsx(f.Fragment,{children:f.jsx(p0,{theme:N,onClick:()=>{w(!0),o(Jw(N))}})})},f0=n=>{const{id:e,path:r,styleAttrs:i,newLine:o,handlePointerDown:a}=n,{color:s=Kr.color}=i!=null?i:Kr,l=P.useCallback(u=>a(e,u),[e,a]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:s[2],strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o?void 0:l,pointerEvents:o?"none":void 0})},Kr={color:[le.Shanghai,"sh1","#E4002B",ee.white]},g0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.SingleColor,defaultTheme:Kr.color})}];return f.jsx(ye,{fields:r})},m0={component:f0,defaultAttrs:Kr,attrsComponent:g0,metadata:{displayName:"panel.details.lines.singleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},y0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsxs("g",{id:e,onPointerDown:o,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"7",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"4.33",strokeLinecap:"round"})]})},b0={},v0=()=>{},w0={component:y0,defaultAttrs:b0,attrsComponent:v0,metadata:{displayName:"panel.details.lines.shmetroVirtualInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},x0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{isEnd:a=Il.isEnd}=i,s=P.useCallback(u=>o(e,u),[e,o]),l=a?"round":void 0;return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"#898989",strokeWidth:"5",strokeLinecap:l})})},S0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:e,onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})})},Il={isEnd:!1},N0=n=>{const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"switch",label:o("panel.details.lines.shanghaiSuburbanRailway.isEnd"),isChecked:r.isEnd,onChange:s=>{r.isEnd=s,i(e,r)},oneLine:!0,minW:"full"}];return f.jsx(ye,{fields:a})},_0={component:S0,preComponent:x0,defaultAttrs:Il,attrsComponent:N0,metadata:{displayName:"panel.details.lines.shanghaiSuburbanRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},R0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"#565656",strokeWidth:"3",strokeDasharray:"3",cursor:"pointer",onPointerDown:o})},k0={},C0=()=>null,A0={component:R0,defaultAttrs:k0,attrsComponent:C0,metadata:{displayName:"panel.details.lines.gzmtrVirtualInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},Dl=9.25*2,Bl=1.3,zl=.57915,T0=(Dl+Bl)*zl,E0=(Dl-Bl)*zl,L0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=qr.color}=i!=null?i:qr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:T0}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:E0})]})},qr={color:[le.Guangzhou,"gz11","#ffb00a",ee.black]},O0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.GZMTRLoop,defaultTheme:qr.color})}];return f.jsx(ye,{fields:r})},j0={component:L0,defaultAttrs:qr,attrsComponent:O0,metadata:{displayName:"panel.details.lines.gzmtrLoop.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},M0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Yr.color}=i!=null?i:Yr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"4.67",strokeDasharray:"17.5"})]})},Yr={color:[le.Shanghai,"jsr","#000000",ee.white]},P0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.ChinaRailway,defaultTheme:Yr.color})}];return f.jsx(ye,{fields:r})},$0={component:M0,defaultAttrs:Yr,attrsComponent:P0,metadata:{displayName:"panel.details.lines.chinaRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},I0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Zr.color}=i!=null?i:Zr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"6",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"})]})},Zr={color:[le.Beijing,"bj1","#c23a30",ee.white]},D0=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwaySingleColor,defaultTheme:Zr.color})}];return f.jsx(ye,{fields:e})},B0={component:I0,defaultAttrs:Zr,attrsComponent:D0,metadata:{displayName:"panel.details.lines.bjsubwaySingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},tr=n=>{const{t:e}=fe(),r=Ht(),{selected:i}=vi(l=>l.runtime),[o]=i,a=P.useRef(window.graph),s=[];if(i.size===1&&a.current.hasNode(o)){const l=a.current.getNodeAttribute(o,"type"),u=a.current.getNodeAttribute(o,l);s.push(...n.fields.filter(c=>c.type!=="custom").map(c=>{var d,h,p;return{type:c.type,label:e(c.label),value:(d=c.value)==null?void 0:d.call(c,u),isChecked:(h=c.isChecked)==null?void 0:h.call(c,u),hidden:(p=c.hidden)==null?void 0:p.call(c,u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,oneLine:c.oneLine,onChange:m=>{let y;try{y=c.onChange(m,u)}catch(w){r(Do({status:"error",message:e("err-code.".concat(w))}));return}a.current.mergeNodeAttributes(o,{[l]:y}),r(Jr()),r(un(a.current.export()))}}}),...n.fields.filter(c=>c.type==="custom").map(c=>({...c,label:e(c.label)})))}if(i.size===1&&a.current.hasEdge(o)&&n.type!=="style"){const l=a.current.getEdgeAttribute(o,"type"),u=a.current.getEdgeAttribute(o,l);s.push(...n.fields.map(c=>({type:c.type,label:e(c.label),value:c.value(u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,onChange:d=>{a.current.mergeEdgeAttributes(o,{[l]:c.onChange(d,u)}),r(pn()),r(un(a.current.export()))}})))}if(i.size===1&&a.current.hasEdge(o)&&n.type==="style"){const l=a.current.getEdgeAttribute(o,"style"),u=a.current.getEdgeAttribute(o,l);s.push(...n.fields.filter(c=>c.type!=="custom").map(c=>({type:c.type,label:e(c.label),value:c.value(u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,onChange:d=>{a.current.mergeEdgeAttributes(o,{[l]:c.onChange(d,u)}),r(pn()),r(un(a.current.export()))}})),...n.fields.filter(c=>c.type==="custom").map(c=>({...c,label:e(c.label)})))}return f.jsx(ye,{fields:s,minW:276})},z0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Qr.color}=i!=null?i:Qr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"1.67"})]})},Qr={color:[le.Beijing,"bj1","#c23a30",ee.white]},F0=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwayTram,defaultTheme:Qr.color})}],G0=()=>f.jsx(tr,{fields:F0,type:"style"}),U0={component:z0,defaultAttrs:Qr,attrsComponent:G0,metadata:{displayName:"panel.details.lines.bjsubwayTram.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},W0=n=>{const{id:e,type:r,path:i,styleAttrs:o,handlePointerDown:a}=n,{colorA:s=Wt.colorA,colorB:l=Wt.colorB}=o!=null?o:Wt,u=P.useCallback(m=>a(e,m),[e,a]),[c,d]=P.useState(i),[h,p]=P.useState(i);return P.useEffect(()=>{const m=Cl(i,r,-1.25,1.25);m&&(d(m[0]),p(m[1]))},[i]),f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:c,fill:"none",stroke:s[2],strokeWidth:"2.5",strokeLinecap:"round"}),f.jsx("path",{d:h,fill:"none",stroke:l[2],strokeWidth:"2.5",strokeLinecap:"round"})]})},Wt={colorA:[le.Shanghai,"maglevA","#008B9A",ee.white],colorB:[le.Shanghai,"maglevB","#F5A74E",ee.white]},V0=()=>{const{t:n}=fe(),e=Ht(),{selected:r}=vi(a=>a.runtime),[i]=r,o=P.useRef(window.graph);return f.jsx(Or,{"aria-label":n("panel.details.lines.dualColor.swap"),icon:f.jsx(h0,{}),size:"sm",onClick:()=>{var l;const a=(l=o.current.getEdgeAttribute(i,D.DualColor))!=null?l:Wt,s=a.colorA;a.colorA=a.colorB,a.colorB=s,o.current.mergeEdgeAttributes(i,{[D.DualColor]:a}),e(pn()),e(un(o.current.export()))}})},H0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("panel.details.lines.dualColor.swap"),component:f.jsx(V0,{})},{type:"custom",label:e("panel.details.lines.dualColor.colorA"),component:f.jsx(ve,{type:D.DualColor,colorKey:"colorA",defaultTheme:Wt.colorA})},{type:"custom",label:e("panel.details.lines.dualColor.colorB"),component:f.jsx(ve,{type:D.DualColor,colorKey:"colorB",defaultTheme:Wt.colorB})}];return f.jsx(ye,{fields:r})},J0={component:W0,defaultAttrs:Wt,attrsComponent:H0,metadata:{displayName:"panel.details.lines.dualColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},K0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=cn.color,width:s=cn.width}=i!=null?i:cn,l=P.useCallback(u=>o(e,u),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:s,strokeLinecap:"round",cursor:"pointer",onPointerDown:l})},cn={color:[le.Shanghai,"river","#B9E3F9",ee.white],width:20},q0=[{type:"input",label:"panel.details.lines.river.width",variant:"number",value:n=>(n!=null?n:cn).width,onChange:(n,e)=>{const r=e!=null?e:cn;return r.width=Number(n),r}}],Y0=()=>f.jsx(tr,{fields:q0,type:"style"}),Z0={component:K0,defaultAttrs:cn,attrsComponent:Y0,metadata:{displayName:"panel.details.lines.river.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},Q0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Xr.color}=i!=null?i:Xr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"butt",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:s})},Xr={color:[le.Hongkong,"twl","#E2231A",ee.white]},X0=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MTRRaceDays,defaultTheme:Xr.color})}],e1=()=>f.jsx(tr,{fields:X0,type:"style"}),t1={component:Q0,defaultAttrs:Xr,attrsComponent:e1,metadata:{displayName:"panel.details.lines.mtrRaceDays.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},n1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ei.color}=i!=null?i:ei,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"2.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},ei={color:[le.Hongkong,"lrl","#CD9700",ee.white]},r1=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MTRLightRail,defaultTheme:ei.color})}],i1=()=>f.jsx(tr,{fields:r1,type:"style"}),o1={component:n1,defaultAttrs:ei,attrsComponent:i1,metadata:{displayName:"panel.details.lines.mtrLightRail.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},a1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"1.33",strokeDasharray:"2.66 1.33",cursor:"pointer",onPointerDown:o})},s1={},l1=()=>{},u1={component:a1,defaultAttrs:s1,attrsComponent:l1,metadata:{displayName:"panel.details.lines.mtrUnpaidArea.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},c1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"1.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},d1={},h1=()=>f.jsx(tr,{fields:[],type:"style"}),p1={component:c1,defaultAttrs:d1,attrsComponent:h1,metadata:{displayName:"panel.details.lines.mtrPaidArea.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},f1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ti.color}=i!=null?i:ti,s=P.useCallback(u=>o(e,u),[e,o]),l=Xa("white","var(--chakra-colors-gray-800)");return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"2 2"}),f.jsx("path",{d:r,fill:"none",stroke:l,strokeWidth:"3.4"})]})},ti={color:[le.Beijing,"bj1","#c23a30",ee.white]},g1=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwayDotted,defaultTheme:ti.color})}];return f.jsx(ye,{fields:e})},m1={component:f1,defaultAttrs:ti,attrsComponent:g1,metadata:{displayName:"panel.details.lines.bjsubwayDotted.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},y1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ni.color}=i!=null?i:ni,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"0 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},ni={color:[le.Singapore,"ewl","#009739",ee.white]},b1=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MRTUnderConstruction,defaultTheme:ni.color})}];return f.jsx(ye,{fields:e})},v1={component:y1,defaultAttrs:ni,attrsComponent:b1,metadata:{displayName:"panel.details.lines.mrtUnderConstruction.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},w1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"0 10 10 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},x1={},S1=n=>null,N1={component:w1,defaultAttrs:x1,attrsComponent:S1,metadata:{displayName:"panel.details.lines.mrtSentosaExpress.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},_1=n=>{const{id:e,path:r,styleAttrs:i,newLine:o,handlePointerDown:a}=n,{color:s=ri.color}=i!=null?i:ri,l=P.useCallback(u=>a(e,u),[e,a]);return f.jsxs("g",{id:e,onPointerDown:l,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"5.1"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"4.9"})]})},ri={color:[le.Tokyo,"jy","#9ACD32",ee.black]},R1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.JREastSingleColor,defaultTheme:ri.color})}];return f.jsx(ye,{fields:r})},k1={component:_1,defaultAttrs:ri,attrsComponent:R1,metadata:{displayName:"panel.details.lines.jrEastSingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},C1=5,Me=C1*Math.SQRT1_2,so=.25,Sr=(Me*Math.SQRT2-so)/2*Math.SQRT2,A1=n=>{const{id:e,type:r,path:i,styleAttrs:o,newLine:a,handlePointerDown:s}=n,{color:l=ii.color}=o!=null?o:ii,u=P.useCallback(h=>s(e,h),[e,s]),[c,d]=P.useState({outline:i,pA:i,pB:i});return P.useEffect(()=>{const h=Nw(i,r,-2.5,2.5);h&&d(h)},[i]),f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsxs("defs",{children:[f.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[f.jsx("polygon",{points:"0,0 0,".concat(Sr," ").concat(Sr,",0")}),f.jsx("polygon",{points:"".concat(Me,",").concat(Me," ").concat(Me-Sr,",").concat(Me," ").concat(Me,",").concat(Me-Sr)})]}),f.jsxs("pattern",{id:"jr_east_".concat(e,"_fill_pattern_").concat(l[2]),width:Me,height:Me,patternUnits:"userSpaceOnUse",children:[f.jsx("rect",{width:Me,height:Me,fill:l[2]}),f.jsx("line",{x1:"0",y1:"0",x2:Me,y2:Me,stroke:"white",strokeWidth:so,strokeOpacity:"50%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),f.jsx("line",{x1:Me,y1:"0",x2:"0",y2:Me,stroke:"white",strokeWidth:so,strokeOpacity:"50%"})]})]}),f.jsx("path",{d:c.outline,fill:"url(#jr_east_".concat(e,"_fill_pattern_").concat(l[2],")")}),f.jsx("path",{d:c.pA,fill:"none",stroke:"black",strokeWidth:"0.1"}),f.jsx("path",{d:c.pB,fill:"none",stroke:"black",strokeWidth:"0.1"})]})},ii={color:[le.Tokyo,"jy","#9ACD32",ee.black]},T1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.JREastSingleColorPattern,defaultTheme:ii.color})}];return f.jsx(ye,{fields:r})},E1={component:A1,defaultAttrs:ii,attrsComponent:T1,metadata:{displayName:"panel.details.lines.jrEastSingleColorPattern.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},L1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=oi.color}=i!=null?i:oi,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"2.157",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},oi={color:[le.Singapore,"lrt","#708573",ee.white]},O1=n=>{const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.LRTSingleColor,defaultTheme:oi.color})}];return f.jsx(ye,{fields:e})},j1={component:L1,defaultAttrs:oi,attrsComponent:O1,metadata:{displayName:"panel.details.lines.lrtSingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},M1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"7.5",strokeLinecap:"round"})})},P1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:e,onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"})})},$1={},I1=()=>{},D1={component:P1,preComponent:M1,defaultAttrs:$1,attrsComponent:I1,metadata:{displayName:"panel.details.lines.londonTubeInternalInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},B1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:o})},z1={},F1=()=>{},G1={component:B1,defaultAttrs:z1,attrsComponent:F1,metadata:{displayName:"panel.details.lines.londonTube10MinWalk.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},U1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ai.color}=i!=null?i:ai,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",cursor:"pointer",onPointerDown:s})},ai={color:[le.London,"central","#DC241F",ee.white]},W1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonTubeTerminal,defaultTheme:ai.color})}];return f.jsx(ye,{fields:r})},V1={component:U1,defaultAttrs:ai,attrsComponent:W1,metadata:{displayName:"panel.details.lines.londonTubeTerminal.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},H1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{colorBackground:a=Gt.colorBackground,colorForeground:s=Gt.colorForeground,limitedService:l=Gt.limitedService}=i!=null?i:Gt,u=P.useCallback(c=>o(e,c),[e,o]);return l?f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"4.25",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"2",strokeDasharray:"7 3"})]}):f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"2",strokeDasharray:"7 3"})]})},Gt={colorBackground:[le.London,"thameslink","#d28db0",ee.white],colorForeground:[le.London,"white","#ffffff",ee.black],limitedService:!1},J1=n=>{const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"switch",label:o("panel.details.lines.londonRail.limitedService"),oneLine:!0,isChecked:r.limitedService,onChange:s=>{r.limitedService=s,i(e,r)},minW:"full"},{type:"custom",label:o("panel.details.lines.londonRail.colorBackground"),component:f.jsx(ve,{type:D.LondonRail,colorKey:"colorBackground",defaultTheme:Gt.colorBackground})},{type:"custom",label:o("panel.details.lines.londonRail.colorForeground"),component:f.jsx(ve,{type:D.LondonRail,colorKey:"colorForeground",defaultTheme:Gt.colorForeground})}];return f.jsx(ye,{fields:a})},K1={component:H1,defaultAttrs:Gt,attrsComponent:J1,metadata:{displayName:"panel.details.lines.londonRail.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},q1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=fn.color}=i!=null?i:fn,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"})})},Y1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=fn.color}=i!=null?i:fn,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("g",{id:e,onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"1.67",strokeLinecap:"round"})})},fn={color:[le.London,"elizabeth","#9364cc",ee.white]},Z1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonSandwich,defaultTheme:fn.color})}];return f.jsx(ye,{fields:r})},Q1={component:Y1,preComponent:q1,defaultAttrs:fn,attrsComponent:Z1,metadata:{displayName:"panel.details.lines.londonSandwich.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},X1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=si.color}=i!=null?i:si,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"0.001 6"})]})},si={color:[le.London,"rail","#d6ae00",ee.white]},ex=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonLutonAirportDART,defaultTheme:si.color})}];return f.jsx(ye,{fields:r})},tx={component:X1,defaultAttrs:si,attrsComponent:ex,metadata:{displayName:"panel.details.lines.londonLutonAirportDART.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},nx=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=li.color}=i!=null?i:li,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"3"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"1"})]})},li={color:[le.London,"dangleway","#dc241f",ee.white]},rx=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonIFSCloudCableCar,defaultTheme:li.color})}];return f.jsx(ye,{fields:r})},ix={component:nx,defaultAttrs:li,attrsComponent:rx,metadata:{displayName:"panel.details.lines.londonIFSCloudCableCar.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},ox=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=lo.color}=i!=null?i:lo,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"2.5",strokeDasharray:"7.5"})]})},lo={color:[le.Guangzhou,"ir","#2559a8",ee.white]},ax=()=>{},sx={component:ox,defaultAttrs:lo,attrsComponent:ax,metadata:{displayName:"panel.details.lines.guangdongIntercityRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},Fl={[S.Diagonal]:t0,[S.Perpendicular]:o0,[S.RotatePerpendicular]:u0,[S.Simple]:By},lx={[D.SingleColor]:m0,[D.ShmetroVirtualInt]:w0,[D.ShanghaiSuburbanRailway]:_0,[D.GzmtrVirtualInt]:A0,[D.GZMTRLoop]:j0,[D.ChinaRailway]:$0,[D.BjsubwaySingleColor]:B0,[D.BjsubwayTram]:U0,[D.BjsubwayDotted]:m1,[D.DualColor]:J0,[D.River]:Z0,[D.MTRRaceDays]:t1,[D.MTRLightRail]:o1,[D.MTRUnpaidArea]:u1,[D.MTRPaidArea]:p1,[D.MRTUnderConstruction]:v1,[D.MRTSentosaExpress]:N1,[D.JREastSingleColor]:k1,[D.JREastSingleColorPattern]:E1,[D.LRTSingleColor]:j1,[D.LondonTubeTerminal]:V1,[D.LondonTubeInternalInt]:D1,[D.LondonTube10MinWalk]:G1,[D.LondonRail]:K1,[D.LondonSandwich]:Q1,[D.LondonLutonAirportDART]:tx,[D.LondonIFSCloudCableCar]:ix,[D.GuangdongIntercityRailway]:sx},ux=43,Fa=async()=>JSON.stringify((await bn(async()=>{const{default:n}=await import("./tutorial-B9Su1GrM.js");return{default:n}},[])).default),cx=async n=>{let e=!1;n||(n=await Fa(),e=!0);let r=JSON.parse(n);(!("version"in r)||!Number.isInteger(r.version))&&(r=JSON.parse(await Fa()),e=!0);let i=Number(r.version),o=JSON.stringify(r);for(;i in Ga;)o=Ga[i](o),i=Number(JSON.parse(o).version),e=!0;return e&&(console.warn("Upgrade save from version: ".concat(r.version," to version: ").concat(i)),localStorage.setItem(Ue.PARAM_BACKUP,n)),o},dx=n=>{const{present:e,past:r,future:i,...o}=n,a={...o,graph:e,version:ux};return JSON.stringify(a)},Ga={0:n=>{var e;return JSON.stringify({version:1,graph:(e=JSON.parse(n))==null?void 0:e.graph,svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}})},1:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type!==Z.GzmtrInt).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a&&"transfer"in a&&delete a.transfer,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:2,graph:r.export()})},2:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);(a==null?void 0:a.nameOffsetX)==="middle"&&(a==null?void 0:a.nameOffsetY)==="middle"&&(a.nameOffsetX="right",a.nameOffsetY="top"),(a==null?void 0:a.nameOffsetY)==="up"&&(a.nameOffsetY="top"),r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:3,graph:r.export()})},3:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("line")).forEach(i=>{const o=r.getEdgeAttribute(i,"color");r.removeEdgeAttribute(i,"color"),r.mergeEdgeAttributes(i,{style:D.SingleColor,[D.SingleColor]:{color:o}})}),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("misc_edge")).forEach(i=>{const o="line_".concat(Py(10)),[a,s]=r.extremities(i),l=r.getEdgeAttribute(i,"type"),u=l;r.addDirectedEdgeWithKey(o,a,s,{visible:!0,zIndex:0,type:S.Simple,[l]:structuredClone(Fl[S.Simple].defaultAttrs),style:u,[u]:structuredClone(lx[u].defaultAttrs),reconcileId:""}),r.dropEdge(i)}),JSON.stringify({...e,version:4,graph:r.export()})},4:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&(o.type===Z.GzmtrBasic||o.type===Z.GzmtrInt)).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.open=!0,a.secondaryNames=["",""],r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:5,graph:r.export()})},5:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("line")&&o.type===S.Simple).forEach(i=>{var a;const o=(a=r.getEdgeAttribute(i,S.Simple))!=null?a:{offset:0};o.offset=0,r.mergeEdgeAttributes(i,{[S.Simple]:o})}),JSON.stringify({...e,version:6,graph:r.export()})},6:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrBasic).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.tram=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:7,graph:r.export()})},7:n=>JSON.stringify({...JSON.parse(n),version:8}),8:n=>JSON.stringify({...JSON.parse(n),version:9}),9:n=>JSON.stringify({...JSON.parse(n),version:10}),10:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.color=[le.Shanghai,"jsr","#000000",ee.white],r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:11,graph:r.export()})},11:n=>JSON.stringify({...JSON.parse(n),version:12}),12:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.rotate=0,a.italic=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:13,graph:r.export()})},13:n=>JSON.stringify({...JSON.parse(n),version:14}),14:n=>JSON.stringify({...JSON.parse(n),version:15}),15:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.italic=a.italic?"italic":"normal",a.bold="normal",r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:16,graph:r.export()})},16:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Facilities).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);let s=0;switch(a.type){case"airport":case"maglev":case"disney":case"railway":s+=25/2;break;case"hsr":case"airport_hk":case"disney_hk":s+=19/2;break}r.updateNodeAttribute(i,"y",l=>(l!=null?l:0)+s)}),JSON.stringify({...e,version:17,graph:r.export()})},17:n=>JSON.stringify({...JSON.parse(n),version:18}),18:n=>JSON.stringify({...JSON.parse(n),version:19}),19:n=>JSON.stringify({...JSON.parse(n),version:20}),20:n=>JSON.stringify({...JSON.parse(n),version:21}),21:n=>JSON.stringify({...JSON.parse(n),version:22}),22:n=>JSON.stringify({...JSON.parse(n),version:23}),23:n=>JSON.stringify({...JSON.parse(n),version:24}),24:n=>{const e=JSON.parse(n),r=new pe;return r.import(e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt||i.startsWith("misc_node")&&o.type===st.GzmtrLineBadge).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.tram=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:25,graph:r.export()})},25:n=>JSON.stringify({...JSON.parse(n),version:26}),26:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.GzmtrLineBadge).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.span=!0,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:27,graph:r.export()})},27:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);for(let s=0;sJSON.stringify({...JSON.parse(n),version:29}),29:n=>JSON.stringify({...JSON.parse(n),version:30}),30:n=>JSON.stringify({...JSON.parse(n),version:31}),31:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o)=>o.style===D.ChinaRailway).forEach(i=>{const o=r.getEdgeAttributes(i)[D.ChinaRailway];r.mergeEdgeAttributes(i,{[D.ChinaRailway]:{...o,color:[le.Shanghai,"jsr","#000000",ee.white]}})}),JSON.stringify({...e,version:32,graph:r.export()})},32:n=>JSON.stringify({...JSON.parse(n),version:33}),33:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.forEachDirectedEdge(i=>{r.setEdgeAttribute(i,"parallelIndex",-1),r.updateEdgeAttribute(i,"zIndex",o=>Math.max(-10,(o!=null?o:0)-5))}),r.forEachNode(i=>{r.updateNodeAttribute(i,"zIndex",o=>Math.min(10,(o!=null?o:0)+5))}),JSON.stringify({...e,version:34,graph:r.export()})},34:n=>JSON.stringify({...JSON.parse(n),version:35}),35:n=>JSON.stringify({...JSON.parse(n),version:36}),36:n=>JSON.stringify({...JSON.parse(n),version:37}),37:n=>JSON.stringify({...JSON.parse(n),version:38}),38:n=>JSON.stringify({...JSON.parse(n),version:39}),39:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Facilities).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.type==="qingdao_airport"?a.type="airport_qingdao":a.type==="qingdao_coach_station"?a.type="coach_station_qingdao":a.type==="qingdao_cruise_terminal"?a.type="cruise_terminal_qingdao":a.type==="qingdao_railway"?a.type="railway_qingdao":a.type==="qingdao_tram"&&(a.type="tram_qingdao"),r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:40,graph:r.export()})},40:n=>JSON.stringify({...JSON.parse(n),version:41}),41:n=>{const e=JSON.parse(n),r=new pe;r.import(e==null?void 0:e.graph);const i=o=>o.map(a=>a.replaceAll("\\","\n"));return r.forEachNode((o,a)=>{const s=r.getNodeAttribute(o,"type");let l;(s===Z.BjsubwayBasic||s===Z.BjsubwayInt||s===Z.FoshanMetroBasic||s===Z.GuangdongIntercityRailway||s===Z.GzmtrBasic||s===Z.GzmtrInt||s===Z.JREastBasic||s===Z.JREastImportant||s===Z.KunmingRTBasic||s===Z.KunmingRTInt||s===Z.MRTBasic||s===Z.MRTInt||s===Z.MTR||s===Z.ShanghaiSuburbanRailway||s===Z.ShmetroBasic2020||s===Z.ShmetroBasic||s===Z.ShmetroInt||s===Z.ShmetroOutOfSystemInt||s===Z.SuzhouRTBasic||s===Z.SuzhouRTInt||s===Z.TokyoMetroBasic||s===Z.TokyoMetroInt)&&(l=i(a[s].names)),l&&(a[s].names=l,r.mergeNodeAttributes(o,a))}),JSON.stringify({...e,version:42,graph:r.export()})},42:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt2024).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.columns=2,a.topHeavy=!1,a.osiPosition="none",a.preferVertical&&a.transfer.flat().length===2&&(a.columns=1),delete a.preferVertical,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:43,graph:r.export()})}};Kc();const hx=Wc({account:Ny,app:Iw,param:Fw,runtime:Yw}),px=(n={})=>Vc({reducer:hx,middleware:e=>e({serializableCheck:!1}),preloadedState:n}),xe=px();xe.subscribe(async()=>{await Ey(xe.getState().param.present),localStorage.setItem(Ue.PARAM,dx(xe.getState().param)),localStorage.setItem(Ue.APP,JSON.stringify(xe.getState().app)),localStorage.setItem(Ue.LOGIN_STATE,JSON.stringify(xe.getState().account))});const Ht=()=>Hc(),vi=Jc,fx=P.lazy(()=>bn(()=>import("./page-header-BzO8UQTL.js"),__vite__mapDeps([0,1,2,3,4]))),gx=P.lazy(()=>bn(()=>import("./tools-Bzy7j58n.js"),__vite__mapDeps([5,1,2,6,3]))),mx=P.lazy(()=>bn(()=>import("./svg-wrapper-DBfiEyAx.js"),__vite__mapDeps([7,1,2,3,8,6]))),yx=P.lazy(()=>bn(()=>import("./details-DY5TKnmz.js"),__vite__mapDeps([9,1,2,8,3,4,5,6]))),bx=P.lazy(()=>bn(()=>import("./rmg-palette-app-clip-B9uv6_6N.js"),__vite__mapDeps([10,1,2])));function vx(){const n=Ht(),{paletteAppClip:{input:e}}=vi(u=>u.runtime),{t:r}=fe(),[i,o]=P.useState(!1);P.useEffect(()=>{Ge.isStandaloneWindow()&&!window.localStorage.getItem(Ue.DO_NOT_SHOW_RMT_MSG)&&o(!0)},[]);const a=new Date,s="".concat(a.getFullYear()).concat(String(a.getMonth()+1).padStart(2,"0"),"01"),l="".concat(String(a.getFullYear()).slice(-2),".").concat(a.getMonth()+1,".1");return f.jsx(gy,{children:f.jsx(zm,{children:f.jsxs(P.Suspense,{fallback:f.jsxs(f.Fragment,{children:[f.jsx("p",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:"Rail Map Toolkit protocol... checked"}),f.jsxs("p",{style:{position:"absolute",top:"75%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"small",color:"gray"},children:["Seeing this page for too long? Try another mirror"," ",f.jsx("a",{href:"https://railmapgen.github.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"GitHub"})," ",f.jsx("a",{href:"https://railmapgen.gitlab.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"Gitlab"})," ","or the"," ",f.jsx("a",{href:"https://github.com/railmapgen/railmapgen.github.io/releases",target:"_blank",rel:"noreferrer",children:"offline application"})," ",".",f.jsx("br",{}),f.jsx("br",{}),"Offline applications also available via ghfast.top"," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_x64-setup.exe"),children:"Windows"})," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_aarch64.dmg"),children:"MacOS"})," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_amd64.deb"),children:"Linux"})," ","if you are blocked by GFW :)"]})]}),children:[f.jsx(fx,{}),i&&f.jsxs(uo,{status:"info",variant:"solid",size:"xs",pl:3,pr:1,py:1,zIndex:"1",children:[f.jsx(co,{}),f.jsxs(At,{children:[f.jsx(Fn,{href:"/?app=rmp",isExternal:!0,fontWeight:"bold",children:r("rmtPromotion")})," ",f.jsx(Fn,{as:"button",ml:"auto",textDecoration:"underline",onClick:()=>o(!1),children:r("close")})," | ",f.jsx(Fn,{as:"button",textDecoration:"underline",onClick:()=>{o(!1),window.localStorage.setItem(Ue.DO_NOT_SHOW_RMT_MSG,"true")},children:r("noShowAgain")})]})]}),f.jsx(Em,{allowReset:!0,children:f.jsxs(ut,{direction:"row",height:"100%",overflow:"hidden",sx:{position:"relative"},children:[f.jsx(gx,{}),f.jsx(mx,{}),f.jsx(yx,{})]})}),f.jsx(bx,{isOpen:!!e,onClose:()=>n(Kw()),defaultTheme:e,onSelect:u=>n(qw(u))})]})})})}const wx=()=>{Ks(document.getElementById("root")).render(f.jsx(P.StrictMode,{children:f.jsx(qc,{store:xe,children:f.jsx(Yc,{i18n:Qn,children:f.jsx(vx,{})})})}))};var Ua;const Nr=JSON.parse((Ua=localStorage.getItem(Ue.LOGIN_STATE))!=null?Ua:"{}");var Wa;const je=JSON.parse((Wa=localStorage.getItem(Ue.APP))!=null?Wa:"{}"),xx=localStorage.getItem(Ue.PARAM);"telemetry"in je&&("app"in je.telemetry&&xe.dispatch(Ow(je.telemetry.app)),"project"in je.telemetry&&xe.dispatch(jw(je.telemetry.project))),"preference"in je&&("unlockSimplePathAttempts"in je.preference&&xe.dispatch(Mw(je.preference.unlockSimplePathAttempts)),"toolsPanel"in je.preference&&"expand"in je.preference.toolsPanel&&xe.dispatch(Pw(je.preference.toolsPanel.expand)),"autoParallel"in je.preference&&xe.dispatch(jl(je.preference.autoParallel)),"randomStationsNames"in je.preference&&xe.dispatch($w(je.preference.randomStationsNames))),"state"in Nr&&xe.dispatch(Kn(Nr.state)),"activeSubscriptions"in Nr&&xe.dispatch(Vr(Nr.activeSubscriptions));cx(xx).then(n=>{const{version:e,graph:r,...i}=JSON.parse(n);window.graph=pe.from(r);const o={...i,present:r,past:[],future:[]};xe.dispatch(zw(o)),xe.dispatch(Jr()),xe.dispatch(pn()),wx(),Ge.injectUITools(),jy(xe),Da(),window.setInterval(()=>Da(),15*60*1e3)});export{Tw as $,eS as A,Rl as B,le as C,jS as D,vy as E,gS as F,LS as G,GS as H,Fa as I,Ty as J,Ue as K,Kx as L,ee as M,jt as N,yS as O,Om as P,Cx as Q,jx as R,Z as S,Io as T,Fx as U,p0 as V,Jw as W,Mw as X,Bx as Y,FS as Z,Da as _,Sx as __vite_legacy_guard,OS as a,pS as a$,Aw as a0,aS as a1,jl as a2,wy as a3,SS as a4,DS as a5,PS as a6,IS as a7,$S as a8,Vx as a9,tS as aA,Gx as aB,m0 as aC,zy as aD,Ax as aE,RS as aF,Mm as aG,Mx as aH,Px as aI,$x as aJ,Ix as aK,cS as aL,sS as aM,zS as aN,BS as aO,hS as aP,Pw as aQ,tr as aR,ve as aS,qx as aT,Qn as aU,yy as aV,by as aW,dS as aX,Tx as aY,NS as aZ,_S as a_,jw as aa,$w as ab,wS as ac,xS as ad,Lt as ae,Ox as af,Ex as ag,ES as ah,kS as ai,vS as aj,bS as ak,fS as al,Ml as am,Pl as an,uS as ao,lS as ap,Dx as aq,Po as ar,Yx as as,Zx as at,lx as au,st as av,oS as aw,zx as ax,iS as ay,nS as az,mS as b,CS as b0,gm as b1,Dm as b2,Hx as b3,Jx as b4,Ht as c,vi as d,Ux as e,TS as f,AS as g,MS as h,ye as i,Do as j,S as k,Fl as l,Qx as m,Py as n,D as o,Wx as p,Jr as q,Ge as r,dx as s,pn as t,Lx as u,un as v,kx as w,cx as x,rS as y,Xx as z}; + */var ya;function wf(){if(ya)return jn;ya=1;var n=P,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,o=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function s(l,u,c){var d,h={},p=null,m=null;c!==void 0&&(p=""+c),u.key!==void 0&&(p=""+u.key),u.ref!==void 0&&(m=u.ref);for(d in u)i.call(u,d)&&!a.hasOwnProperty(d)&&(h[d]=u[d]);if(l&&l.defaultProps)for(d in u=l.defaultProps,u)h[d]===void 0&&(h[d]=u[d]);return{$$typeof:e,type:l,key:p,ref:m,props:h,_owner:o.current}}return jn.Fragment=r,jn.jsx=s,jn.jsxs=s,jn}tl.exports=wf();var F=tl.exports;const[xf,Mt]=Vu({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within ``"});var mi=function(n,e){for(var r,i=$.Children.toArray(n),o=0,a=i;o{var e;return(e=typeof n=="string"||typeof n=="number"?n:n[Object.keys(n)[0]])==null?void 0:e.toString()},Sf=(n,e)=>typeof n!="string"||qa(e)?n:n.toString().replace(new RegExp(kf(e),"gi"),r=>"".concat(r,"")),Nf=n=>nl(n,e=>{var r;return((r=e==null?void 0:e.type)==null?void 0:r.displayName)==="AutoCompleteItem"}).map(e=>{const r=sc(e.props,["value","label","fixed","disabled"]),{getValue:i=Co}=e.props,o=i(r.value);return{...Ya(r.label)?r:{...r,label:o},value:o,originalValue:r.value}}),_f=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),Rf=(n,e,r)=>(e==null?void 0:e.toLowerCase().indexOf(n==null?void 0:n.toLowerCase()))>=0||(r==null?void 0:r.toLowerCase().indexOf(n==null?void 0:n.toLowerCase()))>=0||ba(n,e)>=.5||ba(n,r)>=.5;function kf(n){return n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const Cf=(n,e)=>{const r={},i={},{field:o}=n;return o&&Object.keys(o).forEach(a=>{if(a.startsWith("--input")===!1)r[a]=o[a];else{let s=o[a];const l=a.replace("--input-","").replace(/-([a-z])/g,function(u){return u[1].toUpperCase()});s.indexOf(".")!==-1&&(s=s.substring(s.indexOf(".")+1)),i[l]=s}}),{...e&&{...r,...i,_focusWithin:n.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}},Af=(n,e)=>mi(n,r=>{var i;return((i=r==null?void 0:r.type)==null?void 0:i.displayName)==="AutoCompleteItem"&&r.props.value===(e==null?void 0:e.value)}),Tf=(n,e)=>mi(n,r=>{var i;return((i=r==null?void 0:r.type)==null?void 0:i.displayName)==="AutoCompleteItem"&&r.props.value===(e==null?void 0:e.value)}),Ef=(n,e)=>Ya(mi(n,r=>{var i,o;const a=be(((i=r.props)==null?void 0:i.getValue)||Co,((o=r.props)==null?void 0:o.value)||{});return e.some(s=>s.value===a)}));function Lf(n){var e;let{closeOnBlur:r=!0,creatable:i,emphasize:o,emptyState:a=!0,freeSolo:s,isReadOnly:l,listAllValuesOnFocus:u,maxSuggestions:c,multiple:d,closeOnSelect:h=!d,defaultValue:p,defaultValues:m=p?[p]:[],onReady:y,defaultIsOpen:w,disableFilter:_,isLoading:N=!1,placement:R="bottom",restoreOnBlurIfEmpty:M=!s,shouldRenderSuggestions:j=()=>!0,submitKeys:A=[],suggestWhenEmpty:G,value:T,values:U=T?typeof T=="string"?[T]:[...T]:void 0}=n;s=s||(d?!0:n.freeSolo);const{isOpen:L,onClose:I,onOpen:W}=ec({defaultIsOpen:w}),se=be(n.children,{isOpen:L,onClose:I,onOpen:W}),te=Nf(se),Q=$.useRef(null),Be=$.useRef(null),Xe=$.useRef(null),et=$.useRef(null),[Ne,We]=$.useState(!1);let Pe="";d?Pe="":_r(m)?_r(U)||(Pe=U[0]):Pe=m[0];const[ze,Pt]=$.useState(Pe!=null?Pe:""),ne=_?te:te.filter(B=>B.fixed||be(n.filter||Rf,ze,B.value,B.label)||Ne).filter((B,re)=>c?B.fixed||reB==null?void 0:B.toString()),value:U,onChange:B=>{const re=Ee.find(X=>X.value===B[0]),ge=B.map(X=>Ee.find($e=>$e.value===X));be(n.onChange,d?B:B[0],d?ge:re)}}),[tt,ot]=$.useState((e=te[0])==null?void 0:e.value),vn=n.maxSelections||Oe.length+1,Kt=Ee.findIndex(B=>B.value===tt),wn=nc(Kt,Ee,!!n.rollNavigation),rr=rc(Kt,Ee,!!n.rollNavigation),$t=ic(Ee),ir=Oi(Ee);oc(()=>{ot($t==null?void 0:$t.value)},[ze]),$.useEffect(()=>{var B;L||ot((B=te[0])==null?void 0:B.value)},[L]),$.useEffect(()=>{const B=te.find(re=>re.value===tt);be(n.onOptionFocus,{item:B,focusMethod:et.current,isNewInput:B==null?void 0:B.creatable})},[tt,n.onOptionFocus]);const xn=B=>{var re,ge;!Oe.includes(B)&&Oe.lengthd?[...Ie,B]:[B]);const X=Ee.find(Ie=>Ie.value===B);d&&((re=Q.current)==null||re.focus()),n.focusInputOnSelect&&((ge=Q.current)==null||ge.focus()),be(n.onSelectOption,{item:X,selectMethod:et.current,isNewInput:X==null?void 0:X.creatable}),X!=null&&X.creatable&&be(n.onCreateOption,{item:ui(X,["noFilter"]),selectMethod:et.current});const $e=(X==null?void 0:X.label)||(X==null?void 0:X.value);Pt(()=>d?"":$e!=null?$e:""),h&&I()},or=(B,re)=>{var ge;Jt(X=>{const $e=te.find(Ie=>Ie.value===B);return be(n.onTagRemoved,B,$e,X),X.filter(Ie=>Ie!==B)}),ze===B&&Pt(""),re&&((ge=Q.current)==null||ge.focus())},wi=B=>{var re;Jt([]),B&&((re=Q.current)==null||re.focus())},ar=d?Oe.map(B=>{var re;return{label:((re=te.find(ge=>ge.value===(B==null?void 0:B.toString())))==null?void 0:re.label)||B,onRemove:()=>or(B)}}):[];return $.useEffect(()=>{be(y,{tags:ar})},[Oe]),{autoCompleteProps:n,children:se,filteredList:Ee,filteredResults:ne,focusedValue:tt,getEmptyStateProps:B=>{if(Ee.every(re=>re.noFilter)&&a&&!i)return typeof a=="boolean"?B:be(a,{query:ze})},getGroupProps:B=>{const re=Ef(B.children,Ee);return{divider:{hasFirstChild:Af(B.children,$t),hasLastChild:Tf(B.children,Oi(Ee.filter(ge=>_r(ge==null?void 0:ge.noFilter))))},group:{display:re?"initial":"none"}}},getInputProps:(B,re)=>{const{onBlur:ge,onChange:X,onFocus:$e,onKeyDown:Ie,variant:qt,...Yt}=B;return{wrapper:{ref:Be,onClick:()=>{var K;(K=Q==null?void 0:Q.current)==null||K.focus()},...Cf(re,d),...Yt},input:{isReadOnly:l,onFocus:K=>{be($e,K),n.openOnFocus&&!l&&W(),n.selectOnFocus&&K.target.select(),u&&We(!0)},onBlur:K=>{var De,_e;be(ge,K);const Re=K.relatedTarget===(Xe==null?void 0:Xe.current)||((De=Xe.current)==null?void 0:De.contains(K.relatedTarget)),Zt=(_e=Be.current)==null?void 0:_e.contains(K.relatedTarget);if(!Re&&!Zt&&(r&&I(),!Oe.includes(K.target.value)&&M)){const Sn=Oi(Oe),St=te.find(Nt=>Nt.value===Sn),ke=(St==null?void 0:St.label)||(St==null?void 0:St.value)||"";Pt(ke)}},onChange:K=>{const De=K.target.value;be(X,K),Pt(De);const _e=qa(De);be(j,De)&&(!_e||G)?W():I(),We(!1)},onKeyDown:K=>{var De;be(Ie,K),et.current="keyboard";const{key:_e}=K,Re=Ee[Kt];if(["Enter",...A].includes(_e)){Re&&!(Re!=null&&Re.disabled)?xn(Re==null?void 0:Re.value):(De=Q.current)==null||De.focus(),K.preventDefault();return}if(_e==="ArrowDown"){L?ot(wn==null?void 0:wn.value):W(),K.preventDefault();return}if(_e==="ArrowUp"){L?ot(rr==null?void 0:rr.value):W(),K.preventDefault();return}if(_e==="Tab"){L&&Re&&!(Re!=null&&Re.disabled)?xn(Re==null?void 0:Re.value):I();return}if(_e==="Home"){ot($t==null?void 0:$t.value),K.preventDefault();return}if(_e==="End"){ot(ir==null?void 0:ir.value),K.preventDefault();return}_e==="Escape"&&(I(),K.preventDefault())},value:ze,variant:d?"unstyled":qt,...Yt}}},getItemProps:(B,re)=>{var ge;const{_fixed:X,_focus:$e,children:Ie,disabled:qt,label:Yt,value:K,fixed:De,getValue:_e=Co,onClick:Re,onMouseOver:Zt,sx:Sn,...St}=B,ke=re?K:(ge=_e(K))==null?void 0:ge.toString(),Nt=ke===tt,xi=Ee.findIndex(It=>It.value===ke)>=0,Qt=Ie||Yt||ke;return{item:{...typeof Qt!="string"||!o?{children:Qt}:{dangerouslySetInnerHTML:{__html:Sf(Qt,ze)}},"aria-selected":Oe.includes(ke),"aria-disabled":qt,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:It=>{var Nn;be(Re,It),qt?(Nn=Q.current)==null||Nn.focus():xn(ke)},onMouseOver:It=>{be(Zt,It),ot(ke),et.current="mouse"},sx:{...Sn,mark:{color:"inherit",bg:"transparent",...ac(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...Nt&&($e||_f()),...De&&X,...St},root:{isValidSuggestion:xi,value:ke}}},inputRef:Q,interactionRef:et,isLoading:N,isOpen:L,itemList:te,listRef:Xe,onClose:I,onOpen:W,placement:R,query:ze,removeItem:or,resetItems:wi,setQuery:Pt,tags:ar,values:Oe}}const rl=Vt((n,e)=>{const r=Lf(n),{children:i,isOpen:o,onClose:a,onOpen:s,placement:l,resetItems:u,removeItem:c}=r;return $.useImperativeHandle(e,()=>({resetItems:u,removeItem:c})),F.jsx(xf,{value:r,children:F.jsx(Va,{isLazy:!0,isOpen:o,onClose:a,onOpen:s,autoFocus:!1,placement:l,closeOnBlur:!0,matchWidth:!0,children:F.jsx(Lr.div,{w:"full",ref:e,children:i})})})});rl.displayName="AutoComplete";const il=Vt((n,e)=>{const{focusedValue:r,getItemProps:i,interactionRef:o}=Mt(),a=$.useRef(),s=Xn(e,a),l=i(n),{isValidSuggestion:u,value:c}=l.root,d=r===c;$.useEffect(()=>{var w;d&&o.current==="keyboard"&&((w=a==null?void 0:a.current)==null||w.scrollIntoView({behavior:"smooth",block:"center"}))},[d,o]),$.useEffect(()=>{typeof c!="string"&&console.warn("wow"),typeof c!="string"&&_r(n.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:h,dangerouslySetInnerHTML:p,...m}=l.item,y=ui(m,["groupId"]);return u?F.jsx(ut,{ref:s,...Of,...y,children:h||F.jsx("span",{dangerouslySetInnerHTML:p})}):null});il.displayName="AutoCompleteItem";const Of={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},jf=Vt((n,e)=>{const{children:r,showDivider:i,...o}=n,a=ui(o,["groupSibling"]),{getGroupProps:s}=Mt(),{group:l}=s(n),u=$f(n);return F.jsxs(Hu,{ref:e,...l,...a,children:[F.jsx(Zo,{...u.top}),r,F.jsx(Zo,{...u.bottom})]})}),Mf=Vt((n,e)=>F.jsx(ut,{...Pf,...n,ref:e}));jf.displayName="AutoCompleteGroup";Mf.displayName="AutoCompleteGroupTitle";const Pf={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},$f=n=>{const{getGroupProps:e}=Mt(),r=n.groupSibling,{divider:{hasFirstChild:i,hasLastChild:o}}=e(n),a={my:2,borderColor:n.dividerColor},s={...a,mb:4,display:!n.showDivider||i?"none":""},l={...a,display:!n.showDivider||o||r?"none":""};return{top:s,bottom:l}},va=Vt((n,e)=>{const{isLoading:r}=Mt(),{loadingIcon:i,...o}=n;return F.jsxs(Ju,{children:[F.jsx(Ha,{...o,ref:e}),r&&F.jsx(Ku,{children:i||F.jsx(Ja,{})})]})}),Ao=Vt((n,e)=>{const{autoCompleteProps:r,inputRef:i,getInputProps:o,tags:a,setQuery:s}=Mt(),{children:l,isInvalid:u,hidePlaceholder:c,...d}=n,{value:h}=d;$.useEffect(()=>{h!==void 0&&(typeof h=="string"||h instanceof String)&&s(h)},[h]);const p=qu("Input",n);let{wrapper:m,input:y}=o(d,p);const{ref:w,..._}=m,N=Xn(e,i),R=be(l,{tags:a});c&&(y={...y,placeholder:Array.isArray(R)&&R.length?void 0:y.placeholder});const M=F.jsx(va,{isInvalid:u,...y,ref:N}),j=F.jsxs(Yu,{..._,ref:w,children:[R,F.jsx(Zu,{as:va,...y,ref:N})]});return F.jsx(Qu,{children:r.multiple?j:M})});Ao.displayName="Input";Ao.id="Input";function If(){const n=$.useContext(dc);if(!n)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return n}var ol=$.createContext({});ol.displayName="ColorModeContext";function al(){const n=$.useContext(ol);if(n===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return n}function Df(){const n=al(),e=If();return{...n,theme:e}}var To=(...n)=>n.filter(Boolean).join(" ");function Ut(n){const e=typeof n;return n!=null&&(e==="object"||e==="function")&&!Array.isArray(n)}function zt(n,...e){return Bf(n)?n(...e):n}var Bf=n=>typeof n=="function",Gr={exports:{}};Gr.exports;(function(n,e){var r=200,i="__lodash_hash_undefined__",o=800,a=16,s=9007199254740991,l="[object Arguments]",u="[object Array]",c="[object AsyncFunction]",d="[object Boolean]",h="[object Date]",p="[object Error]",m="[object Function]",y="[object GeneratorFunction]",w="[object Map]",_="[object Number]",N="[object Null]",R="[object Object]",M="[object Proxy]",j="[object RegExp]",A="[object Set]",G="[object String]",T="[object Undefined]",U="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",W="[object Float32Array]",se="[object Float64Array]",te="[object Int8Array]",Q="[object Int16Array]",Be="[object Int32Array]",Xe="[object Uint8Array]",et="[object Uint8ClampedArray]",Ne="[object Uint16Array]",We="[object Uint32Array]",Pe=/[\\^$.*+?()[\]{}|]/g,ze=/^\[object .+?Constructor\]$/,Pt=/^(?:0|[1-9]\d*)$/,ne={};ne[W]=ne[se]=ne[te]=ne[Q]=ne[Be]=ne[Xe]=ne[et]=ne[Ne]=ne[We]=!0,ne[l]=ne[u]=ne[L]=ne[d]=ne[I]=ne[h]=ne[p]=ne[m]=ne[w]=ne[_]=ne[R]=ne[j]=ne[A]=ne[G]=ne[U]=!1;var nr=typeof gr=="object"&&gr&&gr.Object===Object&&gr,Ee=typeof self=="object"&&self&&self.Object===Object&&self,Oe=nr||Ee||Function("return this")(),Jt=e&&!e.nodeType&&e,tt=Jt&&!0&&n&&!n.nodeType&&n,ot=tt&&tt.exports===Jt,vn=ot&&nr.process,Kt=function(){try{var g=tt&&tt.require&&tt.require("util").types;return g||vn&&vn.binding&&vn.binding("util")}catch(v){}}(),wn=Kt&&Kt.isTypedArray;function rr(g,v,x){switch(x.length){case 0:return g.call(v);case 1:return g.call(v,x[0]);case 2:return g.call(v,x[0],x[1]);case 3:return g.call(v,x[0],x[1],x[2])}return g.apply(v,x)}function $t(g,v){for(var x=-1,O=Array(g);++x-1}function Ql(g,v){var x=this.__data__,O=sr(x,g);return O<0?(++this.size,x.push([g,v])):x[O][1]=v,this}pt.prototype.clear=Kl,pt.prototype.delete=ql,pt.prototype.get=Yl,pt.prototype.has=Zl,pt.prototype.set=Ql;function Xt(g){var v=-1,x=g==null?0:g.length;for(this.clear();++v1?x[V-1]:void 0,de=V>2?x[2]:void 0;for(oe=g.length>3&&typeof oe=="function"?(V--,oe):void 0,de&&Cu(x[0],x[1],de)&&(oe=V<3?void 0:oe,V=1),v=Object(v);++O-1&&g%1==0&&g0){if(++v>=o)return arguments[0]}else v=0;return g.apply(void 0,arguments)}}function Pu(g){if(g!=null){try{return ge.call(g)}catch(v){}try{return g+""}catch(v){}}return""}function cr(g,v){return g===v||g!==g&&v!==v}var ki=zo(function(){return arguments}())?zo:function(g){return Rn(g)&&X.call(g,"callee")&&!Sn.call(g,"callee")},Ci=Array.isArray;function Ai(g){return g!=null&&Vo(g.length)&&!Ti(g)}function $u(g){return Rn(g)&&Ai(g)}var Wo=xi||Fu;function Ti(g){if(!Bt(g))return!1;var v=lr(g);return v==m||v==y||v==c||v==M}function Vo(g){return typeof g=="number"&&g>-1&&g%1==0&&g<=s}function Bt(g){var v=typeof g;return g!=null&&(v=="object"||v=="function")}function Rn(g){return g!=null&&typeof g=="object"}function Iu(g){if(!Rn(g)||lr(g)!=R)return!1;var v=Re(g);if(v===null)return!0;var x=X.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&ge.call(x)==qt}var Ho=wn?ir(wn):pu;function Du(g){return Su(g,Jo(g))}function Jo(g){return Ai(g)?uu(g):fu(g)}var Bu=Nu(function(g,v,x,O){Fo(g,v,x,O)});function zu(g){return function(){return g}}function Ko(g){return g}function Fu(){return!1}n.exports=Bu})(Gr,Gr.exports);var zf=Gr.exports;const Et=el(zf);var Ff=n=>/!(important)?$/.test(n),wa=n=>typeof n=="string"?n.replace(/!(important)?$/,"").trim():n,Gf=(n,e)=>r=>{const i=String(e),o=Ff(i),a=wa(i),s=n?"".concat(n,".").concat(a):a;let l=Ut(r.__cssMap)&&s in r.__cssMap?r.__cssMap[s].varRef:e;return l=wa(l),o?"".concat(l," !important"):l};function Eo(n){const{scale:e,transform:r,compose:i}=n;return(o,a)=>{var s;const l=Gf(e,o)(a);let u=(s=r==null?void 0:r(l,a))!=null?s:l;return i&&(u=i(u,a)),u}}var yr=(...n)=>e=>n.reduce((r,i)=>i(r),e);function He(n,e){return r=>{const i={property:r,scale:n};return i.transform=Eo({scale:n,transform:e}),i}}var Uf=({rtl:n,ltr:e})=>r=>r.direction==="rtl"?n:e;function Wf(n){const{property:e,scale:r,transform:i}=n;return{scale:r,property:Uf(e),transform:r?Eo({scale:r,compose:i}):i}}var sl=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Vf(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sl].join(" ")}function Hf(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sl].join(" ")}var Jf={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kf={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function qf(n){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":n,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yf={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},Ji={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Zf=new Set(Object.values(Ji)),Ki=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Qf=n=>n.trim();function Xf(n,e){if(n==null||Ki.has(n))return n;if(!(qi(n)||Ki.has(n)))return"url('".concat(n,"')");const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(n),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return n;const a=i.includes("-gradient")?i:"".concat(i,"-gradient"),[s,...l]=o.split(",").map(Qf).filter(Boolean);if((l==null?void 0:l.length)===0)return n;const u=s in Ji?Ji[s]:s;l.unshift(u);const c=l.map(d=>{if(Zf.has(d))return d;const h=d.indexOf(" "),[p,m]=h!==-1?[d.substr(0,h),d.substr(h+1)]:[d],y=qi(m)?m:m&&m.split(" "),w="colors.".concat(p),_=w in e.__cssMap?e.__cssMap[w].varRef:p;return y?[_,...Array.isArray(y)?y:[y]].join(" "):_});return"".concat(a,"(").concat(c.join(", "),")")}var qi=n=>typeof n=="string"&&n.includes("(")&&n.includes(")"),eg=(n,e)=>Xf(n,e!=null?e:{});function tg(n){return/^var\(--.+\)$/.test(n)}var ng=n=>{const e=parseFloat(n.toString()),r=n.toString().replace(String(e),"");return{unitless:!r,value:e,unit:r}},at=n=>e=>"".concat(n,"(").concat(e,")"),J={filter(n){return n!=="auto"?n:Jf},backdropFilter(n){return n!=="auto"?n:Kf},ring(n){return qf(J.px(n))},bgClip(n){return n==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:n}},transform(n){return n==="auto"?Vf():n==="auto-gpu"?Hf():n},vh(n){return n==="$100vh"?"var(--chakra-vh)":n},px(n){if(n==null)return n;const{unitless:e}=ng(n);return e||typeof n=="number"?"".concat(n,"px"):n},fraction(n){return typeof n!="number"||n>1?n:"".concat(n*100,"%")},float(n,e){const r={left:"right",right:"left"};return e.direction==="rtl"?r[n]:n},degree(n){if(tg(n)||n==null)return n;const e=typeof n=="string"&&!n.endsWith("deg");return typeof n=="number"||e?"".concat(n,"deg"):n},gradient:eg,blur:at("blur"),opacity:at("opacity"),brightness:at("brightness"),contrast:at("contrast"),dropShadow:at("drop-shadow"),grayscale:at("grayscale"),hueRotate:at("hue-rotate"),invert:at("invert"),saturate:at("saturate"),sepia:at("sepia"),bgImage(n){return n==null||qi(n)||Ki.has(n)?n:"url(".concat(n,")")},outline(n){const e=String(n)==="0"||String(n)==="none";return n!==null&&e?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:n}},flexDirection(n){var e;const{space:r,divide:i}=(e=Yf[n])!=null?e:{},o={flexDirection:n};return r&&(o[r]=1),i&&(o[i]=1),o}},b={borderWidths:He("borderWidths"),borderStyles:He("borderStyles"),colors:He("colors"),borders:He("borders"),gradients:He("gradients",J.gradient),radii:He("radii",J.px),space:He("space",yr(J.vh,J.px)),spaceT:He("space",yr(J.vh,J.px)),degreeT(n){return{property:n,transform:J.degree}},prop(n,e,r){return{property:n,scale:e,...e&&{transform:Eo({scale:e,transform:r})}}},propT(n,e){return{property:n,transform:e}},sizes:He("sizes",yr(J.vh,J.px)),sizesT:He("sizes",yr(J.vh,J.fraction)),shadows:He("shadows"),logical:Wf,blur:He("blur",J.blur)},Tr={background:b.colors("background"),backgroundColor:b.colors("backgroundColor"),backgroundImage:b.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:J.bgClip},bgSize:b.prop("backgroundSize"),bgPosition:b.prop("backgroundPosition"),bg:b.colors("background"),bgColor:b.colors("backgroundColor"),bgPos:b.prop("backgroundPosition"),bgRepeat:b.prop("backgroundRepeat"),bgAttachment:b.prop("backgroundAttachment"),bgGradient:b.gradients("backgroundImage"),bgClip:{transform:J.bgClip}};Object.assign(Tr,{bgImage:Tr.backgroundImage,bgImg:Tr.backgroundImage});var Y={border:b.borders("border"),borderWidth:b.borderWidths("borderWidth"),borderStyle:b.borderStyles("borderStyle"),borderColor:b.colors("borderColor"),borderRadius:b.radii("borderRadius"),borderTop:b.borders("borderTop"),borderBlockStart:b.borders("borderBlockStart"),borderTopLeftRadius:b.radii("borderTopLeftRadius"),borderStartStartRadius:b.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:b.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:b.radii("borderTopRightRadius"),borderStartEndRadius:b.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:b.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:b.borders("borderRight"),borderInlineEnd:b.borders("borderInlineEnd"),borderBottom:b.borders("borderBottom"),borderBlockEnd:b.borders("borderBlockEnd"),borderBottomLeftRadius:b.radii("borderBottomLeftRadius"),borderBottomRightRadius:b.radii("borderBottomRightRadius"),borderLeft:b.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:b.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:b.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:b.borders(["borderLeft","borderRight"]),borderInline:b.borders("borderInline"),borderY:b.borders(["borderTop","borderBottom"]),borderBlock:b.borders("borderBlock"),borderTopWidth:b.borderWidths("borderTopWidth"),borderBlockStartWidth:b.borderWidths("borderBlockStartWidth"),borderTopColor:b.colors("borderTopColor"),borderBlockStartColor:b.colors("borderBlockStartColor"),borderTopStyle:b.borderStyles("borderTopStyle"),borderBlockStartStyle:b.borderStyles("borderBlockStartStyle"),borderBottomWidth:b.borderWidths("borderBottomWidth"),borderBlockEndWidth:b.borderWidths("borderBlockEndWidth"),borderBottomColor:b.colors("borderBottomColor"),borderBlockEndColor:b.colors("borderBlockEndColor"),borderBottomStyle:b.borderStyles("borderBottomStyle"),borderBlockEndStyle:b.borderStyles("borderBlockEndStyle"),borderLeftWidth:b.borderWidths("borderLeftWidth"),borderInlineStartWidth:b.borderWidths("borderInlineStartWidth"),borderLeftColor:b.colors("borderLeftColor"),borderInlineStartColor:b.colors("borderInlineStartColor"),borderLeftStyle:b.borderStyles("borderLeftStyle"),borderInlineStartStyle:b.borderStyles("borderInlineStartStyle"),borderRightWidth:b.borderWidths("borderRightWidth"),borderInlineEndWidth:b.borderWidths("borderInlineEndWidth"),borderRightColor:b.colors("borderRightColor"),borderInlineEndColor:b.colors("borderInlineEndColor"),borderRightStyle:b.borderStyles("borderRightStyle"),borderInlineEndStyle:b.borderStyles("borderInlineEndStyle"),borderTopRadius:b.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:b.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:b.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:b.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Y,{rounded:Y.borderRadius,roundedTop:Y.borderTopRadius,roundedTopLeft:Y.borderTopLeftRadius,roundedTopRight:Y.borderTopRightRadius,roundedTopStart:Y.borderStartStartRadius,roundedTopEnd:Y.borderStartEndRadius,roundedBottom:Y.borderBottomRadius,roundedBottomLeft:Y.borderBottomLeftRadius,roundedBottomRight:Y.borderBottomRightRadius,roundedBottomStart:Y.borderEndStartRadius,roundedBottomEnd:Y.borderEndEndRadius,roundedLeft:Y.borderLeftRadius,roundedRight:Y.borderRightRadius,roundedStart:Y.borderInlineStartRadius,roundedEnd:Y.borderInlineEndRadius,borderStart:Y.borderInlineStart,borderEnd:Y.borderInlineEnd,borderTopStartRadius:Y.borderStartStartRadius,borderTopEndRadius:Y.borderStartEndRadius,borderBottomStartRadius:Y.borderEndStartRadius,borderBottomEndRadius:Y.borderEndEndRadius,borderStartRadius:Y.borderInlineStartRadius,borderEndRadius:Y.borderInlineEndRadius,borderStartWidth:Y.borderInlineStartWidth,borderEndWidth:Y.borderInlineEndWidth,borderStartColor:Y.borderInlineStartColor,borderEndColor:Y.borderInlineEndColor,borderStartStyle:Y.borderInlineStartStyle,borderEndStyle:Y.borderInlineEndStyle});var rg={color:b.colors("color"),textColor:b.colors("color"),fill:b.colors("fill"),stroke:b.colors("stroke")},Yi={boxShadow:b.shadows("boxShadow"),mixBlendMode:!0,blendMode:b.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:b.prop("backgroundBlendMode"),opacity:!0};Object.assign(Yi,{shadow:Yi.boxShadow});var ig={filter:{transform:J.filter},blur:b.blur("--chakra-blur"),brightness:b.propT("--chakra-brightness",J.brightness),contrast:b.propT("--chakra-contrast",J.contrast),hueRotate:b.degreeT("--chakra-hue-rotate"),invert:b.propT("--chakra-invert",J.invert),saturate:b.propT("--chakra-saturate",J.saturate),dropShadow:b.propT("--chakra-drop-shadow",J.dropShadow),backdropFilter:{transform:J.backdropFilter},backdropBlur:b.blur("--chakra-backdrop-blur"),backdropBrightness:b.propT("--chakra-backdrop-brightness",J.brightness),backdropContrast:b.propT("--chakra-backdrop-contrast",J.contrast),backdropHueRotate:b.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:b.propT("--chakra-backdrop-invert",J.invert),backdropSaturate:b.propT("--chakra-backdrop-saturate",J.saturate)},Ur={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:J.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:b.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:b.space("gap"),rowGap:b.space("rowGap"),columnGap:b.space("columnGap")};Object.assign(Ur,{flexDir:Ur.flexDirection});var ll={gridGap:b.space("gridGap"),gridColumnGap:b.space("gridColumnGap"),gridRowGap:b.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},og={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:J.outline},outlineOffset:!0,outlineColor:b.colors("outlineColor")},Ke={width:b.sizesT("width"),inlineSize:b.sizesT("inlineSize"),height:b.sizes("height"),blockSize:b.sizes("blockSize"),boxSize:b.sizes(["width","height"]),minWidth:b.sizes("minWidth"),minInlineSize:b.sizes("minInlineSize"),minHeight:b.sizes("minHeight"),minBlockSize:b.sizes("minBlockSize"),maxWidth:b.sizes("maxWidth"),maxInlineSize:b.sizes("maxInlineSize"),maxHeight:b.sizes("maxHeight"),maxBlockSize:b.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(n,e)=>{var r,i,o;return{["@media screen and (min-width: ".concat((o=(i=(r=e.__breakpoints)==null?void 0:r.get(n))==null?void 0:i.minW)!=null?o:n,")")]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(n,e)=>{var r,i,o;return{["@media screen and (max-width: ".concat((o=(i=(r=e.__breakpoints)==null?void 0:r.get(n))==null?void 0:i._minW)!=null?o:n,")")]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:b.propT("float",J.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ke,{w:Ke.width,h:Ke.height,minW:Ke.minWidth,maxW:Ke.maxWidth,minH:Ke.minHeight,maxH:Ke.maxHeight,overscroll:Ke.overscrollBehavior,overscrollX:Ke.overscrollBehaviorX,overscrollY:Ke.overscrollBehaviorY});var ag={listStyleType:!0,listStylePosition:!0,listStylePos:b.prop("listStylePosition"),listStyleImage:!0,listStyleImg:b.prop("listStyleImage")};function sg(n,e,r,i){const o=typeof e=="string"?e.split("."):[e];for(i=0;i{const e=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return n(r,i,o);e.has(r)||e.set(r,new Map);const s=e.get(r);if(s.has(i))return s.get(i);const l=n(r,i,o,a);return s.set(i,l),l}},ug=lg(sg),cg={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dg={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},$i=(n,e,r)=>{const i={},o=ug(n,e,{});for(const a in o)a in r&&r[a]!=null||(i[a]=o[a]);return i},hg={srOnly:{transform(n){return n===!0?cg:n==="focusable"?dg:{}}},layerStyle:{processResult:!0,transform:(n,e,r)=>$i(e,"layerStyles.".concat(n),r)},textStyle:{processResult:!0,transform:(n,e,r)=>$i(e,"textStyles.".concat(n),r)},apply:{processResult:!0,transform:(n,e,r)=>$i(e,n,r)}},Wn={position:!0,pos:b.prop("position"),zIndex:b.prop("zIndex","zIndices"),inset:b.spaceT("inset"),insetX:b.spaceT(["left","right"]),insetInline:b.spaceT("insetInline"),insetY:b.spaceT(["top","bottom"]),insetBlock:b.spaceT("insetBlock"),top:b.spaceT("top"),insetBlockStart:b.spaceT("insetBlockStart"),bottom:b.spaceT("bottom"),insetBlockEnd:b.spaceT("insetBlockEnd"),left:b.spaceT("left"),insetInlineStart:b.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:b.spaceT("right"),insetInlineEnd:b.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Wn,{insetStart:Wn.insetInlineStart,insetEnd:Wn.insetInlineEnd});var pg={ring:{transform:J.ring},ringColor:b.colors("--chakra-ring-color"),ringOffset:b.prop("--chakra-ring-offset-width"),ringOffsetColor:b.colors("--chakra-ring-offset-color"),ringInset:b.prop("--chakra-ring-inset")},ue={margin:b.spaceT("margin"),marginTop:b.spaceT("marginTop"),marginBlockStart:b.spaceT("marginBlockStart"),marginRight:b.spaceT("marginRight"),marginInlineEnd:b.spaceT("marginInlineEnd"),marginBottom:b.spaceT("marginBottom"),marginBlockEnd:b.spaceT("marginBlockEnd"),marginLeft:b.spaceT("marginLeft"),marginInlineStart:b.spaceT("marginInlineStart"),marginX:b.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:b.spaceT("marginInline"),marginY:b.spaceT(["marginTop","marginBottom"]),marginBlock:b.spaceT("marginBlock"),padding:b.space("padding"),paddingTop:b.space("paddingTop"),paddingBlockStart:b.space("paddingBlockStart"),paddingRight:b.space("paddingRight"),paddingBottom:b.space("paddingBottom"),paddingBlockEnd:b.space("paddingBlockEnd"),paddingLeft:b.space("paddingLeft"),paddingInlineStart:b.space("paddingInlineStart"),paddingInlineEnd:b.space("paddingInlineEnd"),paddingX:b.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:b.space("paddingInline"),paddingY:b.space(["paddingTop","paddingBottom"]),paddingBlock:b.space("paddingBlock")};Object.assign(ue,{m:ue.margin,mt:ue.marginTop,mr:ue.marginRight,me:ue.marginInlineEnd,marginEnd:ue.marginInlineEnd,mb:ue.marginBottom,ml:ue.marginLeft,ms:ue.marginInlineStart,marginStart:ue.marginInlineStart,mx:ue.marginX,my:ue.marginY,p:ue.padding,pt:ue.paddingTop,py:ue.paddingY,px:ue.paddingX,pb:ue.paddingBottom,pl:ue.paddingLeft,ps:ue.paddingInlineStart,paddingStart:ue.paddingInlineStart,pr:ue.paddingRight,pe:ue.paddingInlineEnd,paddingEnd:ue.paddingInlineEnd});var fg={textDecorationColor:b.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:b.shadows("textShadow")},gg={clipPath:!0,transform:b.propT("transform",J.transform),transformOrigin:!0,translateX:b.spaceT("--chakra-translate-x"),translateY:b.spaceT("--chakra-translate-y"),skewX:b.degreeT("--chakra-skew-x"),skewY:b.degreeT("--chakra-skew-y"),scaleX:b.prop("--chakra-scale-x"),scaleY:b.prop("--chakra-scale-y"),scale:b.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:b.degreeT("--chakra-rotate")},mg={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:b.prop("transitionDuration","transition.duration"),transitionProperty:b.prop("transitionProperty","transition.property"),transitionTimingFunction:b.prop("transitionTimingFunction","transition.easing")},yg={fontFamily:b.prop("fontFamily","fonts"),fontSize:b.prop("fontSize","fontSizes",J.px),fontWeight:b.prop("fontWeight","fontWeights"),lineHeight:b.prop("lineHeight","lineHeights"),letterSpacing:b.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(n){if(n===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},bg={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:b.spaceT("scrollMargin"),scrollMarginTop:b.spaceT("scrollMarginTop"),scrollMarginBottom:b.spaceT("scrollMarginBottom"),scrollMarginLeft:b.spaceT("scrollMarginLeft"),scrollMarginRight:b.spaceT("scrollMarginRight"),scrollMarginX:b.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:b.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:b.spaceT("scrollPadding"),scrollPaddingTop:b.spaceT("scrollPaddingTop"),scrollPaddingBottom:b.spaceT("scrollPaddingBottom"),scrollPaddingLeft:b.spaceT("scrollPaddingLeft"),scrollPaddingRight:b.spaceT("scrollPaddingRight"),scrollPaddingX:b.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:b.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function ul(n){return Ut(n)&&n.reference?n.reference:String(n)}var yi=(n,...e)=>e.map(ul).join(" ".concat(n," ")).replace(/calc/g,""),xa=(...n)=>"calc(".concat(yi("+",...n),")"),Sa=(...n)=>"calc(".concat(yi("-",...n),")"),Zi=(...n)=>"calc(".concat(yi("*",...n),")"),Na=(...n)=>"calc(".concat(yi("/",...n),")"),_a=n=>{const e=ul(n);return e!=null&&!Number.isNaN(parseFloat(e))?String(e).startsWith("-")?String(e).slice(1):"-".concat(e):Zi(e,-1)},Mn=Object.assign(n=>({add:(...e)=>Mn(xa(n,...e)),subtract:(...e)=>Mn(Sa(n,...e)),multiply:(...e)=>Mn(Zi(n,...e)),divide:(...e)=>Mn(Na(n,...e)),negate:()=>Mn(_a(n)),toString:()=>n.toString()}),{add:xa,subtract:Sa,multiply:Zi,divide:Na,negate:_a});function vg(n){const e=parseFloat(n.toString()),r=n.toString().replace(String(e),"");return{unitless:!r,value:e,unit:r}}function Ra(n){if(n==null)return n;const{unitless:e}=vg(n);return e||typeof n=="number"?"".concat(n,"px"):n}function wg(n,e){const r=["@media screen"];return n&&r.push("and","(min-width: ".concat(Ra(n),")")),e&&r.push("and","(max-width: ".concat(Ra(e),")")),r.join(" ")}var Ce={hover:(n,e)=>"".concat(n,":hover ").concat(e,", ").concat(n,"[data-hover] ").concat(e),focus:(n,e)=>"".concat(n,":focus ").concat(e,", ").concat(n,"[data-focus] ").concat(e),focusVisible:(n,e)=>"".concat(n,":focus-visible ").concat(e),focusWithin:(n,e)=>"".concat(n,":focus-within ").concat(e),active:(n,e)=>"".concat(n,":active ").concat(e,", ").concat(n,"[data-active] ").concat(e),disabled:(n,e)=>"".concat(n,":disabled ").concat(e,", ").concat(n,"[data-disabled] ").concat(e),invalid:(n,e)=>"".concat(n,":invalid ").concat(e,", ").concat(n,"[data-invalid] ").concat(e),checked:(n,e)=>"".concat(n,":checked ").concat(e,", ").concat(n,"[data-checked] ").concat(e),indeterminate:(n,e)=>"".concat(n,":indeterminate ").concat(e,", ").concat(n,"[aria-checked=mixed] ").concat(e,", ").concat(n,"[data-indeterminate] ").concat(e),readOnly:(n,e)=>"".concat(n,":read-only ").concat(e,", ").concat(n,"[readonly] ").concat(e,", ").concat(n,"[data-read-only] ").concat(e),expanded:(n,e)=>"".concat(n,":read-only ").concat(e,", ").concat(n,"[aria-expanded=true] ").concat(e,", ").concat(n,"[data-expanded] ").concat(e),placeholderShown:(n,e)=>"".concat(n,":placeholder-shown ").concat(e)},_t=n=>cl(e=>n(e,"&"),"[role=group]","[data-group]",".group"),ft=n=>cl(e=>n(e,"~ &"),"[data-peer]",".peer"),cl=(n,...e)=>e.map(n).join(", "),Lo={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:_t(Ce.hover),_peerHover:ft(Ce.hover),_groupFocus:_t(Ce.focus),_peerFocus:ft(Ce.focus),_groupFocusVisible:_t(Ce.focusVisible),_peerFocusVisible:ft(Ce.focusVisible),_groupActive:_t(Ce.active),_peerActive:ft(Ce.active),_groupDisabled:_t(Ce.disabled),_peerDisabled:ft(Ce.disabled),_groupInvalid:_t(Ce.invalid),_peerInvalid:ft(Ce.invalid),_groupChecked:_t(Ce.checked),_peerChecked:ft(Ce.checked),_groupFocusWithin:_t(Ce.focusWithin),_peerFocusWithin:ft(Ce.focusWithin),_peerPlaceholderShown:ft(Ce.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},xg=Object.keys(Lo);function Sg(n,e=[]){const r=Object.assign({},n);for(const i of e)i in r&&delete r[i];return r}var Oo=Et({},Tr,Y,rg,Ur,Ke,ig,pg,og,ll,hg,Wn,Yi,ue,bg,yg,fg,gg,ag,mg);Object.assign({},ue,Ke,Ur,ll,Wn);var Ng=[...Object.keys(Oo),...xg],_g={...Oo,...Lo},Rg=n=>n in _g,kg=n=>e=>{if(!e.__breakpoints)return n;const{isResponsive:r,toArrayValue:i,media:o}=e.__breakpoints,a={};for(const s in n){let l=zt(n[s],e);if(l==null)continue;if(l=Ut(l)&&r(l)?i(l):l,!Array.isArray(l)){a[s]=l;continue}const u=l.slice(0,o.length).length;for(let c=0;cn.startsWith("--")&&typeof e=="string"&&!Ag(e),Eg=(n,e)=>{var r,i;if(e==null)return e;const o=u=>{var c,d;return(d=(c=n.__cssMap)==null?void 0:c[u])==null?void 0:d.varRef},a=u=>{var c;return(c=o(u))!=null?c:u},[s,l]=Cg(e);return e=(i=(r=o(s))!=null?r:a(l))!=null?i:a(e),e};function Lg(n){const{configs:e={},pseudos:r={},theme:i}=n,o=(a,s=!1)=>{var l,u,c;const d=zt(a,i),h=kg(d)(i);let p={};for(let m in h){const y=h[m];let w=zt(y,i);m in r&&(m=r[m]),Tg(m,w)&&(w=Eg(i,w));let _=e[m];if(_===!0&&(_={property:m}),Ut(w)){p[m]=(l=p[m])!=null?l:{},p[m]=Et({},p[m],o(w,!0));continue}let N=(c=(u=_==null?void 0:_.transform)==null?void 0:u.call(_,w,i,d))!=null?c:w;N=_!=null&&_.processResult?o(N,!0):N;const R=zt(_==null?void 0:_.property,i);if(!s&&_!=null&&_.static){const M=zt(_.static,i);p=Et({},p,M)}if(R&&Array.isArray(R)){for(const M of R)p[M]=N;continue}if(R){R==="&"&&Ut(N)?p=Et({},p,N):p[R]=N;continue}if(Ut(N)){p=Et({},p,N);continue}p[m]=N}return p};return o}var Og=n=>e=>Lg({theme:e,pseudos:Lo,configs:Oo})(n);function jg(n,e){if(Array.isArray(n))return n;if(Ut(n))return e(n);if(n!=null)return[n]}function Mg(n,e){for(let r=e+1;r{Et(u,{[R]:h?N[R]:{[_]:N[R]}})});continue}if(!p){h?Et(u,N):u[_]=N;continue}u[_]=N}}return u}}function $g(n){return e=>{var r;const{variant:i,size:o,theme:a}=e,s=Pg(a);return Et({},zt((r=n.baseStyle)!=null?r:{},e),s(n,"sizes",o,e),s(n,"variants",i,e))}}function Ig(n){return Sg(n,["styleConfig","size","variant","colorScheme"])}var Dg=typeof Element<"u",Bg=typeof Map=="function",zg=typeof Set=="function",Fg=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Er(n,e){if(n===e)return!0;if(n&&e&&typeof n=="object"&&typeof e=="object"){if(n.constructor!==e.constructor)return!1;var r,i,o;if(Array.isArray(n)){if(r=n.length,r!=e.length)return!1;for(i=r;i--!==0;)if(!Er(n[i],e[i]))return!1;return!0}var a;if(Bg&&n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(a=n.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;for(a=n.entries();!(i=a.next()).done;)if(!Er(i.value[1],e.get(i.value[0])))return!1;return!0}if(zg&&n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(a=n.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;return!0}if(Fg&&ArrayBuffer.isView(n)&&ArrayBuffer.isView(e)){if(r=n.length,r!=e.length)return!1;for(i=r;i--!==0;)if(n[i]!==e[i])return!1;return!0}if(n.constructor===RegExp)return n.source===e.source&&n.flags===e.flags;if(n.valueOf!==Object.prototype.valueOf&&typeof n.valueOf=="function"&&typeof e.valueOf=="function")return n.valueOf()===e.valueOf();if(n.toString!==Object.prototype.toString&&typeof n.toString=="function"&&typeof e.toString=="function")return n.toString()===e.toString();if(o=Object.keys(n),r=o.length,r!==Object.keys(e).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(e,o[i]))return!1;if(Dg&&n instanceof Element)return!1;for(i=r;i--!==0;)if(!((o[i]==="_owner"||o[i]==="__v"||o[i]==="__o")&&n.$$typeof)&&!Er(n[o[i]],e[o[i]]))return!1;return!0}return n!==n&&e!==e}var Gg=function(n,e){try{return Er(n,e)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Ug=el(Gg);function dl(n,e={}){var r;const{styleConfig:i,...o}=e,{theme:a,colorMode:s}=Df(),l=n?lc(a,"components.".concat(n)):void 0,u=i||l,c=uc({theme:a,colorMode:s},(r=u==null?void 0:u.defaultProps)!=null?r:{},Za(ui(o,["children"]))),d=$.useRef({});if(u){const h=$g(u)(c);Ug(d.current,h)||(d.current=h)}return d.current}function Wg(n,e={}){return dl(n,e)}function Vg(n,e={}){return dl(n,e)}var Hg=new Set([...Ng,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Jg=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Kg(n){return Jg.has(n)||!Hg.has(n)}function qg(n,...e){if(n==null)throw new TypeError("Cannot convert undefined or null to object");const r={...n};for(const i of e)if(i!=null)for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&(o in r&&delete r[o],r[o]=i[o]);return r}var ka,Yg=(ka=Yo.default)!=null?ka:Yo,Zg=({baseStyle:n})=>e=>{const{theme:r,css:i,__css:o,sx:a,...s}=e,l=cc(s,(h,p)=>Rg(p)),u=be(n,e),c=qg({},o,u,Za(l),a),d=Og(c)(e.theme);return i?[d,i]:d};function Ii(n,e){const{baseStyle:r,...i}=e!=null?e:{};i.shouldForwardProp||(i.shouldForwardProp=Kg);const o=Zg({baseStyle:r}),a=Yg(n,i)(o);return P.forwardRef(function(s,l){const{colorMode:u,forced:c}=al();return P.createElement(a,{ref:l,"data-theme":c?u:void 0,...s})})}function Qg(){const n=new Map;return new Proxy(Ii,{apply(e,r,i){return Ii(...i)},get(e,r){return n.has(r)||n.set(r,Ii(r)),n.get(r)}})}var dt=Qg();function it(n){return $.forwardRef(n)}var Ca={path:F.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[F.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),F.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),F.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},bi=it((n,e)=>{const{as:r,viewBox:i,color:o="currentColor",focusable:a=!1,children:s,className:l,__css:u,...c}=n,d=To("chakra-icon",l),h=Wg("Icon",n),p={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...u,...h},m={ref:e,focusable:a,className:d,__css:p},y=i!=null?i:Ca.viewBox;if(r&&typeof r!="string")return F.jsx(dt.svg,{as:r,...m,...c});const w=s!=null?s:Ca.path;return F.jsx(dt.svg,{verticalAlign:"middle",viewBox:y,...m,...c,children:w})});bi.displayName="Icon";function Xg(n,e){return"".concat(n," returned `undefined`. Seems you forgot to wrap component within ").concat(e)}function em(n={}){const{name:e,strict:r=!0,hookName:i="useContext",providerName:o="Provider",errorMessage:a,defaultValue:s}=n,l=$.createContext(s);l.displayName=e;function u(){var c;const d=$.useContext(l);if(!d&&r){const h=new Error(a!=null?a:Xg(i,o));throw h.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,h,u),h}return d}return[l.Provider,u,l]}var tm=it(function(n,e){const{spacing:r="0.5rem",spacingX:i,spacingY:o,children:a,justify:s,direction:l,align:u,className:c,shouldWrapChildren:d,...h}=n,p=$.useMemo(()=>d?$.Children.map(a,(m,y)=>F.jsx(jo,{children:m},y)):a,[a,d]);return F.jsx(dt.div,{ref:e,className:To("chakra-wrap",c),...h,children:F.jsx(dt.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:s,alignItems:u,flexDirection:l,listStyleType:"none",gap:r,columnGap:i,rowGap:o,padding:"0"},children:p})})});tm.displayName="Wrap";var jo=it(function(n,e){const{className:r,...i}=n;return F.jsx(dt.li,{ref:e,__css:{display:"flex",alignItems:"flex-start"},className:To("chakra-wrap__listitem",r),...i})});jo.displayName="WrapItem";var Mo=dt("div");Mo.displayName="Box";var hl=it(function(n,e){const{size:r,centerContent:i=!0,...o}=n,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return F.jsx(Mo,{ref:e,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});hl.displayName="Square";var nm=it(function(n,e){const{size:r,...i}=n;return F.jsx(hl,{size:r,ref:e,borderRadius:"9999px",...i})});nm.displayName="Circle";var pl=it(function(n,e){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...c}=n,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return F.jsx(dt.div,{ref:e,__css:d,...c})});pl.displayName="Flex";const rm=n=>{const{getEmptyStateProps:e}=Mt(),r=e(F.jsx(pl,{...im,children:"No options found!"}));return F.jsx(Mo,{...n,children:r})},im={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Aa=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],om=n=>{const e=P.Children.map(n,(i,o)=>{var a;if(((a=i==null?void 0:i.type)==null?void 0:a.displayName)==="AutoCompleteGroup"){const s=P.Children.toArray(n)[o+1];return P.cloneElement(i,{groupSibling:s?s.type.displayName==="AutoCompleteGroup":!1})}return i}),r=P.Children.toArray(e).filter(i=>{var o;return!Aa.includes((o=i==null?void 0:i.type)==null?void 0:o.displayName)});return[P.Children.toArray(e).filter(i=>{var o;return Aa.includes((o=i==null?void 0:i.type)==null?void 0:o.displayName)}),r]},fl=Vt((n,e)=>{const{children:r,loadingState:i,...o}=n,{listRef:a,isLoading:s}=Mt(),l=Xn(e,a),[u,c]=om(r);return F.jsxs(Ka,{ref:l,w:"inherit",...am,...o,children:[s&&F.jsx(Xu,{children:i||F.jsx(Ja,{size:"md"})}),!s&&F.jsxs(F.Fragment,{children:[u,F.jsx(rm,{}),c]})]})});fl.displayName="AutoCompleteList";const am={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}};var[sm,gl]=em({name:"TagStylesContext",errorMessage:"useTagStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),ml=it((n,e)=>{const r=Vg("Tag",n),i=Ig(n),o={display:"inline-flex",verticalAlign:"top",alignItems:"center",maxWidth:"100%",...r.container};return F.jsx(sm,{value:r,children:F.jsx(dt.span,{ref:e,...i,__css:o})})});ml.displayName="Tag";var yl=it((n,e)=>{const r=gl();return F.jsx(dt.span,{ref:e,noOfLines:1,...n,__css:r.label})});yl.displayName="TagLabel";var lm=it((n,e)=>F.jsx(bi,{ref:e,verticalAlign:"top",marginEnd:"0.5rem",...n}));lm.displayName="TagLeftIcon";var um=it((n,e)=>F.jsx(bi,{ref:e,verticalAlign:"top",marginStart:"0.5rem",...n}));um.displayName="TagRightIcon";var bl=n=>F.jsx(bi,{verticalAlign:"inherit",viewBox:"0 0 512 512",...n,children:F.jsx("path",{fill:"currentColor",d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})});bl.displayName="TagCloseIcon";var vl=it((n,e)=>{const{isDisabled:r,children:i,...o}=n,a={display:"flex",alignItems:"center",justifyContent:"center",outline:"0",...gl().closeButton};return F.jsx(dt.button,{ref:e,"aria-label":"close",...o,type:"button",disabled:r,__css:a,children:i||F.jsx(bl,{})})});vl.displayName="TagCloseButton";$.memo(n=>{const{label:e,onRemove:r,disabled:i,...o}=n;return F.jsx(jo,{children:F.jsxs(ml,{borderRadius:"md",fontWeight:"normal",...i&&Ta,...o,children:[F.jsx(yl,{children:e}),F.jsx(vl,{onClick:()=>!i&&be(r),cursor:"pointer",...i&&Ta})]})})});const Ta={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};var Ft=function(){return Ft=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},La=function(n,e,r){if(r||arguments.length===2)for(var i=0,o=e.length,a;i0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},fm=function(n,e){var r=n.validator,i=n.onDebouncedChange,o=n.delay,a=n.optionList,s=n.defaultValue;n.onChange;var l=hm(n,["validator","onDebouncedChange","delay","optionList","defaultValue","onChange"]),u=$.useRef(null),c=Xn(u,e),d=$.useRef("datalist-"+new Date().valueOf()),h=pm($.useState(!1),2),p=h[0],m=h[1],y=$.useRef();$.useEffect(function(){u.current&&(u.current.value=(s==null?void 0:s.toString())||"")},[s]);var w=function(N){var R=N.target.value;window.clearTimeout(y.current),r&&m(!r(R)),y.current=window.setTimeout(function(){i==null||i(R),y.current=void 0},o!=null?o:500)},_=function(N){var R=N.target.value;y.current!==void 0&&(window.clearTimeout(y.current),r&&m(!r(R)),i==null||i(R),y.current=void 0)};return f.jsxs(f.Fragment,{children:[f.jsx(Ha,Qi({ref:c,list:d.current,variant:"flushed",size:"sm",h:6,onChange:w,onBlur:_,isInvalid:p},l)),a&&f.jsx("datalist",{id:d.current,children:a==null?void 0:a.map(function(N,R){return f.jsx("option",{children:N},R)})})]})},gm=$.forwardRef(fm),Xi=function(){return Xi=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},wm=function(n){switch(n){case Lt.DEV:return"red";case Lt.UAT:return"orange";case Lt.PRD:return"green"}};function Ex(n){var e=n.environment,r=n.version,i=n.popoverHeader,o=n.popoverBody,a=vm($.useState(!1),2),s=a[0],l=a[1];return f.jsxs(Va,{isOpen:s,onOpen:function(){return i&&l(!0)},onClose:function(){return l(!1)},children:[f.jsx(fc,{children:f.jsx(Qa,{ml:1,colorScheme:wm(e),title:"".concat(e,": ").concat(r),cursor:i?"pointer":"help",children:e===Lt.PRD?r:e})}),f.jsxs(Ka,{children:[f.jsx(gc,{}),f.jsx(mc,{}),f.jsx(yc,{children:i}),f.jsx(bc,{children:o})]})]})}var xm=function(n,e,r){var i=new Blob([r],{type:e});Sm(n,i)},Sm=function(n,e){var r=window.URL.createObjectURL(e),i=document.createElement("a");i.href=r,i.download=n,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r)},Nm=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function _m(n){var e=n.cancelRef,r=n.isOpen,i=n.onClose,o=Nm($.useState(!1),2),a=o[0],s=o[1],l=function(){s(!0);var u=Ge.storage.getAll(),c=Ge.getAppName(),d="".concat(c,"_BACKUP_").concat(new Date().toISOString(),".json");xm(d,"application/json",JSON.stringify(u)),Ge.storage.clear(),setTimeout(function(){window.location.reload()},2e3)};return f.jsxs(vc,{leastDestructiveRef:e,isOpen:r,onClose:i,children:[f.jsx(wc,{}),f.jsxs(xc,{children:[f.jsx(Sc,{children:"Warning 警告"}),f.jsx(Nc,{}),f.jsxs(_c,{sx:{"& p":{my:1}},children:[f.jsx(At,{children:"Are you sure you want to reset the app? The webpage local storage for this app will be cleared. A copy of the local storage will be downloaded and it may be used for restoration (varies with app)."}),f.jsx(At,{children:"確定重設該應用程式嗎?應用程式的網頁本地儲存將會被清除。本地儲存的副本可供下載及用於復原(因應用程式而異)。"}),f.jsx(At,{children:"确定重置本应用程序吗?应用程序的网页本地存储将会被清除。本地存储的拷贝可供下载以及用于还原(因应用程序而異)。"})]}),f.jsxs(Rc,{children:[f.jsx(dn,{ref:e,onClick:i,children:"Cancel"}),f.jsx(dn,{isLoading:a,colorScheme:"red",ml:3,onClick:l,children:"Confirm and reload"})]})]})]})}var Hn=function(){return Hn=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Cm(n){var e=n.error,r=n.errorInfo,i=n.allowReset,o=n.sx,a=Rm(n,["error","errorInfo","allowReset","sx"]),s=ht("RmgErrorBoundary"),l=Xa("primary.500","primary.300"),u=km($.useState(!1),2),c=u[0],d=u[1],h=$.useRef(null),p=function(w){return f.jsx(Fn,{color:l,role:"button",onClick:function(){return d(!0)},children:w})},m=Ge.getAppName(),y=f.jsx(Fn,{color:l,href:"https://github.com/railmapgen/".concat(m,"/issues"),isExternal:!0,children:"GitHub Issue"});return f.jsxs(uo,Hn({status:"error",sx:Hn(Hn({},s),o)},a,{children:[f.jsx(co,{}),f.jsx(kc,{children:"Something went wrong!"}),f.jsxs(Cc,{children:[f.jsxs(At,{children:["Please try to refresh or re-import your configuration files. If the issue still persists, please consider upgrading your browser",i?f.jsxs(f.Fragment,{children:[" or ",p("reset this app")]}):"",". Should you need any help, please contact us by submitting an issue in ",y," with the details shown below."]}),f.jsxs(At,{children:["請嘗試重新整理或重新上載設定檔。如果問題仍然存在,請考慮更新你的瀏覽器",i?f.jsxs(f.Fragment,{children:["或",p("重設該應用程式")]}):"","。如需協助或與我們聯絡,請前往 ",y," 提交一個 Issue 並附以詳細資料。"]}),f.jsxs(At,{children:["请尝试刷新或者重新上传配置文件。如果问题仍然存在,请考虑更新您的浏览器",i?f.jsxs(f.Fragment,{children:["或者",p("重置本应用程序")]}):"","。如需帮助或者联系我们,请前往 ",y," 提交一个 Issue 并附上详细信息。"]}),f.jsxs(At,{as:"details",children:[e==null?void 0:e.toString(),f.jsx("br",{}),r==null?void 0:r.componentStack]}),i&&f.jsx(_m,{cancelRef:h,isOpen:c,onClose:function(){return d(!1)}})]})]}))}var Am=function(){var n=function(e,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,o){i.__proto__=o}||function(i,o){for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(i[a]=o[a])},n(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");n(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}(),eo=function(){return eo=Object.assign||function(n){for(var e,r=1,i=arguments.length;r0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Mm(n){var e=n.defaultValue,r=n.options,i=n.disabledOptions,o=jm(n,["defaultValue","options","disabledOptions"]),a=$.useRef(null);$.useEffect(function(){a.current&&(a.current.value=(e==null?void 0:e.toString())||"")},[e]);var s=function(l,u){return f.jsx("option",{value:l,disabled:(i==null?void 0:i.find(function(c){return c.toString()===l}))!==void 0,children:u},l)};return f.jsx(Ec,no({ref:a,variant:"flushed",size:"sm",h:6},o,{children:Object.entries(r).map(function(l){var u=Oa(l,2),c=u[0],d=u[1];return typeof d=="object"?f.jsx("optgroup",{label:c,children:Object.entries(d).map(function(h){var p=Oa(h,2),m=p[0],y=p[1];return s(m,y)})},c):s(c,d)})}))}var Pm=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},Lx=function(n,e,r){var i=Pm($.useState(e()),2),o=i[0],a=i[1];return $.useEffect(function(){n.then(function(){console.debug("[rmg-components] Getter updates finished"),a(e())})},[]),o},Di=function(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var i=r.call(n),o,a=[],s;try{for(;(e===void 0||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a},ja=function(n,e,r){if(r||arguments.length===2)for(var i=0,o=e.length,a;i0)&&!(o=i.next()).done;)a.push(o.value)}catch(l){s={error:l}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(s)throw s.error}}return a};function Dm(n){var e=n.defaultValue,r=n.min,i=n.max,o=n.step,a=n.onThrottledChange,s=n.leftIcon,l=n.rightIcon,u=ht("RmgThrottledSlider"),c=Im($.useState(e!=null?e:0),2),d=c[0],h=c[1];$.useEffect(function(){e!==void 0&&d!==e&&h(e)},[e]);var p=$m(a!=null?a:function(){},500),m=function(){var w=Math.min(d+(o!=null?o:1)*10,i!=null?i:100);a==null||a(w),h(w)},y=function(){var w=Math.max(d-(o!=null?o:1)*10,r!=null?r:0);a==null||a(w),h(w)};return f.jsxs(ut,{sx:u,children:[s&&f.jsx(Or,{size:"xs",variant:"ghost","aria-label":"Drag left",icon:s,onClick:y}),f.jsxs(Lc,{value:d,min:r,max:i,step:o,onChange:function(w){p(w),h(w)},children:[f.jsx(Oc,{children:f.jsx(jc,{})}),f.jsx(Mc,{})]}),l&&f.jsx(Or,{size:"xs",variant:"ghost","aria-label":"Drag right",icon:l,onClick:m})]})}var Bm=function(n){var e=n.children,r=n.noWrap,i=ht("RmgOutput",{noWrap:r});return f.jsx(Lr.output,{sx:i,children:e})};function ye(n){var e=n.fields,r=n.noLabel,i=n.minW;return f.jsx(ut,{wrap:"wrap",children:e.map(function(o,a){if(o.hidden)return f.jsx($.Fragment,{},a);var s=o.minW||i,l=s==="full";return f.jsx(Om,{className:l?"mw-full":"",label:o.label,flex:l?void 0:1,minW:l?void 0:s,noLabel:r,oneLine:o.oneLine,children:function(u){switch(u.type){case"input":return f.jsx(gm,{placeholder:u.placeholder,defaultValue:u.value,type:u.variant,validator:u.validator,onDebouncedChange:u.onChange,delay:u.debouncedDelay,optionList:u.optionList,isDisabled:u.isDisabled});case"output":return f.jsx(Bm,{noWrap:u.noWrap,children:u.value});case"textarea":return f.jsx(bm,{placeholder:u.placeholder,defaultValue:u.value,onDebouncedChange:u.onChange,isDisabled:u.isDisabled});case"slider":return f.jsx(Dm,{defaultValue:u.value,min:u.min,max:u.max,step:u.step,onThrottledChange:u.onChange,leftIcon:u.leftIcon,rightIcon:u.rightIcon,isDisabled:u.isDisabled});case"select":return f.jsx(Mm,{defaultValue:u.value,onChange:function(c){var d,h=c.target.value;return(d=u.onChange)===null||d===void 0?void 0:d.call(u,typeof u.value=="number"?Number(h):h.toString())},options:u.options,disabledOptions:u.disabledOptions,isInvalid:u.isInvalid,isDisabled:u.isDisabled});case"switch":return f.jsx(Pc,{isChecked:u.isChecked,isDisabled:u.isDisabled,onChange:function(c){var d,h=c.target.checked;return(d=u.onChange)===null||d===void 0?void 0:d.call(u,h)}});case"custom":return u.component;default:return f.jsx("div",{})}}(o)},a)})})}var Ot=function(){return Ot=Object.assign||function(n){for(var e,r=1,i=arguments.length;r button:first-of-type":{ml:1}}},Qm={baseStyle:{w:"100%",h:"100%",position:"absolute",top:0,right:0,alignItems:"center",justifyContent:"center","& .rmg-loader__backdrop":{position:"absolute",w:"100%",h:"100%",zIndex:1500,bg:"blackAlpha.400"},"& .chakra-progress":{zIndex:2e3}}},Rt=function(n){return n==="dark"?"primary.300":"primary.500"},Xm={baseStyle:function(n){var e=n.theme,r=n.colorMode;return{"& .rmg-multi-select__wrapper":{position:"relative",w:"100%",h:"25.75px",transform:"translateY(1.75px)",cursor:"default"},"& .rmg-multi-select__field":{position:"relative",w:"100%",minW:0,outline:0,appearance:"none",transitionProperty:"common",transitionDuration:"normal",pb:"1px",fontSize:"sm",h:"6",borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_active:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},_focus:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},_focusVisible:{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},"&.active":{borderColor:Rt(r),boxShadow:"0px 1px 0px 0px ".concat(zn(e,Rt(r)))},"& > span:last-of-type":{position:"absolute",right:8}},"& .rmg-multi-select__icon-wrapper":{display:"inline-flex",justifyContent:"center",w:6,h:"100%",position:"absolute",right:2,top:0,fontSize:"xl","& svg":{h:"1em",w:"1em"}},"& .chakra-popover__content":{w:"unset",minW:200},"& .chakra-popover__body":{p:0,"li label":{p:2,w:"100%",_hover:{bg:r==="dark"?"whiteAlpha.200":"gray.100"},_active:{bg:r==="dark"?"whiteAlpha.300":"gray.200"}}}}}},io=function(){return io=Object.assign||function(n){for(var e,r=1,i=arguments.length;r(n.RailMap="railmap",n.Platform="platform",n))(yy||{}),by=(n=>(n.Metro="metro",n.NationalRail="nationalrail",n.LightRail="lightrail",n.Footpath="footpath",n))(by||{}),vy=(n=>(n.APP_LOAD="APP_LOAD",n.ADD_STATION="ADD_STATION",n.ADD_LINE="ADD_LINE",n.IMPORT_RMG_PARAM="IMPORT_RMG_PARAM",n.IMPORT_WORK_FROM_GALLERY="IMPORT_WORK_FROM_GALLERY",n.DOWNLOAD_PARAM="DOWNLOAD_PARAM",n.DOWNLOAD_IMAGES="DOWNLOAD_IMAGES",n.LOAD_TUTORIAL="LOAD_TUTORIAL",n))(vy||{}),Ue=(n=>(n.LOGIN_STATE="rmp__login_state",n.APP="rmp__app",n.PARAM="rmp__param",n.PARAM_BACKUP="rmp__param__backup",n.DO_NOT_SHOW_RMT_MSG="rmp__doNotShowRMTMsg",n.ACCOUNT="rmg-home__account",n))(Ue||{}),le=(n=>(n.Other="other",n.Beijing="beijing",n.Berlin="berlin",n.Chongqing="chongqing",n.Foshan="foshan",n.Guangzhou="guangzhou",n.Hongkong="hongkong",n.Kunming="kunming",n.London="london",n.Qingdao="qingdao",n.Shanghai="shanghai",n.Shenzhen="shenzhen",n.Singapore="singapore",n.Suzhou="suzhou",n.Tokyo="tokyo",n))(le||{}),wy=(n=>(n.Shmetro="shmetro",n.Bjsubway="bjsubway",n))(wy||{});const xy="https://railmapgen.org/v1/subscription",Dx="https://railmapgen.org/v1/randomStationNames",Wr={RMP_CLOUD:!1,RMP_EXPORT:!1},Sy={state:"logged-out",activeSubscriptions:Wr,token:void 0},Sl=ci({name:"account",initialState:Sy,reducers:{setState:(n,e)=>{n.state=e.payload},setActiveSubscriptions:(n,e)=>{n.activeSubscriptions=e.payload},setToken:(n,e)=>{n.token=e.payload}}}),{setState:Kn,setActiveSubscriptions:Vr,setToken:Nl}=Sl.actions,Ny=Sl.reducer;var ee;(function(n){n.black="#000",n.white="#fff"})(ee||(ee={}));var _l=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};let zi={};const _y=(n,e)=>_l(void 0,void 0,void 0,function*(){if(n in zi)return zi[n];const i=yield(yield fetch(n,e)).json();return zi[n]=i,i}),Ry=(n,e)=>_l(void 0,void 0,void 0,function*(){return yield _y("/rmg-palette/resources/palettes/".concat(n,".json"),{signal:e})});var ky=function(n,e,r,i){function o(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function l(d){try{c(i.next(d))}catch(h){s(h)}}function u(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?a(d.value):o(d.value).then(l,u)}c((i=i.apply(n,e||[])).next())})};const Bx=(n,e,r)=>ky(void 0,void 0,void 0,function*(){const[i,o]=n;if(i==="other")return n;try{const s=(yield Ry(i)).find(l=>l.id===o);return s?[i,o,s.colour,s.fg||ee.white]:(console.warn("[rmg-palette] updateTheme(".concat(i,", ").concat(o,"), line does not exist, returning old theme")),n)}catch(a){throw console.error("[rmg-palette] updateTheme(".concat(i,", ").concat(o,"), unexpected error occurs"),a),a}}),zx=n=>{const e=n.currentTarget.getBoundingClientRect(),r=n.clientX-e.left,i=n.clientY-e.top;return{x:r,y:i}},Fx=(n,e,r,i)=>({x:n*r/100+i.x,y:e*r/100+i.y}),Gx=(n,e)=>Math.round(n/e)*e,Ux=n=>{let[e,r,i,o]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return n.forEachNode((a,s)=>{const l=document.getElementById(a);if(l){const u=Cy(l);e=Math.min(u.x,e),r=Math.min(u.y,r),i=Math.max(u.x+u.width,i),o=Math.max(u.y+u.height,o)}}),e-=50,r-=50,i+=100,o+=100,{xMin:e,yMin:r,xMax:i,yMax:o}},Wx=n=>{var e,r;return{width:((e=n.width)!=null?e:720)-40,height:((r=n.height)!=null?r:1280)-40}},Cy=n=>{const e=n.getBBox(),r=n.ownerSVGElement,i=n.parentNode.getScreenCTM().inverse().multiply(n.getScreenCTM()),o=[r.createSVGPoint(),r.createSVGPoint(),r.createSVGPoint(),r.createSVGPoint()];o[0].x=e.x,o[0].y=e.y,o[1].x=e.x+e.width,o[1].y=e.y,o[2].x=e.x+e.width,o[2].y=e.y+e.height,o[3].x=e.x,o[3].y=e.y+e.height;let[a,s,l,u]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return o.forEach(c=>{c=c.matrixTransform(i),a=Math.min(a,c.x),l=Math.max(l,c.x),s=Math.min(s,c.y),u=Math.max(u,c.y)}),e.x=a,e.width=l-a,e.y=s,e.height=u-s,e},Vx=navigator.platform.startsWith("Mac"),Ia=async(n,e="SHA-256")=>{const i=new TextEncoder().encode(n),o=await crypto.subtle.digest(e,i);return Array.from(new Uint8Array(o)).map(s=>s.toString(16).padStart(2,"0")).join("")},Hx=()=>{const n=Math.floor(Math.random()*16777215);return"#".concat(n.toString(16).padStart(6,"0"))},Jx=n=>{const e=parseInt(n.slice(1,3),16),r=parseInt(n.slice(3,5),16),i=parseInt(n.slice(5,7),16);return(e*299+r*587+i*114)/1e3>=128?ee.black:ee.white},Ay="rmt-save-manager";var Ty=(n=>(n.SAVE_CHANGED="SAVE_CHANGED",n.TOKEN_REQUEST="TOKEN_REQUEST",n))(Ty||{});const Rl=new BroadcastChannel(Ay);let br,vr;const Ey=async n=>{if(!vr){const r=new pe().export();vr=await Ia(JSON.stringify(r)),jt.debug("Default graph hash: ".concat(vr))}const e=await Ia(JSON.stringify(n));br&&br!==vr&&br!==e&&(jt.debug("Notify RMP save change, hash: ".concat(e)),Rl.postMessage({type:"SAVE_CHANGED",key:Ue.PARAM,from:"rmp"})),br=e},Da=async()=>{jt.debug("Requesting token from RMT"),Rl.postMessage({type:"TOKEN_REQUEST",from:"rmp"})},Ly=async(n,e)=>{jt.debug("Updating token to: ".concat(e)),n.dispatch(Nl(e))},Oy=async(n,e)=>{const r=await fetch(xy,{headers:{accept:"application/json","Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(r.status!==200){jt.debug("Token is invalid, expiring the login state"),n.dispatch(Kn("expired")),n.dispatch(Vr(Wr));return}n.dispatch(Kn("free"));const i=(await r.json()).subscriptions,o=structuredClone(Wr);for(const a of i){const s=a.type;s in o&&(n.dispatch(Kn("subscriber")),o[s]=!0)}n.dispatch(Vr(o)),jt.debug("Token is valid, setting active subscriptions: ".concat(JSON.stringify(o)))},jy=n=>{const e=i=>{if(!i){jt.debug("Account string is empty, logging out"),n.dispatch(Nl(void 0)),n.dispatch(Kn("logged-out")),n.dispatch(Vr(Wr));return}const o=JSON.parse(i),{token:a}=o;Ly(n,a),Oy(n,a)};let r=localStorage.getItem(Ue.ACCOUNT);e(r!=null?r:void 0),window.onstorage=()=>{const i=localStorage.getItem(Ue.ACCOUNT);r!==i&&(r=i,jt.debug("Account string changed to: ".concat(i)),e(i!=null?i:void 0))}},My="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Py=(n=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=My[r[n]&63];return e};var S=(n=>(n.Diagonal="diagonal",n.Perpendicular="perpendicular",n.RotatePerpendicular="ro-perp",n.Simple="simple",n))(S||{}),D=(n=>(n.SingleColor="single-color",n.ShanghaiSuburbanRailway="sh-sub-rwy",n.ShmetroVirtualInt="shmetro-virtual-int",n.GzmtrVirtualInt="gzmtr-virtual-int",n.GZMTRLoop="gzmtr-loop",n.ChinaRailway="china-railway",n.BjsubwaySingleColor="bjsubway-single-color",n.BjsubwayTram="bjsubway-tram",n.BjsubwayDotted="bjsubway-dotted",n.DualColor="dual-color",n.River="river",n.MTRRaceDays="mtr-race-days",n.MTRLightRail="mtr-light-rail",n.MTRUnpaidArea="mtr-unpaid-area",n.MTRPaidArea="mtr-paid-area",n.MRTUnderConstruction="mrt-under-constr",n.MRTSentosaExpress="mrt-sentosa-express",n.JREastSingleColor="jr-east-single-color",n.JREastSingleColorPattern="jr-east-single-color-pattern",n.LRTSingleColor="lrt-single-color",n.LondonTubeTerminal="london-tube-terminal",n.LondonTubeInternalInt="london-tube-internal-int",n.LondonTube10MinWalk="london-tube-10-min-walk",n.LondonRail="london-rail",n.LondonSandwich="london-sandwich",n.LondonLutonAirportDART="london-DART",n.LondonIFSCloudCableCar="london-dangleway",n.GuangdongIntercityRailway="gd-intercity-rwy",n))(D||{});const Kx=["single-color","bjsubway-single-color","bjsubway-tram","bjsubway-dotted","china-railway","mtr-race-days","mtr-light-rail","mrt-under-constr","jr-east-single-color","jr-east-single-color-pattern","lrt-single-color","london-sandwich","london-DART","london-dangleway"],$y=(n,e,r,i,o=Hr)=>{const{offset:a=Hr.offset}=o,s=Math.abs((i-r)/(e-n));if(s===1/0)return"M ".concat(n+a," ").concat(r," L ").concat(e+a," ").concat(i);if(s===0)return"M ".concat(n," ").concat(r+a," L ").concat(e," ").concat(i+a);{const l=1/s,u=a/Math.sqrt(l*l+1),c=u*l*-Math.sign((e-n)*(i-r));return"M ".concat(n+u," ").concat(r+c," L ").concat(e+u," ").concat(i+c)}},Hr={offset:0},Iy=n=>{var s;const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"input",label:o("panel.details.lines.simple.offset"),value:((s=r.offset)!=null?s:Hr.offset).toString(),variant:"number",onChange:l=>{r.offset=Number(l),i(e,r)},minW:"full"}];return f.jsx(ye,{fields:a})},Dy=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M6,18L18,6",stroke:"currentColor",fill:"none"})}),By={generatePath:$y,icon:Dy,defaultAttrs:Hr,attrsComponent:Iy,metadata:{displayName:"panel.details.lines.simple.displayName"}},qx={translateX:0,translateY:0,scale:1,rotate:0},zy=3,Fy=1/0;var st=(n=>(n.Virtual="virtual",n.ShmetroNumLineBadge="shmetro-num-line-badge",n.ShmetroTextLineBadge="shmetro-text-line-badge",n.GzmtrLineBadge="gzmtr-line-badge",n.BjsubwayNumLineBadge="bjsubway-num-line-badge",n.BjsubwayTextLineBadge="bjsubway-text-line-badge",n.SuzhouRTNumLineBadge="suzhourt-num-line-badge",n.BerlinSBahnLineBadge="berlin-s-bahn-line-badge",n.BerlinUBahnLineBadge="berlin-u-bahn-line-badge",n.ChongqingRTNumLineBadge="chongqingrt-num-line-badge",n.ChongqingRTTextLineBadge="chongqingrt-text-line-badge",n.ShenzhenMetroNumLineBadge="shenzhen-metro-num-line-badge",n.MRTDestinationNumbers="mrt-num-line-badge",n.JREastLineBadge="jr-east-line-badge",n.QingdaoMetroNumLineBadge="qingdao-metro-num-line-badge",n.MRTLineBadge="mrt-line-badge",n.GuangdongIntercityRailwayLineBadge="gd-intercity-rwy-line-badge",n.LondonArrow="london-arrow",n.Facilities="facilities",n.Text="text",n.I18nText="i18n-text",n.Master="master",n))(st||{});const Gy="操作",Uy="应用程序",Wy="黑",Vy="取消",Hy="城市",Jy="组件",Ky="确定",qy="继续",Yy="复制",Zy="编辑",Qy="语言/Language",Xy="理由",eb="名称",tb="下一步",nb="打开",rb="调色板",ib="上一步",ob="删除",ab="重置",sb="设置",lb="提交",ub="翻译",cb="上传",db="白",hb={Action:Gy,Apps:Uy,"Back to list":"返回列表","Background colour":"背景色",Black:Wy,Cancel:Vy,City:Hy,Components:Jy,"Configuration file":"配置文件",Confirm:Ky,Continue:qy,"Country/Region":"国家/地区",Copy:Yy,Edit:Zy,"Foreground colour":"前景色","Go back":"返回",Language:Qy,Justification:Xy,Name:eb,Next:tb,Open:nb,Palette:rb,"Please select...":"请选择...",Previous:ib,"Rail Map Generator":"铁路线路图生成器","Rail Map Painter":"地铁线路图绘制器","Rail Map Toolkit":"线路图工具包",Remove:ob,Reset:ab,"RMG Templates":"RMG 模板","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 设计师","Seed Project":"种子项目",Settings:sb,Submit:lb,Translate:ub,Upload:cb,White:db},pb="動作",fb="應用程式",gb="黑",mb="取消",yb="城市",bb="元件",vb="確定",wb="繼續",xb="複製",Sb="編輯",Nb="語言/Language",_b="理由",Rb="名稱",kb="下一步",Cb="開啟",Ab="調色盤",Tb="上一步",Eb="移除",Lb="重設",Ob="設定",jb="提交",Mb="翻譯",Pb="上載",$b="白",Ib={Action:pb,Apps:fb,"Back to list":"返回列表","Background colour":"背景色",Black:gb,Cancel:mb,City:yb,Components:bb,"Configuration file":"設定檔",Confirm:vb,Continue:wb,Copy:xb,"Country/Region":"國家/地區",Edit:Sb,"Foreground colour":"前景色","Go back":"返回",Language:Nb,Justification:_b,Name:Rb,Next:kb,Open:Cb,Palette:Ab,"Please select...":"請選擇...",Previous:Tb,"Rail Map Generator":"鐵路路綫圖產生器","Rail Map Painter":"地鐵路綫圖繪製器","Rail Map Toolkit":"路綫圖工具組",Remove:Eb,Reset:Lb,"RMG Templates":"RMG 範本","RMP Gallery":"RMP 畫廊","RMP Designer":"RMP 設計師","Seed Project":"種子項目",Settings:Ob,Submit:jb,Translate:Mb,Upload:Pb,White:$b},Db="言語/Language",Bb="調色板",zb="削除",Fb={Language:Db,Palette:Bb,"Rail Map Generator":"鉄道路線図ジェネレータ","Rail Map Painter":"鉄道路線図画家","Rail Map Toolkit":"路線図ツールキット",Remove:zb,"RMG Templates":"RMG テンプレート","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 図案家"},Gb="조작",Ub="앱",Wb="블랙",Vb="취소",Hb="도시",Jb="요소",Kb="확인",qb="복사",Yb="편집",Zb="언어/Language",Qb="이유",Xb="명칭",ev="다음",tv="열기",nv="팔레트",rv="나아가",iv="삭제",ov="리셋",av="설치",sv="제출",lv="번역",uv="업로드",cv="화이트",dv={Action:Gb,Apps:Ub,"Back to list":"다시 목록으로","Background colour":"배경색",Black:Wb,Cancel:Vb,City:Hb,Components:Jb,"Configuration file":"환경 설정 파일",Confirm:Kb,Copy:qb,"Country/Region":"국가/지역",Edit:Yb,"Foreground colour":"전경색","Go back":"되돌아가",Language:Zb,Justification:Qb,Name:Xb,Next:ev,Open:tv,Palette:nv,"Please select...":"선택해주세요",Previous:rv,"Rail Map Generator":"철도 노선도 생성기","Rail Map Painter":"지하철 노선도 그리기","Rail Map Toolkit":"노선도 툴킷",Remove:iv,Reset:ov,"RMG Templates":"RMG 템플릿","RMP Gallery":"RMP 갤러리","RMP Designer":"RMP 디자이너","Seed Project":"종자 프로젝트",Settings:av,Submit:sv,Translate:lv,Upload:uv,White:cv};var hv={en:{},"zh-Hans":hb,"zh-Hant":Ib,ja:Fb,ko:dv};const pv="Color",fv="Warning",gv="Cancel",mv="Apply",yv="Remove",bv="Close",vv="Don't show me again",wv="The all-in-one toolkit you definitely do not want to miss!",xv={tools:{showLess:"Show less",section:{lineDrawing:"Line drawing",stations:"Stations",miscellaneousNodes:"Miscellaneous nodes"},select:"Select",learnHowToAdd:{station:"Learn how to add your stations!","misc-node":"Learn how to add your nodes!",line:"Learn how to add your line styles!"}},details:{header:"Details",info:{title:"Basic information",id:"ID",zIndex:"Depth",stationType:"Station Type",linePathType:"Line Path Type",lineStyleType:"Line Style Type",type:"Type",parallel:"Parallel line",parallelIndex:"Parallel index"},multipleSelection:{title:"Multiple Selection",change:"Change selected attributes",selected:"Selected Objects:",show:"Show",station:"Stations",miscNode:"MiscNodes",edge:"Lines"},changeStationTypeContent:"Changing station's type will remove all attributes from the station except its names.",changeLineTypeContent:"Changing line's type will remove all attributes from the line.",changeType:"Change Type",nodePosition:{title:"Node Position",pos:{x:"Coordinate X",y:"Coordinate Y"}},lineExtremities:{title:"Line Extremities",source:"Source",target:"Target",sourceName:"Source Name",targetName:"Target Name"},specificAttrsTitle:"Specific Attributes",unknown:{error:"Oops :( We can't recognize this {{category}}. Maybe it is created in a newer version.",node:"node",linePath:"line path",lineStyle:"line style"},nodes:{common:{nameZh:"Line name in Chinese",nameEn:"Line name in English",nameJa:"Line name in Japanese",num:"Line number"},virtual:{displayName:"Virtual node"},shmetroNumLineBadge:{displayName:"Shanghai Metro num line badge"},shmetroTextLineBadge:{displayName:"Shanghai Metro text line badge"},gzmtrLineBadge:{displayName:"Guangzhou Metro line badge",tram:"Tram",span:"Row-spanning digits"},bjsubwayNumLineBadge:{displayName:"Beijing Subway num line badge"},bjsubwayTextLineBadge:{displayName:"Beijing Subway text line badge"},berlinSBahnLineBadge:{displayName:"Berlin S Bahn line badge"},berlinUBahnLineBadge:{displayName:"Berlin U Bahn line badge"},suzhouRTNumLineBadge:{displayName:"Suzhou Rail Transit num line badge",branch:"Is branch line"},chongqingRTNumLineBadge:{displayName:"Chongqing Rail Transit num line badge"},chongqingRTTextLineBadge:{displayName:"Chongqing Rail Transit text line badge"},shenzhenMetroNumLineBadge:{displayName:"Shenzhen Metro num line badge",branch:"Is branch line"},mrtDestinationNumbers:{displayName:"Singapore MRT destination numbers"},mrtLineBadge:{displayName:"Singapore MRT line badge",isTram:"Is LRT line badge"},jrEastLineBadge:{displayName:"JR East line badge",crosshatchPatternFill:"Fill with crosshatch pattern"},qingdaoMetroNumLineBadge:{displayName:"Qingdao Metro Num line badge",numEn:"Line number in English",showText:"Show text"},guangdongIntercityRailwayLineBadge:{displayName:"Guangdong Intercity Railway line badge"},londonArrow:{displayName:"London arrow",type:"Type",continuation:"Continuation",sandwich:"Sandwich",tube:"Tube"},master:{displayName:"Master node",type:"Master node type",undefined:"Undefined"},facilities:{displayName:"Facilities",type:"Type"},text:{displayName:"Arbitrary text",content:"Content",fontSize:"Font size",lineHeight:"Line height",textAnchor:"Text anchor",start:"Start",middle:"Middle",end:"End",auto:"Auto",hanging:"Hanging",dominantBaseline:"Dominant baseline",language:"Font family in which language",zh:"Chinese",en:"English",mtr__zh:"Hongkong MTR Chinese",mtr__en:"Hongkong MTR English",berlin:"Berlin S/U Bahn",mrt:"Singapore MRT",jreast_ja:"JR East Japanese",jreast_en:"JR East English",rotate:"Rotation",italic:"Italic",bold:"Bold"}},stations:{common:{nameZh:"Names in Chinese",nameEn:"Names in English",nameJa:"Names in Japanese",nameOffsetX:"Names offset X",nameOffsetY:"Names offset Y",rotate:"Icon rotation",lineCode:"Line code",stationCode:"Station code",left:"Left",middle:"Middle",right:"Right",top:"Top",bottom:"Bottom"},interchange:{title:"Interchanges",within:"Within-station interchange",outStation:"Out-of-station interchange",outSystem:"Out-of-system interchange",addGroup:"Add interchange group",noInterchanges:"No interchanges",nameZh:"Chinese name",nameEn:"English name",add:"Add interchange",copy:"Copy interchange",remove:"Remove interchange"},shmetroBasic:{displayName:"Shanghai Metro basic station"},shmetroBasic2020:{displayName:"Shanghai Metro basic station (2020)"},shmetroInt:{displayName:"Shanghai Metro interchange station",height:"Icon height",width:"Icon width"},shmetroOsysi:{displayName:"Shanghai Metro out-of-system interchange station"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway station"},gzmtrBasic:{displayName:"Guangzhou Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},gzmtrInt:{displayName:"Guangzhou Metro interchange station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",foshan:"Foshan"},gzmtrInt2024:{displayName:"Guangzhou Metro interchange station (2024)",columns:"Columns of stations",topHeavy:"Prefer more stations on the top row",anchorAt:"Anchor at",anchorAtNone:"Center",osiPosition:"Out-of-Station Interchange",osiPositionNone:"None",osiPositionLeft:"Left",osiPositionRight:"Right"},bjsubwayBasic:{displayName:"Beijing Subway basic station",open:"Is opened"},bjsubwayInt:{displayName:"Beijing Subway interchange station",outOfStation:"Out of station interchange"},mtr:{displayName:"Hongkong MTR station",rotate:"Icon rotation"},suzhouRTBasic:{displayName:"Suzhou Rail Transit basic station",textVertical:"Vertical names"},suzhouRTInt:{displayName:"Suzhou Rail Transit interchange station"},kunmingRTBasic:{displayName:"Kunming Rail Transit basic station"},kunmingRTInt:{displayName:"Kunming Rail Transit interchange station"},MRTBasic:{displayName:"Singapore MRT basic station",isTram:"Is LRT station"},MRTInt:{displayName:"Singapore MRT interchange station"},jrEastBasic:{displayName:"JR East basic station",nameOffset:"Names offset",textOneLine:"Names in one line",textVertical:"Vertical names",important:"Important station",lines:"Interchange lines offset"},jrEastImportant:{displayName:"JR East important station",textVertical:"Vertical names",mostImportant:"Most important station",minLength:"Minimal length of the station"},foshanMetroBasic:{displayName:"Foshan Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},qingdaoMetro:{displayName:"Qingdao Metro station",isInt:"Is interchange station"},tokyoMetroBasic:{displayName:"Tokyo Metro basic station",nameOffset:"Names offset",textVertical:"Vertical names",lineCode:"Line code",stationCode:"Station code"},tokyoMetroInt:{displayName:"Tokyo Metro interchange station",mereOffset:{displayName:"Names mere offset",none:"None",left1:"Left (less)",left2:"Left (more)",right1:"Right (less)",right2:"Right (more)",up:"Up",down:"Down"},importance:{displayName:"Station importance",default:"Default",middle:"Middle",high:"High"},align:{displayName:"Icon align",horizontal:"Horizontal",vertical:"Vertical"}},londonTubeCommon:{stepFreeAccess:"Step free access",stepFreeAccessNone:"None",stepFreeAccessTrain:"From street to train",stepFreeAccessPlatform:"From street to platform"},londonTubeBasic:{displayName:"London Tube basic station",terminal:"Terminal station",shareTracks:"Track shares",shareTracksIndex:"Index of the track shares"},londonTubeInt:{displayName:"London Tube interchange station"},londonRiverServicesInt:{displayName:"London river services interchange station"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway station"}},lines:{reconcileId:"Reconcile ID",common:{offsetFrom:"Offset From",offsetTo:"Offset To",startFrom:"Start From",from:"From",to:"To",roundCornerFactor:"Round Corner Factor",parallelDisabled:"Some attributes are disabled as this line is parallel.",changeInBaseLine:"Change them in the base line:"},simple:{displayName:"Simple path",offset:"Offset"},diagonal:{displayName:"135° diagonal path"},perpendicular:{displayName:"90° perpendicular path"},rotatePerpendicular:{displayName:"90° rotate perpendicular path"},singleColor:{displayName:"Single color style"},shmetroVirtualInt:{displayName:"Shanghai Metro out-of-station interchange style"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway style",isEnd:"Is the ending line"},gzmtrVirtualInt:{displayName:"Guangzhou Metro out-of-station interchange style"},gzmtrLoop:{displayName:"Guangzhou Metro loop style"},chinaRailway:{displayName:"China Railway style"},bjsubwaySingleColor:{displayName:"Beijing Subway single color style"},bjsubwayTram:{displayName:"Beijing Subway tram style"},bjsubwayDotted:{displayName:"Beijing Subway dotted style"},dualColor:{displayName:"Dual color style",swap:"Swap color",colorA:"Color A",colorB:"Color B"},river:{displayName:"River style",width:"Width"},mtrRaceDays:{displayName:"Hongkong MTR race days style"},mtrLightRail:{displayName:"Hongkong MTR light rail style"},mtrUnpaidArea:{displayName:"Hongkong MTR unpaid area style"},mtrPaidArea:{displayName:"Hongkong MTR paid area style"},mrtUnderConstruction:{displayName:"Singapore MRT under construction style"},mrtSentosaExpress:{displayName:"Singapore MRT Sentosa Express style"},jrEastSingleColor:{displayName:"JR East single color style"},jrEastSingleColorPattern:{displayName:"JR East single color filled with crosshatch pattern style"},lrtSingleColor:{displayName:"Singapore LRT single color style"},londonTubeInternalInt:{displayName:"London Tube internal interchange style"},londonTube10MinWalk:{displayName:"London Tube under a 10 minute walk interchange style"},londonTubeTerminal:{displayName:"London Tube terminal style"},londonRail:{displayName:"London rail style",limitedService:"Limited service/Peak hours only",colorBackground:"Color background",colorForeground:"Color foreground"},londonSandwich:{displayName:"London sandwich style"},londonLutonAirportDART:{displayName:"London Luton Airport DART style"},londonIFSCloudCableCar:{displayName:"London IFS Cloud Cable Car style"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway style"}},edge:{},footer:{duplicate:"Duplicate",copy:"Copy",remove:"Remove"}}},Sv={popoverHeader:"You're on <1>{{environment}} environment!",popoverBody:"We are currently testing the latest RMP. If you have any suggestions, feel free to raise at https://github.com/railmapgen/rmp/issues",search:"Search stations",open:{new:"New project",config:"Import project",projectRMG:"Import from RMG project",invalidType:"Invalid file type! Only file in JSON format is accepted.",unknownError:"Unknown error occurred while parsing the uploaded file! Please try again.",gallery:"Import from Gallery",tutorial:"Start tutorial",importFromRMPGallery:"Template {{id}} imported. Not satisfied with this change? Undo via Ctrl + Z or the undo button.",failToImportFromRMPGallery:"Fail to import {{id}} from the gallery. The file can not be found."},download:{config:"Export project",image:"Export image","2rmg":{title:"Export to RMG project",type:{line:"Line",loop:"Loop",branch:"Branch"},placeholder:{chinese:"Chinese name",english:"English name",lineCode:"Line code"},info1:"This function is designed to convert the RMP project into RMG projects.",info2:"The lines in the list following are the available lines for converting. You can enter the Chinese line name in the text box on the left, the English line name in the middle, the line code (for Guangzhou Metro style) on the right, and then click the download button on the right to save your RMG projects.",noline:"No available lines found.",download:"Download",downloadInfo:"Please select one of the following stations as the starting station and click it to download."},format:"Format",png:"PNG",svg:"SVG",svgVersion:"Version","svg1.1":"1.1 (Compatible with Adobe Illustrator)",svg2:"2 (Compatible with modern browsers)",transparent:"Transparency",scale:"Scale",disabledScaleOptions:"Some scale options are disabled due to your browser's canvas limitation.",disabledScaleOptionsWorkarounds:"Possible workarounds include generating the image from svg using this cli tool: ",imageTooBig:"The image is too big for your browser to generate!",useSystemFonts:"Use system fonts instead of fonts previewed in the canvas",shareInfo1:"I will attach ",shareInfo2:" and its link when I share this image.",termsAndConditions:"Terms and Conditions",termsAndConditionsInfo:"I agree to ",period:".",confirm:"Download"},donation:{title:"Donation",openCollective:"Open Collective",viaUSD:"Donate in USD via Paypal or Visa card.",afdian:"爱发电",viaCNY:"Donate in CNY via Alipay or Wechat Pay."},settings:{title:"Settings",pro:"This is a PRO feature and an account with a subscription is required.",proWithTrial:"This is a PRO feature with a limited free trial available.",proLimitExceed:{master:"Master nodes exceed the free tier.",parallel:"Parallel lines exceed the free tier.",solution:"Remove them to dismiss this warning, or subscribe to unlock more!"},subscription:{title:"Subscription Status","logged-out":"You are currently logged out.",free:"Logged In! Subscribe to unlock more features!",subscriber:"Thanks for your subscription! Enjoy all features!",expired:"Login status expired. Please log out and log in again."},preference:{title:"Preference",keepLastPath:"Keep drawing lines until clicking on the background in the next move",autoParallel:"Automatically set new lines to be parallel to existing lines",randomStationNames:{title:"Set station names to random on creation",none:"None",shmetro:"Shanghai",bjsubway:"Beijing"}},shortcuts:{title:"Shortcuts",keys:"Keys",description:"Description",f:"Use the last tool.",s:"Select.",arrows:"Move the canvas a little bit.",ijkl:"Move the selected station(s) a little bit.",shift:"Multiple selection.",alt:"Precise movement.",delete:"Delete the selected station(s).",cut:"Cut.",copy:"Copy.",paste:"Paste.",undo:"Undo.",redo:"Redo."},procedures:{title:"Procedures",translate:{title:"Translate nodes' coordinates",content:"Add the following offset to all nodes' x and y:",x:"X axis",y:"Y axis"},scale:{title:"Scale nodes' coordinates",content:"Multiply the following value to all nodes' x and y:",factor:"Scale factor"},changeType:{title:"Change all objects' attributes",any:"Any"},changeZIndex:"Change depth in batch",changeStationType:{title:"Change stations type in batch",changeFrom:"Change all stations from this type:",changeTo:"To this type:",info:"Changing stations' type will remove all specific attributes from stations except their position and names. SAVE BEFORE CHANGE!"},changeLineStyleType:{title:"Change lines style in batch",changeFrom:"Change all lines from this style:",changeTo:"To this style:",info:"Changing lines' style will remove all specific attributes from lines except their connections. SAVE BEFORE CHANGE!"},changeLinePathType:{title:"Change lines path in batch",changeFrom:"Change all lines from this path:",changeTo:"To this path:"},changeColor:{title:"Change color in batch",changeFrom:"Change all objects from this color:",changeTo:"To this color:",any:"From any color"},removeLines:{title:"Remove lines with single color",content:"Remove lines that have this color: "},updateColor:{title:"Update color",content:"Update all colors with their latest value.",success:"Successfully update all colors.",error:"Error in updating all colors: {{e}}."},unlockSimplePath:{title:"Unlock simple path",content1:"The Rail Map Painter application endeavors to offer an interactive platform conducive to the creation of rail maps while adhering to established conventions. Among these conventions, one particularly renowned style finds its origins in the innovative work of Harry Beck. His pioneering contribution, officially endorsed in the year 1932, garnered instantaneous acclaim from the general populace. Presently, it stands as an exemplar of paramount significance within the realm of information design. This paradigmatic approach has found widespread implementation in transit cartography on a global scale, albeit with varying degrees of success.",content2:"The application inherently conceals the option to utilize a simple path, as its deployment has the potential to contravene established conventions. This particular feature remains discreetly tucked away by default. Additionally, submissions to the Rail Map Painter Gallery are subject to stringent scrutiny, with a categorical rejection of compositions that employ the simple path with a single color style approach.",content3:"Still, we reserve the opportunity to unlock this option and use the simple path when you subscribe. It should be noted that even after acquisition, the use of simple path is limited to single color.",check:"Unlock",unlocked:"Already Unlocked"},masterManager:{title:"Manage all master nodes",id:"Id",label:"Label",type:"Type",types:{MiscNode:"MiscNode",Station:"Station"},importTitle:"Upload master parameter",importFrom:"Use imported styles",importOther:"Import new style",importParam:"Paste configuration"}},telemetry:{title:"Telemetry",info:"To help improve Rail Map Painter and keep contributors motivated to enhance the project, anonymous usage data is collected through Google Analytics. This data is used solely for enhancing the user experience and optimizing the tool's functionality and is never shared with third parties.",essential:"Basic",essentialTooltip:"Change this global setting in Rail Map Toolkit",essentialInfo:"Rail Map Painter collects essential usage data that helps us understand how and when users interact with the tool. Rest assured, no personally identifiable information or data from your projects is ever collected.",essentialLink:"Click this link to see detailed fields that Google Analytics may collect.",additional:"Additional",additionalInfo:"Rail Map Painter also gathers data on interactions, such as project creation or station addition, when you input. These additional data is also anonymous and are only used for statistical analysis to help us make the tool better."}},about:{title:"About",rmp:"Rail Map Painter",railmapgen:"A Rail Map Toolkit project",desc:"Design your own rail map by freely dragging stations from different cities and connecting them with 90 or 135-degree rounded corners lines!",content1:"In memory of all the freedom and equality we once had.",content2:"06/01/2022 in Shanghai",contributors:"Contributors",coreContributors:"Core Contributors",styleContributors:"Style Contributors",langonginc:"Live a life you will remember.","203IhzElttil":"Special thanks for his diligent work in ensuring that the stations of Shanghai Metro match the original design.",Swiftiecott:"Special thanks for his diligent work in ensuring that the stations of Beijing Subway match the original design.",Minwtraft:"Special thanks for his diligent work in ensuring that the stations of Guangzhou Metro match the original design.",contactUs:"Contact Us",github:"Project repository",githubContent:"Face any problems? Search or raise an issue here!",slack:"Slack group",slackContent:"Chat in these Slack channels!"}},Nv={color:pv,warning:fv,cancel:gv,apply:mv,remove:yv,close:bv,noShowAgain:vv,rmtPromotion:wv,panel:xv,header:Sv},_v="Color A",Rv="Color B",kv="カラー",Cv="警告",Av="キャンセル",Tv="適用",Ev="削除",Lv="閉じる",Ov="次回表示しない",jv="絶対に見逃せないオールインワンツールキット!",Mv={tools:{showLess:"表示を減らす",section:{lineDrawing:"路線描画",stations:"駅",miscellaneousNodes:"その他の節点"},select:"選択する",learnHowToAdd:{station:"駅を追加する方法を学ぶ!","misc-node":"節点を追加する方法を学ぶ!",line:"路線風格を追加する方法を学ぶ!"}},details:{header:"詳細",info:{title:"基本情報",id:"ID",zIndex:"深度",stationType:"駅の種類",linePathType:"路線経路の種類",lineStyleType:"路線風格の種類",type:"種類",parallel:"平行路線",parallelIndex:"平行路線索引"},multipleSelection:{title:"複数選択",change:"選択した属性を変更する",selected:"選択されたオブジェクト:",show:"見せる",station:"駅",miscNode:"その他のノード",edge:"ライン"},changeStationTypeContent:"駅の種類を変更すると、駅の名前以外のすべての属性が削除されます。",changeLineTypeContent:"路線の種類を変更すると、すべての属性が削除されます。",changeType:"種類を変更",nodePosition:{title:"節点の位置",pos:{x:"X座標",y:"Y座標"}},lineExtremities:{title:"路線の端点",source:"出発点",target:"到着点",sourceName:"出発点名",targetName:"到着点名"},specificAttrsTitle:"特定の属性",unknown:{error:"おっと :( これは{{category}}を認識できません。おそらくそれは新しいバージョンで作成されました。",node:"節点",linePath:"路線経路",lineStyle:"路線風格"},nodes:{common:{nameZh:"中国語の路線名",nameEn:"英語の路線名",nameJa:"日本語の路線名",num:"路線番号"},virtual:{displayName:"仮想節点"},shmetroNumLineBadge:{displayName:"上海地下鉄路線番号徽章"},shmetroTextLineBadge:{displayName:"上海地下鉄テキスト路線徽章"},gzmtrLineBadge:{displayName:"広州地下鉄路線徽章",tram:"路面電車",span:"行にまたがる数字"},bjsubwayNumLineBadge:{displayName:"北京地下鉄路線番号徽章"},bjsubwayTextLineBadge:{displayName:"北京地下鉄テキスト路線徽章"},berlinSBahnLineBadge:{displayName:"ベルリンSバーン番号徽章"},berlinUBahnLineBadge:{displayName:"ベルリン地下鉄番号徽章"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通路線番号徽章",branch:"支線"},chongqingRTNumLineBadge:{displayName:"重慶鉄道交通路線番号徽章"},chongqingRTTextLineBadge:{displayName:"重慶鉄道交通テキスト路線徽章"},shenzhenMetroNumLineBadge:{displayName:"深セン地下鉄路線番号徽章",branch:"支線"},mrtDestinationNumbers:{displayName:"シンガポールMRTの目的地番号"},mrtLineBadge:{displayName:"シンガポールMRT路線バッジ",isTram:"LRT路線バッジです"},jrEastLineBadge:{displayName:"JR東日本路線番号徽章",crosshatchPatternFill:"網目模様で塗りつぶす"},qingdaoMetroNumLineBadge:{displayName:"青島地下鉄番号線徽章",numEn:"英語の行番号",showText:"テキストを表示"},guangdongIntercityRailwayLineBadge:{displayName:"広東省都市間鉄道線徽章"},londonArrow:{displayName:"ロンドン矢印",type:"種類",continuation:"継続",sandwich:"サンドイッチ",tube:"地下鉄"},master:{displayName:"大師節点",type:"大師節点種類",undefined:"未定義"},facilities:{displayName:"施設",type:"種類"},text:{displayName:"任意のテキスト",content:"コンテンツ",fontSize:"書体サイズ",lineHeight:"行の高さ",textAnchor:"テキストのアンカー",start:"開始",middle:"中央",end:"終了",auto:"自動",hanging:"吊り下げ",dominantBaseline:"ドミナントベースライン",language:"言語での書体ファミリー",zh:"中国語",en:"英語",mtr__zh:"香港MTR中国語",mtr__en:"香港MTR英語",berlin:"ベルリンS/Uバーン",mrt:"シンガポールMRT",jreast_ja:"JR東日本日本語",jreast_en:"JR東日本英語",rotate:"回転",italic:"イタリック体",bold:"太字"}},stations:{common:{nameZh:"中国語の駅名",nameEn:"英語の駅名",nameJa:"日本語の駅名",nameOffsetX:"駅名補正値X",nameOffsetY:"駅名補正値Y",rotate:"アイコンの回転",lineCode:"路線番号",stationCode:"駅番号",left:"左",middle:"中央",right:"右",top:"上",bottom:"下"},interchange:{title:"乗り換え",within:"駅構内の乗り換え",outStation:"駅外の乗り換え",outSystem:"系統外の乗り換え",addGroup:"乗り換えグループを追加",noInterchanges:"乗り換えなし",nameZh:"中国語の駅名",nameEn:"英語の駅名",add:"乗り換えを追加",copy:"乗り換えをコピー",remove:"乗り換えを削除"},shmetroBasic:{displayName:"上海地下鉄基本駅"},shmetroBasic2020:{displayName:"上海地下鉄基本駅(令和2年)"},shmetroInt:{displayName:"上海地下鉄乗り換え駅",height:"アイコンの高さ",width:"アイコンの幅"},shmetroOsysi:{displayName:"上海地下鉄の系統外乗り換え駅"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道駅"},gzmtrBasic:{displayName:"広州地下鉄基本駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},gzmtrInt:{displayName:"広州地下鉄乗り換え駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",foshan:"仏山"},gzmtrInt2024:{displayName:"広州地下鉄乗り換え駅(令和6年)",columns:"駅の列数",topHeavy:"上段に多くの駅を優先配置",anchorAt:"錨位置",anchorAtNone:"中心",osiPosition:"改札外乗り換え",osiPositionNone:"なし",osiPositionLeft:"左",osiPositionRight:"右"},bjsubwayBasic:{displayName:"北京地下鉄基本駅",open:"開業済み"},bjsubwayInt:{displayName:"北京地下鉄乗り換え駅",outOfStation:"改札外乗り換え"},mtr:{displayName:"香港MTR駅",rotate:"アイコンの回転"},suzhouRTBasic:{displayName:"蘇州軌道交通基本駅",textVertical:"垂直の名前"},suzhouRTInt:{displayName:"蘇州軌道交通乗り換え駅"},kunmingRTBasic:{displayName:"昆明軌道交通基本駅"},kunmingRTInt:{displayName:"昆明軌道交通乗り換え駅"},MRTBasic:{displayName:"シンガポールMRT基本駅",isTram:"LRTの駅です"},MRTInt:{displayName:"シンガポールMRT乗り換え駅"},jrEastBasic:{displayName:"JR東日本基本駅",nameOffset:"名前の補正値",textOneLine:"1行での名前",textVertical:"垂直の名前",important:"重要な駅",lines:"乗り換え線の補正値"},jrEastImportant:{displayName:"JR東日本重要駅",textVertical:"垂直の名前",mostImportant:"最も重要な駅",minLength:"駅の最小長"},foshanMetroBasic:{displayName:"仏山地鐵基本車站",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},qingdaoMetro:{displayName:"地下鉄青島駅",isInt:"乗換駅です"},tokyoMetroBasic:{displayName:"東京メトロの基本駅",nameOffset:"駅名補正値",textVertical:"垂直の名前"},tokyoMetroInt:{displayName:"東京メトロ乗換駅",mereOffset:{displayName:"名前は単なるオフセットです",none:"なし",left1:"左(少ない)",left2:"左(さらに)",right1:"右(少ない)",right2:"右(さらに)",up:"上",down:"下"},importance:{displayName:"駅の重要性",default:"デフォルト",middle:"真ん中",high:"高い"},align:{displayName:"アイコンの整列",horizontal:"水平",vertical:"垂直"}},londonTubeCommon:{stepFreeAccess:"段差のないアクセス",stepFreeAccessNone:"なし",stepFreeAccessTrain:"駅から電車まで",stepFreeAccessPlatform:"駅からプラットフォームまで"},londonTubeBasic:{displayName:"ロンドン地下鉄基本駅",terminal:"終着駅",shareTracks:"線路共有",shareTracksIndex:"線路共有索引"},londonTubeInt:{displayName:"ロンドン地下鉄乗換駅"},londonRiverServicesInt:{displayName:"ロンドン川サービス乗換駅"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道駅"}},lines:{reconcileId:"調整ID",common:{offsetFrom:"補正値(From)",offsetTo:"補正値(To)",startFrom:"開始位置",roundCornerFactor:"角の丸め係数",from:"から",to:"まで",parallelDisabled:"この路線が平行であるため、一部の属性が無効になっています。",changeInBaseLine:"基準線で変更してください:"},simple:{displayName:"簡単な経路",offset:"補正値"},diagonal:{displayName:"135°対角経路"},perpendicular:{displayName:"90°垂直経路"},rotatePerpendicular:{displayName:"90°回転する垂直経路"},singleColor:{displayName:"単色風格"},shmetroVirtualInt:{displayName:"上海地下鉄駅外乗り換え風格"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道風格",isEnd:"終了行"},gzmtrVirtualInt:{displayName:"広州地下鉄駅外乗り換え風格"},gzmtrLoop:{displayName:"広州地下鉄環状線風格"},chinaRailway:{displayName:"中国鉄道風格"},bjsubwaySingleColor:{displayName:"北京地下鉄単色風格"},bjsubwayTram:{displayName:"北京地下鉄路面電車風格"},bjsubwayDotted:{displayName:"北京地下鉄の点線風格"},dualColor:{displayName:"2色風格",swap:"色を交換",colorA:"色A",colorB:"色B"},river:{displayName:"河川風格",width:"幅"},mtrRaceDays:{displayName:"香港MTRレース日風格"},mtrLightRail:{displayName:"香港MTR軽軌風格"},mtrUnpaidArea:{displayName:"香港MTR改札外乗り換え風格"},mtrPaidArea:{displayName:"香港MTR改札内乗り換え風格"},mrtUnderConstruction:{displayName:"シンガポール MRT 工事中風格"},mrtSentosaExpress:{displayName:"シンガポール MRT セントーサ・エクスプレス風格"},jrEastSingleColor:{displayName:"JR東日本単色風格"},jrEastSingleColorPattern:{displayName:"JR東日本単色網目模様風格"},lrtSingleColor:{displayName:"シンガポールLRT単色風格"},londonTubeInternalInt:{displayName:"ロンドン地下鉄内部乗換風格"},londonTube10MinWalk:{displayName:"ロンドン地下鉄10分以内の乗換風格"},londonTubeTerminal:{displayName:"ロンドン地下鉄終着風格"},londonRail:{displayName:"ロンドン鉄道風格",limitedService:"限定サービス/ピーク時のみ",colorBackground:"背景色",colorForeground:"前景色"},londonSandwich:{displayName:"ロンドンサンドイッチ風格"},londonLutonAirportDART:{displayName:"ロンドンルートン空港DART風格"},londonIFSCloudCableCar:{displayName:"ロンドンIF雲索道風格"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道風格"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"削除"}}},Pv={popoverHeader:"<1>{{environment}} 環境です!",popoverBody:"現在、最新のRMPをテストしています。ご意見がありましたら、https://github.com/railmapgen/rmp/issues で提案してください",search:"駅を探す",open:{new:"新しい作品",config:"作品をインポート",projectRMG:"RMG作品からインポート",invalidType:"無効なファイルタイプです!JSON形式のファイルのみが受け付けられます。",unknownError:"アップロードされたファイルの解析中に不明なエラーが発生しました。もう一度お試しください。",gallery:"ギャラリーからインポート",tutorial:"指導を開始する",importFromRMPGallery:"テンプレート{{id}}がインポートされました。この変更に満足していませんか?Ctrl + Zまたは元に戻すボタンで元に戻せます。",failToImportFromRMPGallery:"ギャラリーから{{id}}のインポートに失敗しました。ファイルが見つかりませんでした。"},download:{config:"作品をエクスポート",image:"画像をエクスポート","2rmg":{title:"RMG作品へエクスポート",type:{line:"直線",loop:"環状線",branch:"支線"},placeholder:{chinese:"中国語のライン名",english:"英語の路線名",lineCode:"路線番号"},info1:"この機能は、RMP作品をRMG作品に変換するために設計されています。",info2:"以下のリストの行は、変換用に利用できます。左側のテキストボックスに中国語の行名、中央に英語の行名、右側に(広州メトロ風格用の)行コードを入力し、ダウンロードボタンをクリックしてRMG作品を保存できます。",noline:"利用可能な回線が見つかりません。",download:"ダウンロード",downloadInfo:"出発駅を選択してクリックしてください。"},format:"フォーマット",png:"PNG",svg:"SVG",svgVersion:"版","svg1.1":"1.1(Adobe Illustratorと互換性あり)",svg2:"2(現代のブラウザと互換性あり)",transparent:"透明性",scale:"スケール",disabledScaleOptions:"ブラウザのキャンバス制限のため、一部のスケールオプションが無効になっています。",disabledScaleOptionsWorkarounds:"回避策として、このCLIツールを使用してSVGから画像を生成する方法が考えられます:",imageTooBig:"画像が大きすぎてブラウザで生成できません!",useSystemFonts:"キャンバスで内覧された書体の代わりに系統書体を使用する",shareInfo1:"この画像を共有する際に、添付ファイル ",shareInfo2:" とリンクを添付します。",termsAndConditions:"利用規約",termsAndConditionsInfo:"以下の利用規約に同意します:",period:"。",confirm:"ダウンロード"},donation:{title:"寄付",openCollective:"Open Collective",viaUSD:"PaypalまたはVisaカードを使用してドルで寄付する。",afdian:"爱发电",viaCNY:"AlipayまたはWechat Payを使用して人民元で寄付する。"},settings:{title:"設定",pro:"これはPRO機能であり、サブスクリプションが必要です。",proWithTrial:"これはPRO機能で、無料の限定トライアルが利用可能です。",proLimitExceed:{master:"大師節点が無料枠を超えています。",parallel:"平行路線が無料枠を超えています。",solution:"これらを削除して警告を解除するか、サブスクリプションに登録してさらに多くの機能を利用してください!"},subscription:{title:"サブスクリプションステータス","logged-out":"現在ログアウトしています。",free:"ログイン済み!さらに多くの機能をアンロックするにはサブスクリプションを登録してください!",subscriber:"サブスクリプションありがとうございます!すべての機能をお楽しみください!",expired:"ログインステータスの有効期限が切れました。ログアウトして再度ログインしてください。"},preference:{title:"設定",keepLastPath:"次の移動で背景をクリックするまで、線を描き続ける",autoParallel:"新しい路線を既存の路線と平行に自動的に設定",randomStationNames:{title:"作成時に駅名を乱数化する",none:"なし",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"ショートカット",keys:"キー",description:"説明",f:"最後のツールを使用する。",s:"選択する。",arrows:"キャンバスを少し移動します。",ijkl:"選択した駅を少し移動します。",shift:"複数選択。",alt:"正確な移動。",delete:"選択した駅を削除します。",cut:"切り取る。",copy:"複製する。",paste:"貼り付ける。",undo:"元に戻す。",redo:"やり直す。"},procedures:{title:"手順",translate:{title:"節点の座標を変換",content:"すべての節点のX座標とY座標に次の補正値を追加する:",x:"X軸",y:"Y軸"},scale:{title:"節点の座標をスケーリング",content:"すべての節点のX座標とY座標に次の値を乗算する:",factor:"スケールファクター"},changeType:{title:"すべてのオブジェクトの属性を変更する",any:"どれでも"},changeZIndex:"深度を変更する",changeStationType:{title:"一括で駅の種類を変更",changeFrom:"すべての駅をこの種類から変更する:",changeTo:"この種類に変更する:",info:"駅の種類を変更すると、位置と名前以外の特定の属性がすべて削除されます。変更する前に保存してください!"},changeLineStyleType:{title:"線の風格を一括で変更",changeFrom:"この風格からすべての行を変更します:",changeTo:"この風格に:",info:"線の風格を変更すると、接続を除くすべての特定の属性が線から削除されます。 変更する前に保存してください!"},changeLinePathType:{title:"行のパスを一括で変更する",changeFrom:"このパスのすべての行を変更します:",changeTo:"この道へ:"},changeColor:{title:"一括で色を変更する",changeFrom:"すべてのオブジェクトをこの色から変更します:",changeTo:"この色に:",any:"どの色からも"},removeLines:{title:"単一色の路線を削除",content:"この色を持つ路線を削除する:"},updateColor:{title:"色を更新する",content:"最新の値ですべての色を更新します。",success:"すべての色を正常に更新しました。",error:"すべての色を更新する際にエラーが発生しました: {{e}}。"},unlockSimplePath:{title:"簡単な経路の解除",content1:"「地下鉄路線図画家」は、既存の慣例に従いつつ、鉄道地図の作成を支援するインタラクティブなプラットフォームを提供することを目指しています。その中でも、特に有名な風格の1つは、ハリー・ベックの革新的な作品に由来しています。彼の先駆的な貢献は1932年に正式に認められ、一般大衆から即座に称賛されました。現在では、情報デザインの領域において極めて重要な存在となっています。この典型的なアプローチは、世界規模の公共交通カートグラフィに広く採用されていますが、成功度は異なります。",content2:"アプリケーション自体は、既存の慣例に反する可能性があるため、簡単な経路を利用するオプションをデフォルトで控えめに隠しています。また、「地下鉄路線図画家ギャラリー」への投稿は厳格な審査を受けることになり、簡単な経路を単一の色の風格で使用する作品は断固として拒否されます。",content3:"それでも、このオプションのロックを解除し、寄付時にイージーパスを使用する機会を予約します。 取得後も、単純なパスの使用はモノクロスタイルに限定されることに注意してください。",check:"簡単な経路を解除",unlocked:"既に解除されています"},masterManager:{title:"すべての大師節点を管理する",id:"ID",label:"標識",type:"種類",types:{MiscNode:"その他節点",Station:"駅"},importTitle:"大師引数をアップロード",importFrom:"インポートしたスタイルを使用",importOther:"新しいスタイルをインポート",importParam:"設定情報を貼り付け"}},telemetry:{title:"テレメトリー",info:"鉄道路線図画家を改善し、貢献者がプロジェクトを向上させる意欲を維持するため、Google Analytics を通じて匿名の使用データを収集しています。このデータはユーザー体験の向上とツールの最適化のためだけに使用され、第三者と共有されることはありません。",essential:"基本",essentialTooltip:"鉄道路線図ツールキットでこのグローバル設定を変更する",essentialInfo:"鉄道路線図画家は、ツールがどのように、またいつ使用されるかを理解するための基本的な使用データを収集します。ご安心ください。個人を特定できる情報やプロジェクトデータは一切収集されません。",essentialLink:"Google Analytics が収集する可能性のある詳細フィールドを表示するには、こちらのリンクをクリックしてください。",additional:"追加",additionalInfo:"鉄道路線図画家は、プロジェクトの作成や駅の追加など、入力時のインタラクションに関するデータも収集します。これらの追加データも匿名であり、ツールを改善するための統計分析にのみ使用されます。"}},about:{title:"について",rmp:"地下鉄路線図画家",railmapgen:"地下鉄路線図ツールキットのプロジェクト",desc:"異なる都市の駅を自由にドラッグして、90度または135度の角丸線で接続して独自の鉄道地図を設計しましょう!",content1:"かつて私たちが持っていた自由と平等のすべての記憶に捧げます。",content2:"2022年6月1日、上海",contributors:"貢献者",coreContributors:"主要な貢献者",styleContributors:"風格の貢献者","203IhzElttil":"上海地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Swiftiecott:"北京地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Minwtraft:"広州地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",contactUs:"お問い合わせ",github:"プロジェクトリポジトリ",githubContent:"問題が発生しましたか?こちらで検索したり、問題を報告したりしてください!",slack:"Slackグループ",slackContent:"Slackのチャンネルでチャットしましょう!"}},$v={colorA:_v,colorB:Rv,color:kv,warning:Cv,cancel:Av,apply:Tv,remove:Ev,close:Lv,noShowAgain:Ov,rmtPromotion:jv,panel:Mv,header:Pv},Iv="색깔",Dv="경고",Bv="취소",zv="사용",Fv="삭제",Gv="다시",Uv="표시하지 않기",Wv="놓치고 싶지 않은 올인원 툴킷! 닫기.",Vv={tools:{showLess:"적게 표시",section:{lineDrawing:"선 그리기",stations:"역",miscellaneousNodes:"기타 노드"},select:"선택하다",learnHowToAdd:{station:"역을 추가하는 방법 배우기!","misc-node":"노드를 추가하는 방법 배우기!",line:"라인 스타일을 추가하는 방법 배우기!"}},details:{header:"상세한 상황",info:{title:"기본정보",id:"고유 식별자",zIndex:"깊이",stationType:"역 유형",linePathType:"선분 경로 유형",lineStyleType:"선분 스타일 유형",type:"유형",parallel:"평행선",parallelIndex:"평행 인덱스"},multipleSelection:{title:"다중 선택",change:"선택한 속성 변경",selected:"선택한 개체:",show:"보여주다",station:"역",miscNode:"기타 노드",edge:"윤곽"},changeStationTypeContent:"역 유형을 변경하면 이름을 제외한 모든 독특한 속성이 제거됩니다.",changeLineTypeContent:"선분 유형을 변경하면 모든 독특한 속성이 제거됩니다.",changeType:"종류 변경",nodePosition:{title:"노드 위치",pos:{x:"가로 좌표",y:"세로 좌표"}},lineExtremities:{title:"선분 양단",source:"시작점",target:"종말점",sourceName:"시작점 명칭",targetName:"종말점 명칭"},specificAttrsTitle:"독특 속성",unknown:{error:"이런 :( 우리는 이 {{category}}를 인식할 수 없습니다. 아마도 더 최근 버전에서 생성되었을 것입니다.",node:"노드",lineType:"선분 경로",lineStyle:"선분 스타일"},nodes:{common:{nameZh:"한자 노선명칭",nameEn:"영문 노선명칭",nameJa:"일본 노선명칭",num:"노선 번호"},virtual:{displayName:"가상 노드"},shmetroNumLineBadge:{displayName:"상해 지하철 디지털 노선 표지"},shmetroTextLineBadge:{displayName:"상해 지하철 문자 노선 표지"},gzmtrLineBadge:{displayName:"광저우 지하철 노선 표지",tram:"시가 전차",span:"행 범위 숫자"},bjsubwayNumLineBadge:{displayName:"베이징 지하철 노선 배지"},bjsubwayTextLineBadge:{displayName:"베이징 지하철 텍스트 라인 배지"},berlinSBahnLineBadge:{displayName:"베를린 S반 노선 배지"},berlinUBahnLineBadge:{displayName:"베를린 U반 노선 배지"},suzhouRTNumLineBadge:{displayName:"수주 철도 번호 라인 배지",branch:"지선입니다"},chongqingRTNumLineBadge:{displayName:"충칭 철도 교통 디지털 노선 식별"},chongqingRTTextLineBadge:{displayName:"충칭 철도 교통 텍스트 라인 표시"},shenzhenMetroNumLineBadge:{displayName:"심천 지하철 번호 라인 배지",branch:"지선입니다"},mrtDestinationNumbers:{displayName:"싱가포르 MRT 목적지 번호"},mrtLineBadge:{displayName:"싱가포르 MRT 노선 배지",isTram:"LRT 노선 배지입니다"},jrEastLineBadge:{displayName:"JR 동일본 라인 배지",crosshatchPatternFill:"크로스해치 패턴으로 채우기"},qingdaoMetroNumLineBadge:{displayName:"칭다오 지하철 번호 라인 배지",numEn:"영어로 된 줄 번호",showText:"텍스트 표시"},guangdongIntercityRailwayLineBadge:{displayName:"광동 시외 철도 노선 표지판"},londonArrow:{displayName:"런던 화살표",type:"유형",continuation:"계속",sandwich:"샌드위치",tube:"튜브"},master:{displayName:"마스터 노드",type:"마스터 노드 유형",undefined:"정의되지 않음"},facilities:{displayName:"시설",type:"유형"},text:{displayName:"임의 글자",content:"내용",fontSize:"글자 대소",lineHeight:"행고도",textAnchor:"글자 앵커",start:"시작",middle:"가운데",end:"끝",auto:"자동",hanging:"매달리는",dominantBaseline:"현성 바셀린",language:"언어로 된 글꼴 종류",zh:"중국어",en:"영어",mtr__zh:"홍콩 MTR 중국어",mtr__en:"홍콩 MTR 영어",berlin:"베를린 S/U Bahn",mrt:"싱가포르 MRT",jreast_ja:"JR 동일본어",jreast_en:"JR 동일본 영어",rotate:"회전",italic:"이탤릭체",bold:"굵게"}},stations:{common:{nameZh:"한자 명칭",nameEn:"영문 명칭",nameJa:"일본 명칭",nameOffsetX:"명칭 가로 이동",nameOffsetY:"명칭 세로 이동",rotate:"역회전각도",lineCode:"노선 번호",stationCode:"역 번호",left:"왼쪽",middle:"가운데",right:"오른쪽",top:"위",bottom:"아래"},interchange:{title:"환승",within:"같은 역에서 환승한",outStation:"역을 나가 환승한",outSystem:"시스템외환승",addGroup:"환승 조합 추가",noInterchanges:"비환승역",nameZh:"한자 명칭",nameEn:"영문 명칭",add:"환승 추가",copy:"환승 복제",remove:"환승 삭제"},shmetroBasic:{displayName:"상해 지하철의 기본 역"},shmetroBasic2020:{displayName:"상해 지하철 기본 역(2020년)"},shmetroInt:{displayName:"상해 지하철 환승역",height:"역 높이",width:"역 폭"},shmetroOsysi:{displayName:"상하이 지하철 시스템 외환승 역"},shanghaiSuburbanRailway:{displayName:"상하이 기차역"},gzmtrBasic:{displayName:"광저우 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},gzmtrInt:{displayName:"광저우 지하철 환승역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",foshan:"포산"},gzmtrInt2024:{displayName:"광저우 지하철 환승역 (2024)",columns:"역 열 수",topHeavy:"상단에 더 많은 역 우선 배치",anchorAt:"앵커 위치",anchorAtNone:"중앙",osiPosition:"역을 나가 환승",osiPositionNone:"없음",osiPositionLeft:"왼쪽",osiPositionRight:"오른쪽"},bjsubwayBasic:{displayName:"베이징 지하철 기본역",open:"개통여부"},bjsubwayInt:{displayName:"베이징 지하철 환승역",outOfStation:"역을 나가 환승"},mtr:{displayName:"홍콩 MTR 역"},suzhouRTBasic:{displayName:"쑤저우 궤도교통 기본역",textVertical:"수직 이름"},suzhouRTInt:{displayName:"쑤저우 궤도교통 환승역"},kunmingRTBasic:{displayName:"쿤밍 궤도교통 기본역"},kunmingRTInt:{displayName:"쿤밍 궤도교통 환승역"},MRTBasic:{displayName:"싱가포르MRT기본역",isTram:"LRT역이에요"},MRTInt:{displayName:"싱가포르MRT환승역"},jrEastBasic:{displayName:"JR 동일본 기본 역",nameOffset:"이름 오프셋",textOneLine:"한 줄로 표시된 이름",textVertical:"수직 이름",important:"중요한 역",lines:"환승 노선 오프셋"},jrEastImportant:{displayName:"JR 동일본 중요 역",textVertical:"수직 이름",mostImportant:"가장 중요한 역",minLength:"스테이션의 최소 길이"},foshanMetroBasic:{displayName:"포산 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},qingdaoMetro:{displayName:"칭다오 지하철역",isInt:"환승역인가"},tokyoMetroBasic:{displayName:"도쿄메트로 기본역",nameOffset:"이름 오프셋",textVertical:"업종명",lineCode:"라인 코드",stationCode:"역 코드"},tokyoMetroInt:{displayName:"도쿄메트로 환승역",mereOffset:{displayName:"단순한 오프셋 이름",none:"없음",left1:"왼쪽(적음)",left2:"왼쪽(더)",right1:"오른쪽(적음)",right2:"맞아요 (더)",up:"위로",down:"아래에"},importance:{displayName:"역 중요성",default:"기본",middle:"가운데",high:"높은"},align:{displayName:"아이콘 정렬",horizontal:"수평의",vertical:"수직의"}},londonTubeCommon:{stepFreeAccess:"단차 없는 접근",stepFreeAccessNone:"없음",stepFreeAccessTrain:"거리에서 열차까지",stepFreeAccessPlatform:"거리에서 플랫폼까지"},londonTubeBasic:{displayName:"런던 지하철 기본역",terminal:"종착역",shareTracks:"선로 공유",shareTracksIndex:"선로 공유 지수"},londonTubeInt:{displayName:"런던 지하철 환승역"},londonRiverServicesInt:{displayName:"런던 강 서비스 환승역"},guangdongIntercityRailway:{displayName:"광둥 시외 기차역"}},lines:{reconcileId:"연결 선분 고유 식별자",common:{offsetFrom:"시작점 오프셋",offsetTo:"끝점 오프셋",startFrom:"여기서부터 시작",roundCornerFactor:"회전원각인자",from:"에서",to:"까지",parallelDisabled:"이 선이 평행하기 때문에 일부 속성이 비활성화되었습니다.",changeInBaseLine:"기본선에서 변경하십시오:"},simple:{displayName:"기본 선분",offset:"오프셋"},diagonal:{displayName:"135° 접힌 선분"},perpendicular:{displayName:"90° 수직 선분"},rotatePerpendicular:{displayName:"90° 수직 경로 회전"},singleColor:{displayName:"단색 스타일"},shmetroVirtualInt:{displayName:"상해 지하철 역 환승 모습"},shanghaiSuburbanRailway:{displayName:"상하이 도시철도 스타일",isEnd:"끝 범위"},gzmtrVirtualInt:{displayName:"광저우 지하철 역 환승 모습"},gzmtrLoop:{displayName:"광저우 지하철 순환선 스타일"},chinaRailway:{displayName:"중국 철도 모습"},bjsubwaySingleColor:{displayName:"베이징 지하철 단색 스타일"},bjsubwayTram:{displayName:"베이징 지하철 노면 전차 모습"},bjsubwayDotted:{displayName:"베이징 지하철 점선 스타일"},dualColor:{displayName:"이색 스타일",swap:"색을 바꾸기",colorA:"색깔 A",colorB:"색깔 B"},river:{displayName:"강 스타일",width:"폭"},mtrRaceDays:{displayName:"홍콩 MTR 경마일 스타일"},mtrLightRail:{displayName:"홍콩 MTR 경전철 스타일"},mtrUnpaidArea:{displayName:"홍콩 MTR 미결제 구역 스타일"},mtrPaidArea:{displayName:"홍콩 MTR 결제완료 구역 스타일"},mrtUnderConstruction:{displayName:"싱가포르 MRT 공사중 스타일"},mrtSentosaExpress:{displayName:"싱가포르 MRT 센토사 익스프레스 스타일"},jrEastSingleColor:{displayName:"JR 동일본 단색 스타일"},jrEastSingleColorPattern:{displayName:"JR 동일본 단색 크로스해치 패턴 스타일"},lrtSingleColor:{displayName:"싱가포르 LRT 단색 스타일"},londonTubeInternalInt:{displayName:"런던 지하철 내부 환승 스타일"},londonTube10MinWalk:{displayName:"런던 지하철 10분 이내 도보 환승 스타일"},londonTubeTerminal:{displayName:"런던 지하철 종착 스타일"},londonRail:{displayName:"런던 철도 스타일",limitedService:"제한 서비스/혼잡 시간대만",colorBackground:"배경 색상",colorForeground:"전경 색상"},londonSandwich:{displayName:"런던 샌드위치 스타일"},londonLutonAirportDART:{displayName:"런던 루튼 공항 DART 스타일"},londonIFSCloudCableCar:{displayName:"런던 IFS 클라우드 케이블카 스타일"},guangdongIntercityRailway:{displayName:"광동성 도시간 철도 스타일"}},edges:{},footer:{duplicate:"복사",copy:"복사",remove:"삭제"}}},Hv={popoverHeader:"당신은 환경을<1>{{environment}}탐색하고 있습니다",popoverBody:"최신 RMP를 테스트하고 있습니다.제안 사항이 있으시면 언제든지 https://github.com/railmapgen/rmp/issues에 제출해 주십시오.",search:"방송국 검색",open:{new:"신 프로젝트",config:"프로젝트 가져오기",projectRMG:"RMG 프로젝트에서 가져오기",invalidType:"잘못된 파일 형식입니다! JSON 형식의 파일만 허용됩니다.",unknownError:"업로드된 파일의 파싱 중 알 수 없는 오류가 발생했습니다. 다시 시도해주세요.",gallery:"갤러리에서 가져오기",tutorial:"튜토리얼 시작",importFromRMPGallery:"템플릿 {{id}}가 가져 왔습니다. 이 변경 사항에 만족하지 않으십니까? Ctrl + Z 또는 실행 취소 버튼을 사용하여 실행 취소하세요.",failToImportFromRMPGallery:"갤러리에서 {{id}}를 가져올 수 없습니다. 파일을 찾을 수 없습니다."},download:{config:"프로젝트 내보내기",image:"사진 내보내기","2rmg":{title:"RMG 프로젝트로 내보내기",type:{line:"일직선",loop:"고리",branch:"지선"},placeholder:{chinese:"중국어 라인 이름",english:"영어 줄 이름",lineCode:"노선 번호"},info1:"이 기능은 RMP 프로젝트를 RMG 프로젝트로 변환하는 데 사용됩니다.",info2:"변환할 수 있는 사용 가능한 라인들은 다음과 같습니다. 왼쪽 텍스트 상자에 중국어 라인 이름을 입력하고, 가운데에 영어 라인 이름을 입력하며, 오른쪽에 (광저우 메트로 스타일용) 라인 코드를 입력한 다음, 오른쪽의 다운로드 버튼을 클릭하여 RMG 프로젝트를 저장할 수 있습니다.",noline:"사용 가능한 라인이 없습니다.",download:"다운로드",downloadInfo:"출발 역을 선택하고 클릭하십시오."},format:"파일 종류",png:"PNG 이미지",svg:"SVG 이미지",svgVersion:"버전","svg1.1":"1.1 (Adobe Illustrator 호환)",svg2:"2 (현대 브라우저 호환)",transparent:"투명 배경",scale:"확대/축소",disabledScaleOptions:"브라우저의 캔버스 제한으로 인해 일부 스케일 옵션이 비활성화되었습니다.",disabledScaleOptionsWorkarounds:"가능한 해결 방법으로는 이 CLI 도구를 사용하여 SVG에서 이미지를 생성하는 것이 있습니다:",imageTooBig:"이미지가 너무 크기 때문에 브라우저에서 생성할 수 없습니다!",useSystemFonts:"캔버스에서 미리보기된 글꼴 대신 시스템 글꼴 사용",shareInfo1:"이 사진을 공유할 때",shareInfo2:"링크를 첨부할 것입니다.",termsAndConditions:"약관 및 세칙",termsAndConditionsInfo:"동의",period:".",confirm:"다운로드"},donation:{title:"기부",openCollective:"Open Collective",viaUSD:"Paypal 또는 Visa 카드를 통해 달러로 기부하기.",afdian:"爱发电",viaCNY:"Alipay 또는 Wechat Pay를 통해 인민폐로 기부하기."},settings:{title:"설정",pro:"이것은 PRO 기능이며, 구독이 필요한 계정입니다.",proWithTrial:"이것은 PRO 기능이며, 제한된 무료 체험이 가능합니다.",proLimitExceed:{master:"마스터 노드가 무료 사용 한도를 초과했습니다.",parallel:"평행선이 무료 사용 한도를 초과했습니다.",solution:"경고를 해제하려면 이 항목들을 제거하거나 구독을 통해 더 많은 기능을 잠금 해제하세요!"},subscription:{title:"구독 상태","logged-out":"현재 로그아웃 상태입니다.",free:"로그인 완료! 더 많은 기능을 사용하려면 구독하세요!",subscriber:"구독해주셔서 감사합니다! 모든 기능을 즐기세요!",expired:"로그인 상태가 만료되었습니다. 다시 로그인 해주세요."},preference:{title:"선호",keepLastPath:"다음 이동에서 배경을 클릭할 때까지 계속 선을 그립니다",autoParallel:"새 선을 기존 선과 평행하게 자동으로 설정합니다",randomStationNames:{title:"생성 시 역 이름을 랜덤으로 설정",none:"없음",shmetro:"상하이",bjsubway:"베이징"}},shortcuts:{title:"바로 가기",keys:"키",description:"설명",f:"마지막 도구 사용.",s:"선택하다.",arrows:"캔버스를 약간 이동합니다.",ijkl:"선택한 역을 약간 이동합니다.",shift:"여러 항목 선택.",alt:"정밀한 이동.",delete:"선택한 역을 삭제합니다.",cut:"잘라내기.",copy:"복사하다.",paste:"붙여넣다.",undo:"취소하다.",redo:"다시 하다."},procedures:{title:"절차",translate:{title:"노드 좌표 변환",content:"모든 노드의 x 및 y에 다음 오프셋을 추가:",x:"X축",y:"Y축"},scale:{title:"스케일 노드의 좌표",content:"모든 노드의 x 및 y에 다음 값을 곱하:",factor:"스케일 팩터"},changeType:{title:"모든 객체의 속성 변경",any:"어느"},changeZIndex:"일괄적으로 깊이 변경",changeStationType:{title:"역의 종류를 대량으로 수정",changeFrom:"이 유형의 모든 역:",changeTo:"이 유형의 역으로 변환:",info:"역 유형을 변경하면 이름을 제외한 모든 고유한 속성이 제거됩니다.저장했다가 다시 실행!"},changeLineStyleType:{title:"일괄적으로 선 스타일 변경",changeFrom:"이 스타일의 모든 선을 변경하세요:",changeTo:"이 스타일에:",info:"선 스타일을 변경하면 연결을 제외한 선의 모든 특정 속성이 제거됩니다. 변경하기 전에 저장하세요!"},changeLinePathType:{title:"일괄적으로 라인 경로 변경",changeFrom:"이 경로의 모든 줄을 변경하세요:",changeTo:"이 길로:"},changeColor:{title:"일괄 색상 변경",changeFrom:"이 색상의 모든 개체를 변경합니다.:",changeTo:"이 색상에:",any:"모든 색상에서"},removeLines:{title:"단일 색상의 선 제거",content:"이 색상의 선을 제거하세요: "},updateColor:{title:"색상 업데이트",content:"최신 값으로 모든 색상을 업데이트합니다.",success:"모든 색상을 성공적으로 업데이트했습니다.",error:"모든 색상을 업데이트하는 동안 오류가 발생했습니다: {{e}}."},unlockSimplePath:{title:"간단 경로 잠금 해제",content1:"Rail Map Painter 애플리케이션은 확립된 관례를 준수하면서도 철도지도 작성을 위한 대화식 플랫폼을 제공하기 위해 노력합니다. 이러한 관례 중 하나는 특히 해리 벡의 혁신적인 작업에서 비롯되었습니다. 그의 개척적인 기여는 공식적으로 1932년에 인정받았으며 일반 대중으로부터 즉각적인 찬사를 받았습니다. 현재는 정보 디자인 분야에서 중요한 본보기로 자리 잡고 있습니다. 이 패러다임적인 접근 방식은 전 세계적인 규모의 교통 카토그래피에서 널리 구현되었으나 성공의 정도는 다양합니다.",content2:"이 애플리케이션은 기존 관례에 위배될 가능성이 있기 때문에 간단한 경로를 활용하는 옵션을 기본 설정으로 가려놓았습니다. 또한 Rail Map Painter 갤러리에 제출되는 작품은 엄격한 심사를 받으며, 단일 색상 스타일로 간단한 경로를 사용하는 작품은 명확히 거부됩니다.",content3:"그래도 이 옵션을 잠금 해제하고 기부할 때 Easy Path를 사용할 수 있는 기회를 보유하고 있습니다. 획득 후에도 단순 경로의 사용은 단색 스타일로 제한된다는 점에 유의해야 합니다.",check:"간단한 경로 잠금 해제",unlocked:"이미 해제됨"},masterManager:{title:"모든 마스터 노드를 관리",id:"ID",label:"레이블",type:"유형",types:{MiscNode:"기타 노드",Station:"스테이션"},importTitle:"마스터 매개변수 업로드",importFrom:"가져온 스타일 사용",importOther:"새 스타일 가져오기",importParam:"구성 정보 붙여넣기"}},telemetry:{title:"원격 측정",info:"지하철 노선도 그리기를 개선하고 기여자가 프로젝트를 향상시키는 데 동기를 부여하기 위해 Google Analytics를 통해 익명의 사용 데이터를 수집합니다. 이 데이터는 사용자 경험을 향상하고 도구 기능을 최적화하는 데에만 사용되며, 제3자와 절대 공유되지 않습니다.",essential:"기본",essentialTooltip:"지하철 노선도 툴킷에서 이 전역 설정을 변경하세요",essentialInfo:"지하철 노선도 그리기는 도구를 언제, 어떻게 사용하는지 이해하기 위해 기본적인 사용 데이터를 수집합니다. 안심하세요. 개인 식별이 가능한 정보나 프로젝트 데이터는 절대 수집되지 않습니다.",essentialLink:"Google Analytics에서 수집할 수 있는 세부 필드를 보려면 이 링크를 클릭하세요.",additional:"추가",additionalInfo:"지하철 노선도 그리기는 프로젝트 생성이나 역 추가와 같은 입력 시의 상호작용 데이터도 수집합니다. 이러한 추가 데이터도 익명으로 처리되며, 도구를 개선하기 위한 통계 분석에만 사용됩니다."}},about:{title:"대함",rmp:"지하철 노선도 그리기",railmapgen:"철도 지도 툴킷 프로젝트 노선도 툴킷",desc:"다양한 도시의 역을 자유롭게 끌어서 90도 또는 135도의 둥근 모서리 선으로 연결함으로써 여러분만의 철도 지도를 디자인해요!",content1:"우리가 가졌던 자유와 평등을 기념한다.",content2:"2022년 6월 1일 상해",contributors:"기여자",coreContributors:"핵심 기여자",styleContributors:"스타일 기여자",langonginc:"기억에 남을 삶을 살아보세요.","203IhzElttil":"상하이 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Swiftiecott:"베이징 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Minwtraft:"광저우 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",contactUs:"우리에게 연락하기",github:"프로젝트 저장소",githubContent:"무슨 문제라도 있나요? 여기서 문제를 검색하거나 제기하십시오!",slack:"슬랙 그룹",slackContent:"이 슬랙 채널에서 채팅해요!"}},Jv={color:Iv,warning:Dv,cancel:Bv,apply:zv,remove:Fv,close:Gv,noShowAgain:Uv,rmtPromotion:Wv,panel:Vv,header:Hv},Kv="颜色",qv="警告",Yv="取消",Zv="应用",Qv="移除",Xv="关闭",ew="不再显示",tw="您绝对不想错过的全能工具包!",nw={tools:{showLess:"显示更少",section:{lineDrawing:"线段绘制",stations:"车站",miscellaneousNodes:"杂项节点"},select:"多选",learnHowToAdd:{station:"了解如何添加车站!","misc-node":"了解如何添加节点!",line:"了解如何添加线段样式!"}},details:{header:"详情",info:{title:"基本信息",id:"唯一识别符",zIndex:"深度",stationType:"车站类型",linePathType:"线段路径类型",lineStyleType:"线段样式类型",type:"类型",parallel:"平行线段",parallelIndex:"平行线段索引"},multipleSelection:{title:"多重选取",change:"修改选中对象的属性",selected:"选中的对象:",show:"显示",station:"车站",miscNode:"杂项节点",edge:"线段"},changeStationTypeContent:"修改车站类型会移除所有独特属性除了名称。",changeLineTypeContent:"修改线段类型会移除所有独特属性。",changeType:"更改类型",nodePosition:{title:"节点位置",pos:{x:"横坐标",y:"纵坐标"}},lineExtremities:{title:"线段两端",source:"起点",target:"终点",sourceName:"起点名称",targetName:"终点名称"},specificAttrsTitle:"独特属性",unknown:{error:"哎呀 :( 我们无法识别此{{category}}。也许它是在更新版本中创建的。",node:"节点",linePath:"线段路径",lineStyle:"线段样式"},nodes:{common:{nameZh:"中文线路名称",nameEn:"英文线路名称",nameJa:"日语线路名称",num:"线路号"},virtual:{displayName:"虚拟节点"},shmetroNumLineBadge:{displayName:"上海地铁数字线路标识"},shmetroTextLineBadge:{displayName:"上海地铁文字线路标识"},gzmtrLineBadge:{displayName:"广州地铁线路标识",tram:"有轨电车",span:"跨行显示数字"},bjsubwayNumLineBadge:{displayName:"北京地铁数字线路标识"},bjsubwayTextLineBadge:{displayName:"北京地铁文字线路标识"},berlinSBahnLineBadge:{displayName:"柏林城市快铁线路标识"},berlinUBahnLineBadge:{displayName:"柏林地铁线路标识"},suzhouRTNumLineBadge:{displayName:"苏州轨道交通数字线路标识",branch:"是否支线"},chongqingRTNumLineBadge:{displayName:"重庆轨道交通数字线路标识"},chongqingRTTextLineBadge:{displayName:"重庆轨道交通文字线路标识"},shenzhenMetroNumLineBadge:{displayName:"深圳地铁数字线路标识",branch:"是否为支线"},mrtDestinationNumbers:{displayName:"新加坡MRT终点数字"},mrtLineBadge:{displayName:"新加坡MRT线路标识",isTram:"是LRT线路标识"},jrEastLineBadge:{displayName:"JR东日本线路标识",crosshatchPatternFill:"用网状图案填充"},qingdaoMetroNumLineBadge:{displayName:"青岛地铁数字线路标识",numEn:"英文线路号",showText:"显示文字"},guangdongIntercityRailwayLineBadge:{displayName:"广东城际铁路线路标识"},londonArrow:{displayName:"伦敦箭头",type:"类型",continuation:"延续",sandwich:"三明治",tube:"地铁"},master:{displayName:"大师节点",type:"大师节点类型",undefined:"未定义"},facilities:{displayName:"设施",type:"类型"},text:{displayName:"任意文字",content:"内容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字锚点",start:"开始",middle:"居中",end:"结束",auto:"自动",hanging:"悬挂",dominantBaseline:"显性基线",language:"哪个语言的字体系列",zh:"中文",en:"英文",mtr__zh:"港铁中文",mtr__en:"港铁英文",berlin:"柏林 S/U Bahn",mrt:"新加坡地铁",jreast_ja:"JR东日本日语",jreast_en:"JR东日本英语",rotate:"旋转",italic:"斜体",bold:"粗体"}},stations:{common:{nameZh:"中文名称",nameEn:"英文名称",nameJa:"日语名称",nameOffsetX:"名称横向偏移",nameOffsetY:"名称纵向偏移",rotate:"车站旋转角度",lineCode:"路线编号",stationCode:"车站编号",left:"左",middle:"中间",right:"右",top:"顶部",bottom:"底部"},interchange:{title:"换乘",within:"同站换乘",outStation:"出站换乘",outSystem:"系统外换乘",addGroup:"添加换乘组合",noInterchanges:"非换乘站",nameZh:"中文名称",nameEn:"英文名称",add:"添加换乘",copy:"复制换乘",remove:"删除换乘"},shmetroBasic:{displayName:"上海地铁基本车站"},shmetroBasic2020:{displayName:"上海地铁基本车站(2020)"},shmetroInt:{displayName:"上海地铁换乘车站",height:"车站高度",width:"车站宽度"},shmetroOsysi:{displayName:"上海地铁转乘车站"},shanghaiSuburbanRailway:{displayName:"上海市域铁路车站"},gzmtrBasic:{displayName:"广州地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},gzmtrInt:{displayName:"广州地铁换乘车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",foshan:"佛山"},gzmtrInt2024:{displayName:"广州地铁换乘站(2024)",columns:"站点列数",topHeavy:"优先将更多站点放在上方",anchorAt:"锚点位置",anchorAtNone:"居中",osiPosition:"出站换乘",osiPositionNone:"无",osiPositionLeft:"左侧",osiPositionRight:"右侧"},bjsubwayBasic:{displayName:"北京地铁基本车站",open:"是否开通"},bjsubwayInt:{displayName:"北京地铁换乘车站",outOfStation:"出站换乘"},mtr:{displayName:"香港MTR车站"},suzhouRTBasic:{displayName:"苏州轨道交通基本车站",textVertical:"垂直名称"},suzhouRTInt:{displayName:"苏州轨道交通换乘车站"},kunmingRTBasic:{displayName:"昆明轨道交通基本车站"},kunmingRTInt:{displayName:"昆明轨道交通换乘车站"},MRTBasic:{displayName:"新加坡MRT基本车站",isTram:"是LRT车站"},MRTInt:{displayName:"新加坡MRT换乘车站"},jrEastBasic:{displayName:"JR东日本基本车站",nameOffset:"名称偏移",textOneLine:"名称在一行中",textVertical:"垂直名称",important:"重要车站",lines:"换乘线偏移"},jrEastImportant:{displayName:"JR东日本重要车站",textVertical:"垂直名称",mostImportant:"最重要车站",minLength:"车站的最小长度"},foshanMetroBasic:{displayName:"佛山地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},qingdaoMetro:{displayName:"青岛地铁车站",isInt:"是换乘站"},tokyoMetroBasic:{displayName:"东京地铁基本车站",nameOffset:"名称偏移",textVertical:"垂直站名",lineCode:"线路编号",stationCode:"车站编号"},tokyoMetroInt:{displayName:"东京地铁换乘车站",mereOffset:{displayName:"名称微小偏移",none:"无",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"车站重要性",default:"默认",middle:"中",high:"高"},align:{displayName:"图标排列方向",horizontal:"横向",vertical:"纵向"}},londonTubeCommon:{stepFreeAccess:"无障碍通行",stepFreeAccessNone:"无",stepFreeAccessTrain:"从街道到列车",stepFreeAccessPlatform:"从街道到站台"},londonTubeBasic:{displayName:"伦敦地铁基本车站",terminal:"终点站",shareTracks:"轨道共享",shareTracksIndex:"轨道共享索引"},londonTubeInt:{displayName:"伦敦地铁换乘车站"},londonRiverServicesInt:{displayName:"伦敦河流服务换乘站"},guangdongIntercityRailway:{displayName:"广东城际铁路车站"}},lines:{reconcileId:"合并线段唯一标识符",common:{offsetFrom:"起始点偏移",offsetTo:"结束点偏移",startFrom:"从这里开始",roundCornerFactor:"转折圆角因子",from:"从",to:"到",parallelDisabled:"由于此线段是平行的,因此某些属性已被禁用。",changeInBaseLine:"在基准线段中更改它们:"},simple:{displayName:"基本线段",offset:"偏移"},diagonal:{displayName:"135°折线线段"},perpendicular:{displayName:"90°垂直线段"},rotatePerpendicular:{displayName:"90°旋转垂直线段"},singleColor:{displayName:"纯色样式"},shmetroVirtualInt:{displayName:"上海地铁出站换乘样式"},shanghaiSuburbanRailway:{displayName:"上海市域铁路样式",isEnd:"结束区间"},gzmtrVirtualInt:{displayName:"广州地铁出站换乘样式"},gzmtrLoop:{displayName:"广州地铁环线样式"},chinaRailway:{displayName:"中国铁路样式"},bjsubwaySingleColor:{displayName:"北京地铁纯色样式"},bjsubwayTram:{displayName:"北京地铁有轨电车样式"},bjsubwayDotted:{displayName:"北京地铁虚线样式"},dualColor:{displayName:"双色样式",swap:"切换颜色",colorA:"颜色A",colorB:"颜色B"},river:{displayName:"河流样式",width:"宽度"},mtrRaceDays:{displayName:"香港MTR赛马日样式"},mtrLightRail:{displayName:"香港MTR轻铁样式"},mtrUnpaidArea:{displayName:"香港MTR未付费区域样式"},mtrPaidArea:{displayName:"香港MTR付费区域样式"},mrtUnderConstruction:{displayName:"新加坡MRT在建样式"},mrtSentosaExpress:{displayName:"新加坡MRT圣淘沙捷运样式"},jrEastSingleColor:{displayName:"JR东日本单色样式"},jrEastSingleColorPattern:{displayName:"JR东日本单色网状图案样式"},lrtSingleColor:{displayName:"新加坡LRT纯色样式"},londonTubeInternalInt:{displayName:"伦敦地铁内部换乘样式"},londonTube10MinWalk:{displayName:"伦敦地铁10分钟步行换乘样式"},londonTubeTerminal:{displayName:"伦敦地铁终点站样式"},londonRail:{displayName:"伦敦铁路样式",limitedService:"有限服务/仅限高峰时段",colorBackground:"背景颜色",colorForeground:"前景颜色"},londonSandwich:{displayName:"伦敦三明治样式"},londonLutonAirportDART:{displayName:"伦敦卢顿机场DART样式"},londonIFSCloudCableCar:{displayName:"伦敦IFS云缆车样式"},guangdongIntercityRailway:{displayName:"广东城际铁路样式"}},edges:{},footer:{duplicate:"重复",copy:"复制",remove:"移除"}}},rw={popoverHeader:"你正在浏览<1>{{environment}}环境!",popoverBody:"我们正在测试最新的RMP。如果你有任何建议,欢迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜索车站",open:{new:"新项目",config:"导入项目",projectRMG:"从RMG项目中导入",invalidType:"无效的文件类型!仅接受JSON格式的文件。",unknownError:"解析上传文件时发生未知错误!请重试。",gallery:"从画廊中导入",tutorial:"开始教程",importFromRMPGallery:"模板 {{id}} 已导入。对此更改不满意?可通过 Ctrl + Z 或撤销按钮进行撤销。",failToImportFromRMPGallery:"无法从画廊导入{{id}},找不到文件。"},download:{config:"导出项目",image:"导出图片","2rmg":{title:"导出RMG项目",type:{line:"直线",loop:"环线",branch:"支线"},placeholder:{chinese:"中文线路名称",english:"英文线路名称",lineCode:"路线编号"},info1:"这个功能可将RMP项目导出为RMG项目。",info2:"下面的线路将可以被导出,你可以在左侧文本框中输入中文线路名称、在中间输入英文线路名称、右边输入线路编号(广州地铁样式专用),随后点击下载按钮即可导出RMG项目。",noline:"未找到可用线路。",download:"下载",downloadInfo:"请选择一个起始车站,并点击它。"},format:"文件种类",png:"PNG图像",svg:"SVG图像",svgVersion:"版本","svg1.1":"1.1(适用于Adobe Illustrator)",svg2:"2(适用于现代浏览器)",transparent:"透明背景",scale:"缩放",disabledScaleOptions:"由于浏览器的画布限制,部分缩放选项被禁用。",disabledScaleOptionsWorkarounds:"可能的解决方法包括使用此命令行工具从SVG生成图像:",imageTooBig:"图像太大,无法在您的浏览器中生成!",useSystemFonts:"使用系统字体而不是在画布上预览的字体",shareInfo1:"当我分享此图片时我会附上",shareInfo2:"和它的链接。",termsAndConditions:"条款及细则",termsAndConditionsInfo:"我同意",period:"。",confirm:"下载"},donation:{title:"捐赠",openCollective:"Open Collective",viaUSD:"通过Paypal或Visa卡以美元捐赠。",afdian:"爱发电",viaCNY:"通过支付宝或微信支付以人民币捐赠。"},settings:{title:"设置",pro:"这是一个专业功能,需要带有订阅的账户。",proWithTrial:"这是一个PRO功能,并提供有限的免费试用。",proLimitExceed:{master:"大师节点超出了免费额度。",parallel:"平行线段超出了免费额度。",solution:"移除它们以消除此警告,或订阅以解锁更多功能!"},subscription:{title:"订阅状态","logged-out":"您当前已登出。",free:"已登录!订阅以解锁更多功能!",subscriber:"感谢您的订阅!享受所有功能吧!",expired:"登录状态已过期。请登出后重新登录。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持续画线段直到点击背景",autoParallel:"自动将新线段设置为与现有线段平行",randomStationNames:{title:"创建时将站名随机化",none:"无",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"快捷键",keys:"键",description:"描述",f:"使用上一个工具。",s:"多选。",arrows:"稍微移动画布。",ijkl:"稍微移动所选站点。",shift:"多选。",alt:"精确移动。",delete:"删除所选站点。",cut:"剪切。",copy:"复制。",paste:"粘贴。",undo:"撤销。",redo:"重做。"},procedures:{title:"过程",translate:{title:"转化节点坐标",content:"将以下偏移加到所有节点的x和y上:",x:"横坐标",y:"纵坐标"},scale:{title:"缩放节点坐标",content:"将所有节点的x和y乘以以下值:",factor:"缩放因子"},changeType:{title:"修改所有对象的属性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改车站种类",changeFrom:"将此类型的所有车站:",changeTo:"转换为这个类型的车站:",info:"修改车站类型会移除所有独特属性除了名称。保存再操作!"},changeLineStyleType:{title:"批量修改线段样式",changeFrom:"将此样式的所有线段:",changeTo:"转换为这个样式的线段:",info:"修改线段样式会移除所有独特属性除了连通性。保存再操作!"},changeLinePathType:{title:"批量修改线段类型",changeFrom:"将此类型的所有线段:",changeTo:"转换为这个类型的线段:"},changeColor:{title:"批量修改颜色",changeFrom:"将此颜色的所有对象:",changeTo:"转换为这个颜色:",any:"从任何颜色转换"},removeLines:{title:"移除所有纯色线段",content:"移除具有此颜色的所有线段: "},updateColor:{title:"更新颜色",content:"使用最新值更新所有颜色。",success:"成功更新所有颜色。",error:"更新所有颜色时出错:{{e}}。"},unlockSimplePath:{title:"解锁简单路径",content1:"地铁线路图绘制器应用致力于在遵循既定惯例的前提下,提供一个有利于创建地铁线路图的互动平台。在这些惯例中,一种特别著名的风格源自哈利·贝克的创新工作。他的开创性贡献于1932年得到官方认可,并在大众中迅速赢得了声誉。目前,它在信息设计领域具有重要的示范意义,在全球范围内的交通制图中得到了广泛的实施,尽管成功程度有所不同。",content2:"应用程序固有地隐藏了使用简单路径的选项,因为其部署有可能违反既定的惯例。默认情况下,此特定功能保持隐蔽。此外,提交到地铁线路图绘制器画廊的作品将经过严格的审查,坚决拒绝使用单色风格的简单路径的构图。",content3:"尽管如此,我们仍然保留了解锁此选项的机会,当您订阅后,方可使用简单路径。需要注意的是,即使获得后,简单路径的使用也仅限于单色风格。",check:"解锁简单路径",unlocked:"已解锁"},masterManager:{title:"管理全部大师节点",id:"唯一标识",label:"标签",type:"类型",types:{MiscNode:"杂项节点",Station:"车站"},importTitle:"上传大师节点参数",importFrom:"使用导入的样式",importOther:"导入新样式",importParam:"粘贴配置信息"}},telemetry:{title:"遥测",info:"为了帮助改进地铁线路图绘制器并激励贡献者提升项目,我们通过 Google Analytics 收集匿名使用数据。这些数据仅用于增强用户体验和优化工具功能,绝不会与第三方共享。",essential:"基础",essentialTooltip:"在地铁线路图工具包中更改此全局设置",essentialInfo:"地铁线路图绘制器收集一些基本使用数据,以帮助我们了解用户如何以及何时与工具交互。请放心,我们从不收集任何可识别个人身份的信息或您的项目数据。",essentialLink:"点击此链接查看 Google Analytics 可能收集的详细字段。",additional:"额外",additionalInfo:"地铁线路图绘制器还会收集有关交互的数据,例如项目创建或站点添加等操作。这些额外数据同样是匿名的,仅用于统计分析以帮助我们改进工具。"}},about:{title:"关于",rmp:"地铁线路图绘制器",railmapgen:"一个线路图工具包项目",desc:"通过自由拖动来自不同城市的车站并以 90 或 135 度圆角线段将它们连接起来,设计您自己的铁路地图!",content1:"谨以此纪念我们曾拥有的自由与平等。",content2:"06/01/2022于上海",contributors:"贡献者",coreContributors:"核心贡献者",styleContributors:"样式贡献者",langonginc:"活出值得铭记的人生。","203IhzElttil":"特别感谢他勤勉工作,确保上海地铁站与原始设计相符。",Swiftiecott:"特别感谢他勤勉工作,确保北京地铁站与原始设计相符。",Minwtraft:"特别感谢他勤勉工作,确保广州地铁站与原始设计相符。",contactUs:"联系我们",github:"项目仓库",githubContent:"遇到任何问题?在这里搜索或提出一个问题!",slack:"Slack群组",slackContent:"在这些Slack频道中讨论!"}},iw={color:Kv,warning:qv,cancel:Yv,apply:Zv,remove:Qv,close:Xv,noShowAgain:ew,rmtPromotion:tw,panel:nw,header:rw},ow="顏色",aw="警告",sw="取消",lw="應用",uw="移除",cw="關閉",dw="不要再顯示",hw="絕對不想錯過的多功能工具包!",pw={tools:{showLess:"顯示更少",section:{lineDrawing:"線段繪製",stations:"車站",miscellaneousNodes:"雜項節點"},select:"多選",learnHowToAdd:{station:"了解如何添加車站!","misc-node":"了解如何添加節點!",line:"了解如何添加線條樣式!"}},details:{header:"詳情",info:{title:"基本信息",id:"唯一識別符",zIndex:"深度",stationType:"車站類型",linePathType:"線段路徑類型",lineStyleType:"線段樣式類型",type:"類型",parallel:"平行線段",parallelIndex:"平行線段索引"},multipleSelection:{title:"多重選取",change:"修改選取物件的屬性",selected:"選取的物件:",show:"顯示",station:"車站",miscNode:"雜項節點",edge:"線段"},changeStationTypeContent:"修改車站類型會移除所有獨特屬性除了名稱。",changeLineTypeContent:"修改線段類型會移除所有獨特屬性。",changeType:"更改類型",nodePosition:{title:"節點位置",pos:{x:"橫坐標",y:"縱坐標"}},lineExtremities:{title:"線段兩端",source:"起點",target:"終點",sourceName:"起點名稱",targetName:"終點名稱"},specificAttrsTitle:"獨特屬性",unknown:{error:"哎呀 :( 我們無法識別此{{category}}。也許它是在更新版本中創建的。",node:"節點",linePath:"線段路徑",lineStyle:"線段樣式"},nodes:{common:{nameZh:"中文線路名稱",nameEn:"英文線路名稱",nameJa:"日語線路名稱",num:"線路號"},virtual:{displayName:"虛擬節點"},shmetroNumLineBadge:{displayName:"上海地鐵數字線路標識"},shmetroTextLineBadge:{displayName:"上海地鐵文字線路標識"},gzmtrLineBadge:{displayName:"廣州地鐵線路標識",tram:"輕軌",span:"跨行顯示數字"},bjsubwayNumLineBadge:{displayName:"北京地鐵數字線路標識"},bjsubwayTextLineBadge:{displayName:"北京地鐵文字線路標識"},berlinSBahnLineBadge:{displayName:"柏林城市快鐵線路標識"},berlinUBahnLineBadge:{displayName:"柏林地鐵線路標識"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通數字線路標識",branch:"是否支線"},chongqingRTNumLineBadge:{displayName:"重慶軌道交通數字線路標識"},chongqingRTTextLineBadge:{displayName:"重慶軌道交通文字線路標識"},shenzhenMetroNumLineBadge:{displayName:"深圳地鐵數字線路標識",branch:"是否支線"},mrtDestinationNumbers:{displayName:"新加坡MRT終點數字"},mrtLineBadge:{displayName:"新加坡MRT線路標識",isTram:"是LRT線路標識"},jrEastLineBadge:{displayName:"JR東日本線路標識",crosshatchPatternFill:"用網狀圖案填充"},qingdaoMetroNumLineBadge:{displayName:"青島地鐵數位線路標識",numEn:"英文線路號",showText:"顯示文字"},guangdongIntercityRailwayLineBadge:{displayName:"廣東城際鐵路線標識"},londonArrow:{displayName:"倫敦箭頭",type:"類型",continuation:"延續",sandwich:"三明治",tube:"地鐵"},master:{displayName:"大師節點",type:"大師節點類型",undefined:"未定義"},facilities:{displayName:"設施",type:"類型"},text:{displayName:"任意文字",content:"內容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字錨點",start:"開始",middle:"中間",end:"結束",auto:"自動",hanging:"懸吊",dominantBaseline:"顯性基線",language:"哪個語言的字體系列",zh:"中文",en:"英文",mtr__zh:"香港地鐵中文",mtr__en:"香港地鐵英文",berlin:"柏林 S/U 地鐵",mrt:"新加坡地鐵",jreast_ja:"JR 東日本日文",jreast_en:"JR 東日本英文",rotate:"旋轉",italic:"斜體",bold:"粗體"}},stations:{common:{nameZh:"中文名稱",nameEn:"英文名稱",nameJa:"日語名稱",nameOffsetX:"名稱橫向偏移",nameOffsetY:"名稱縱向偏移",rotate:"車站旋轉角度",lineCode:"路綫編碼",stationCode:"車站編碼",left:"左",middle:"中間",right:"右",top:"頂部",bottom:"底部"},interchange:{title:"換乘",within:"同站換乘",outStation:"出站換乘",outSystem:"系統外換乘",addGroup:"添加換乘組合",noInterchanges:"非換乘站",nameZh:"中文名稱",nameEn:"英文名稱",add:"添加換乘",copy:"復製換乘",remove:"刪除換乘"},shmetroBasic:{displayName:"上海地鐵基本車站"},shmetroBasic2020:{displayName:"上海地鐵基本車站(2020)"},shmetroInt:{displayName:"上海地鐵換乘車站",height:"車站高度",width:"車站寬度"},shmetroOsysi:{displayName:"上海地鐵轉乘車站"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路車站"},gzmtrBasic:{displayName:"廣州地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},gzmtrInt:{displayName:"廣州地鐵換乘車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",foshan:"佛山"},gzmtrInt2024:{displayName:"廣州地鐵換乘站(2024)",columns:"站點列數",topHeavy:"優先將更多站點放在上方",anchorAt:"錨點位置",anchorAtNone:"居中",osiPosition:"出站轉車",osiPositionNone:"無",osiPositionLeft:"左側",osiPositionRight:"右側"},bjsubwayBasic:{displayName:"北京地鐵基本車站",open:"是否開通"},bjsubwayInt:{displayName:"北京地鐵換乘車站",outOfStation:"出站轉車"},mtr:{displayName:"香港MTR車站"},suzhouRTBasic:{displayName:"蘇州軌道交通基本車站",textVertical:"垂直名稱"},suzhouRTInt:{displayName:"蘇州軌道交通換乘車站"},kunmingRTBasic:{displayName:"昆明軌道交通基本車站"},kunmingRTInt:{displayName:"昆明軌道交通換乘車站"},MRTBasic:{displayName:"新加坡MRT基本車站",isTram:"是LRT車站"},MRTInt:{displayName:"新加坡MRT換乘車站"},jrEastBasic:{displayName:"JR東日本基本車站",nameOffset:"名稱偏移",textOneLine:"名稱在一行中",textVertical:"垂直名稱",important:"重要車站",lines:"轉乘線偏移"},jrEastImportant:{displayName:"JR東日本重要車站",textVertical:"垂直名稱",mostImportant:"最重要車站",minLength:"車站的最小長度"},foshanMetroBasic:{displayName:"佛山地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},qingdaoMetro:{displayName:"青島地鐵基本車站",isInt:"是換乘站"},tokyoMetroBasic:{displayName:"東京地鐵基本車站",nameOffset:"名稱偏移",textVertical:"垂直站名",lineCode:"線路編號",stationCode:"車站編號"},tokyoMetroInt:{displayName:"東京地鐵轉乘車站",mereOffset:{displayName:"名稱微小偏移",none:"無",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"車站重要性",default:"預設",middle:"中",high:"高"},align:{displayName:"圖標排列方向",horizontal:"橫向",vertical:"縱向"}},londonTubeCommon:{stepFreeAccess:"無障礙通行",stepFreeAccessNone:"無",stepFreeAccessTrain:"從街道到列車",stepFreeAccessPlatform:"從街道到月台"},londonTubeBasic:{displayName:"倫敦地鐵基本車站",terminal:"終點站",shareTracks:"軌道共享",shareTracksIndex:"軌道共享指數"},londonTubeInt:{displayName:"倫敦地鐵換乘車站"},londonRiverServicesInt:{displayName:"倫敦河流服務換乘站"},guangdongIntercityRailway:{displayName:"廣東城際鐵路車站"}},lines:{reconcileId:"合並線段唯一標識符",common:{offsetFrom:"起始點偏移",offsetTo:"結束點偏移",startFrom:"從這裏開始",roundCornerFactor:"轉折圓角因子",from:"從",to:"到",parallelDisabled:"由於此線段是平行的,因此某些屬性已被禁用。",changeInBaseLine:"在基準線段中更改它們:"},simple:{displayName:"基本線段",offset:"偏移"},diagonal:{displayName:"135°折線線段"},perpendicular:{displayName:"90°垂直線段"},rotatePerpendicular:{displayName:"90°旋轉垂直線段"},singleColor:{displayName:"純色樣式"},shmetroVirtualInt:{displayName:"上海地鐵出站換乘樣式"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路樣式",isEnd:"結束區間"},gzmtrVirtualInt:{displayName:"廣州地鐵出站換乘樣式"},gzmtrLoop:{displayName:"廣州地鐵環線樣式"},chinaRailway:{displayName:"中國鐵路樣式"},bjsubwaySingleColor:{displayName:"北京地鐵純色樣式"},bjsubwayTram:{displayName:"北京地鐵有軌電車樣式"},bjsubwayDotted:{displayName:"北京地鐵虛線樣式"},dualColor:{displayName:"雙色樣式",swap:"切換顏色",colorA:"顏色A",colorB:"顏色B"},river:{displayName:"河流樣式",width:"寬度"},mtrRaceDays:{displayName:"香港MTR賽馬日樣式"},mtrLightRail:{displayName:"香港MTR輕鐵樣式"},mtrUnpaidArea:{displayName:"香港MTR未付費區域樣式"},mtrPaidArea:{displayName:"香港MTR付費區域樣式"},mrtUnderConstruction:{displayName:"新加坡MRT在建樣式"},mrtSentosaExpress:{displayName:"新加坡MRT聖淘沙捷運樣式"},jrEastSingleColor:{displayName:"JR東日本單色樣式"},jrEastSingleColorPattern:{displayName:"JR東日本單色網狀圖案樣式"},lrtSingleColor:{displayName:"新加坡LRT純色樣式"},londonTubeInternalInt:{displayName:"倫敦地鐵內部換乘樣式"},londonTube10MinWalk:{displayName:"倫敦地鐵10分鐘步行換乘樣式"},londonTubeTerminal:{displayName:"倫敦地鐵終點站樣式"},londonRail:{displayName:"倫敦鐵路樣式",limitedService:"有限服務/只限繁忙時段",colorBackground:"背景顏色",colorForeground:"前景顏色"},londonSandwich:{displayName:"倫敦三明治樣式"},londonLutonAirportDART:{displayName:"倫敦盧頓機場DART樣式"},londonIFSCloudCableCar:{displayName:"倫敦IFS雲纜車樣式"},guangdongIntercityRailway:{displayName:"廣東城際鐵路樣式"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"移除"}}},fw={popoverHeader:"你正在瀏覽<1>{{environment}}環境!",popoverBody:"我們正在測試最新的RMP。如果妳有任何建議,歡迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜尋車站",open:{new:"新項目",config:"讀入項目",projectRMG:"從RMG專案中讀入",invalidType:"無效的文件類型!僅接受JSON格式的文件。",unknownError:"解析上傳文件時發生未知錯誤!請重試。",gallery:"從畫廊中讀入",tutorial:"開始教程",importFromRMPGallery:"範本 {{id}} 已匯入。對此更改不滿意?可通過 Ctrl + Z 或撤銷按鈕進行撤銷。",failToImportFromRMPGallery:"無法從畫廊導入{{id}},找不到檔案。"},download:{config:"導出項目",image:"導出圖片","2rmg":{title:"導出RMG項目",type:{line:"直線",loop:"環線",branch:"支線"},placeholder:{chinese:"中文線路名稱",english:"英文線路名稱",lineCode:"路綫編碼"},info1:"這個功能可將RMP項目導出為RMG項目。",info2:"下面的線路將可以被導出,你可以在左側文本框中輸入中文線路名稱、在中間輸入英文線路名稱、右邊輸入線路編號(廣州地鐵樣式專用),隨後點擊下載按鈕即可導出RMG項目。",noline:"未找到可用線路。",download:"下載",downloadInfo:"請選擇一個起始車站,並點擊它。"},format:"檔案種類",png:"PNG影像",svg:"SVG影像",svgVersion:"版本","svg1.1":"1.1(適用於Adobe Illustrator)",svg2:"2(適用於現代瀏覽器)",transparent:"透明背景",scale:"縮放",disabledScaleOptions:"由於您的瀏覽器的畫布限制,部分縮放選項已被禁用。",disabledScaleOptionsWorkarounds:"可能的解決方法包括使用此命令行工具從SVG生成圖像:",imageTooBig:"圖像太大,您的瀏覽器無法生成!",useSystemFonts:"使用系統字型而不是在畫布上預覽的字型",shareInfo1:"當我分享此圖片時我會附上",shareInfo2:"和它的鏈接。",termsAndConditions:"條款及細則",termsAndConditionsInfo:"我同意",period:"。",confirm:"下載"},donation:{title:"捐款",openCollective:"Open Collective",viaUSD:"通過Paypal或Visa卡以美元捐款。",afdian:"爱发电",viaCNY:"通過支付寶或微信支付以人民幣捐款。"},settings:{title:"設置",pro:"這是一個專業功能,需要带有訂閱的帳戶。",proWithTrial:"這是一個PRO功能,並提供有限的免費試用。",proLimitExceed:{master:"大師節點超出了免費額度。",parallel:"平行線段超出了免費額度。",solution:"移除它們以解除此警告,或訂閱以解鎖更多功能!"},subscription:{title:"訂閱狀態","logged-out":"您目前已登出。",free:"已登入!訂閱以解鎖更多功能!",subscriber:"感謝您的訂閱!享受所有功能吧!",expired:"登入狀態已過期。請登出後重新登入。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持續畫線段直到點擊背景",autoParallel:"自動將新段線設置為與現有線段平行",randomStationNames:{title:"創建時將站名隨機化",none:"無",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"捷徑",keys:"按鍵",description:"描述",f:"使用上一個工具。",s:"多選。",arrows:"稍微移動畫布。",ijkl:"稍微移動所選站點。",shift:"多選。",alt:"精確移動。",delete:"刪除所選站點。",cut:"剪切。",copy:"複製。",paste:"貼上。",undo:"撤銷。",redo:"重做。"},procedures:{title:"過程",translate:{title:"轉化節點坐標",content:"將以下偏移加到所有節點的x和y上:",x:"橫坐標",y:"縱坐標"},scale:{title:"縮放節點坐標",content:"將所有節點的x和y乘以以下值:",factor:"縮放因子"},changeType:{title:"修改所有物件的屬性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改車站種類",changeFrom:"將此類型的所有車站:",changeTo:"轉換為這個類型的車站:",info:"修改車站類型會移除所有獨特屬性除了名稱。保存再操作!"},changeLineStyleType:{title:"批量修改線段樣式",changeFrom:"將此樣式的所有線段:",changeTo:"轉換為這個樣式的線段:",info:"修改線段樣式會移除所有獨特屬性除了連通性。保存再操作!"},changeLinePathType:{title:"批量修改線段類型",changeFrom:"將此類型的所有線段:",changeTo:"轉換為這個類型的線段:"},changeColor:{title:"批量修改顏色",changeFrom:"將此顏色的所有對象:",changeTo:"轉換為這個顏色:",any:"從任何顏色轉換"},removeLines:{title:"移除所有純色線段",content:"移除具有此顏色的所有線段: "},updateColor:{title:"更新顏色",content:"使用最新值更新所有顏色。",success:"成功更新所有顏色。",error:"更新所有顏色時發生錯誤:{{e}}。"},unlockSimplePath:{title:"解鎖簡單路徑",content1:"地鐵線路圖繪製器應用致力於在遵循既定慣例的前提下,提供一個有利於創建地鐵線路圖的互動平台。在這些慣例中,一種特別著名的風格源自哈利·貝克的創新工作。他的開創性貢獻於1932年得到官方認可,並在大眾中迅速贏得了聲譽。目前,它在信息設計領域具有重要的示範意義,在全球範圍內的交通製圖中得到了廣泛的實施,儘管成功程度有所不同。",content2:"應用程式固有地隱藏了使用簡單路徑的選項,因為其部署有可能違反既定的慣例。默認情況下,此特定功能保持隱蔽。此外,提交到地鐵線路圖繪製器畫廊的作品將經過嚴格的審查,堅決拒絕使用單色風格的簡單路徑的構圖。",content3:"儘管如此,我們仍然保留瞭解鎖此選項的機會,當您訂閱后,方可使用簡單路徑。 需要注意的是,即使獲得后,簡單路徑的使用也僅限於單色風格。",check:"解鎖簡單路徑",unlocked:"已解鎖"},masterManager:{title:"管理全部大師節點",id:"唯一標識",label:"標籤",type:"類型",types:{MiscNode:"雜項節點",Station:"車站"},importTitle:"上傳大師節點參數",importFrom:"使用匯入的樣式",importOther:"導入新樣式",importParam:"貼上配置信息"}},telemetry:{title:"遙測",info:"為了協助改進地鐵路綫圖繪製器並激勵貢獻者提升項目,我們透過 Google Analytics 收集匿名使用數據。這些數據僅用於提升用戶體驗及優化工具功能,絕不會與第三方共享。",essential:"基本",essentialTooltip:"在地鐵路綫圖工具組中更改此全局設定",essentialInfo:"地鐵路綫圖繪製器收集一些基本使用數據,以協助我們了解用戶如何及何時與工具互動。請放心,我們絕不收集任何可識別個人身份的資訊或您的項目數據。",essentialLink:"點擊此鏈接查看 Google Analytics 可能收集的詳細字段。",additional:"額外",additionalInfo:"地鐵路綫圖繪製器還會收集與互動有關的數據,例如創建項目或新增站點等操作。這些額外數據同樣是匿名的,僅用於統計分析以協助我們改進工具。"}},about:{title:"關於",rmp:"地鐵線路圖繪製器",railmapgen:"一個路綫圖工具組的項目",desc:"通過自由拖動來自不同城市的車站並以 90 或 135 度圓角線段將它們連接起來,設計您自己的鐵路地圖!",content1:"謹以此紀念我們曾擁有的自由與平等。",content2:"06/01/2022於上海",contributors:"貢獻者",coreContributors:"核心貢獻者",styleContributors:"樣式貢獻者",langonginc:"活出值得銘記的人生。","203IhzElttil":"特別感謝他勤奮工作,確保上海地鐵站與原始設計相符。",Swiftiecott:"特別感謝他勤奮工作,確保北京地鐵站與原始設計相符。",Minwtraft:"特別感謝他勤奮工作,確保廣州地鐵站與原始設計相符。",contactUs:"聯繫我們",github:"項目倉庫",githubContent:"遇到任何問題?在這裡搜索或提出一個問題!",slack:"Slack群組",slackContent:"在這些Slack頻道中討論!"}},gw={color:ow,warning:aw,cancel:sw,apply:lw,remove:uw,close:cw,noShowAgain:dw,rmtPromotion:hw,panel:pw,header:fw},Qn=new Ge.I18nBuilder().use(Uc).withAppName("Rail Map Painter").withLng(Ge.getLanguage()).withDefaultResource(hv).withResource("en",Nv).withResource("zh-Hans",iw).withResource("zh-Hant",gw).withResource("ja",$v).withResource("ko",Jv).build(),{abs:Pn,cos:gt,sin:an,acos:mw,atan2:$n,sqrt:kt,pow:qe}=Math;function In(n){return n<0?-qe(-n,1/3):qe(n,1/3)}const kl=Math.PI,wr=2*kl,Ct=kl/2,yw=1e-6,Fi=Number.MAX_SAFE_INTEGER||9007199254740991,Gi=Number.MIN_SAFE_INTEGER||-9007199254740991,bw={x:0,y:0,z:0},k={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(n,e){const r=e(n);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),kt(i)},compute:function(n,e,r){if(n===0)return e[0].t=0,e[0];const i=e.length-1;if(n===1)return e[i].t=1,e[i];const o=1-n;let a=e;if(i===0)return e[0].t=n,e[0];if(i===1){const l={x:o*a[0].x+n*a[1].x,y:o*a[0].y+n*a[1].y,t:n};return r&&(l.z=o*a[0].z+n*a[1].z),l}if(i<4){let l=o*o,u=n*n,c,d,h,p=0;i===2?(a=[a[0],a[1],a[2],bw],c=l,d=o*n*2,h=u):i===3&&(c=l*o,d=l*n*3,h=o*u*3,p=n*u);const m={x:c*a[0].x+d*a[1].x+h*a[2].x+p*a[3].x,y:c*a[0].y+d*a[1].y+h*a[2].y+p*a[3].y,t:n};return r&&(m.z=c*a[0].z+d*a[1].z+h*a[2].z+p*a[3].z),m}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let l=0;l1;o--,a--){const s=[];for(let l=0,u;l"u")n=.5;else if(n===0||n===1)return n;const r=qe(n,e)+qe(1-n,e),i=r-1;return Pn(i/r)},projectionratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=qe(1-n,e),i=qe(n,e)+r;return r/i},lli8:function(n,e,r,i,o,a,s,l){const u=(n*i-e*r)*(o-s)-(n-r)*(o*l-a*s),c=(n*i-e*r)*(a-l)-(e-i)*(o*l-a*s),d=(n-r)*(a-l)-(e-i)*(o-s);return d==0?!1:{x:u/d,y:c/d}},lli4:function(n,e,r,i){const o=n.x,a=n.y,s=e.x,l=e.y,u=r.x,c=r.y,d=i.x,h=i.y;return k.lli8(o,a,s,l,u,c,d,h)},lli:function(n,e){return k.lli4(n,n.c,e,e.c)},makeline:function(n,e){return new ce(n.x,n.y,(n.x+e.x)/2,(n.y+e.y)/2,e.x,e.y)},findbbox:function(n){let e=Fi,r=Fi,i=Gi,o=Gi;return n.forEach(function(a){const s=a.bbox();e>s.x.min&&(e=s.x.min),r>s.y.min&&(r=s.y.min),i0&&(d.c1=u,d.c2=c,d.s1=n,d.s2=r,a.push(d))})}),a},makeshape:function(n,e,r){const i=e.points.length,o=n.points.length,a=k.makeline(e.points[i-1],n.points[0]),s=k.makeline(n.points[o-1],e.points[0]),l={startcap:a,forward:n,back:e,endcap:s,bbox:k.findbbox([a,n,e,s])};return l.intersections=function(u){return k.shapeintersections(l,l.bbox,u,u.bbox,r)},l},getminmax:function(n,e,r){if(!r)return{min:0,max:0};let i=Fi,o=Gi,a,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let l=0,u=r.length;lo&&(o=s[e]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(n,e){const r=e.p1.x,i=e.p1.y,o=-$n(e.p2.y-i,e.p2.x-r),a=function(s){return{x:(s.x-r)*gt(o)-(s.y-i)*an(o),y:(s.x-r)*an(o)+(s.y-i)*gt(o)}};return n.map(a)},roots:function(n,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=n.length-1,i=k.align(n,e),o=function(T){return 0<=T&&T<=1};if(r===2){const T=i[0].y,U=i[1].y,L=i[2].y,I=T-2*U+L;if(I!==0){const W=-kt(U*U-T*L),se=-T+U,te=-(W+se)/I,Q=-(-W+se)/I;return[te,Q].filter(o)}else if(U!==L&&I===0)return[(2*U-L)/(2*U-2*L)].filter(o);return[]}const a=i[0].y,s=i[1].y,l=i[2].y,u=i[3].y;let c=-a+3*s-3*l+u,d=3*a-6*s+3*l,h=-3*a+3*s,p=a;if(k.approximately(c,0)){if(k.approximately(d,0))return k.approximately(h,0)?[]:[-p/h].filter(o);const T=kt(h*h-4*d*p),U=2*d;return[(T-h)/U,(-h-T)/U].filter(o)}d/=c,h/=c,p/=c;const m=(3*h-d*d)/3,y=m/3,w=(2*d*d*d-9*d*h+27*p)/27,_=w/2,N=_*_+y*y*y;let R,M,j,A,G;if(N<0){const T=-m/3,U=T*T*T,L=kt(U),I=-w/(2*L),W=I<-1?-1:I>1?1:I,se=mw(W),te=In(L),Q=2*te;return j=Q*gt(se/3)-d/3,A=Q*gt((se+wr)/3)-d/3,G=Q*gt((se+2*wr)/3)-d/3,[j,A,G].filter(o)}else{if(N===0)return R=_<0?In(-_):-In(_),j=2*R-d/3,A=-R-d/3,[j,A].filter(o);{const T=kt(N);return R=In(-_+T),M=In(_+T),[R-M-d/3].filter(o)}}},droots:function(n){if(n.length===3){const e=n[0],r=n[1],i=n[2],o=e-2*r+i;if(o!==0){const a=-kt(r*r-e*i),s=-e+r,l=-(a+s)/o,u=-(-a+s)/o;return[l,u]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(n.length===2){const e=n[0],r=n[1];return e!==r?[e/(e-r)]:[]}return[]},curvature:function(n,e,r,i,o){let a,s,l,u,c=0,d=0;const h=k.compute(n,e),p=k.compute(n,r),m=h.x*h.x+h.y*h.y;if(i?(a=kt(qe(h.y*p.z-p.y*h.z,2)+qe(h.z*p.x-p.z*h.x,2)+qe(h.x*p.y-p.x*h.y,2)),s=qe(m+h.z*h.z,3/2)):(a=h.x*p.y-h.y*p.x,s=qe(m,3/2)),a===0||s===0)return{k:0,r:0};if(c=a/s,d=s/a,!o){const y=k.curvature(n-.001,e,r,i,!0).k,w=k.curvature(n+.001,e,r,i,!0).k;u=(w-c+(c-y))/2,l=(Pn(w-c)+Pn(c-y))/2}return{k:c,r:d,dk:u,adk:l}},inflections:function(n){if(n.length<4)return[];const e=k.align(n,{p1:n[0],p2:n.slice(-1)[0]}),r=e[2].x*e[1].y,i=e[3].x*e[1].y,o=e[1].x*e[2].y,a=e[3].x*e[2].y,s=18*(-3*r+2*i+3*o-a),l=18*(3*r-i-3*o),u=18*(o-r);if(k.approximately(s,0)){if(!k.approximately(l,0)){let p=-u/l;if(0<=p&&p<=1)return[p]}return[]}const c=2*s;if(k.approximately(c,0))return[];const d=l*l-4*s*u;if(d<0)return[];const h=Math.sqrt(d);return[(h-l)/c,-(l+h)/c].filter(function(p){return 0<=p&&p<=1})},bboxoverlap:function(n,e){const r=["x","y"],i=r.length;for(let o=0,a,s,l,u;o=u)return!1;return!0},expandbox:function(n,e){e.x.minn.x.max&&(n.x.max=e.x.max),e.y.max>n.y.max&&(n.y.max=e.y.max),e.z&&e.z.max>n.z.max&&(n.z.max=e.z.max),n.x.mid=(n.x.min+n.x.max)/2,n.y.mid=(n.y.min+n.y.max)/2,n.z&&(n.z.mid=(n.z.min+n.z.max)/2),n.x.size=n.x.max-n.x.min,n.y.size=n.y.max-n.y.min,n.z&&(n.z.size=n.z.max-n.z.min)},pairiteration:function(n,e,r){const i=n.bbox(),o=e.bbox(),a=1e5,s=r||.5;if(i.x.size+i.y.sizeG||G>T)&&(A+=wr),A>T&&(U=T,T=A,A=U)):T4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(a!==6&&a!==8&&a!==9&&a!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!o&&(a===9||a===12)||e&&e[0]&&typeof e[0].z<"u",l=this.points=[];for(let m=0,y=s?3:2;mm+Dn(y.y),0)

"u"&&(o=.5),o===0)return new ce(r,r,i);if(o===1)return new ce(e,r,r);const a=ce.getABC(2,e,r,i,o);return new ce(e,a.A,i)}static cubicFromPoints(e,r,i,o,a){typeof o>"u"&&(o=.5);const s=ce.getABC(3,e,r,i,o);typeof a>"u"&&(a=k.dist(r,s.C));const l=a*(1-o)/o,u=k.dist(e,i),c=(i.x-e.x)/u,d=(i.y-e.y)/u,h=a*c,p=a*d,m=l*c,y=l*d,w={x:r.x-h,y:r.y-p},_={x:r.x+m,y:r.y+y},N=s.A,R={x:N.x+(w.x-N.x)/(1-o),y:N.y+(w.y-N.y)/(1-o)},M={x:N.x+(_.x-N.x)/o,y:N.y+(_.y-N.y)/o},j={x:e.x+(R.x-e.x)/o,y:e.y+(R.y-e.y)/o},A={x:i.x+(M.x-i.x)/(1-o),y:i.y+(M.y-i.y)/(1-o)};return new ce(e,j,A,i)}static getUtils(){return k}getUtils(){return ce.getUtils()}static get PolyBezier(){return qn}valueOf(){return this.toString()}toString(){return k.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,r=e[0].x,i=e[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let a=1,s=e.length;a0}length(){return k.length(this.derivative.bind(this))}static getABC(e=2,r,i,o,a=.5){const s=k.projectionratio(a,e),l=1-s,u={x:s*r.x+l*o.x,y:s*r.y+l*o.y},c=k.abcratio(a,e);return{A:{x:i.x+(i.x-u.x)/c,y:i.y+(i.y-u.y)/c},B:i,C:u,S:r,E:o}}getABC(e,r){r=r||this.get(e);let i=this.points[0],o=this.points[this.order];return ce.getABC(this.order,i,r,o,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let r=0,i,o;r1?1:h,p=this.compute(h),p.t=h,p.d=c,p}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?k.computeWithRatios(e,this.points,this.ratios,this._3d):k.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,r=[e[0]],i=e.length;for(let o=1,a,s;o1;){i=[];for(let s=0,l,u=r.length-1;s=0&&s<=1}),r=r.concat(e[i].sort(k.numberSort))}).bind(this)),e.values=r.sort(k.numberSort).filter(function(i,o){return r.indexOf(i)===o}),e}bbox(){const e=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=k.getminmax(this,i,e[i])}).bind(this)),r}overlaps(e){const r=this.bbox(),i=e.bbox();return k.bboxoverlap(r,i)}offset(e,r){if(typeof r<"u"){const i=this.get(e),o=this.normal(e),a={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(a.z=i.z+o.z*r),a}if(this._linear){const i=this.normal(0),o=this.points.map(function(a){const s={x:a.x+e*i.x,y:a.y+e*i.y};return a.z&&i.z&&(s.z=a.z+e*i.z),s});return[new ce(o)]}return this.reduce().map(function(i){return i._linear?i.offset(e)[0]:i.scale(e)})}simple(){if(this.order===3){const o=k.angle(this.points[0],this.points[3],this.points[1]),a=k.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&a<0||o<0&&a>0)return!1}const e=this.normal(0),r=this.normal(1);let i=e.x*r.x+e.y*r.y;return this._3d&&(i+=e.z*r.z),Dn(xw(i))(1-l/o)*r+l/o*i);return new ce(this.points.map((s,l)=>({x:s.x+e.x*a[l],y:s.y+e.y*a[l]})))}scale(e){const r=this.order;let i=!1;if(typeof e=="function"&&(i=e),i&&r===2)return this.raise().scale(i);const o=this.clockwise,a=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):e,i?i(1):e);const s=i?i(0):e,l=i?i(1):e,u=[this.offset(0,10),this.offset(1,10)],c=[],d=k.lli4(u[0],u[0].c,u[1],u[1].c);if(!d)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const p=c[h*r]=k.copy(a[h*r]);p.x+=(h?l:s)*u[h].n.x,p.y+=(h?l:s)*u[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var p=a[h+1],m={x:p.x-d.x,y:p.y-d.y},y=i?i((h+1)/r):e;i&&!o&&(y=-y);var w=Bn(m.x*m.x+m.y*m.y);m.x/=w,m.y/=w,c[h+1]={x:p.x+y*m.x,y:p.y+y*m.y}}}),new ce(c)):([0,1].forEach(h=>{if(r===2&&h)return;const p=c[h*r],m=this.derivative(h),y={x:p.x+m.x,y:p.y+m.y};c[h+1]=k.lli4(p,y,d,a[h+1])}),new ce(c))}outline(e,r,i,o){if(r=r===void 0?e:r,this._linear){const A=this.normal(0),G=this.points[0],T=this.points[this.points.length-1];let U,L,I;i===void 0&&(i=e,o=r),U={x:G.x+A.x*e,y:G.y+A.y*e},I={x:T.x+A.x*i,y:T.y+A.y*i},L={x:(U.x+I.x)/2,y:(U.y+I.y)/2};const W=[U,L,I];U={x:G.x-A.x*r,y:G.y-A.y*r},I={x:T.x-A.x*o,y:T.y-A.y*o},L={x:(U.x+I.x)/2,y:(U.y+I.y)/2};const se=[I,L,U],te=k.makeline(se[2],W[0]),Q=k.makeline(W[2],se[0]),Be=[te,new ce(W),Q,new ce(se)];return new qn(Be)}const a=this.reduce(),s=a.length,l=[];let u=[],c,d=0,h=this.length();const p=typeof i<"u"&&typeof o<"u";function m(A,G,T,U,L){return function(I){const W=U/T,se=(U+L)/T,te=G-A;return k.map(I,0,1,A+W*te,A+se*te)}}a.forEach(function(A){const G=A.length();p?(l.push(A.scale(m(e,i,h,d,G))),u.push(A.scale(m(-r,-o,h,d,G)))):(l.push(A.scale(e)),u.push(A.scale(-r))),d+=G}),u=u.map(function(A){return c=A.points,c[3]?A.points=[c[3],c[2],c[1],c[0]]:A.points=[c[2],c[1],c[0]],A}).reverse();const y=l[0].points[0],w=l[s-1].points[l[s-1].points.length-1],_=u[s-1].points[u[s-1].points.length-1],N=u[0].points[0],R=k.makeline(_,y),M=k.makeline(w,N),j=[R].concat(l).concat([M]).concat(u);return new qn(j)}outlineshapes(e,r,i){r=r||e;const o=this.outline(e,r).curves,a=[];for(let s=1,l=o.length;s1,u.endcap.virtual=s{var l=this.get(s);return k.between(l.x,r,o)&&k.between(l.y,i,a)})}selfintersects(e){const r=this.reduce(),i=r.length-2,o=[];for(let a=0,s,l,u;a0&&(a=a.concat(l))}),a}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,r,i,o){const a=(o-i)/4,s=this.get(i+a),l=this.get(o-a),u=k.dist(e,r),c=k.dist(e,s),d=k.dist(e,l);return Dn(c-u)+Dn(d-u)}_iterate(e,r){let i=0,o=1,a;do{a=0,o=1;let s=this.get(i),l,u,c,d,h=!1,p=!1,m,y=o,w=1;do if(p=h,d=c,y=(i+o)/2,l=this.get(y),u=this.get(o),c=k.getccenter(s,l,u),c.interval={start:i,end:o},h=this._error(c,s,i,o)<=e,m=p&&!h,m||(w=o),h){if(o>=1){if(c.interval.end=w=1,d=c,o>1){let N={x:c.x+c.r*vw(c.e),y:c.y+c.r*ww(c.e)};c.e+=k.angle({x:c.x,y:c.y},N,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!m&&a++<100);if(a>=100)break;d=d||c,r.push(d),i=w}while(o<1);return r}}const Cl=(n,e,r,i)=>{i=i!=null?i:-r;const[o,a]=Al(n);if(!o||!a)return;if(o[0]===a[0]||o[1]===a[1]||e===S.Diagonal&&Math.abs(o[1]-a[1])===Math.abs(o[0]-a[0])){const j=Math.abs(r);return Tl(o,a,j)}const[s,l]=ao(n);if(!s||!l)return;const u=new ce([...s,...l]),[c,d]=[u.scale(r),u.scale(i)],h=El(o,s,a,u,c,d);if(!h)return;const{mA:[p,m],mB:[y,w],endA:[_,N],endB:[R,M]}=h;return["M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N),"M ".concat(y," ").concat(w," ").concat(d.toSVG().replace("M","L")," L ").concat(R," ").concat(M)]},Nw=(n,e,r,i)=>{i=i!=null?i:2.5;const[o,a]=Al(n);if(!o||!a)return;if(o[0]===a[0]||o[1]===a[1]||e===S.Diagonal&&Math.abs(o[1]-a[1])===Math.abs(o[0]-a[0])){const L=Math.abs(r),[I,W]=Tl(o,a,L);return{outline:_w(o,a,L),pA:I,pB:W}}const[s,l]=ao(n);if(!s||!l)return;const u=new ce([...s,...l]),[c,d]=[u.scale(r),u.scale(i)],h=El(o,s,a,u,c,d);if(!h)return;const{mA:[p,m],mB:[y,w],endA:[_,N],endB:[R,M]}=h,[j,A]=ao(d.toSVG().replace("M","L")),[G,T]=Rw(j,A);return{outline:"M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N," L ").concat(R," ").concat(M," L ").concat(G.join(" ")," C ").concat(T.join(" ")," L ").concat(y," ").concat(w," Z"),pA:"M ".concat(p," ").concat(m," ").concat(c.toSVG().replace("M","L")," L ").concat(_," ").concat(N),pB:"M ".concat(y," ").concat(w," ").concat(d.toSVG().replace("M","L")," L ").concat(R," ").concat(M)}},Al=n=>{var i,o,a,s;const e=(o=(i=n.match(/M\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))==null?void 0:i.at(0))==null?void 0:o.replace(/M\s*/,"").split(" ").map(l=>Number(l)),r=(s=(a=n.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*$/))==null?void 0:a.at(0))==null?void 0:s.replace(/L\s*/,"").split(" ").map(l=>Number(l));return[e,r]},Tl=(n,e,r)=>{const[i,o,a,s]=[n[0],n[1],e[0],e[1]],l=Math.abs((s-o)/(a-i));if(l===1/0)return["M ".concat(i+r," ").concat(o," L ").concat(a+r," ").concat(s),"M ".concat(i-r," ").concat(o," L ").concat(a-r," ").concat(s)];if(l===0)return["M ".concat(i," ").concat(o+r," L ").concat(a," ").concat(s+r),"M ".concat(i," ").concat(o-r," L ").concat(a," ").concat(s-r)];{const u=1/l,c=r/Math.sqrt(u*u+1),d=c*u*-Math.sign((a-i)*(s-o));return["M ".concat(i+c," ").concat(o+d," L ").concat(a+c," ").concat(s+d),"M ".concat(i-c," ").concat(o-d," L ").concat(a-c," ").concat(s-d)]}},_w=(n,e,r)=>{const[i,o,a,s]=[n[0],n[1],e[0],e[1]],l=Math.abs((s-o)/(a-i));if(l===1/0)return"M ".concat(i+r," ").concat(o," L ").concat(a+r," ").concat(s," L ").concat(a-r," ").concat(s," L ").concat(i-r," ").concat(o," Z");if(l===0)return"M ".concat(i," ").concat(o+r," L ").concat(a," ").concat(s+r," L ").concat(a," ").concat(s-r," L ").concat(i," ").concat(o-r," Z");{const u=1/l,c=r/Math.sqrt(u*u+1),d=c*u*-Math.sign((a-i)*(s-o));return"M ".concat(i+c," ").concat(o+d," L ").concat(a+c," ").concat(s+d," L ").concat(a-c," ").concat(s-d," L ").concat(i-c," ").concat(o-d," Z")}},ao=n=>{var i,o,a,s;const e=(o=(i=n.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))==null?void 0:i.at(0))==null?void 0:o.replace(/L\s*/,"").split(" ").map(l=>Number(l)),r=(s=(a=n.match(/C\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/g))==null?void 0:a.at(0))==null?void 0:s.replace(/C\s*/,"").split(" ").map(l=>Number(l));return[e,r]},Rw=(n,e)=>[[e[4],e[5]],[e[2],e[3],e[0],e[1],n[0],n[1]]],El=(n,e,r,i,o,a)=>{const s=[o.points.at(0).x,o.points.at(0).y],l=[a.points.at(0).x,a.points.at(0).y];if(!n)return;const[u,c]=xr(n[0],e[0],s[0],n[1],e[1],s[1]),[d,h]=xr(n[0],e[0],l[0],n[1],e[1],l[1]),p=[o.points.at(-1).x,o.points.at(-1).y],m=[a.points.at(-1).x,a.points.at(-1).y],y=[i.points.at(-1).x,i.points.at(-1).y];if(!r)return;const[w,_]=xr(p[0],y[0],r[0],p[1],y[1],r[1]),[N,R]=xr(m[0],y[0],r[0],m[1],y[1],r[1]);return{mA:[u,c],mB:[d,h],endA:[w,_],endB:[N,R]}},xr=(n,e,r,i,o,a)=>{const[s,l]=[n+r,i+a],[u,c]=[s-e,l-o];return[u,c]},kw=1,Yx=(n,e)=>{const{type:r,parallelIndex:i}=e.attributes;if(r===S.Simple||i<0)return{normal:[e],parallel:[]};const{source:o,target:a}=e,s=[],l=[];for(const u of n.edgeEntries(o,a)){const{type:c,parallelIndex:d}=u.attributes;if(c===S.Simple||d<0){s.push(u);continue}const{startFrom:h}=u.attributes[c];Ll(c,o,h,u)&&l.push(u)}return{normal:s,parallel:l}},Cw=(n,e,r,i,o)=>{let a=!1;if(n===S.Diagonal)(Math.abs(i-e)e&&o>r)||Math.abs(i-e)>Math.abs(o-r)&&(i>e&&or))&&(a=!0);else if(n===S.Perpendicular)(i>e&&or)&&(a=!0);else if(n===S.RotatePerpendicular){const[s,l,u,c]=[e*Math.SQRT1_2+r*Math.SQRT1_2,-e*Math.SQRT1_2+r*Math.SQRT1_2,i*Math.SQRT1_2+o*Math.SQRT1_2,-i*Math.SQRT1_2+o*Math.SQRT1_2];(u>s&&cl)&&(a=!0)}return a},Zx=n=>{var p;let e=n.at(0);if(!e)return{};for(const m of n)m.attributes.parallelIndex0?m.attributes.parallelIndex:0;if(y===0){h[m.edge]=c;continue}const w=y*5,_=["M ".concat(a," ").concat(s+w," L ").concat(l," ").concat(u+w),"M ".concat(a," ").concat(s-w," L ").concat(l," ").concat(u-w)],[N,R]=(p=Cl(c,r,w))!=null?p:_;h[m.edge]=d?N:R}return h},Ll=(n,e,r,i)=>{const o=i.attributes.type;return n===i.attributes.type&&e===i.source&&r===i.attributes[o].startFrom?!0:n===i.attributes.type&&e===i.target&&r!==i.attributes[o].startFrom},Qx=(n,e,r,i,o)=>{if(e===S.Simple)return-1;const a=[];for(const l of n.edgeEntries(r,i))Ll(e,r,o,l)&&a.push(l.attributes.parallelIndex);a.sort();let s=0;for(const l of a){if(l>s)break;s=l+1}return s},Po=(n,e,r)=>{if(e===S.Simple)return r;const i=n.getEdgeAttribute(r,"parallelIndex");if(i<0)return r;const{startFrom:o}=n.getEdgeAttribute(r,e),[a,s]=n.extremities(r);let l=i,u=r;for(const c of n.edgeEntries(a,s)){const d=c.attributes;(e===d.type&&a===c.source&&d[e].startFrom===o&&d.parallelIndex>=0&&d.parallelIndex=0&&d.parallelIndex{let e=0;for(const r of n.edgeEntries())r.attributes.parallelIndex>=0&&(e+=1);return e},Lw={telemetry:{app:!0,project:!0},preference:{unlockSimplePathAttempts:3,toolsPanel:{expand:!0},autoParallel:!0,randomStationsNames:"none"}},Ol=ci({name:"app",initialState:Lw,reducers:{setTelemetryApp:(n,e)=>{n.telemetry.app=e.payload},setTelemetryProject:(n,e)=>{n.telemetry.project=e.payload},setUnlockSimplePath:(n,e)=>{n.preference.unlockSimplePathAttempts=e.payload},setToolsPanelExpansion:(n,e)=>{n.preference.toolsPanel.expand=e.payload},setAutoParallel:(n,e)=>{n.preference.autoParallel=e.payload},setRandomStationsNames:(n,e)=>{n.preference.randomStationsNames=e.payload}}}),{setTelemetryApp:Ow,setTelemetryProject:jw,setUnlockSimplePath:Mw,setToolsPanelExpansion:Pw,setAutoParallel:jl,setRandomStationsNames:$w}=Ol.actions,Iw=Ol.reducer,Dw=49,Bw={present:new pe().export(),past:[],future:[],svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}},Ml=es("undo"),Pl=es("redo"),$l=ci({name:"param",initialState:Bw,reducers:{setFullState:(n,e)=>structuredClone(e.payload),saveGraph:(n,e)=>{n.future=[],n.past.push(n.present),n.past.length>Dw&&n.past.shift(),n.present=structuredClone(e.payload)},setSvgViewBoxZoom:(n,e)=>{n.svgViewBoxZoom=e.payload},setSvgViewBoxMin:(n,e)=>{n.svgViewBoxMin=e.payload}},extraReducers:n=>{n.addCase(Ml,e=>{if(e.past.length===0)return;const r=e.past.pop();e.future.unshift(e.present),e.present=r,window.graph.clear(),window.graph.import(structuredClone(Qo(r)))}).addCase(Pl,e=>{if(e.future.length===0)return;const r=e.future.shift();e.past.push(e.present),e.present=r,window.graph.clear(),window.graph.import(structuredClone(Qo(r)))})}}),{setFullState:zw,saveGraph:un,setSvgViewBoxZoom:Xx,setSvgViewBoxMin:eS}=$l.actions,Fw=$l.reducer,Gw={selected:new Set,active:void 0,refresh:{nodes:Date.now(),edges:Date.now()},mode:"free",lastTool:void 0,keepLastPath:!1,theme:[le.Shanghai,"sh1","#E3002B",ee.white],paletteAppClip:{input:void 0,output:void 0},masterNodesCount:0,parallelLinesCount:0,stationNames:{},globalAlerts:{}},Jr=ts("runtime/refreshNodes",async(n,{getState:e,dispatch:r})=>{const i=e();r(Vw());let o=0;window.graph.forEachNode((s,l)=>{l.type===st.Master&&(o+=1)}),r(Uw(o));const a=i.account.activeSubscriptions.RMP_CLOUD?Fy:zy;o>a&&r(Do({status:"warning",message:"".concat(Qn.t("header.settings.proLimitExceed.master")," ").concat(Qn.t("header.settings.proLimitExceed.solution"))}))}),pn=ts("runtime/refreshEdges",async(n,{getState:e,dispatch:r})=>{const i=e();r(Hw());const o=Ew(window.graph);r(Ww(o));const a=i.account.activeSubscriptions.RMP_CLOUD?Tw:Aw;o>=a&&r(jl(!1)),o>a&&r(Do({status:"warning",message:"".concat(Qn.t("header.settings.proLimitExceed.parallel")," ").concat(Qn.t("header.settings.proLimitExceed.solution"))}))}),$o=ci({name:"runtime",initialState:Gw,reducers:{setSelected:(n,e)=>{n.selected=e.payload},addSelected:(n,e)=>{n.selected.add(e.payload)},removeSelected:(n,e)=>{n.selected.delete(e.payload)},clearSelected:n=>{n.selected=new Set},setActive:(n,e)=>{n.active=e.payload},setRefreshNodes:n=>{n.refresh.nodes=Date.now()},setRefreshEdges:n=>{n.refresh.edges=Date.now()},setMode:(n,e)=>{n.mode!=="free"&&(n.lastTool=n.mode),n.mode=e.payload},setKeepLastPath:(n,e)=>{n.keepLastPath=e.payload},setTheme:(n,e)=>{n.theme=e.payload},openPaletteAppClip:(n,e)=>{n.paletteAppClip.input=e.payload,n.paletteAppClip.output=void 0},closePaletteAppClip:n=>{n.paletteAppClip.input=void 0},onPaletteAppClipEmit:(n,e)=>{n.paletteAppClip.input=void 0,n.paletteAppClip.output=e.payload},setMasterNodesCount:(n,e)=>{n.masterNodesCount=e.payload},setParallelLinesCount:(n,e)=>{n.parallelLinesCount=e.payload},setStationNames:(n,e)=>{n.stationNames[e.payload.cityName]=e.payload.names},setGlobalAlert:(n,e)=>{const{status:r,message:i,url:o,linkedApp:a}=e.payload;n.globalAlerts[r]={message:i,url:o,linkedApp:a}},closeGlobalAlert:(n,e)=>{delete n.globalAlerts[e.payload]}},extraReducers:n=>{n.addCase(Ml,e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()}).addCase(Pl,e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()})}}),{setMasterNodesCount:Uw,setParallelLinesCount:Ww}=$o.actions,{setSelected:Io,addSelected:tS,removeSelected:nS,clearSelected:rS,setActive:iS,setRefreshNodes:Vw,setRefreshEdges:Hw,setMode:oS,setKeepLastPath:aS,setTheme:sS,openPaletteAppClip:Jw,closePaletteAppClip:Kw,onPaletteAppClipEmit:qw,setStationNames:lS,setGlobalAlert:Do,closeGlobalAlert:uS}=$o.actions,Yw=$o.reducer,Bo=(n,e,r)=>e===0?n:Zw(n,e);function Zw(n,e,r){function i(L,I,W){var se=I.x-L.x,te=I.y-L.y,Q=Math.sqrt(se*se+te*te);return o(L,I,Math.min(1,W/Q))}function o(L,I,W){return{x:L.x+(I.x-L.x)*W,y:L.y+(I.y-L.y)*W}}function a(L,I){L.length>2&&(L[L.length-2]=I.x,L[L.length-1]=I.y)}function s(L){return{x:parseFloat(L[L.length-2]),y:parseFloat(L[L.length-1])}}var l=n.split(/[,\s]/).reduce(function(L,I){var W=I.match("([a-zA-Z])(.+)");return W?(L.push(W[1]),L.push(W[2])):L.push(I),L},[]),u=l.reduce(function(L,I){return parseFloat(I)==I&&L.length?L[L.length-1].push(I):L.push([I]),L},[]),c=[];if(u.length>1){var d=s(u[0]),h=null;u[u.length-1][0]=="Z"&&u[0].length>2&&(h=["L",d.x,d.y],u[u.length-1]=h),c.push(u[0]);for(var p=1;p2&&y[0]=="L"&&w.length>2&&w[0]=="L"){var _=s(m),N=s(y),R=s(w),M,j;M=i(N,_,e),j=i(N,R,e),a(y,M),y.origPoint=N,c.push(y);var A=o(M,N,.5),G=o(N,j,.5),T=["C",A.x,A.y,G.x,G.y,j.x,j.y];T.origPoint=N,c.push(T)}else c.push(y)}if(h){var U=s(c[c.length-1]);c.push(["Z"]),a(c[0],U)}}else c=u;return c.reduce(function(L,I){return L+I.join(" ")+" "},"")}const Qw=(n,e,r,i,o=yt)=>{const{startFrom:a=yt.startFrom,offsetFrom:s=yt.offsetFrom,offsetTo:l=yt.offsetTo,roundCornerFactor:u=yt.roundCornerFactor}=o,[c,d,h,p]=a==="from"?[n,r,e,i]:[e,i,n,r],m=Math.abs(h-c)0?-1:1):j,L=m==="horizontal"?A:T+Math.abs(G-j)*(T-A>0?-1:1),[I,W,se,te]=a==="from"?[j,A,G,T]:[G,T,j,A];return Bo("M ".concat(I," ").concat(W," L ").concat(U," ").concat(L," L ").concat(se," ").concat(te),u)},yt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:10},Xw=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.Diagonal,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:yt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:yt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:yt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},e0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M9,18V12L15,6",stroke:"currentColor",fill:"none"})}),t0={generatePath:Qw,icon:e0,defaultAttrs:yt,attrsComponent:Xw,metadata:{displayName:"panel.details.lines.diagonal.displayName"}},n0=(n,e,r,i,o=bt)=>{const{startFrom:a=bt.startFrom,offsetFrom:s=bt.offsetFrom,offsetTo:l=bt.offsetTo,roundCornerFactor:u=bt.roundCornerFactor}=o,[c,d]=a==="from"?[s,l]:[l,s],[h,p,m,y]=a==="from"?[0,c,d,0]:[c,0,0,d],w=a==="from"?e+m:n+h,_=a==="from"?r+p:i+y;return Bo("M ".concat(n+h," ").concat(r+p," L ").concat(w," ").concat(_," L ").concat(e+m," ").concat(i+y),u)},bt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},r0=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.Perpendicular,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:bt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:bt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:bt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},i0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M6,6H18V18",stroke:"currentColor",fill:"none"})}),o0={generatePath:n0,icon:i0,defaultAttrs:bt,attrsComponent:r0,metadata:{displayName:"panel.details.lines.perpendicular.displayName"}},a0=(n,e,r,i,o=vt)=>{const{startFrom:a=vt.startFrom,offsetFrom:s=vt.offsetFrom,offsetTo:l=vt.offsetTo,roundCornerFactor:u=vt.roundCornerFactor}=o,[c,d]=a==="from"?[s,l]:[l,s],[h,p,m,y]=a==="from"?[0,c,d,0]:[c,0,0,d],[w,_,N,R]=[n*Math.SQRT1_2+r*Math.SQRT1_2,-n*Math.SQRT1_2+r*Math.SQRT1_2,e*Math.SQRT1_2+i*Math.SQRT1_2,-e*Math.SQRT1_2+i*Math.SQRT1_2],[M,j,A,G]=[w+h,_+p,N+m,R+y],[T,U,L,I]=[M*Math.SQRT1_2-j*Math.SQRT1_2,M*Math.SQRT1_2+j*Math.SQRT1_2,A*Math.SQRT1_2-G*Math.SQRT1_2,A*Math.SQRT1_2+G*Math.SQRT1_2],W=a==="from"?N+m:w+h,se=a==="from"?_+p:R+y,[te,Q]=[W*Math.SQRT1_2-se*Math.SQRT1_2,W*Math.SQRT1_2+se*Math.SQRT1_2];return Bo("M ".concat(T," ").concat(U," L ").concat(te," ").concat(Q," L ").concat(L," ").concat(I),u)},vt={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},s0=n=>{var h,p,m;const{id:e,attrs:r,handleAttrsUpdate:i,recalculateParallelIndex:o,parallelIndex:a}=n,{t:s}=fe(),l=Ht(),u=Po(window.graph,S.RotatePerpendicular,e),c=a>=0&&u!==e,d=[{type:"select",label:s("panel.details.lines.common.startFrom"),value:r.startFrom,options:{from:s("panel.details.lines.common.from"),to:s("panel.details.lines.common.to")},onChange:y=>{o(e,y),r.startFrom=y,i(e,r)},minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetFrom"),value:((h=r.offsetFrom)!=null?h:vt.offsetFrom).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetFrom=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.offsetTo"),value:((p=r.offsetTo)!=null?p:vt.offsetTo).toString(),variant:"number",onChange:y=>{Number.isNaN(y)&&(y="0"),r.offsetTo=Number(y),i(e,r)},isDisabled:c,minW:"full"},{type:"input",label:s("panel.details.lines.common.roundCornerFactor"),value:((m=r==null?void 0:r.roundCornerFactor)!=null?m:vt.roundCornerFactor).toString(),variant:"number",onChange:y=>{(Number.isNaN(y)||Number(y)<0)&&(y="0"),r.roundCornerFactor=Number(y),i(e,r)},isDisabled:c,minW:"full"}];return c&&d.unshift({type:"custom",label:s("panel.details.lines.common.parallelDisabled"),component:f.jsxs(dn,{size:"sm",variant:"link",onClick:()=>l(Io(new Set([u]))),children:[s("panel.details.lines.common.changeInBaseLine")," ",u]})}),f.jsx(ye,{fields:d})},l0=f.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:f.jsx("path",{d:"M9,6L15,12L9,18",stroke:"currentColor",fill:"none"})}),u0={generatePath:a0,icon:l0,defaultAttrs:vt,attrsComponent:s0,metadata:{displayName:"panel.details.lines.rotatePerpendicular.displayName"}};var Z=(n=>(n.ShmetroBasic="shmetro-basic",n.ShmetroBasic2020="shmetro-basic-2020",n.ShmetroInt="shmetro-int",n.ShmetroOutOfSystemInt="shmetro-osysi",n.ShanghaiSuburbanRailway="sh-sub-rwy",n.GzmtrBasic="gzmtr-basic",n.GzmtrInt="gzmtr-int",n.GzmtrInt2024="gzmtr-int-2024",n.BjsubwayBasic="bjsubway-basic",n.BjsubwayInt="bjsubway-int",n.MTR="mtr",n.SuzhouRTBasic="suzhourt-basic",n.SuzhouRTInt="suzhourt-int",n.KunmingRTBasic="kunmingrt-basic",n.KunmingRTInt="kunmingrt-int",n.MRTBasic="mrt-basic",n.MRTInt="mrt-int",n.JREastBasic="jr-east-basic",n.JREastImportant="jr-east-imp",n.FoshanMetroBasic="foshan-metro-basic",n.QingdaoMetroStation="qingdao-metro-basic",n.TokyoMetroBasic="tokyo-metro-basic",n.TokyoMetroInt="tokyo-metro-int",n.LondonTubeBasic="london-tube-basic",n.LondonTubeInt="london-tube-int",n.LondonRiverServicesInt="london-river-int",n.GuangdongIntercityRailway="gd-intercity-rwy",n))(Z||{});const cS=["shmetro-basic-2020","gzmtr-basic","suzhourt-basic","kunmingrt-basic","mrt-basic","foshan-metro-basic","qingdao-metro-basic"],dS={names:["车站","Stn"]};class c0{static hexToRgb(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}static fade(e,r){return"rgba(".concat([...this.hexToRgb(e),r].join(","),")")}static euclideanDistance(e,r){return this.hexToRgb(e).reduce((i,o,a)=>i+Math.pow(o-this.hexToRgb(r)[a],2),0)}}function hS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(n)}function pS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(n)}function fS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"},child:[]}]})(n)}function gS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z"},child:[]}]})(n)}function mS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"},child:[]}]})(n)}function yS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(n)}function bS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"},child:[]}]})(n)}function vS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7 1.62-4.33L19.12 17h-3.24z"},child:[]}]})(n)}function wS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]},{tag:"path",attr:{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"},child:[]}]})(n)}function xS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"},child:[]}]})(n)}function SS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M13 7h9v2h-9zM13 15h9v2h-9zM16 11h6v2h-6zM13 12 8 7v4H2v2h6v4z"},child:[]}]})(n)}function NS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(n)}function _S(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"},child:[]}]})(n)}function RS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 13h2v-2H3v2zm4 8h2v-2H7v2zm6-18h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zm8 4h2v-2h-2v2zm8-8h2v-2h-2v2zm0-4h2V7h-2v2zm-4-4h2V3h-2v2zM7.83 5 7 4.17V3h2v2H7.83zm12 12-.83-.83V15h2v2h-1.17zm1.36 4.19L2.81 2.81 1.39 4.22 4.17 7H3v2h2V7.83l2 2V17h7.17l2 2H15v2h2v-1.17l2.78 2.78 1.41-1.42zM9 15v-3.17L12.17 15H9zm6-2.83V9h-3.17l-2-2H17v7.17l-2-2z"},child:[]}]})(n)}function kS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"},child:[]}]})(n)}function CS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13H5v-2h14v2z"},child:[]}]})(n)}function AS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 12.4V7l-4-4H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.4l8.6-8.6zM15 15c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zM6 6h9v4H6V6zm13.99 10.25 1.77 1.77L16.77 23H15v-1.77l4.99-4.98zm3.26.26-.85.85-1.77-1.77.85-.85c.2-.2.51-.2.71 0l1.06 1.06c.2.2.2.52 0 .71z"},child:[]}]})(n)}function TS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(n)}function ES(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"},child:[]}]})(n)}function LS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"},child:[]}]})(n)}function OS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"},child:[]}]})(n)}function jS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 20h14v-2H5v2zm0-10h4v6h6v-6h4l-7-7-7 7z"},child:[]}]})(n)}function d0(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(n)}function MS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"},child:[]}]})(n)}function PS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(n)}function $S(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(n)}function IS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(n)}function DS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(n)}function BS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"},child:[]}]})(n)}function zS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"},child:[]}]})(n)}function FS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(n)}function GS(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3 1 9l11 6 9-4.91V17h2V9L12 3z"},child:[]}]})(n)}function h0(n){return H({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(n)}function p0(n){const{theme:e,onClick:r}=n,{t:i}=fe();return f.jsx(Or,{"aria-label":i("Color"),color:e[3],bg:e[2],size:"md",_hover:{bg:c0.fade(e[2],.7)},icon:f.jsx(d0,{}),onClick:r})}const ve=n=>{var R;const{type:e,colorKey:r="color",defaultTheme:i}=n,o=Ht(),{selected:a,paletteAppClip:{output:s}}=vi(M=>M.runtime),[l]=a,u=P.useCallback(()=>{o(Jr()),o(pn()),o(un(c.current.export()))},[o,Jr,pn,un]),c=P.useRef(window.graph),[d,h,p]=[].concat(Object.values(Z)).concat(Object.values(st)).find(M=>e===M)?[c.current.hasNode,c.current.getNodeAttribute,c.current.mergeNodeAttributes]:[c.current.hasEdge,c.current.getEdgeAttribute,c.current.mergeEdgeAttributes],m=M=>{if(l&&d.bind(c.current)(l)){const j=h.bind(c.current)(l,e);j[r]=M,p.bind(c.current)(l,{[e]:j}),u()}},[y,w]=P.useState(!1);P.useEffect(()=>{y&&s&&(m(s),w(!1))},[s==null?void 0:s.toString()]);const N=l&&d.bind(c.current)(l)&&(l.startsWith("stn")||l.startsWith("misc_node")?c.current.getNodeAttribute(l,"type")===e:c.current.getEdgeAttribute(l,"style")===e)?((R=h.bind(c.current)(l,e))!=null?R:{[r]:i})[r]:i;return f.jsx(f.Fragment,{children:f.jsx(p0,{theme:N,onClick:()=>{w(!0),o(Jw(N))}})})},f0=n=>{const{id:e,path:r,styleAttrs:i,newLine:o,handlePointerDown:a}=n,{color:s=Kr.color}=i!=null?i:Kr,l=P.useCallback(u=>a(e,u),[e,a]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:s[2],strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o?void 0:l,pointerEvents:o?"none":void 0})},Kr={color:[le.Shanghai,"sh1","#E4002B",ee.white]},g0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.SingleColor,defaultTheme:Kr.color})}];return f.jsx(ye,{fields:r})},m0={component:f0,defaultAttrs:Kr,attrsComponent:g0,metadata:{displayName:"panel.details.lines.singleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},y0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsxs("g",{id:e,onPointerDown:o,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"7",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"4.33",strokeLinecap:"round"})]})},b0={},v0=()=>{},w0={component:y0,defaultAttrs:b0,attrsComponent:v0,metadata:{displayName:"panel.details.lines.shmetroVirtualInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},x0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{isEnd:a=Il.isEnd}=i,s=P.useCallback(u=>o(e,u),[e,o]),l=a?"round":void 0;return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"#898989",strokeWidth:"5",strokeLinecap:l})})},S0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:e,onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})})},Il={isEnd:!1},N0=n=>{const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"switch",label:o("panel.details.lines.shanghaiSuburbanRailway.isEnd"),isChecked:r.isEnd,onChange:s=>{r.isEnd=s,i(e,r)},oneLine:!0,minW:"full"}];return f.jsx(ye,{fields:a})},_0={component:S0,preComponent:x0,defaultAttrs:Il,attrsComponent:N0,metadata:{displayName:"panel.details.lines.shanghaiSuburbanRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},R0=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"#565656",strokeWidth:"3",strokeDasharray:"3",cursor:"pointer",onPointerDown:o})},k0={},C0=()=>null,A0={component:R0,defaultAttrs:k0,attrsComponent:C0,metadata:{displayName:"panel.details.lines.gzmtrVirtualInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},Dl=9.25*2,Bl=1.3,zl=.57915,T0=(Dl+Bl)*zl,E0=(Dl-Bl)*zl,L0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=qr.color}=i!=null?i:qr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:T0}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:E0})]})},qr={color:[le.Guangzhou,"gz11","#ffb00a",ee.black]},O0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.GZMTRLoop,defaultTheme:qr.color})}];return f.jsx(ye,{fields:r})},j0={component:L0,defaultAttrs:qr,attrsComponent:O0,metadata:{displayName:"panel.details.lines.gzmtrLoop.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},M0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Yr.color}=i!=null?i:Yr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"4.67",strokeDasharray:"17.5"})]})},Yr={color:[le.Shanghai,"jsr","#000000",ee.white]},P0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.ChinaRailway,defaultTheme:Yr.color})}];return f.jsx(ye,{fields:r})},$0={component:M0,defaultAttrs:Yr,attrsComponent:P0,metadata:{displayName:"panel.details.lines.chinaRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},I0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Zr.color}=i!=null?i:Zr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"6",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"})]})},Zr={color:[le.Beijing,"bj1","#c23a30",ee.white]},D0=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwaySingleColor,defaultTheme:Zr.color})}];return f.jsx(ye,{fields:e})},B0={component:I0,defaultAttrs:Zr,attrsComponent:D0,metadata:{displayName:"panel.details.lines.bjsubwaySingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},tr=n=>{const{t:e}=fe(),r=Ht(),{selected:i}=vi(l=>l.runtime),[o]=i,a=P.useRef(window.graph),s=[];if(i.size===1&&a.current.hasNode(o)){const l=a.current.getNodeAttribute(o,"type"),u=a.current.getNodeAttribute(o,l);s.push(...n.fields.filter(c=>c.type!=="custom").map(c=>{var d,h,p;return{type:c.type,label:e(c.label),value:(d=c.value)==null?void 0:d.call(c,u),isChecked:(h=c.isChecked)==null?void 0:h.call(c,u),hidden:(p=c.hidden)==null?void 0:p.call(c,u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,oneLine:c.oneLine,onChange:m=>{let y;try{y=c.onChange(m,u)}catch(w){r(Do({status:"error",message:e("err-code.".concat(w))}));return}a.current.mergeNodeAttributes(o,{[l]:y}),r(Jr()),r(un(a.current.export()))}}}),...n.fields.filter(c=>c.type==="custom").map(c=>({...c,label:e(c.label)})))}if(i.size===1&&a.current.hasEdge(o)&&n.type!=="style"){const l=a.current.getEdgeAttribute(o,"type"),u=a.current.getEdgeAttribute(o,l);s.push(...n.fields.map(c=>({type:c.type,label:e(c.label),value:c.value(u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,onChange:d=>{a.current.mergeEdgeAttributes(o,{[l]:c.onChange(d,u)}),r(pn()),r(un(a.current.export()))}})))}if(i.size===1&&a.current.hasEdge(o)&&n.type==="style"){const l=a.current.getEdgeAttribute(o,"style"),u=a.current.getEdgeAttribute(o,l);s.push(...n.fields.filter(c=>c.type!=="custom").map(c=>({type:c.type,label:e(c.label),value:c.value(u),options:c.options,disabledOptions:c.disabledOptions&&c.disabledOptions(u),validator:c.validator,onChange:d=>{a.current.mergeEdgeAttributes(o,{[l]:c.onChange(d,u)}),r(pn()),r(un(a.current.export()))}})),...n.fields.filter(c=>c.type==="custom").map(c=>({...c,label:e(c.label)})))}return f.jsx(ye,{fields:s,minW:276})},z0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Qr.color}=i!=null?i:Qr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"1.67"})]})},Qr={color:[le.Beijing,"bj1","#c23a30",ee.white]},F0=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwayTram,defaultTheme:Qr.color})}],G0=()=>f.jsx(tr,{fields:F0,type:"style"}),U0={component:z0,defaultAttrs:Qr,attrsComponent:G0,metadata:{displayName:"panel.details.lines.bjsubwayTram.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},W0=n=>{const{id:e,type:r,path:i,styleAttrs:o,handlePointerDown:a}=n,{colorA:s=Wt.colorA,colorB:l=Wt.colorB}=o!=null?o:Wt,u=P.useCallback(m=>a(e,m),[e,a]),[c,d]=P.useState(i),[h,p]=P.useState(i);return P.useEffect(()=>{const m=Cl(i,r,-1.25,1.25);m&&(d(m[0]),p(m[1]))},[i]),f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:c,fill:"none",stroke:s[2],strokeWidth:"2.5",strokeLinecap:"round"}),f.jsx("path",{d:h,fill:"none",stroke:l[2],strokeWidth:"2.5",strokeLinecap:"round"})]})},Wt={colorA:[le.Shanghai,"maglevA","#008B9A",ee.white],colorB:[le.Shanghai,"maglevB","#F5A74E",ee.white]},V0=()=>{const{t:n}=fe(),e=Ht(),{selected:r}=vi(a=>a.runtime),[i]=r,o=P.useRef(window.graph);return f.jsx(Or,{"aria-label":n("panel.details.lines.dualColor.swap"),icon:f.jsx(h0,{}),size:"sm",onClick:()=>{var l;const a=(l=o.current.getEdgeAttribute(i,D.DualColor))!=null?l:Wt,s=a.colorA;a.colorA=a.colorB,a.colorB=s,o.current.mergeEdgeAttributes(i,{[D.DualColor]:a}),e(pn()),e(un(o.current.export()))}})},H0=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("panel.details.lines.dualColor.swap"),component:f.jsx(V0,{})},{type:"custom",label:e("panel.details.lines.dualColor.colorA"),component:f.jsx(ve,{type:D.DualColor,colorKey:"colorA",defaultTheme:Wt.colorA})},{type:"custom",label:e("panel.details.lines.dualColor.colorB"),component:f.jsx(ve,{type:D.DualColor,colorKey:"colorB",defaultTheme:Wt.colorB})}];return f.jsx(ye,{fields:r})},J0={component:W0,defaultAttrs:Wt,attrsComponent:H0,metadata:{displayName:"panel.details.lines.dualColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},K0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=cn.color,width:s=cn.width}=i!=null?i:cn,l=P.useCallback(u=>o(e,u),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:s,strokeLinecap:"round",cursor:"pointer",onPointerDown:l})},cn={color:[le.Shanghai,"river","#B9E3F9",ee.white],width:20},q0=[{type:"input",label:"panel.details.lines.river.width",variant:"number",value:n=>(n!=null?n:cn).width,onChange:(n,e)=>{const r=e!=null?e:cn;return r.width=Number(n),r}}],Y0=()=>f.jsx(tr,{fields:q0,type:"style"}),Z0={component:K0,defaultAttrs:cn,attrsComponent:Y0,metadata:{displayName:"panel.details.lines.river.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},Q0=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=Xr.color}=i!=null?i:Xr,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"butt",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:s})},Xr={color:[le.Hongkong,"twl","#E2231A",ee.white]},X0=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MTRRaceDays,defaultTheme:Xr.color})}],e1=()=>f.jsx(tr,{fields:X0,type:"style"}),t1={component:Q0,defaultAttrs:Xr,attrsComponent:e1,metadata:{displayName:"panel.details.lines.mtrRaceDays.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},n1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ei.color}=i!=null?i:ei,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"2.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},ei={color:[le.Hongkong,"lrl","#CD9700",ee.white]},r1=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MTRLightRail,defaultTheme:ei.color})}],i1=()=>f.jsx(tr,{fields:r1,type:"style"}),o1={component:n1,defaultAttrs:ei,attrsComponent:i1,metadata:{displayName:"panel.details.lines.mtrLightRail.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},a1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"1.33",strokeDasharray:"2.66 1.33",cursor:"pointer",onPointerDown:o})},s1={},l1=()=>{},u1={component:a1,defaultAttrs:s1,attrsComponent:l1,metadata:{displayName:"panel.details.lines.mtrUnpaidArea.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},c1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"1.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},d1={},h1=()=>f.jsx(tr,{fields:[],type:"style"}),p1={component:c1,defaultAttrs:d1,attrsComponent:h1,metadata:{displayName:"panel.details.lines.mtrPaidArea.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular,S.Simple]}},f1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ti.color}=i!=null?i:ti,s=P.useCallback(u=>o(e,u),[e,o]),l=Xa("white","var(--chakra-colors-gray-800)");return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"2 2"}),f.jsx("path",{d:r,fill:"none",stroke:l,strokeWidth:"3.4"})]})},ti={color:[le.Beijing,"bj1","#c23a30",ee.white]},g1=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.BjsubwayDotted,defaultTheme:ti.color})}];return f.jsx(ye,{fields:e})},m1={component:f1,defaultAttrs:ti,attrsComponent:g1,metadata:{displayName:"panel.details.lines.bjsubwayDotted.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},y1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ni.color}=i!=null?i:ni,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"0 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},ni={color:[le.Singapore,"ewl","#009739",ee.white]},b1=n=>{fe();const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.MRTUnderConstruction,defaultTheme:ni.color})}];return f.jsx(ye,{fields:e})},v1={component:y1,defaultAttrs:ni,attrsComponent:b1,metadata:{displayName:"panel.details.lines.mrtUnderConstruction.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},w1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"0 10 10 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},x1={},S1=n=>null,N1={component:w1,defaultAttrs:x1,attrsComponent:S1,metadata:{displayName:"panel.details.lines.mrtSentosaExpress.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},_1=n=>{const{id:e,path:r,styleAttrs:i,newLine:o,handlePointerDown:a}=n,{color:s=ri.color}=i!=null?i:ri,l=P.useCallback(u=>a(e,u),[e,a]);return f.jsxs("g",{id:e,onPointerDown:l,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"5.1"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"4.9"})]})},ri={color:[le.Tokyo,"jy","#9ACD32",ee.black]},R1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.JREastSingleColor,defaultTheme:ri.color})}];return f.jsx(ye,{fields:r})},k1={component:_1,defaultAttrs:ri,attrsComponent:R1,metadata:{displayName:"panel.details.lines.jrEastSingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},C1=5,Me=C1*Math.SQRT1_2,so=.25,Sr=(Me*Math.SQRT2-so)/2*Math.SQRT2,A1=n=>{const{id:e,type:r,path:i,styleAttrs:o,newLine:a,handlePointerDown:s}=n,{color:l=ii.color}=o!=null?o:ii,u=P.useCallback(h=>s(e,h),[e,s]),[c,d]=P.useState({outline:i,pA:i,pB:i});return P.useEffect(()=>{const h=Nw(i,r,-2.5,2.5);h&&d(h)},[i]),f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsxs("defs",{children:[f.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[f.jsx("polygon",{points:"0,0 0,".concat(Sr," ").concat(Sr,",0")}),f.jsx("polygon",{points:"".concat(Me,",").concat(Me," ").concat(Me-Sr,",").concat(Me," ").concat(Me,",").concat(Me-Sr)})]}),f.jsxs("pattern",{id:"jr_east_".concat(e,"_fill_pattern_").concat(l[2]),width:Me,height:Me,patternUnits:"userSpaceOnUse",children:[f.jsx("rect",{width:Me,height:Me,fill:l[2]}),f.jsx("line",{x1:"0",y1:"0",x2:Me,y2:Me,stroke:"white",strokeWidth:so,strokeOpacity:"50%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),f.jsx("line",{x1:Me,y1:"0",x2:"0",y2:Me,stroke:"white",strokeWidth:so,strokeOpacity:"50%"})]})]}),f.jsx("path",{d:c.outline,fill:"url(#jr_east_".concat(e,"_fill_pattern_").concat(l[2],")")}),f.jsx("path",{d:c.pA,fill:"none",stroke:"black",strokeWidth:"0.1"}),f.jsx("path",{d:c.pB,fill:"none",stroke:"black",strokeWidth:"0.1"})]})},ii={color:[le.Tokyo,"jy","#9ACD32",ee.black]},T1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.JREastSingleColorPattern,defaultTheme:ii.color})}];return f.jsx(ye,{fields:r})},E1={component:A1,defaultAttrs:ii,attrsComponent:T1,metadata:{displayName:"panel.details.lines.jrEastSingleColorPattern.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},L1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=oi.color}=i!=null?i:oi,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"2.157",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},oi={color:[le.Singapore,"lrt","#708573",ee.white]},O1=n=>{const e=[{type:"custom",label:"color",component:f.jsx(ve,{type:D.LRTSingleColor,defaultTheme:oi.color})}];return f.jsx(ye,{fields:e})},j1={component:L1,defaultAttrs:oi,attrsComponent:O1,metadata:{displayName:"panel.details.lines.lrtSingleColor.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},M1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"7.5",strokeLinecap:"round"})})},P1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("g",{id:e,onPointerDown:o,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"})})},$1={},I1=()=>{},D1={component:P1,preComponent:M1,defaultAttrs:$1,attrsComponent:I1,metadata:{displayName:"panel.details.lines.londonTubeInternalInt.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},B1=n=>{const{id:e,path:r,handlePointerDown:i}=n,o=P.useCallback(a=>i(e,a),[e,i]);return f.jsx("path",{d:r,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:o})},z1={},F1=()=>{},G1={component:B1,defaultAttrs:z1,attrsComponent:F1,metadata:{displayName:"panel.details.lines.londonTube10MinWalk.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},U1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=ai.color}=i!=null?i:ai,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("path",{id:e,d:r,fill:"none",stroke:a[2],strokeWidth:"5",cursor:"pointer",onPointerDown:s})},ai={color:[le.London,"central","#DC241F",ee.white]},W1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonTubeTerminal,defaultTheme:ai.color})}];return f.jsx(ye,{fields:r})},V1={component:U1,defaultAttrs:ai,attrsComponent:W1,metadata:{displayName:"panel.details.lines.londonTubeTerminal.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},H1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{colorBackground:a=Gt.colorBackground,colorForeground:s=Gt.colorForeground,limitedService:l=Gt.limitedService}=i!=null?i:Gt,u=P.useCallback(c=>o(e,c),[e,o]);return l?f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"4.25",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"2",strokeDasharray:"7 3"})]}):f.jsxs("g",{id:e,onPointerDown:u,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:s[2],strokeWidth:"2",strokeDasharray:"7 3"})]})},Gt={colorBackground:[le.London,"thameslink","#d28db0",ee.white],colorForeground:[le.London,"white","#ffffff",ee.black],limitedService:!1},J1=n=>{const{id:e,attrs:r,handleAttrsUpdate:i}=n,{t:o}=fe(),a=[{type:"switch",label:o("panel.details.lines.londonRail.limitedService"),oneLine:!0,isChecked:r.limitedService,onChange:s=>{r.limitedService=s,i(e,r)},minW:"full"},{type:"custom",label:o("panel.details.lines.londonRail.colorBackground"),component:f.jsx(ve,{type:D.LondonRail,colorKey:"colorBackground",defaultTheme:Gt.colorBackground})},{type:"custom",label:o("panel.details.lines.londonRail.colorForeground"),component:f.jsx(ve,{type:D.LondonRail,colorKey:"colorForeground",defaultTheme:Gt.colorForeground})}];return f.jsx(ye,{fields:a})},K1={component:H1,defaultAttrs:Gt,attrsComponent:J1,metadata:{displayName:"panel.details.lines.londonRail.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},q1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=fn.color}=i!=null?i:fn,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("g",{id:"".concat(e,".pre"),onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"})})},Y1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=fn.color}=i!=null?i:fn,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsx("g",{id:e,onPointerDown:s,cursor:"pointer",children:f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"1.67",strokeLinecap:"round"})})},fn={color:[le.London,"elizabeth","#9364cc",ee.white]},Z1=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonSandwich,defaultTheme:fn.color})}];return f.jsx(ye,{fields:r})},Q1={component:Y1,preComponent:q1,defaultAttrs:fn,attrsComponent:Z1,metadata:{displayName:"panel.details.lines.londonSandwich.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},X1=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=si.color}=i!=null?i:si,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"0.001 6"})]})},si={color:[le.London,"rail","#d6ae00",ee.white]},ex=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonLutonAirportDART,defaultTheme:si.color})}];return f.jsx(ye,{fields:r})},tx={component:X1,defaultAttrs:si,attrsComponent:ex,metadata:{displayName:"panel.details.lines.londonLutonAirportDART.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},nx=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=li.color}=i!=null?i:li,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5"}),f.jsx("path",{d:r,fill:"none",stroke:"white",strokeWidth:"3"}),f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"1"})]})},li={color:[le.London,"dangleway","#dc241f",ee.white]},rx=n=>{const{t:e}=fe(),r=[{type:"custom",label:e("color"),component:f.jsx(ve,{type:D.LondonIFSCloudCableCar,defaultTheme:li.color})}];return f.jsx(ye,{fields:r})},ix={component:nx,defaultAttrs:li,attrsComponent:rx,metadata:{displayName:"panel.details.lines.londonIFSCloudCableCar.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},ox=n=>{const{id:e,path:r,styleAttrs:i,handlePointerDown:o}=n,{color:a=lo.color}=i!=null?i:lo,s=P.useCallback(l=>o(e,l),[e,o]);return f.jsxs("g",{id:e,onPointerDown:s,cursor:"pointer",children:[f.jsx("path",{d:r,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),f.jsx("path",{d:r,fill:"none",stroke:a[3],strokeWidth:"2.5",strokeDasharray:"7.5"})]})},lo={color:[le.Guangzhou,"ir","#2559a8",ee.white]},ax=()=>{},sx={component:ox,defaultAttrs:lo,attrsComponent:ax,metadata:{displayName:"panel.details.lines.guangdongIntercityRailway.displayName",supportLinePathType:[S.Diagonal,S.Perpendicular,S.RotatePerpendicular]}},Fl={[S.Diagonal]:t0,[S.Perpendicular]:o0,[S.RotatePerpendicular]:u0,[S.Simple]:By},lx={[D.SingleColor]:m0,[D.ShmetroVirtualInt]:w0,[D.ShanghaiSuburbanRailway]:_0,[D.GzmtrVirtualInt]:A0,[D.GZMTRLoop]:j0,[D.ChinaRailway]:$0,[D.BjsubwaySingleColor]:B0,[D.BjsubwayTram]:U0,[D.BjsubwayDotted]:m1,[D.DualColor]:J0,[D.River]:Z0,[D.MTRRaceDays]:t1,[D.MTRLightRail]:o1,[D.MTRUnpaidArea]:u1,[D.MTRPaidArea]:p1,[D.MRTUnderConstruction]:v1,[D.MRTSentosaExpress]:N1,[D.JREastSingleColor]:k1,[D.JREastSingleColorPattern]:E1,[D.LRTSingleColor]:j1,[D.LondonTubeTerminal]:V1,[D.LondonTubeInternalInt]:D1,[D.LondonTube10MinWalk]:G1,[D.LondonRail]:K1,[D.LondonSandwich]:Q1,[D.LondonLutonAirportDART]:tx,[D.LondonIFSCloudCableCar]:ix,[D.GuangdongIntercityRailway]:sx},ux=43,Fa=async()=>JSON.stringify((await bn(async()=>{const{default:n}=await import("./tutorial-B9Su1GrM.js");return{default:n}},[])).default),cx=async n=>{let e=!1;n||(n=await Fa(),e=!0);let r=JSON.parse(n);(!("version"in r)||!Number.isInteger(r.version))&&(r=JSON.parse(await Fa()),e=!0);let i=Number(r.version),o=JSON.stringify(r);for(;i in Ga;)o=Ga[i](o),i=Number(JSON.parse(o).version),e=!0;return e&&(console.warn("Upgrade save from version: ".concat(r.version," to version: ").concat(i)),localStorage.setItem(Ue.PARAM_BACKUP,n)),o},dx=n=>{const{present:e,past:r,future:i,...o}=n,a={...o,graph:e,version:ux};return JSON.stringify(a)},Ga={0:n=>{var e;return JSON.stringify({version:1,graph:(e=JSON.parse(n))==null?void 0:e.graph,svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}})},1:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type!==Z.GzmtrInt).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a&&"transfer"in a&&delete a.transfer,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:2,graph:r.export()})},2:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);(a==null?void 0:a.nameOffsetX)==="middle"&&(a==null?void 0:a.nameOffsetY)==="middle"&&(a.nameOffsetX="right",a.nameOffsetY="top"),(a==null?void 0:a.nameOffsetY)==="up"&&(a.nameOffsetY="top"),r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:3,graph:r.export()})},3:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("line")).forEach(i=>{const o=r.getEdgeAttribute(i,"color");r.removeEdgeAttribute(i,"color"),r.mergeEdgeAttributes(i,{style:D.SingleColor,[D.SingleColor]:{color:o}})}),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("misc_edge")).forEach(i=>{const o="line_".concat(Py(10)),[a,s]=r.extremities(i),l=r.getEdgeAttribute(i,"type"),u=l;r.addDirectedEdgeWithKey(o,a,s,{visible:!0,zIndex:0,type:S.Simple,[l]:structuredClone(Fl[S.Simple].defaultAttrs),style:u,[u]:structuredClone(lx[u].defaultAttrs),reconcileId:""}),r.dropEdge(i)}),JSON.stringify({...e,version:4,graph:r.export()})},4:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&(o.type===Z.GzmtrBasic||o.type===Z.GzmtrInt)).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.open=!0,a.secondaryNames=["",""],r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:5,graph:r.export()})},5:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o,a,s,l,u,c)=>i.startsWith("line")&&o.type===S.Simple).forEach(i=>{var a;const o=(a=r.getEdgeAttribute(i,S.Simple))!=null?a:{offset:0};o.offset=0,r.mergeEdgeAttributes(i,{[S.Simple]:o})}),JSON.stringify({...e,version:6,graph:r.export()})},6:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrBasic).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.tram=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:7,graph:r.export()})},7:n=>JSON.stringify({...JSON.parse(n),version:8}),8:n=>JSON.stringify({...JSON.parse(n),version:9}),9:n=>JSON.stringify({...JSON.parse(n),version:10}),10:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.color=[le.Shanghai,"jsr","#000000",ee.white],r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:11,graph:r.export()})},11:n=>JSON.stringify({...JSON.parse(n),version:12}),12:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.rotate=0,a.italic=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:13,graph:r.export()})},13:n=>JSON.stringify({...JSON.parse(n),version:14}),14:n=>JSON.stringify({...JSON.parse(n),version:15}),15:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Text).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.italic=a.italic?"italic":"normal",a.bold="normal",r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:16,graph:r.export()})},16:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Facilities).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);let s=0;switch(a.type){case"airport":case"maglev":case"disney":case"railway":s+=25/2;break;case"hsr":case"airport_hk":case"disney_hk":s+=19/2;break}r.updateNodeAttribute(i,"y",l=>(l!=null?l:0)+s)}),JSON.stringify({...e,version:17,graph:r.export()})},17:n=>JSON.stringify({...JSON.parse(n),version:18}),18:n=>JSON.stringify({...JSON.parse(n),version:19}),19:n=>JSON.stringify({...JSON.parse(n),version:20}),20:n=>JSON.stringify({...JSON.parse(n),version:21}),21:n=>JSON.stringify({...JSON.parse(n),version:22}),22:n=>JSON.stringify({...JSON.parse(n),version:23}),23:n=>JSON.stringify({...JSON.parse(n),version:24}),24:n=>{const e=JSON.parse(n),r=new pe;return r.import(e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt||i.startsWith("misc_node")&&o.type===st.GzmtrLineBadge).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.tram=!1,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:25,graph:r.export()})},25:n=>JSON.stringify({...JSON.parse(n),version:26}),26:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.GzmtrLineBadge).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.span=!0,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:27,graph:r.export()})},27:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);for(let s=0;sJSON.stringify({...JSON.parse(n),version:29}),29:n=>JSON.stringify({...JSON.parse(n),version:30}),30:n=>JSON.stringify({...JSON.parse(n),version:31}),31:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterEdges((i,o)=>o.style===D.ChinaRailway).forEach(i=>{const o=r.getEdgeAttributes(i)[D.ChinaRailway];r.mergeEdgeAttributes(i,{[D.ChinaRailway]:{...o,color:[le.Shanghai,"jsr","#000000",ee.white]}})}),JSON.stringify({...e,version:32,graph:r.export()})},32:n=>JSON.stringify({...JSON.parse(n),version:33}),33:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.forEachDirectedEdge(i=>{r.setEdgeAttribute(i,"parallelIndex",-1),r.updateEdgeAttribute(i,"zIndex",o=>Math.max(-10,(o!=null?o:0)-5))}),r.forEachNode(i=>{r.updateNodeAttribute(i,"zIndex",o=>Math.min(10,(o!=null?o:0)+5))}),JSON.stringify({...e,version:34,graph:r.export()})},34:n=>JSON.stringify({...JSON.parse(n),version:35}),35:n=>JSON.stringify({...JSON.parse(n),version:36}),36:n=>JSON.stringify({...JSON.parse(n),version:37}),37:n=>JSON.stringify({...JSON.parse(n),version:38}),38:n=>JSON.stringify({...JSON.parse(n),version:39}),39:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("misc_node")&&o.type===st.Facilities).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.type==="qingdao_airport"?a.type="airport_qingdao":a.type==="qingdao_coach_station"?a.type="coach_station_qingdao":a.type==="qingdao_cruise_terminal"?a.type="cruise_terminal_qingdao":a.type==="qingdao_railway"?a.type="railway_qingdao":a.type==="qingdao_tram"&&(a.type="tram_qingdao"),r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:40,graph:r.export()})},40:n=>JSON.stringify({...JSON.parse(n),version:41}),41:n=>{const e=JSON.parse(n),r=new pe;r.import(e==null?void 0:e.graph);const i=o=>o.map(a=>a.replaceAll("\\","\n"));return r.forEachNode((o,a)=>{const s=r.getNodeAttribute(o,"type");let l;(s===Z.BjsubwayBasic||s===Z.BjsubwayInt||s===Z.FoshanMetroBasic||s===Z.GuangdongIntercityRailway||s===Z.GzmtrBasic||s===Z.GzmtrInt||s===Z.JREastBasic||s===Z.JREastImportant||s===Z.KunmingRTBasic||s===Z.KunmingRTInt||s===Z.MRTBasic||s===Z.MRTInt||s===Z.MTR||s===Z.ShanghaiSuburbanRailway||s===Z.ShmetroBasic2020||s===Z.ShmetroBasic||s===Z.ShmetroInt||s===Z.ShmetroOutOfSystemInt||s===Z.SuzhouRTBasic||s===Z.SuzhouRTInt||s===Z.TokyoMetroBasic||s===Z.TokyoMetroInt)&&(l=i(a[s].names)),l&&(a[s].names=l,r.mergeNodeAttributes(o,a))}),JSON.stringify({...e,version:42,graph:r.export()})},42:n=>{const e=JSON.parse(n),r=new pe;return r.import(e==null?void 0:e.graph),r.filterNodes((i,o)=>i.startsWith("stn")&&o.type===Z.GzmtrInt2024).forEach(i=>{const o=r.getNodeAttribute(i,"type"),a=r.getNodeAttribute(i,o);a.columns=2,a.topHeavy=!1,a.osiPosition="none",a.preferVertical&&a.transfer.flat().length===2&&(a.columns=1),delete a.preferVertical,r.mergeNodeAttributes(i,{[o]:a})}),JSON.stringify({...e,version:43,graph:r.export()})}};Kc();const hx=Wc({account:Ny,app:Iw,param:Fw,runtime:Yw}),px=(n={})=>Vc({reducer:hx,middleware:e=>e({serializableCheck:!1}),preloadedState:n}),xe=px();xe.subscribe(async()=>{await Ey(xe.getState().param.present),localStorage.setItem(Ue.PARAM,dx(xe.getState().param)),localStorage.setItem(Ue.APP,JSON.stringify(xe.getState().app)),localStorage.setItem(Ue.LOGIN_STATE,JSON.stringify(xe.getState().account))});const Ht=()=>Hc(),vi=Jc,fx=P.lazy(()=>bn(()=>import("./page-header-xWWwLvrh.js"),__vite__mapDeps([0,1,2,3,4]))),gx=P.lazy(()=>bn(()=>import("./tools-B2RMBMZd.js"),__vite__mapDeps([5,1,2,6,3]))),mx=P.lazy(()=>bn(()=>import("./svg-wrapper-BxWgeTfJ.js"),__vite__mapDeps([7,1,2,3,8,6]))),yx=P.lazy(()=>bn(()=>import("./details-DbBAbTBg.js"),__vite__mapDeps([9,1,2,8,3,4,5,6]))),bx=P.lazy(()=>bn(()=>import("./rmg-palette-app-clip-B2gcc2FF.js"),__vite__mapDeps([10,1,2])));function vx(){const n=Ht(),{paletteAppClip:{input:e}}=vi(u=>u.runtime),{t:r}=fe(),[i,o]=P.useState(!1);P.useEffect(()=>{Ge.isStandaloneWindow()&&!window.localStorage.getItem(Ue.DO_NOT_SHOW_RMT_MSG)&&o(!0)},[]);const a=new Date,s="".concat(a.getFullYear()).concat(String(a.getMonth()+1).padStart(2,"0"),"01"),l="".concat(String(a.getFullYear()).slice(-2),".").concat(a.getMonth()+1,".1");return f.jsx(gy,{children:f.jsx(zm,{children:f.jsxs(P.Suspense,{fallback:f.jsxs(f.Fragment,{children:[f.jsx("p",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:"Rail Map Toolkit protocol... checked"}),f.jsxs("p",{style:{position:"absolute",top:"75%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"small",color:"gray"},children:["Seeing this page for too long? Try another mirror"," ",f.jsx("a",{href:"https://railmapgen.github.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"GitHub"})," ",f.jsx("a",{href:"https://railmapgen.gitlab.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"Gitlab"})," ","or the"," ",f.jsx("a",{href:"https://github.com/railmapgen/railmapgen.github.io/releases",target:"_blank",rel:"noreferrer",children:"offline application"})," ",".",f.jsx("br",{}),f.jsx("br",{}),"Offline applications also available via ghfast.top"," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_x64-setup.exe"),children:"Windows"})," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_aarch64.dmg"),children:"MacOS"})," ",f.jsx("a",{href:"https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-".concat(s,"/railmapgen_").concat(l,"_amd64.deb"),children:"Linux"})," ","if you are blocked by GFW :)"]})]}),children:[f.jsx(fx,{}),i&&f.jsxs(uo,{status:"info",variant:"solid",size:"xs",pl:3,pr:1,py:1,zIndex:"1",children:[f.jsx(co,{}),f.jsxs(At,{children:[f.jsx(Fn,{href:"/?app=rmp",isExternal:!0,fontWeight:"bold",children:r("rmtPromotion")})," ",f.jsx(Fn,{as:"button",ml:"auto",textDecoration:"underline",onClick:()=>o(!1),children:r("close")})," | ",f.jsx(Fn,{as:"button",textDecoration:"underline",onClick:()=>{o(!1),window.localStorage.setItem(Ue.DO_NOT_SHOW_RMT_MSG,"true")},children:r("noShowAgain")})]})]}),f.jsx(Em,{allowReset:!0,children:f.jsxs(ut,{direction:"row",height:"100%",overflow:"hidden",sx:{position:"relative"},children:[f.jsx(gx,{}),f.jsx(mx,{}),f.jsx(yx,{})]})}),f.jsx(bx,{isOpen:!!e,onClose:()=>n(Kw()),defaultTheme:e,onSelect:u=>n(qw(u))})]})})})}const wx=()=>{Ks(document.getElementById("root")).render(f.jsx(P.StrictMode,{children:f.jsx(qc,{store:xe,children:f.jsx(Yc,{i18n:Qn,children:f.jsx(vx,{})})})}))};var Ua;const Nr=JSON.parse((Ua=localStorage.getItem(Ue.LOGIN_STATE))!=null?Ua:"{}");var Wa;const je=JSON.parse((Wa=localStorage.getItem(Ue.APP))!=null?Wa:"{}"),xx=localStorage.getItem(Ue.PARAM);"telemetry"in je&&("app"in je.telemetry&&xe.dispatch(Ow(je.telemetry.app)),"project"in je.telemetry&&xe.dispatch(jw(je.telemetry.project))),"preference"in je&&("unlockSimplePathAttempts"in je.preference&&xe.dispatch(Mw(je.preference.unlockSimplePathAttempts)),"toolsPanel"in je.preference&&"expand"in je.preference.toolsPanel&&xe.dispatch(Pw(je.preference.toolsPanel.expand)),"autoParallel"in je.preference&&xe.dispatch(jl(je.preference.autoParallel)),"randomStationsNames"in je.preference&&xe.dispatch($w(je.preference.randomStationsNames))),"state"in Nr&&xe.dispatch(Kn(Nr.state)),"activeSubscriptions"in Nr&&xe.dispatch(Vr(Nr.activeSubscriptions));cx(xx).then(n=>{const{version:e,graph:r,...i}=JSON.parse(n);window.graph=pe.from(r);const o={...i,present:r,past:[],future:[]};xe.dispatch(zw(o)),xe.dispatch(Jr()),xe.dispatch(pn()),wx(),Ge.injectUITools(),jy(xe),Da(),window.setInterval(()=>Da(),15*60*1e3)});export{Tw as $,eS as A,Rl as B,le as C,jS as D,vy as E,gS as F,LS as G,GS as H,Fa as I,Ty as J,Ue as K,Kx as L,ee as M,jt as N,yS as O,Om as P,Cx as Q,jx as R,Z as S,Io as T,Fx as U,p0 as V,Jw as W,Mw as X,Bx as Y,FS as Z,Da as _,Sx as __vite_legacy_guard,OS as a,pS as a$,Aw as a0,aS as a1,jl as a2,wy as a3,SS as a4,DS as a5,PS as a6,IS as a7,$S as a8,Vx as a9,tS as aA,Gx as aB,m0 as aC,zy as aD,Ax as aE,RS as aF,Mm as aG,Mx as aH,Px as aI,$x as aJ,Ix as aK,cS as aL,sS as aM,zS as aN,BS as aO,hS as aP,Pw as aQ,tr as aR,ve as aS,qx as aT,Qn as aU,yy as aV,by as aW,dS as aX,Tx as aY,NS as aZ,_S as a_,jw as aa,$w as ab,wS as ac,xS as ad,Lt as ae,Ox as af,Ex as ag,ES as ah,kS as ai,vS as aj,bS as ak,fS as al,Ml as am,Pl as an,uS as ao,lS as ap,Dx as aq,Po as ar,Yx as as,Zx as at,lx as au,st as av,oS as aw,zx as ax,iS as ay,nS as az,mS as b,CS as b0,gm as b1,Dm as b2,Hx as b3,Jx as b4,Ht as c,vi as d,Ux as e,TS as f,AS as g,MS as h,ye as i,Do as j,S as k,Fl as l,Qx as m,Py as n,D as o,Wx as p,Jr as q,Ge as r,dx as s,pn as t,Lx as u,un as v,kx as w,cx as x,rS as y,Xx as z}; diff --git a/assets/index-legacy-BGd0L8oF.js b/assets/index-legacy-BdzZVG-I.js similarity index 87% rename from assets/index-legacy-BGd0L8oF.js rename to assets/index-legacy-BdzZVG-I.js index 987156d2..38c0dad2 100644 --- a/assets/index-legacy-BGd0L8oF.js +++ b/assets/index-legacy-BdzZVG-I.js @@ -7,4 +7,4 @@ System.register(["./chakra-legacy-DsJcG_7N.js","./react-legacy-S3BmMPiz.js"],(fu * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */ci.exports=function(){if(di)return ui;di=1;var e=Pe,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function a(e,n,a){var s,l={},d=null,c=null;for(s in void 0!==a&&(d=""+a),void 0!==n.key&&(d=""+n.key),void 0!==n.ref&&(c=n.ref),n)r.call(n,s)&&!i.hasOwnProperty(s)&&(l[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===l[s]&&(l[s]=n[s]);return{$$typeof:t,type:e,key:d,ref:c,props:l,_owner:o.current}}return ui.Fragment=n,ui.jsx=a,ui.jsxs=a,ui}();var pi=ci.exports;const[hi,gi]=d({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within ``"});var fi=function(e,t){for(var n,r=0,o=Me.Children.toArray(e);r{var t;return null==(t="string"==typeof e||"number"==typeof e?e:e[Object.keys(e)[0]])?void 0:t.toString()},wi=(e,t)=>"string"!=typeof e||$(t)?e:e.toString().replace(new RegExp(function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}(t),"gi"),(e=>`${e}`)),xi=(e,t,n)=>(null==t?void 0:t.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||(null==n?void 0:n.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||bi(e,t)>=.5||bi(e,n)>=.5,Si=(e,t)=>{const n={},r={},{field:o}=e;return o&&Object.keys(o).forEach((e=>{if(!1===e.startsWith("--input"))n[e]=o[e];else{let t=o[e];const n=e.replace("--input-","").replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}));-1!==t.indexOf(".")&&(t=t.substring(t.indexOf(".")+1)),r[n]=t}})),{...t&&{...n,...r,_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}},ki=(e,t)=>fi(e,(e=>{var n;return"AutoCompleteItem"===(null==(n=null==e?void 0:e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)})),Ni=(e,t)=>fi(e,(e=>{var n;return"AutoCompleteItem"===(null==(n=null==e?void 0:e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}));function Ri(e){var t,n;let{closeOnBlur:r=!0,creatable:o,emphasize:i,emptyState:a=!0,freeSolo:s,isReadOnly:l,listAllValuesOnFocus:d,maxSuggestions:c,multiple:u,closeOnSelect:h=!u,defaultValue:g,defaultValues:y=(g?[g]:[]),onReady:b,defaultIsOpen:v,disableFilter:w,isLoading:x=!1,placement:S="bottom",restoreOnBlurIfEmpty:k=!s,shouldRenderSuggestions:N=(()=>!0),submitKeys:R=[],suggestWhenEmpty:_,value:T,values:C=(T?"string"==typeof T?[T]:[...T]:void 0)}=e;s=s||!!u||e.freeSolo;const{isOpen:j,onClose:G,onOpen:F}=L({defaultIsOpen:v}),W=p(e.children,{isOpen:j,onClose:G,onOpen:F}),U=(e=>yi(e,(e=>{var t;return"AutoCompleteItem"===(null==(t=null==e?void 0:e.type)?void 0:t.displayName)})).map((e=>{const t=B(e.props,["value","label","fixed","disabled"]),{getValue:n=vi}=e.props,r=n(t.value);return{...D(t.label)?t:{...t,label:r},value:r,originalValue:t.value}})))(W),V=Me.useRef(null),H=Me.useRef(null),J=Me.useRef(null),q=Me.useRef(null),[K,Y]=Me.useState(!1);let Q="";u?Q="":f(y)?f(C)||(Q=C[0]):Q=y[0];const[Z,X]=Me.useState(null!==(t=Q)&&void 0!==t?t:""),ee=w?U:U.filter((t=>t.fixed||p(e.filter||xi,Z,t.value,t.label)||K)).filter(((e,t)=>!c||e.fixed||tnull==e?void 0:e.toString())),value:C,onChange:t=>{const n=ne.find((e=>e.value===t[0])),r=t.map((e=>ne.find((t=>t.value===e))));p(e.onChange,u?t:t[0],u?r:n)}}),[ie,ae]=Me.useState(null==(n=U[0])?void 0:n.value),se=e.maxSelections||re.length+1,le=ne.findIndex((e=>e.value===ie)),de=O(le,ne,!!e.rollNavigation),ce=E(le,ne,!!e.rollNavigation),ue=M(ne),pe=P(ne);I((()=>{ae(null==ue?void 0:ue.value)}),[Z]),Me.useEffect((()=>{var e;j||ae(null==(e=U[0])?void 0:e.value)}),[j]),Me.useEffect((()=>{const t=U.find((e=>e.value===ie));p(e.onOptionFocus,{item:t,focusMethod:q.current,isNewInput:null==t?void 0:t.creatable})}),[ie,e.onOptionFocus]);const he=t=>{var n,r;!re.includes(t)&&re.lengthu?[...e,t]:[t]));const o=ne.find((e=>e.value===t));u&&(null==(n=V.current)||n.focus()),e.focusInputOnSelect&&(null==(r=V.current)||r.focus()),p(e.onSelectOption,{item:o,selectMethod:q.current,isNewInput:null==o?void 0:o.creatable}),null!=o&&o.creatable&&p(e.onCreateOption,{item:m(o,["noFilter"]),selectMethod:q.current});const i=(null==o?void 0:o.label)||(null==o?void 0:o.value);X((()=>u?"":null!=i?i:"")),h&&G()},ge=(t,n)=>{var r;oe((n=>{const r=U.find((e=>e.value===t));return p(e.onTagRemoved,t,r,n),n.filter((e=>e!==t))})),Z===t&&X(""),n&&(null==(r=V.current)||r.focus())},fe=u?re.map((e=>{var t;return{label:(null==(t=U.find((t=>t.value===(null==e?void 0:e.toString()))))?void 0:t.label)||e,onRemove:()=>ge(e)}})):[];return Me.useEffect((()=>{p(b,{tags:fe})}),[re]),{autoCompleteProps:e,children:W,filteredList:ne,filteredResults:ee,focusedValue:ie,getEmptyStateProps:e=>{if(ne.every((e=>e.noFilter))&&a&&!o)return"boolean"==typeof a?e:p(a,{query:Z})},getGroupProps:e=>{const t=((e,t)=>D(fi(e,(e=>{var n,r;const o=p((null==(n=e.props)?void 0:n.getValue)||vi,(null==(r=e.props)?void 0:r.value)||{});return t.some((e=>e.value===o))}))))(e.children,ne);return{divider:{hasFirstChild:ki(e.children,ue),hasLastChild:Ni(e.children,P(ne.filter((e=>f(null==e?void 0:e.noFilter)))))},group:{display:t?"initial":"none"}}},getInputProps:(t,n)=>{const{onBlur:o,onChange:i,onFocus:a,onKeyDown:s,variant:c,...h}=t;return{wrapper:{ref:H,onClick:()=>{var e;null==(e=null==V?void 0:V.current)||e.focus()},...Si(n,u),...h},input:{isReadOnly:l,onFocus:t=>{p(a,t),e.openOnFocus&&!l&&F(),e.selectOnFocus&&t.target.select(),d&&Y(!0)},onBlur:e=>{var t,n;p(o,e);const i=e.relatedTarget===(null==J?void 0:J.current)||(null==(t=J.current)?void 0:t.contains(e.relatedTarget)),a=null==(n=H.current)?void 0:n.contains(e.relatedTarget);if(!i&&!a&&(r&&G(),!re.includes(e.target.value)&&k)){const e=P(re),t=U.find((t=>t.value===e)),n=(null==t?void 0:t.label)||(null==t?void 0:t.value)||"";X(n)}},onChange:e=>{const t=e.target.value;p(i,e),X(t);const n=$(t);!p(N,t)||n&&!_?G():F(),Y(!1)},onKeyDown:e=>{var t;p(s,e),q.current="keyboard";const{key:n}=e,r=ne[le];return["Enter",...R].includes(n)?(!r||null!=r&&r.disabled?null==(t=V.current)||t.focus():he(null==r?void 0:r.value),void e.preventDefault()):"ArrowDown"===n?(j?ae(null==de?void 0:de.value):F(),void e.preventDefault()):"ArrowUp"===n?(j?ae(null==ce?void 0:ce.value):F(),void e.preventDefault()):"Tab"!==n?"Home"===n?(ae(null==ue?void 0:ue.value),void e.preventDefault()):"End"===n?(ae(null==pe?void 0:pe.value),void e.preventDefault()):void("Escape"===n&&(G(),e.preventDefault())):void(!j||!r||null!=r&&r.disabled?G():he(null==r?void 0:r.value))},value:Z,variant:u?"unstyled":c,...h}}},getItemProps:(e,t)=>{var n;const{_fixed:r,_focus:o,children:a,disabled:s,label:l,value:d,fixed:c,getValue:u=vi,onClick:h,onMouseOver:g,sx:f,...m}=e,y=t?d:null==(n=u(d))?void 0:n.toString(),b=y===ie,v=ne.findIndex((e=>e.value===y))>=0,w=a||l||y;return{item:{..."string"==typeof w&&i?{dangerouslySetInnerHTML:{__html:wi(w,Z)}}:{children:w},"aria-selected":re.includes(y),"aria-disabled":s,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:e=>{var t;p(h,e),s?null==(t=V.current)||t.focus():he(y)},onMouseOver:e=>{p(g,e),ae(y),q.current="mouse"},sx:{...f,mark:{color:"inherit",bg:"transparent",...z(i)?i:{fontWeight:i?"extrabold":"inherit"}}},...b&&(o||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),...c&&r,...m},root:{isValidSuggestion:v,value:y}}},inputRef:V,interactionRef:q,isLoading:x,isOpen:j,itemList:U,listRef:J,onClose:G,onOpen:F,placement:S,query:Z,removeItem:ge,resetItems:e=>{var t;oe([]),e&&(null==(t=V.current)||t.focus())},setQuery:X,tags:fe,values:re}}const _i=c(((e,t)=>{const n=Ri(e),{children:r,isOpen:o,onClose:i,onOpen:a,placement:l,resetItems:d,removeItem:c}=n;return Me.useImperativeHandle(t,(()=>({resetItems:d,removeItem:c}))),pi.jsx(hi,{value:n,children:pi.jsx(h,{isLazy:!0,isOpen:o,onClose:i,onOpen:a,autoFocus:!1,placement:l,closeOnBlur:!0,matchWidth:!0,children:pi.jsx(s.div,{w:"full",ref:t,children:r})})})}));_i.displayName="AutoComplete";const Ti=c(((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=gi(),i=Me.useRef(),a=g(t,i),s=r(e),{isValidSuggestion:l,value:d}=s.root,c=n===d;Me.useEffect((()=>{var e;c&&"keyboard"===o.current&&(null==(e=null==i?void 0:i.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[c,o]),Me.useEffect((()=>{"string"!=typeof d&&console.warn("wow"),"string"!=typeof d&&f(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")}),[]);const{children:u,dangerouslySetInnerHTML:p,...h}=s.item,b=m(h,["groupId"]);return l?pi.jsx(y,{ref:a,...Ci,...b,children:u||pi.jsx("span",{dangerouslySetInnerHTML:p})}):null}));Ti.displayName="AutoCompleteItem";const Ci={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},ji=c(((e,t)=>{const{children:n,showDivider:r,...o}=e,i=m(o,["groupSibling"]),{getGroupProps:a}=gi(),{group:s}=a(e),l=Oi(e);return pi.jsxs(b,{ref:t,...s,...i,children:[pi.jsx(v,{...l.top}),n,pi.jsx(v,{...l.bottom})]})})),Li=c(((e,t)=>pi.jsx(y,{...Ai,...e,ref:t})));ji.displayName="AutoCompleteGroup",Li.displayName="AutoCompleteGroupTitle";const Ai={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},Oi=e=>{const{getGroupProps:t}=gi(),n=e.groupSibling,{divider:{hasFirstChild:r,hasLastChild:o}}=t(e),i={my:2,borderColor:e.dividerColor};return{top:{...i,mb:4,display:!e.showDivider||r?"none":""},bottom:{...i,display:!e.showDivider||o||n?"none":""}}},Ei=c(((e,t)=>{const{isLoading:n}=gi(),{loadingIcon:r,...o}=e;return pi.jsxs(w,{children:[pi.jsx(x,{...o,ref:t}),n&&pi.jsx(S,{children:r||pi.jsx(k,{})})]})})),Mi=c(((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:i,setQuery:a}=gi(),{children:s,isInvalid:l,hidePlaceholder:d,...c}=e,{value:u}=c;Me.useEffect((()=>{void 0!==u&&("string"==typeof u||u instanceof String)&&a(u)}),[u]);const h=N("Input",e);let{wrapper:f,input:m}=o(c,h);const{ref:y,...b}=f,v=g(t,r),w=p(s,{tags:i});d&&(m={...m,placeholder:Array.isArray(w)&&w.length?void 0:m.placeholder});const x=pi.jsx(Ei,{isInvalid:l,...m,ref:v}),S=pi.jsxs(R,{...b,ref:y,children:[w,pi.jsx(_,{as:Ei,...m,ref:v})]});return pi.jsx(T,{children:n.multiple?S:x})}));Mi.displayName="Input",Mi.id="Input";var Pi=Me.createContext({});function Ii(){const e=Me.useContext(Pi);if(void 0===e)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function $i(){const e=Ii(),t=function(){const e=Me.useContext(V);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}();return{...e,theme:t}}Pi.displayName="ColorModeContext";var zi=(...e)=>e.filter(Boolean).join(" ");function Bi(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)&&!Array.isArray(e)}function Di(e,...t){return Gi(e)?e(...t):e}var Gi=e=>"function"==typeof e,Fi={exports:{}};!function(e,t){var n="__lodash_hash_undefined__",r=9007199254740991,o="[object Arguments]",i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",l="[object Null]",d="[object Object]",c="[object Proxy]",u="[object Undefined]",p=/^\[object .+?Constructor\]$/,h=/^(?:0|[1-9]\d*)$/,g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g[o]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g[a]=g["[object Map]"]=g["[object Number]"]=g[d]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1;var f="object"==typeof si&&si&&si.Object===Object&&si,m="object"==typeof self&&self&&self.Object===Object&&self,y=f||m||Function("return this")(),b=t&&!t.nodeType&&t,v=b&&e&&!e.nodeType&&e,w=v&&v.exports===b,x=w&&f.process,S=function(){try{return v&&v.require&&v.require("util").types||x&&x.binding&&x.binding("util")}catch{}}(),k=S&&S.isTypedArray,N=Array.prototype,R=Function.prototype,_=Object.prototype,T=y["__core-js_shared__"],C=R.toString,j=_.hasOwnProperty,L=function(){var e=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),A=_.toString,O=C.call(Object),E=RegExp("^"+C.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),M=w?y.Buffer:void 0,P=y.Symbol,I=y.Uint8Array;M&&M.allocUnsafe;var $=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),z=Object.create,B=_.propertyIsEnumerable,D=N.splice,G=P?P.toStringTag:void 0,F=function(){try{var e=pe(Object,"defineProperty");return e({},"",{}),e}catch{}}(),W=M?M.isBuffer:void 0,U=Math.max,V=Date.now,H=pe(y,"Map"),J=pe(Object,"create"),q=function(){function e(){}return function(t){if(!Ne(t))return{};if(z)return z(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function K(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Y.prototype.set=function(e,t){var n=this.__data__,r=ne(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Q.prototype.clear=function(){this.size=0,this.__data__={hash:new K,map:new(H||Y),string:new K}},Q.prototype.delete=function(e){var t=ue(this,e).delete(e);return this.size-=t?1:0,t},Q.prototype.get=function(e){return ue(this,e).get(e)},Q.prototype.has=function(e){return ue(this,e).has(e)},Q.prototype.set=function(e,t){var n=ue(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Z.prototype.clear=function(){this.__data__=new Y,this.size=0},Z.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Z.prototype.get=function(e){return this.__data__.get(e)},Z.prototype.has=function(e){return this.__data__.has(e)},Z.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Y){var r=n.__data__;if(!H||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Q(r)}return n.set(e,t),this.size=n.size,this};var oe=function(e,t,n){for(var r=-1,o=Object(e),i=n(e),a=i.length;a--;){var s=i[++r];if(!1===t(o[s],s,o))break}return e};function ie(e){return null==e?void 0===e?u:l:G&&G in Object(e)?function(e){var t=j.call(e,G),n=e[G];try{e[G]=void 0;var r=!0}catch{}var o=A.call(e);return r&&(t?e[G]=n:delete e[G]),o}(e):function(e){return A.call(e)}(e)}function ae(e){return Re(e)&&ie(e)==o}function se(e){return!(!Ne(e)||function(e){return!!L&&L in e}(e))&&(Se(e)?E:p).test(function(e){if(null!=e){try{return C.call(e)}catch{}try{return e+""}catch{}}return""}(e))}function le(e){if(!Ne(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=ge(e),n=[];for(var r in e)"constructor"==r&&(t||!j.call(e,r))||n.push(r);return n}function de(e,t,n,r,o){e!==t&&oe(t,(function(i,a){if(o||(o=new Z),Ne(i))!function(e,t,n,r,o,i,a){var s=fe(e,n),l=fe(t,n),c=a.get(l);if(c)ee(e,n,c);else{var u=i?i(s,l,n+"",e,t,a):void 0,p=void 0===u;if(p){var h=ve(l),g=!h&&xe(l),f=!h&&!g&&_e(l);u=l,h||g||f?ve(s)?u=s:function(e){return Re(e)&&we(e)}(s)?u=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(F?function(e,t){return F(e,"toString",{configurable:!0,enumerable:!1,value:je(t),writable:!0})}:Le);function ye(e,t){return e===t||e!=e&&t!=t}var be=ae(function(){return arguments}())?ae:function(e){return Re(e)&&j.call(e,"callee")&&!B.call(e,"callee")},ve=Array.isArray;function we(e){return null!=e&&ke(e.length)&&!Se(e)}var xe=W||function(){return!1};function Se(e){if(!Ne(e))return!1;var t=ie(e);return t==a||t==s||t==i||t==c}function ke(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}function Ne(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Re(e){return null!=e&&"object"==typeof e}var _e=k?function(e){return function(t){return e(t)}}(k):function(e){return Re(e)&&ke(e.length)&&!!g[ie(e)]};function Te(e){return we(e)?X(e):le(e)}var Ce=function(e){return ce((function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&function(e,t,n){if(!Ne(n))return!1;var r=typeof t;return!!("number"==r?we(n)&&he(t,n.length):"string"==r&&t in n)&&ye(n[t],e)}(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++r"string"==typeof e?e.replace(/!(important)?$/,"").trim():e,Vi=(e,t)=>n=>{const r=String(t),o=(e=>/!(important)?$/.test(e))(r),i=Ui(r),a=e?`${e}.${i}`:i;let s=Bi(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=Ui(s),o?`${s} !important`:s};function Hi(e){const{scale:t,transform:n,compose:r}=e;return(e,o)=>{var i;const a=Vi(t,e)(o);let s=null!=(i=null==n?void 0:n(a,o))?i:a;return r&&(s=r(s,o)),s}}var Ji=(...e)=>t=>e.reduce(((e,t)=>t(e)),t);function qi(e,t){return n=>{const r={property:n,scale:e};return r.transform=Hi({scale:e,transform:t}),r}}var Ki=({rtl:e,ltr:t})=>n=>"rtl"===n.direction?e:t,Yi=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"],Qi={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Zi={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"},Xi={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},ea={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},ta=new Set(Object.values(ea)),na=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),ra=e=>e.trim(),oa=e=>"string"==typeof e&&e.includes("(")&&e.includes(")"),ia=e=>t=>`${e}(${t})`,aa={filter:e=>"auto"!==e?e:Qi,backdropFilter:e=>"auto"!==e?e:Zi,ring:e=>function(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}(aa.px(e)),bgClip:e=>"text"===e?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e},transform:e=>"auto"===e?["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...Yi].join(" "):"auto-gpu"===e?["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...Yi].join(" "):e,vh:e=>"$100vh"===e?"var(--chakra-vh)":e,px(e){if(null==e)return e;const{unitless:t}=(e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}})(e);return t||"number"==typeof e?`${e}px`:e},fraction:e=>"number"!=typeof e||e>1?e:100*e+"%",float:(e,t)=>"rtl"===t.direction?{left:"right",right:"left"}[e]:e,degree(e){if(function(e){return/^var\(--.+\)$/.test(e)}(e)||null==e)return e;const t="string"==typeof e&&!e.endsWith("deg");return"number"==typeof e||t?`${e}deg`:e},gradient:(e,t)=>function(e,t){if(null==e||na.has(e))return e;if(!oa(e)&&!na.has(e))return`url('${e}')`;const n=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),r=null==n?void 0:n[1],o=null==n?void 0:n[2];if(!r||!o)return e;const i=r.includes("-gradient")?r:`${r}-gradient`,[a,...s]=o.split(",").map(ra).filter(Boolean);if(0===(null==s?void 0:s.length))return e;const l=a in ea?ea[a]:a;return s.unshift(l),`${i}(${s.map((e=>{if(ta.has(e))return e;const n=e.indexOf(" "),[r,o]=-1!==n?[e.substr(0,n),e.substr(n+1)]:[e],i=oa(o)?o:o&&o.split(" "),a=`colors.${r}`,s=a in t.__cssMap?t.__cssMap[a].varRef:r;return i?[s,...Array.isArray(i)?i:[i]].join(" "):s})).join(", ")})`}(e,null!=t?t:{}),blur:ia("blur"),opacity:ia("opacity"),brightness:ia("brightness"),contrast:ia("contrast"),dropShadow:ia("drop-shadow"),grayscale:ia("grayscale"),hueRotate:ia("hue-rotate"),invert:ia("invert"),saturate:ia("saturate"),sepia:ia("sepia"),bgImage:e=>null==e||oa(e)||na.has(e)?e:`url(${e})`,outline(e){const t="0"===String(e)||"none"===String(e);return null!==e&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=null!=(t=Xi[e])?t:{},o={flexDirection:e};return n&&(o[n]=1),r&&(o[r]=1),o}},sa={borderWidths:qi("borderWidths"),borderStyles:qi("borderStyles"),colors:qi("colors"),borders:qi("borders"),gradients:qi("gradients",aa.gradient),radii:qi("radii",aa.px),space:qi("space",Ji(aa.vh,aa.px)),spaceT:qi("space",Ji(aa.vh,aa.px)),degreeT:e=>({property:e,transform:aa.degree}),prop:(e,t,n)=>({property:e,scale:t,...t&&{transform:Hi({scale:t,transform:n})}}),propT:(e,t)=>({property:e,transform:t}),sizes:qi("sizes",Ji(aa.vh,aa.px)),sizesT:qi("sizes",Ji(aa.vh,aa.fraction)),shadows:qi("shadows"),logical:function(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Ki(t),transform:n?Hi({scale:n,compose:r}):r}},blur:qi("blur",aa.blur)},la={background:sa.colors("background"),backgroundColor:sa.colors("backgroundColor"),backgroundImage:sa.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:aa.bgClip},bgSize:sa.prop("backgroundSize"),bgPosition:sa.prop("backgroundPosition"),bg:sa.colors("background"),bgColor:sa.colors("backgroundColor"),bgPos:sa.prop("backgroundPosition"),bgRepeat:sa.prop("backgroundRepeat"),bgAttachment:sa.prop("backgroundAttachment"),bgGradient:sa.gradients("backgroundImage"),bgClip:{transform:aa.bgClip}};Object.assign(la,{bgImage:la.backgroundImage,bgImg:la.backgroundImage});var da={border:sa.borders("border"),borderWidth:sa.borderWidths("borderWidth"),borderStyle:sa.borderStyles("borderStyle"),borderColor:sa.colors("borderColor"),borderRadius:sa.radii("borderRadius"),borderTop:sa.borders("borderTop"),borderBlockStart:sa.borders("borderBlockStart"),borderTopLeftRadius:sa.radii("borderTopLeftRadius"),borderStartStartRadius:sa.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:sa.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:sa.radii("borderTopRightRadius"),borderStartEndRadius:sa.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:sa.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:sa.borders("borderRight"),borderInlineEnd:sa.borders("borderInlineEnd"),borderBottom:sa.borders("borderBottom"),borderBlockEnd:sa.borders("borderBlockEnd"),borderBottomLeftRadius:sa.radii("borderBottomLeftRadius"),borderBottomRightRadius:sa.radii("borderBottomRightRadius"),borderLeft:sa.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:sa.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:sa.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:sa.borders(["borderLeft","borderRight"]),borderInline:sa.borders("borderInline"),borderY:sa.borders(["borderTop","borderBottom"]),borderBlock:sa.borders("borderBlock"),borderTopWidth:sa.borderWidths("borderTopWidth"),borderBlockStartWidth:sa.borderWidths("borderBlockStartWidth"),borderTopColor:sa.colors("borderTopColor"),borderBlockStartColor:sa.colors("borderBlockStartColor"),borderTopStyle:sa.borderStyles("borderTopStyle"),borderBlockStartStyle:sa.borderStyles("borderBlockStartStyle"),borderBottomWidth:sa.borderWidths("borderBottomWidth"),borderBlockEndWidth:sa.borderWidths("borderBlockEndWidth"),borderBottomColor:sa.colors("borderBottomColor"),borderBlockEndColor:sa.colors("borderBlockEndColor"),borderBottomStyle:sa.borderStyles("borderBottomStyle"),borderBlockEndStyle:sa.borderStyles("borderBlockEndStyle"),borderLeftWidth:sa.borderWidths("borderLeftWidth"),borderInlineStartWidth:sa.borderWidths("borderInlineStartWidth"),borderLeftColor:sa.colors("borderLeftColor"),borderInlineStartColor:sa.colors("borderInlineStartColor"),borderLeftStyle:sa.borderStyles("borderLeftStyle"),borderInlineStartStyle:sa.borderStyles("borderInlineStartStyle"),borderRightWidth:sa.borderWidths("borderRightWidth"),borderInlineEndWidth:sa.borderWidths("borderInlineEndWidth"),borderRightColor:sa.colors("borderRightColor"),borderInlineEndColor:sa.colors("borderInlineEndColor"),borderRightStyle:sa.borderStyles("borderRightStyle"),borderInlineEndStyle:sa.borderStyles("borderInlineEndStyle"),borderTopRadius:sa.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:sa.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:sa.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:sa.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(da,{rounded:da.borderRadius,roundedTop:da.borderTopRadius,roundedTopLeft:da.borderTopLeftRadius,roundedTopRight:da.borderTopRightRadius,roundedTopStart:da.borderStartStartRadius,roundedTopEnd:da.borderStartEndRadius,roundedBottom:da.borderBottomRadius,roundedBottomLeft:da.borderBottomLeftRadius,roundedBottomRight:da.borderBottomRightRadius,roundedBottomStart:da.borderEndStartRadius,roundedBottomEnd:da.borderEndEndRadius,roundedLeft:da.borderLeftRadius,roundedRight:da.borderRightRadius,roundedStart:da.borderInlineStartRadius,roundedEnd:da.borderInlineEndRadius,borderStart:da.borderInlineStart,borderEnd:da.borderInlineEnd,borderTopStartRadius:da.borderStartStartRadius,borderTopEndRadius:da.borderStartEndRadius,borderBottomStartRadius:da.borderEndStartRadius,borderBottomEndRadius:da.borderEndEndRadius,borderStartRadius:da.borderInlineStartRadius,borderEndRadius:da.borderInlineEndRadius,borderStartWidth:da.borderInlineStartWidth,borderEndWidth:da.borderInlineEndWidth,borderStartColor:da.borderInlineStartColor,borderEndColor:da.borderInlineEndColor,borderStartStyle:da.borderInlineStartStyle,borderEndStyle:da.borderInlineEndStyle});var ca={color:sa.colors("color"),textColor:sa.colors("color"),fill:sa.colors("fill"),stroke:sa.colors("stroke")},ua={boxShadow:sa.shadows("boxShadow"),mixBlendMode:!0,blendMode:sa.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:sa.prop("backgroundBlendMode"),opacity:!0};Object.assign(ua,{shadow:ua.boxShadow});var pa={filter:{transform:aa.filter},blur:sa.blur("--chakra-blur"),brightness:sa.propT("--chakra-brightness",aa.brightness),contrast:sa.propT("--chakra-contrast",aa.contrast),hueRotate:sa.degreeT("--chakra-hue-rotate"),invert:sa.propT("--chakra-invert",aa.invert),saturate:sa.propT("--chakra-saturate",aa.saturate),dropShadow:sa.propT("--chakra-drop-shadow",aa.dropShadow),backdropFilter:{transform:aa.backdropFilter},backdropBlur:sa.blur("--chakra-backdrop-blur"),backdropBrightness:sa.propT("--chakra-backdrop-brightness",aa.brightness),backdropContrast:sa.propT("--chakra-backdrop-contrast",aa.contrast),backdropHueRotate:sa.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:sa.propT("--chakra-backdrop-invert",aa.invert),backdropSaturate:sa.propT("--chakra-backdrop-saturate",aa.saturate)},ha={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:aa.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:sa.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:sa.space("gap"),rowGap:sa.space("rowGap"),columnGap:sa.space("columnGap")};Object.assign(ha,{flexDir:ha.flexDirection});var ga={gridGap:sa.space("gridGap"),gridColumnGap:sa.space("gridColumnGap"),gridRowGap:sa.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},fa={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:aa.outline},outlineOffset:!0,outlineColor:sa.colors("outlineColor")},ma={width:sa.sizesT("width"),inlineSize:sa.sizesT("inlineSize"),height:sa.sizes("height"),blockSize:sa.sizes("blockSize"),boxSize:sa.sizes(["width","height"]),minWidth:sa.sizes("minWidth"),minInlineSize:sa.sizes("minInlineSize"),minHeight:sa.sizes("minHeight"),minBlockSize:sa.sizes("minBlockSize"),maxWidth:sa.sizes("maxWidth"),maxInlineSize:sa.sizes("maxInlineSize"),maxHeight:sa.sizes("maxHeight"),maxBlockSize:sa.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,o;return{[`@media screen and (min-width: ${null!=(o=null==(r=null==(n=t.__breakpoints)?void 0:n.get(e))?void 0:r.minW)?o:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,o;return{[`@media screen and (max-width: ${null!=(o=null==(r=null==(n=t.__breakpoints)?void 0:n.get(e))?void 0:r._minW)?o:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:sa.propT("float",aa.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ma,{w:ma.width,h:ma.height,minW:ma.minWidth,maxW:ma.maxWidth,minH:ma.minHeight,maxH:ma.maxHeight,overscroll:ma.overscrollBehavior,overscrollX:ma.overscrollBehaviorX,overscrollY:ma.overscrollBehaviorY});var ya={listStyleType:!0,listStylePosition:!0,listStylePos:sa.prop("listStylePosition"),listStyleImage:!0,listStyleImg:sa.prop("listStyleImage")},ba=(e=>{const t=new WeakMap;return(n,r,o,i)=>{if(typeof n>"u")return e(n,r,o);t.has(n)||t.set(n,new Map);const a=t.get(n);if(a.has(r))return a.get(r);const s=e(n,r,o,i);return a.set(r,s),s}})((function(e,t,n,r){const o="string"==typeof t?t.split("."):[t];for(r=0;r{const r={},o=ba(e,t,{});for(const i in o)i in n&&null!=n[i]||(r[i]=o[i]);return r},Sa={srOnly:{transform:e=>!0===e?va:"focusable"===e?wa:{}},layerStyle:{processResult:!0,transform:(e,t,n)=>xa(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>xa(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>xa(t,e,n)}},ka={position:!0,pos:sa.prop("position"),zIndex:sa.prop("zIndex","zIndices"),inset:sa.spaceT("inset"),insetX:sa.spaceT(["left","right"]),insetInline:sa.spaceT("insetInline"),insetY:sa.spaceT(["top","bottom"]),insetBlock:sa.spaceT("insetBlock"),top:sa.spaceT("top"),insetBlockStart:sa.spaceT("insetBlockStart"),bottom:sa.spaceT("bottom"),insetBlockEnd:sa.spaceT("insetBlockEnd"),left:sa.spaceT("left"),insetInlineStart:sa.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:sa.spaceT("right"),insetInlineEnd:sa.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(ka,{insetStart:ka.insetInlineStart,insetEnd:ka.insetInlineEnd});var Na={ring:{transform:aa.ring},ringColor:sa.colors("--chakra-ring-color"),ringOffset:sa.prop("--chakra-ring-offset-width"),ringOffsetColor:sa.colors("--chakra-ring-offset-color"),ringInset:sa.prop("--chakra-ring-inset")},Ra={margin:sa.spaceT("margin"),marginTop:sa.spaceT("marginTop"),marginBlockStart:sa.spaceT("marginBlockStart"),marginRight:sa.spaceT("marginRight"),marginInlineEnd:sa.spaceT("marginInlineEnd"),marginBottom:sa.spaceT("marginBottom"),marginBlockEnd:sa.spaceT("marginBlockEnd"),marginLeft:sa.spaceT("marginLeft"),marginInlineStart:sa.spaceT("marginInlineStart"),marginX:sa.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:sa.spaceT("marginInline"),marginY:sa.spaceT(["marginTop","marginBottom"]),marginBlock:sa.spaceT("marginBlock"),padding:sa.space("padding"),paddingTop:sa.space("paddingTop"),paddingBlockStart:sa.space("paddingBlockStart"),paddingRight:sa.space("paddingRight"),paddingBottom:sa.space("paddingBottom"),paddingBlockEnd:sa.space("paddingBlockEnd"),paddingLeft:sa.space("paddingLeft"),paddingInlineStart:sa.space("paddingInlineStart"),paddingInlineEnd:sa.space("paddingInlineEnd"),paddingX:sa.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:sa.space("paddingInline"),paddingY:sa.space(["paddingTop","paddingBottom"]),paddingBlock:sa.space("paddingBlock")};Object.assign(Ra,{m:Ra.margin,mt:Ra.marginTop,mr:Ra.marginRight,me:Ra.marginInlineEnd,marginEnd:Ra.marginInlineEnd,mb:Ra.marginBottom,ml:Ra.marginLeft,ms:Ra.marginInlineStart,marginStart:Ra.marginInlineStart,mx:Ra.marginX,my:Ra.marginY,p:Ra.padding,pt:Ra.paddingTop,py:Ra.paddingY,px:Ra.paddingX,pb:Ra.paddingBottom,pl:Ra.paddingLeft,ps:Ra.paddingInlineStart,paddingStart:Ra.paddingInlineStart,pr:Ra.paddingRight,pe:Ra.paddingInlineEnd,paddingEnd:Ra.paddingInlineEnd});var _a={textDecorationColor:sa.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:sa.shadows("textShadow")},Ta={clipPath:!0,transform:sa.propT("transform",aa.transform),transformOrigin:!0,translateX:sa.spaceT("--chakra-translate-x"),translateY:sa.spaceT("--chakra-translate-y"),skewX:sa.degreeT("--chakra-skew-x"),skewY:sa.degreeT("--chakra-skew-y"),scaleX:sa.prop("--chakra-scale-x"),scaleY:sa.prop("--chakra-scale-y"),scale:sa.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:sa.degreeT("--chakra-rotate")},Ca={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:sa.prop("transitionDuration","transition.duration"),transitionProperty:sa.prop("transitionProperty","transition.property"),transitionTimingFunction:sa.prop("transitionTimingFunction","transition.easing")},ja={fontFamily:sa.prop("fontFamily","fonts"),fontSize:sa.prop("fontSize","fontSizes",aa.px),fontWeight:sa.prop("fontWeight","fontWeights"),lineHeight:sa.prop("lineHeight","lineHeights"),letterSpacing:sa.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(!0===e)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},La={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:sa.spaceT("scrollMargin"),scrollMarginTop:sa.spaceT("scrollMarginTop"),scrollMarginBottom:sa.spaceT("scrollMarginBottom"),scrollMarginLeft:sa.spaceT("scrollMarginLeft"),scrollMarginRight:sa.spaceT("scrollMarginRight"),scrollMarginX:sa.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:sa.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:sa.spaceT("scrollPadding"),scrollPaddingTop:sa.spaceT("scrollPaddingTop"),scrollPaddingBottom:sa.spaceT("scrollPaddingBottom"),scrollPaddingLeft:sa.spaceT("scrollPaddingLeft"),scrollPaddingRight:sa.spaceT("scrollPaddingRight"),scrollPaddingX:sa.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:sa.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function Aa(e){return Bi(e)&&e.reference?e.reference:String(e)}var Oa=(e,...t)=>t.map(Aa).join(` ${e} `).replace(/calc/g,""),Ea=(...e)=>`calc(${Oa("+",...e)})`,Ma=(...e)=>`calc(${Oa("-",...e)})`,Pa=(...e)=>`calc(${Oa("*",...e)})`,Ia=(...e)=>`calc(${Oa("/",...e)})`,$a=e=>{const t=Aa(e);return null==t||Number.isNaN(parseFloat(t))?Pa(t,-1):String(t).startsWith("-")?String(t).slice(1):`-${t}`},za=Object.assign((e=>({add:(...t)=>za(Ea(e,...t)),subtract:(...t)=>za(Ma(e,...t)),multiply:(...t)=>za(Pa(e,...t)),divide:(...t)=>za(Ia(e,...t)),negate:()=>za($a(e)),toString:()=>e.toString()})),{add:Ea,subtract:Ma,multiply:Pa,divide:Ia,negate:$a});function Ba(e){if(null==e)return e;const{unitless:t}=function(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}(e);return t||"number"==typeof e?`${e}px`:e}function Da(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${Ba(e)})`),t&&n.push("and",`(max-width: ${Ba(t)})`),n.join(" ")}var Ga=(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,Fa=(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,Wa=(e,t)=>`${e}:focus-visible ${t}`,Ua=(e,t)=>`${e}:focus-within ${t}`,Va=(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,Ha=(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,Ja=(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,qa=(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,Ka=(e,t)=>`${e}:placeholder-shown ${t}`,Ya=e=>Za((t=>e(t,"&")),"[role=group]","[data-group]",".group"),Qa=e=>Za((t=>e(t,"~ &")),"[data-peer]",".peer"),Za=(e,...t)=>t.map(e).join(", "),Xa={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Ya(Ga),_peerHover:Qa(Ga),_groupFocus:Ya(Fa),_peerFocus:Qa(Fa),_groupFocusVisible:Ya(Wa),_peerFocusVisible:Qa(Wa),_groupActive:Ya(Va),_peerActive:Qa(Va),_groupDisabled:Ya(Ha),_peerDisabled:Qa(Ha),_groupInvalid:Ya(Ja),_peerInvalid:Qa(Ja),_groupChecked:Ya(qa),_peerChecked:Qa(qa),_groupFocusWithin:Ya(Ua),_peerFocusWithin:Qa(Ua),_peerPlaceholderShown:Qa(Ka),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},es=Object.keys(Xa),ts=Wi({},la,da,ca,ha,ma,pa,Na,fa,ga,Sa,ka,ua,Ra,La,ja,_a,Ta,ya,Ca);Object.assign({},Ra,ma,ha,ga,ka);var ns=[...Object.keys(ts),...es],rs={...ts,...Xa},os=(e,t)=>e.startsWith("--")&&"string"==typeof t&&!function(e){return/^var\(--.+\)$/.test(e)}(t),is=(e,t)=>{var n,r;if(null==t)return t;const o=t=>{var n,r;return null==(r=null==(n=e.__cssMap)?void 0:n[t])?void 0:r.varRef},i=e=>{var t;return null!=(t=o(e))?t:e},[a,s]=function(e){const t=[];let n="",r=!1;for(let o=0;o{var a,s,l;const d=Di(e,r),c=(e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:o}=t.__breakpoints,i={};for(const a in e){let s=Di(e[a],t);if(null==s)continue;if(s=Bi(s)&&n(s)?r(s):s,!Array.isArray(s)){i[a]=s;continue}const l=s.slice(0,o.length).length;for(let e=0;e{Wi(s,{[e]:c?g[e]:{[h]:g[e]}})}));continue}if(!u){c?Wi(s,g):s[h]=g;continue}s[h]=g}}return s}}function ds(e){return function(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}(e,["styleConfig","size","variant","colorScheme"])}var cs=typeof Element<"u",us="function"==typeof Map,ps="function"==typeof Set,hs="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function gs(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,o,i;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!gs(e[r],t[r]))return!1;return!0}if(us&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;for(i=e.entries();!(r=i.next()).done;)if(!gs(r.value[1],t.get(r.value[0])))return!1;return!0}if(ps&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(hs&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof t.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof t.toString)return e.toString()===t.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;if(cs&&e instanceof Element)return!1;for(r=n;0!=r--;)if(("_owner"!==o[r]&&"__v"!==o[r]&&"__o"!==o[r]||!e.$$typeof)&&!gs(e[o[r]],t[o[r]]))return!1;return!0}return e!=e&&t!=t}const fs=li((function(e,t){try{return gs(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}));function ms(e,t={}){var n;const{styleConfig:r,...o}=t,{theme:i,colorMode:a}=$i(),s=e?G(i,`components.${e}`):void 0,l=r||s,d=F({theme:i,colorMode:a},null!=(n=null==l?void 0:l.defaultProps)?n:{},W(m(o,["children"]))),c=Me.useRef({});if(l){const e=function(e){return t=>{var n;const{variant:r,size:o,theme:i}=t,a=ls(i);return Wi({},Di(null!=(n=e.baseStyle)?n:{},t),a(e,"sizes",o,t),a(e,"variants",r,t))}}(l)(d);fs(c.current,e)||(c.current=e)}return c.current}var ys=new Set([...ns,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),bs=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function vs(e){return bs.has(e)||!ys.has(e)}var ws,xs=null!=(ws=u.default)?ws:u,Ss=({baseStyle:e})=>t=>{const{theme:n,css:r,__css:o,sx:i,...a}=t,s=U(a,((e,t)=>(e=>e in rs)(t))),l=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(null!=r)for(const e in r)Object.prototype.hasOwnProperty.call(r,e)&&(e in n&&delete n[e],n[e]=r[e]);return n}({},o,p(e,t),W(s),i),d=(e=>t=>as({theme:t,pseudos:Xa,configs:ts})(e))(l)(t.theme);return r?[d,r]:d};function ks(e,t){const{baseStyle:n,...r}=null!=t?t:{};r.shouldForwardProp||(r.shouldForwardProp=vs);const o=Ss({baseStyle:n}),i=xs(e,r)(o);return Pe.forwardRef((function(e,t){const{colorMode:n,forced:r}=Ii();return Pe.createElement(i,{ref:t,"data-theme":r?n:void 0,...e})}))}var Ns=function(){const e=new Map;return new Proxy(ks,{apply:(e,t,n)=>ks(...n),get:(t,n)=>(e.has(n)||e.set(n,ks(n)),e.get(n))})}();function Rs(e){return Me.forwardRef(e)}var _s={path:pi.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[pi.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),pi.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),pi.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},Ts=Rs(((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:i=!1,children:a,className:s,__css:l,...d}=e,c=zi("chakra-icon",s),u=function(e,t={}){return ms(e,t)}("Icon",e),p={ref:t,focusable:i,className:c,__css:{w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...l,...u}},h=null!=r?r:_s.viewBox;if(n&&"string"!=typeof n)return pi.jsx(Ns.svg,{as:n,...p,...d});const g=null!=a?a:_s.path;return pi.jsx(Ns.svg,{verticalAlign:"middle",viewBox:h,...p,...d,children:g})}));Ts.displayName="Icon",Rs((function(e,t){const{spacing:n="0.5rem",spacingX:r,spacingY:o,children:i,justify:a,direction:s,align:l,className:d,shouldWrapChildren:c,...u}=e,p=Me.useMemo((()=>c?Me.Children.map(i,((e,t)=>pi.jsx(Cs,{children:e},t))):i),[i,c]);return pi.jsx(Ns.div,{ref:t,className:zi("chakra-wrap",d),...u,children:pi.jsx(Ns.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:a,alignItems:l,flexDirection:s,listStyleType:"none",gap:n,columnGap:r,rowGap:o,padding:"0"},children:p})})})).displayName="Wrap";var Cs=Rs((function(e,t){const{className:n,...r}=e;return pi.jsx(Ns.li,{ref:t,__css:{display:"flex",alignItems:"flex-start"},className:zi("chakra-wrap__listitem",n),...r})}));Cs.displayName="WrapItem";var js=Ns("div");js.displayName="Box";var Ls=Rs((function(e,t){const{size:n,centerContent:r=!0,...o}=e,i=r?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return pi.jsx(js,{ref:t,boxSize:n,__css:{...i,flexShrink:0,flexGrow:0},...o})}));Ls.displayName="Square",Rs((function(e,t){const{size:n,...r}=e;return pi.jsx(Ls,{size:n,ref:t,borderRadius:"9999px",...r})})).displayName="Circle";var As=Rs((function(e,t){const{direction:n,align:r,justify:o,wrap:i,basis:a,grow:s,shrink:l,...d}=e,c={display:"flex",flexDirection:n,alignItems:r,justifyContent:o,flexWrap:i,flexBasis:a,flexGrow:s,flexShrink:l};return pi.jsx(Ns.div,{ref:t,__css:c,...d})}));As.displayName="Flex";const Os=e=>{const{getEmptyStateProps:t}=gi(),n=t(pi.jsx(As,{...Es,children:"No options found!"}));return pi.jsx(js,{...e,children:n})},Es={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ms=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Ps=c(((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:i,isLoading:a}=gi(),s=g(t,i),[l,d]=(e=>{const t=Pe.Children.map(e,((t,n)=>{var r;if("AutoCompleteGroup"===(null==(r=null==t?void 0:t.type)?void 0:r.displayName)){const r=Pe.Children.toArray(e)[n+1];return Pe.cloneElement(t,{groupSibling:!!r&&"AutoCompleteGroup"===r.type.displayName})}return t})),n=Pe.Children.toArray(t).filter((e=>{var t;return!Ms.includes(null==(t=null==e?void 0:e.type)?void 0:t.displayName)}));return[Pe.Children.toArray(t).filter((e=>{var t;return Ms.includes(null==(t=null==e?void 0:e.type)?void 0:t.displayName)})),n]})(n);return pi.jsxs(C,{ref:s,w:"inherit",...Is,...o,children:[a&&pi.jsx(j,{children:r||pi.jsx(k,{size:"md"})}),!a&&pi.jsxs(pi.Fragment,{children:[l,pi.jsx(Os,{}),d]})]})}));Ps.displayName="AutoCompleteList";const Is={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}};var[$s,zs]=function(e={}){const{name:t,strict:n=!0,hookName:r="useContext",providerName:o="Provider",errorMessage:i,defaultValue:a}=e,s=Me.createContext(a);return s.displayName=t,[s.Provider,function e(){var t;const a=Me.useContext(s);if(!a&&n){const n=new Error(null!=i?i:function(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}(r,o));throw n.name="ContextError",null==(t=Error.captureStackTrace)||t.call(Error,n,e),n}return a},s]}({name:"TagStylesContext",errorMessage:"useTagStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Bs=Rs(((e,t)=>{const n=function(e,t={}){return ms(e,t)}("Tag",e),r=ds(e),o={display:"inline-flex",verticalAlign:"top",alignItems:"center",maxWidth:"100%",...n.container};return pi.jsx($s,{value:n,children:pi.jsx(Ns.span,{ref:t,...r,__css:o})})}));Bs.displayName="Tag";var Ds=Rs(((e,t)=>{const n=zs();return pi.jsx(Ns.span,{ref:t,noOfLines:1,...e,__css:n.label})}));Ds.displayName="TagLabel",Rs(((e,t)=>pi.jsx(Ts,{ref:t,verticalAlign:"top",marginEnd:"0.5rem",...e}))).displayName="TagLeftIcon",Rs(((e,t)=>pi.jsx(Ts,{ref:t,verticalAlign:"top",marginStart:"0.5rem",...e}))).displayName="TagRightIcon";var Gs=e=>pi.jsx(Ts,{verticalAlign:"inherit",viewBox:"0 0 512 512",...e,children:pi.jsx("path",{fill:"currentColor",d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})});Gs.displayName="TagCloseIcon";var Fs=Rs(((e,t)=>{const{isDisabled:n,children:r,...o}=e,i={display:"flex",alignItems:"center",justifyContent:"center",outline:"0",...zs().closeButton};return pi.jsx(Ns.button,{ref:t,"aria-label":"close",...o,type:"button",disabled:n,__css:i,children:r||pi.jsx(Gs,{})})}));Fs.displayName="TagCloseButton",Me.memo((e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return pi.jsx(Cs,{children:pi.jsxs(Bs,{borderRadius:"md",fontWeight:"normal",...r&&Ws,...o,children:[pi.jsx(Ds,{children:t}),pi.jsx(Fs,{onClick:()=>!r&&p(n),cursor:"pointer",...r&&Ws})]})})}));const Ws={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};var Us=function(){return Us=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},qs=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},el=e("b1",Me.forwardRef((function(e,t){var n=e.validator,r=e.onDebouncedChange,o=e.delay,a=e.optionList,s=e.defaultValue;e.onChange;var l=Zs(e,["validator","onDebouncedChange","delay","optionList","defaultValue","onChange"]),d=Me.useRef(null),c=g(d,t),u=Me.useRef("datalist-"+(new Date).valueOf()),p=Xs(Me.useState(!1),2),h=p[0],f=p[1],m=Me.useRef();return Me.useEffect((function(){d.current&&(d.current.value=(null==s?void 0:s.toString())||"")}),[s]),i.jsxs(i.Fragment,{children:[i.jsx(x,Qs({ref:c,list:u.current,variant:"flushed",size:"sm",h:6,onChange:function(e){var t=e.target.value;window.clearTimeout(m.current),n&&f(!n(t)),m.current=window.setTimeout((function(){null==r||r(t),m.current=void 0}),null!=o?o:500)},onBlur:function(e){var t=e.target.value;void 0!==m.current&&(window.clearTimeout(m.current),n&&f(!n(t)),null==r||r(t),m.current=void 0)},isInvalid:h},l)),a&&i.jsx("datalist",{id:u.current,children:null==a?void 0:a.map((function(e,t){return i.jsx("option",{children:e},t)}))})]})}))),tl=function(){return tl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},il=function(e){switch(e){case nt.DEV:return"red";case nt.UAT:return"orange";case nt.PRD:return"green"}},al=function(e,t,n){var r=new Blob([n],{type:t});sl(e,r)},sl=function(e,t){var n=window.URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n)},ll=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function dl(e){var t=e.cancelRef,n=e.isOpen,r=e.onClose,o=ll(Me.useState(!1),2),a=o[0],s=o[1];return i.jsxs(te,{leastDestructiveRef:t,isOpen:n,onClose:r,children:[i.jsx(ne,{}),i.jsxs(re,{children:[i.jsx(oe,{children:"Warning 警告"}),i.jsx(ie,{}),i.jsxs(ae,{sx:{"& p":{my:1}},children:[i.jsx(se,{children:"Are you sure you want to reset the app? The webpage local storage for this app will be cleared. A copy of the local storage will be downloaded and it may be used for restoration (varies with app)."}),i.jsx(se,{children:"確定重設該應用程式嗎?應用程式的網頁本地儲存將會被清除。本地儲存的副本可供下載及用於復原(因應用程式而異)。"}),i.jsx(se,{children:"确定重置本应用程序吗?应用程序的网页本地存储将会被清除。本地存储的拷贝可供下载以及用于还原(因应用程序而異)。"})]}),i.jsxs(le,{children:[i.jsx(J,{ref:t,onClick:r,children:"Cancel"}),i.jsx(J,{isLoading:a,colorScheme:"red",ml:3,onClick:function(){s(!0);var e=qn.storage.getAll(),t=qn.getAppName(),n="".concat(t,"_BACKUP_").concat((new Date).toISOString(),".json");al(n,"application/json",JSON.stringify(e)),qn.storage.clear(),setTimeout((function(){window.location.reload()}),2e3)},children:"Confirm and reload"})]})]})]})}var cl=function(){return cl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function hl(e){var t=e.error,n=e.errorInfo,o=e.allowReset,a=e.sx,s=ul(e,["error","errorInfo","allowReset","sx"]),l=r("RmgErrorBoundary"),d=de("primary.500","primary.300"),c=pl(Me.useState(!1),2),u=c[0],p=c[1],h=Me.useRef(null),g=function(e){return i.jsx(ce,{color:d,role:"button",onClick:function(){return p(!0)},children:e})},f=qn.getAppName(),m=i.jsx(ce,{color:d,href:"https://github.com/railmapgen/".concat(f,"/issues"),isExternal:!0,children:"GitHub Issue"});return i.jsxs(ue,cl({status:"error",sx:cl(cl({},l),a)},s,{children:[i.jsx(pe,{}),i.jsx(he,{children:"Something went wrong!"}),i.jsxs(ge,{children:[i.jsxs(se,{children:["Please try to refresh or re-import your configuration files. If the issue still persists, please consider upgrading your browser",o?i.jsxs(i.Fragment,{children:[" or ",g("reset this app")]}):"",". Should you need any help, please contact us by submitting an issue in ",m," with the details shown below."]}),i.jsxs(se,{children:["請嘗試重新整理或重新上載設定檔。如果問題仍然存在,請考慮更新你的瀏覽器",o?i.jsxs(i.Fragment,{children:["或",g("重設該應用程式")]}):"","。如需協助或與我們聯絡,請前往 ",m," 提交一個 Issue 並附以詳細資料。"]}),i.jsxs(se,{children:["请尝试刷新或者重新上传配置文件。如果问题仍然存在,请考虑更新您的浏览器",o?i.jsxs(i.Fragment,{children:["或者",g("重置本应用程序")]}):"","。如需帮助或者联系我们,请前往 ",m," 提交一个 Issue 并附上详细信息。"]}),i.jsxs(se,{as:"details",children:[null==t?void 0:t.toString(),i.jsx("br",{}),null==n?void 0:n.componentStack]}),o&&i.jsx(dl,{cancelRef:h,isOpen:u,onClose:function(){return p(!1)}})]})]}))}var gl,fl=(gl=function(e,t){return gl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},gl(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}gl(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),ml=function(){return ml=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Rl(e){var t=e.defaultValue,n=e.options,r=e.disabledOptions,o=kl(e,["defaultValue","options","disabledOptions"]),a=Me.useRef(null);Me.useEffect((function(){a.current&&(a.current.value=(null==t?void 0:t.toString())||"")}),[t]);var s=function(e,t){return i.jsx("option",{value:e,disabled:void 0!==(null==r?void 0:r.find((function(t){return t.toString()===e}))),children:t},e)};return i.jsx(ye,Sl({ref:a,variant:"flushed",size:"sm",h:6},o,{children:Object.entries(n).map((function(e){var t=Nl(e,2),n=t[0],r=t[1];return"object"==typeof r?i.jsx("optgroup",{label:n,children:Object.entries(r).map((function(e){var t=Nl(e,2),n=t[0],r=t[1];return s(n,r)}))},n):s(n,r)}))}))}var _l=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Tl=(e("u",(function(e,t,n){var r=_l(Me.useState(t()),2),o=r[0],i=r[1];return Me.useEffect((function(){e.then((function(){console.debug("[rmg-components] Getter updates finished"),i(t())}))}),[]),o})),function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}),Cl=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Al(e){var t=e.defaultValue,n=e.min,o=e.max,a=e.step,s=e.onThrottledChange,l=e.leftIcon,d=e.rightIcon,c=r("RmgThrottledSlider"),u=Ll(Me.useState(null!=t?t:0),2),p=u[0],h=u[1];Me.useEffect((function(){void 0!==t&&p!==t&&h(t)}),[t]);var g=jl(null!=s?s:function(){},500);return i.jsxs(y,{sx:c,children:[l&&i.jsx(be,{size:"xs",variant:"ghost","aria-label":"Drag left",icon:l,onClick:function(){var e=Math.max(p-10*(null!=a?a:1),null!=n?n:0);null==s||s(e),h(e)}}),i.jsxs(ve,{value:p,min:n,max:o,step:a,onChange:function(e){g(e),h(e)},children:[i.jsx(we,{children:i.jsx(xe,{})}),i.jsx(Se,{})]}),d&&i.jsx(be,{size:"xs",variant:"ghost","aria-label":"Drag right",icon:d,onClick:function(){var e=Math.min(p+10*(null!=a?a:1),null!=o?o:100);null==s||s(e),h(e)}})]})}var Ol=function(e){var t=e.children,n=e.noWrap,o=r("RmgOutput",{noWrap:n});return i.jsx(s.output,{sx:o,children:t})};function El(e){var t=e.fields,n=e.noLabel,r=e.minW;return i.jsx(y,{wrap:"wrap",children:t.map((function(e,t){if(e.hidden)return i.jsx(Me.Fragment,{},t);var o=e.minW||r,a="full"===o;return i.jsx(xl,{className:a?"mw-full":"",label:e.label,flex:a?void 0:1,minW:a?void 0:o,noLabel:n,oneLine:e.oneLine,children:function(e){switch(e.type){case"input":return i.jsx(el,{placeholder:e.placeholder,defaultValue:e.value,type:e.variant,validator:e.validator,onDebouncedChange:e.onChange,delay:e.debouncedDelay,optionList:e.optionList,isDisabled:e.isDisabled});case"output":return i.jsx(Ol,{noWrap:e.noWrap,children:e.value});case"textarea":return i.jsx(rl,{placeholder:e.placeholder,defaultValue:e.value,onDebouncedChange:e.onChange,isDisabled:e.isDisabled});case"slider":return i.jsx(Al,{defaultValue:e.value,min:e.min,max:e.max,step:e.step,onThrottledChange:e.onChange,leftIcon:e.leftIcon,rightIcon:e.rightIcon,isDisabled:e.isDisabled});case"select":return i.jsx(Rl,{defaultValue:e.value,onChange:function(t){var n,r=t.target.value;return null===(n=e.onChange)||void 0===n?void 0:n.call(e,"number"==typeof e.value?Number(r):r.toString())},options:e.options,disabledOptions:e.disabledOptions,isInvalid:e.isInvalid,isDisabled:e.isDisabled});case"switch":return i.jsx(ke,{isChecked:e.isChecked,isDisabled:e.isDisabled,onChange:function(t){var n,r=t.target.checked;return null===(n=e.onChange)||void 0===n?void 0:n.call(e,r)}});case"custom":return e.component;default:return i.jsx("div",{})}}(e)},t)}))})}var Ml=function(){return Ml=Object.assign||function(e){for(var t,n=1,r=arguments.length;n span:last-of-type":{position:"absolute",right:8}},"& .rmg-multi-select__icon-wrapper":{display:"inline-flex",justifyContent:"center",w:6,h:"100%",position:"absolute",right:2,top:0,fontSize:"xl","& svg":{h:"1em",w:"1em"}},"& .chakra-popover__content":{w:"unset",minW:200},"& .chakra-popover__body":{p:0,"li label":{p:2,w:"100%",_hover:{bg:"dark"===n?"whiteAlpha.200":"gray.100"},_active:{bg:"dark"===n?"whiteAlpha.300":"gray.200"}}}}}},Hl=function(){return Hl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n button:first-of-type":{ml:1}}},RmgLoader:{baseStyle:{w:"100%",h:"100%",position:"absolute",top:0,right:0,alignItems:"center",justifyContent:"center","& .rmg-loader__backdrop":{position:"absolute",w:"100%",h:"100%",zIndex:1500,bg:"blackAlpha.400"},"& .chakra-progress":{zIndex:2e3}}},RmgMultiSelect:Vl,RmgOutput:ql,RmgPage:{baseStyle:{position:"relative",flexDirection:"column",flex:1,overflow:"hidden",background:"inherit"}},RmgPageHeader:{baseStyle:{alignItems:"center",flexWrap:"wrap",pl:2,pr:3,py:1,zIndex:10}},RmgSection:{baseStyle:{position:"relative",background:"inherit"}},RmgSectionHeader:{baseStyle:{display:"flex",alignItems:"center",flexWrap:"wrap",position:"sticky",top:0,background:"inherit",px:2,py:1,zIndex:5}},RmgSidePanel:{baseStyle:function(e){var t=e.colorMode,n=e.width,r=e.alwaysOverlay;return{height:"100%",position:r?"absolute":{base:"absolute",lg:"relative"},right:r?0:{base:0,lg:"unset"},background:"light"===t?"white":"gray.800",boxShadow:"lg",flexShrink:0,flexDirection:"column",transition:"0.3s ease-in-out",maxW:0,visibility:"hidden",zIndex:5,"&.show-side-panel":{maxW:{base:"100%",sm:n},w:{base:"100%",sm:"unset"},visibility:"initial"},"& .rmg-side-panel__inner":{flexDirection:"column",h:"100%",w:{base:"100vw",sm:n}},"& .rmg-side-panel__header":{flexShrink:0,pl:3,pr:1,py:0,"& button":{ml:"auto"}},"& .rmg-side-panel__body":{display:"flex",flexDirection:"column",flex:1,overflowY:"auto",p:1},"& .rmg-side-panel__footer":{display:"flex",justifyContent:"flex-end",p:1}}}},RmgThrottledSlider:{baseStyle:{h:6,alignItems:"center","& .chakra-button:first-of-type":{mr:1},"& .chakra-button:last-of-type":{ml:1}}},RmgWindow:{baseStyle:{position:"relative",flexDirection:"column",height:"100%",overflow:"hidden",background:"inherit"}},RmgWindowHeader:{baseStyle:{px:2,alignItems:"center",zIndex:15,minH:10,transition:"0.3s ease-in-out"}}},Yl=function(){return Yl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n(e.RailMap="railmap",e.Platform="platform",e))(nd||{})),rd=e("aW",(e=>(e.Metro="metro",e.NationalRail="nationalrail",e.LightRail="lightrail",e.Footpath="footpath",e))(rd||{})),od=e("E",(e=>(e.APP_LOAD="APP_LOAD",e.ADD_STATION="ADD_STATION",e.ADD_LINE="ADD_LINE",e.IMPORT_RMG_PARAM="IMPORT_RMG_PARAM",e.IMPORT_WORK_FROM_GALLERY="IMPORT_WORK_FROM_GALLERY",e.DOWNLOAD_PARAM="DOWNLOAD_PARAM",e.DOWNLOAD_IMAGES="DOWNLOAD_IMAGES",e.LOAD_TUTORIAL="LOAD_TUTORIAL",e))(od||{})),id=e("K",(e=>(e.LOGIN_STATE="rmp__login_state",e.APP="rmp__app",e.PARAM="rmp__param",e.PARAM_BACKUP="rmp__param__backup",e.DO_NOT_SHOW_RMT_MSG="rmp__doNotShowRMTMsg",e.ACCOUNT="rmg-home__account",e))(id||{})),ad=e("C",(e=>(e.Other="other",e.Beijing="beijing",e.Berlin="berlin",e.Chongqing="chongqing",e.Foshan="foshan",e.Guangzhou="guangzhou",e.Hongkong="hongkong",e.Kunming="kunming",e.London="london",e.Qingdao="qingdao",e.Shanghai="shanghai",e.Shenzhen="shenzhen",e.Singapore="singapore",e.Suzhou="suzhou",e.Tokyo="tokyo",e))(ad||{})),sd=e("a3",(e=>(e.Shmetro="shmetro",e.Bjsubway="bjsubway",e))(sd||{}));e("aq","https://railmapgen.org/v1/randomStationNames");const ld={RMP_CLOUD:!1,RMP_EXPORT:!1},dd=Ie({name:"account",initialState:{state:"logged-out",activeSubscriptions:ld,token:void 0},reducers:{setState:(e,t)=>{e.state=t.payload},setActiveSubscriptions:(e,t)=>{e.activeSubscriptions=t.payload},setToken:(e,t)=>{e.token=t.payload}}}),{setState:cd,setActiveSubscriptions:ud,setToken:pd}=dd.actions,hd=dd.reducer;var gd;e("M",gd),function(e){e.black="#000",e.white="#fff"}(gd||e("M",gd={}));var fd=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(Hp){i(Hp)}}function s(e){try{l(r.throw(e))}catch(Hp){i(Hp)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};let md={};const yd=(e,t)=>fd(void 0,void 0,void 0,(function*(){return yield((e,t)=>fd(void 0,void 0,void 0,(function*(){if(e in md)return md[e];const n=yield fetch(e,t),r=yield n.json();return md[e]=r,r})))(`/rmg-palette/resources/palettes/${e}.json`,{signal:t})}));var bd=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(Hp){i(Hp)}}function s(e){try{l(r.throw(e))}catch(Hp){i(Hp)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};e("Y",((e,t,n)=>bd(void 0,void 0,void 0,(function*(){const[t,n]=e;if("other"===t)return e;try{const r=(yield yd(t)).find((e=>e.id===n));return r?[t,n,r.colour,r.fg||gd.white]:(console.warn(`[rmg-palette] updateTheme(${t}, ${n}), line does not exist, returning old theme`),e)}catch(Hp){throw console.error(`[rmg-palette] updateTheme(${t}, ${n}), unexpected error occurs`,Hp),Hp}})))),e("ax",(e=>{const t=e.currentTarget.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}})),e("U",((e,t,n,r)=>({x:e*n/100+r.x,y:t*n/100+r.y}))),e("aB",((e,t)=>Math.round(e/t)*t)),e("e",(e=>{let[t,n,r,o]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return e.forEachNode(((e,i)=>{const a=document.getElementById(e);if(a){const e=vd(a);t=Math.min(e.x,t),n=Math.min(e.y,n),r=Math.max(e.x+e.width,r),o=Math.max(e.y+e.height,o)}})),t-=50,n-=50,r+=100,o+=100,{xMin:t,yMin:n,xMax:r,yMax:o}})),e("p",(e=>{var t,n;return{width:(null!==(t=e.width)&&void 0!==t?t:720)-40,height:(null!==(n=e.height)&&void 0!==n?n:1280)-40}}));const vd=e=>{const t=e.getBBox(),n=e.ownerSVGElement,r=e.parentNode.getScreenCTM().inverse().multiply(e.getScreenCTM()),o=[n.createSVGPoint(),n.createSVGPoint(),n.createSVGPoint(),n.createSVGPoint()];o[0].x=t.x,o[0].y=t.y,o[1].x=t.x+t.width,o[1].y=t.y,o[2].x=t.x+t.width,o[2].y=t.y+t.height,o[3].x=t.x,o[3].y=t.y+t.height;let[i,a,s,l]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return o.forEach((e=>{e=e.matrixTransform(r),i=Math.min(i,e.x),s=Math.max(s,e.x),a=Math.min(a,e.y),l=Math.max(l,e.y)})),t.x=i,t.width=s-i,t.y=a,t.height=l-a,t},wd=(e("a9",navigator.platform.startsWith("Mac")),async(e,t="SHA-256")=>{const n=(new TextEncoder).encode(e),r=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")});e("b3",(()=>`#${Math.floor(16777215*Math.random()).toString(16).padStart(6,"0")}`)),e("b4",(e=>(299*parseInt(e.slice(1,3),16)+587*parseInt(e.slice(3,5),16)+114*parseInt(e.slice(5,7),16))/1e3>=128?gd.black:gd.white));var xd=e("J",(e=>(e.SAVE_CHANGED="SAVE_CHANGED",e.TOKEN_REQUEST="TOKEN_REQUEST",e))(xd||{}));const Sd=e("B",new BroadcastChannel("rmt-save-manager"));let kd,Nd;const Rd=e("_",(async()=>{Kn.debug("Requesting token from RMT"),Sd.postMessage({type:"TOKEN_REQUEST",from:"rmp"})})),_d=e=>{var t;const n=t=>{if(!t)return Kn.debug("Account string is empty, logging out"),e.dispatch(pd(void 0)),e.dispatch(cd("logged-out")),void e.dispatch(ud(ld));const n=JSON.parse(t),{token:r}=n;(async(e,t)=>{Kn.debug(`Updating token to: ${t}`),e.dispatch(pd(t))})(e,r),(async(e,t)=>{const n=await fetch("https://railmapgen.org/v1/subscription",{headers:{accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(200!==n.status)return Kn.debug("Token is invalid, expiring the login state"),e.dispatch(cd("expired")),void e.dispatch(ud(ld));e.dispatch(cd("free"));const r=(await n.json()).subscriptions,o=structuredClone(ld);for(const i of r){const t=i.type;t in o&&(e.dispatch(cd("subscriber")),o[t]=!0)}e.dispatch(ud(o)),Kn.debug(`Token is valid, setting active subscriptions: ${JSON.stringify(o)}`)})(e,r)};let r=localStorage.getItem(id.ACCOUNT);n(null!==(t=r)&&void 0!==t?t:void 0),window.onstorage=()=>{const e=localStorage.getItem(id.ACCOUNT);r!==e&&(r=e,Kn.debug(`Account string changed to: ${e}`),n(null!=e?e:void 0))}};let Td=e("n",((e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[e]];return t}));var Cd=e("k",(e=>(e.Diagonal="diagonal",e.Perpendicular="perpendicular",e.RotatePerpendicular="ro-perp",e.Simple="simple",e))(Cd||{})),jd=e("o",(e=>(e.SingleColor="single-color",e.ShanghaiSuburbanRailway="sh-sub-rwy",e.ShmetroVirtualInt="shmetro-virtual-int",e.GzmtrVirtualInt="gzmtr-virtual-int",e.GZMTRLoop="gzmtr-loop",e.ChinaRailway="china-railway",e.BjsubwaySingleColor="bjsubway-single-color",e.BjsubwayTram="bjsubway-tram",e.BjsubwayDotted="bjsubway-dotted",e.DualColor="dual-color",e.River="river",e.MTRRaceDays="mtr-race-days",e.MTRLightRail="mtr-light-rail",e.MTRUnpaidArea="mtr-unpaid-area",e.MTRPaidArea="mtr-paid-area",e.MRTUnderConstruction="mrt-under-constr",e.MRTSentosaExpress="mrt-sentosa-express",e.JREastSingleColor="jr-east-single-color",e.JREastSingleColorPattern="jr-east-single-color-pattern",e.LRTSingleColor="lrt-single-color",e.LondonTubeTerminal="london-tube-terminal",e.LondonTubeInternalInt="london-tube-internal-int",e.LondonTube10MinWalk="london-tube-10-min-walk",e.LondonRail="london-rail",e.LondonSandwich="london-sandwich",e.LondonLutonAirportDART="london-DART",e.LondonIFSCloudCableCar="london-dangleway",e.GuangdongIntercityRailway="gd-intercity-rwy",e))(jd||{}));e("L",["single-color","bjsubway-single-color","bjsubway-tram","bjsubway-dotted","china-railway","mtr-race-days","mtr-light-rail","mrt-under-constr","jr-east-single-color","jr-east-single-color-pattern","lrt-single-color","london-sandwich","london-DART","london-dangleway"]);const Ld={offset:0},Ad={generatePath:(e,t,n,r,o=Ld)=>{const{offset:i=Ld.offset}=o,a=Math.abs((r-n)/(t-e));if(a===1/0)return`M ${e+i} ${n} L ${t+i} ${r}`;if(0===a)return`M ${e} ${n+i} L ${t} ${r+i}`;{const o=1/a,s=i/Math.sqrt(o*o+1),l=s*o*-Math.sign((t-e)*(r-n));return`M ${e+s} ${n+l} L ${t+s} ${r+l}`}},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M6,18L18,6",stroke:"currentColor",fill:"none"})}),defaultAttrs:Ld,attrsComponent:e=>{var t;const{id:n,attrs:r,handleAttrsUpdate:o}=e,{t:a}=$e(),s=[{type:"input",label:a("panel.details.lines.simple.offset"),value:(null!==(t=r.offset)&&void 0!==t?t:Ld.offset).toString(),variant:"number",onChange:e=>{r.offset=Number(e),o(n,r)},minW:"full"}];return i.jsx(El,{fields:s})},metadata:{displayName:"panel.details.lines.simple.displayName"}},Od=(e("aT",{translateX:0,translateY:0,scale:1,rotate:0}),e("aD",3));var Ed=e("av",(e=>(e.Virtual="virtual",e.ShmetroNumLineBadge="shmetro-num-line-badge",e.ShmetroTextLineBadge="shmetro-text-line-badge",e.GzmtrLineBadge="gzmtr-line-badge",e.BjsubwayNumLineBadge="bjsubway-num-line-badge",e.BjsubwayTextLineBadge="bjsubway-text-line-badge",e.SuzhouRTNumLineBadge="suzhourt-num-line-badge",e.BerlinSBahnLineBadge="berlin-s-bahn-line-badge",e.BerlinUBahnLineBadge="berlin-u-bahn-line-badge",e.ChongqingRTNumLineBadge="chongqingrt-num-line-badge",e.ChongqingRTTextLineBadge="chongqingrt-text-line-badge",e.ShenzhenMetroNumLineBadge="shenzhen-metro-num-line-badge",e.MRTDestinationNumbers="mrt-num-line-badge",e.JREastLineBadge="jr-east-line-badge",e.QingdaoMetroNumLineBadge="qingdao-metro-num-line-badge",e.MRTLineBadge="mrt-line-badge",e.GuangdongIntercityRailwayLineBadge="gd-intercity-rwy-line-badge",e.LondonArrow="london-arrow",e.Facilities="facilities",e.Text="text",e.I18nText="i18n-text",e.Master="master",e))(Ed||{})),Md={en:{},"zh-Hans":{Action:"操作",Apps:"应用程序","Back to list":"返回列表","Background colour":"背景色",Black:"黑",Cancel:"取消",City:"城市",Components:"组件","Configuration file":"配置文件",Confirm:"确定",Continue:"继续","Country/Region":"国家/地区",Copy:"复制",Edit:"编辑","Foreground colour":"前景色","Go back":"返回",Language:"语言/Language",Justification:"理由",Name:"名称",Next:"下一步",Open:"打开",Palette:"调色板","Please select...":"请选择...",Previous:"上一步","Rail Map Generator":"铁路线路图生成器","Rail Map Painter":"地铁线路图绘制器","Rail Map Toolkit":"线路图工具包",Remove:"删除",Reset:"重置","RMG Templates":"RMG 模板","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 设计师","Seed Project":"种子项目",Settings:"设置",Submit:"提交",Translate:"翻译",Upload:"上传",White:"白"},"zh-Hant":{Action:"動作",Apps:"應用程式","Back to list":"返回列表","Background colour":"背景色",Black:"黑",Cancel:"取消",City:"城市",Components:"元件","Configuration file":"設定檔",Confirm:"確定",Continue:"繼續",Copy:"複製","Country/Region":"國家/地區",Edit:"編輯","Foreground colour":"前景色","Go back":"返回",Language:"語言/Language",Justification:"理由",Name:"名稱",Next:"下一步",Open:"開啟",Palette:"調色盤","Please select...":"請選擇...",Previous:"上一步","Rail Map Generator":"鐵路路綫圖產生器","Rail Map Painter":"地鐵路綫圖繪製器","Rail Map Toolkit":"路綫圖工具組",Remove:"移除",Reset:"重設","RMG Templates":"RMG 範本","RMP Gallery":"RMP 畫廊","RMP Designer":"RMP 設計師","Seed Project":"種子項目",Settings:"設定",Submit:"提交",Translate:"翻譯",Upload:"上載",White:"白"},ja:{Language:"言語/Language",Palette:"調色板","Rail Map Generator":"鉄道路線図ジェネレータ","Rail Map Painter":"鉄道路線図画家","Rail Map Toolkit":"路線図ツールキット",Remove:"削除","RMG Templates":"RMG テンプレート","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 図案家"},ko:{Action:"조작",Apps:"앱","Back to list":"다시 목록으로","Background colour":"배경색",Black:"블랙",Cancel:"취소",City:"도시",Components:"요소","Configuration file":"환경 설정 파일",Confirm:"확인",Copy:"복사","Country/Region":"국가/지역",Edit:"편집","Foreground colour":"전경색","Go back":"되돌아가",Language:"언어/Language",Justification:"이유",Name:"명칭",Next:"다음",Open:"열기",Palette:"팔레트","Please select...":"선택해주세요",Previous:"나아가","Rail Map Generator":"철도 노선도 생성기","Rail Map Painter":"지하철 노선도 그리기","Rail Map Toolkit":"노선도 툴킷",Remove:"삭제",Reset:"리셋","RMG Templates":"RMG 템플릿","RMP Gallery":"RMP 갤러리","RMP Designer":"RMP 디자이너","Seed Project":"종자 프로젝트",Settings:"설치",Submit:"제출",Translate:"번역",Upload:"업로드",White:"화이트"}};const Pd={color:"Color",warning:"Warning",cancel:"Cancel",apply:"Apply",remove:"Remove",close:"Close",noShowAgain:"Don't show me again",rmtPromotion:"The all-in-one toolkit you definitely do not want to miss!",panel:{tools:{showLess:"Show less",section:{lineDrawing:"Line drawing",stations:"Stations",miscellaneousNodes:"Miscellaneous nodes"},select:"Select",learnHowToAdd:{station:"Learn how to add your stations!","misc-node":"Learn how to add your nodes!",line:"Learn how to add your line styles!"}},details:{header:"Details",info:{title:"Basic information",id:"ID",zIndex:"Depth",stationType:"Station Type",linePathType:"Line Path Type",lineStyleType:"Line Style Type",type:"Type",parallel:"Parallel line",parallelIndex:"Parallel index"},multipleSelection:{title:"Multiple Selection",change:"Change selected attributes",selected:"Selected Objects:",show:"Show",station:"Stations",miscNode:"MiscNodes",edge:"Lines"},changeStationTypeContent:"Changing station's type will remove all attributes from the station except its names.",changeLineTypeContent:"Changing line's type will remove all attributes from the line.",changeType:"Change Type",nodePosition:{title:"Node Position",pos:{x:"Coordinate X",y:"Coordinate Y"}},lineExtremities:{title:"Line Extremities",source:"Source",target:"Target",sourceName:"Source Name",targetName:"Target Name"},specificAttrsTitle:"Specific Attributes",unknown:{error:"Oops :( We can't recognize this {{category}}. Maybe it is created in a newer version.",node:"node",linePath:"line path",lineStyle:"line style"},nodes:{common:{nameZh:"Line name in Chinese",nameEn:"Line name in English",nameJa:"Line name in Japanese",num:"Line number"},virtual:{displayName:"Virtual node"},shmetroNumLineBadge:{displayName:"Shanghai Metro num line badge"},shmetroTextLineBadge:{displayName:"Shanghai Metro text line badge"},gzmtrLineBadge:{displayName:"Guangzhou Metro line badge",tram:"Tram",span:"Row-spanning digits"},bjsubwayNumLineBadge:{displayName:"Beijing Subway num line badge"},bjsubwayTextLineBadge:{displayName:"Beijing Subway text line badge"},berlinSBahnLineBadge:{displayName:"Berlin S Bahn line badge"},berlinUBahnLineBadge:{displayName:"Berlin U Bahn line badge"},suzhouRTNumLineBadge:{displayName:"Suzhou Rail Transit num line badge",branch:"Is branch line"},chongqingRTNumLineBadge:{displayName:"Chongqing Rail Transit num line badge"},chongqingRTTextLineBadge:{displayName:"Chongqing Rail Transit text line badge"},shenzhenMetroNumLineBadge:{displayName:"Shenzhen Metro num line badge",branch:"Is branch line"},mrtDestinationNumbers:{displayName:"Singapore MRT destination numbers"},mrtLineBadge:{displayName:"Singapore MRT line badge",isTram:"Is LRT line badge"},jrEastLineBadge:{displayName:"JR East line badge",crosshatchPatternFill:"Fill with crosshatch pattern"},qingdaoMetroNumLineBadge:{displayName:"Qingdao Metro Num line badge",numEn:"Line number in English",showText:"Show text"},guangdongIntercityRailwayLineBadge:{displayName:"Guangdong Intercity Railway line badge"},londonArrow:{displayName:"London arrow",type:"Type",continuation:"Continuation",sandwich:"Sandwich",tube:"Tube"},master:{displayName:"Master node",type:"Master node type",undefined:"Undefined"},facilities:{displayName:"Facilities",type:"Type"},text:{displayName:"Arbitrary text",content:"Content",fontSize:"Font size",lineHeight:"Line height",textAnchor:"Text anchor",start:"Start",middle:"Middle",end:"End",auto:"Auto",hanging:"Hanging",dominantBaseline:"Dominant baseline",language:"Font family in which language",zh:"Chinese",en:"English",mtr__zh:"Hongkong MTR Chinese",mtr__en:"Hongkong MTR English",berlin:"Berlin S/U Bahn",mrt:"Singapore MRT",jreast_ja:"JR East Japanese",jreast_en:"JR East English",rotate:"Rotation",italic:"Italic",bold:"Bold"}},stations:{common:{nameZh:"Names in Chinese",nameEn:"Names in English",nameJa:"Names in Japanese",nameOffsetX:"Names offset X",nameOffsetY:"Names offset Y",rotate:"Icon rotation",lineCode:"Line code",stationCode:"Station code",left:"Left",middle:"Middle",right:"Right",top:"Top",bottom:"Bottom"},interchange:{title:"Interchanges",within:"Within-station interchange",outStation:"Out-of-station interchange",outSystem:"Out-of-system interchange",addGroup:"Add interchange group",noInterchanges:"No interchanges",nameZh:"Chinese name",nameEn:"English name",add:"Add interchange",copy:"Copy interchange",remove:"Remove interchange"},shmetroBasic:{displayName:"Shanghai Metro basic station"},shmetroBasic2020:{displayName:"Shanghai Metro basic station (2020)"},shmetroInt:{displayName:"Shanghai Metro interchange station",height:"Icon height",width:"Icon width"},shmetroOsysi:{displayName:"Shanghai Metro out-of-system interchange station"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway station"},gzmtrBasic:{displayName:"Guangzhou Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},gzmtrInt:{displayName:"Guangzhou Metro interchange station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",foshan:"Foshan"},gzmtrInt2024:{displayName:"Guangzhou Metro interchange station (2024)",columns:"Columns of stations",topHeavy:"Prefer more stations on the top row",anchorAt:"Anchor at",anchorAtNone:"Center",osiPosition:"Out-of-Station Interchange",osiPositionNone:"None",osiPositionLeft:"Left",osiPositionRight:"Right"},bjsubwayBasic:{displayName:"Beijing Subway basic station",open:"Is opened"},bjsubwayInt:{displayName:"Beijing Subway interchange station",outOfStation:"Out of station interchange"},mtr:{displayName:"Hongkong MTR station",rotate:"Icon rotation"},suzhouRTBasic:{displayName:"Suzhou Rail Transit basic station",textVertical:"Vertical names"},suzhouRTInt:{displayName:"Suzhou Rail Transit interchange station"},kunmingRTBasic:{displayName:"Kunming Rail Transit basic station"},kunmingRTInt:{displayName:"Kunming Rail Transit interchange station"},MRTBasic:{displayName:"Singapore MRT basic station",isTram:"Is LRT station"},MRTInt:{displayName:"Singapore MRT interchange station"},jrEastBasic:{displayName:"JR East basic station",nameOffset:"Names offset",textOneLine:"Names in one line",textVertical:"Vertical names",important:"Important station",lines:"Interchange lines offset"},jrEastImportant:{displayName:"JR East important station",textVertical:"Vertical names",mostImportant:"Most important station",minLength:"Minimal length of the station"},foshanMetroBasic:{displayName:"Foshan Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},qingdaoMetro:{displayName:"Qingdao Metro station",isInt:"Is interchange station"},tokyoMetroBasic:{displayName:"Tokyo Metro basic station",nameOffset:"Names offset",textVertical:"Vertical names",lineCode:"Line code",stationCode:"Station code"},tokyoMetroInt:{displayName:"Tokyo Metro interchange station",mereOffset:{displayName:"Names mere offset",none:"None",left1:"Left (less)",left2:"Left (more)",right1:"Right (less)",right2:"Right (more)",up:"Up",down:"Down"},importance:{displayName:"Station importance",default:"Default",middle:"Middle",high:"High"},align:{displayName:"Icon align",horizontal:"Horizontal",vertical:"Vertical"}},londonTubeCommon:{stepFreeAccess:"Step free access",stepFreeAccessNone:"None",stepFreeAccessTrain:"From street to train",stepFreeAccessPlatform:"From street to platform"},londonTubeBasic:{displayName:"London Tube basic station",terminal:"Terminal station",shareTracks:"Track shares",shareTracksIndex:"Index of the track shares"},londonTubeInt:{displayName:"London Tube interchange station"},londonRiverServicesInt:{displayName:"London river services interchange station"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway station"}},lines:{reconcileId:"Reconcile ID",common:{offsetFrom:"Offset From",offsetTo:"Offset To",startFrom:"Start From",from:"From",to:"To",roundCornerFactor:"Round Corner Factor",parallelDisabled:"Some attributes are disabled as this line is parallel.",changeInBaseLine:"Change them in the base line:"},simple:{displayName:"Simple path",offset:"Offset"},diagonal:{displayName:"135° diagonal path"},perpendicular:{displayName:"90° perpendicular path"},rotatePerpendicular:{displayName:"90° rotate perpendicular path"},singleColor:{displayName:"Single color style"},shmetroVirtualInt:{displayName:"Shanghai Metro out-of-station interchange style"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway style",isEnd:"Is the ending line"},gzmtrVirtualInt:{displayName:"Guangzhou Metro out-of-station interchange style"},gzmtrLoop:{displayName:"Guangzhou Metro loop style"},chinaRailway:{displayName:"China Railway style"},bjsubwaySingleColor:{displayName:"Beijing Subway single color style"},bjsubwayTram:{displayName:"Beijing Subway tram style"},bjsubwayDotted:{displayName:"Beijing Subway dotted style"},dualColor:{displayName:"Dual color style",swap:"Swap color",colorA:"Color A",colorB:"Color B"},river:{displayName:"River style",width:"Width"},mtrRaceDays:{displayName:"Hongkong MTR race days style"},mtrLightRail:{displayName:"Hongkong MTR light rail style"},mtrUnpaidArea:{displayName:"Hongkong MTR unpaid area style"},mtrPaidArea:{displayName:"Hongkong MTR paid area style"},mrtUnderConstruction:{displayName:"Singapore MRT under construction style"},mrtSentosaExpress:{displayName:"Singapore MRT Sentosa Express style"},jrEastSingleColor:{displayName:"JR East single color style"},jrEastSingleColorPattern:{displayName:"JR East single color filled with crosshatch pattern style"},lrtSingleColor:{displayName:"Singapore LRT single color style"},londonTubeInternalInt:{displayName:"London Tube internal interchange style"},londonTube10MinWalk:{displayName:"London Tube under a 10 minute walk interchange style"},londonTubeTerminal:{displayName:"London Tube terminal style"},londonRail:{displayName:"London rail style",limitedService:"Limited service/Peak hours only",colorBackground:"Color background",colorForeground:"Color foreground"},londonSandwich:{displayName:"London sandwich style"},londonLutonAirportDART:{displayName:"London Luton Airport DART style"},londonIFSCloudCableCar:{displayName:"London IFS Cloud Cable Car style"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway style"}},edge:{},footer:{duplicate:"Duplicate",copy:"Copy",remove:"Remove"}}},header:{popoverHeader:"You're on <1>{{environment}} environment!",popoverBody:"We are currently testing the latest RMP. If you have any suggestions, feel free to raise at https://github.com/railmapgen/rmp/issues",search:"Search stations",open:{new:"New project",config:"Import project",projectRMG:"Import from RMG project",invalidType:"Invalid file type! Only file in JSON format is accepted.",unknownError:"Unknown error occurred while parsing the uploaded file! Please try again.",gallery:"Import from Gallery",tutorial:"Start tutorial",importFromRMPGallery:"Template {{id}} imported. Not satisfied with this change? Undo via Ctrl + Z or the undo button.",failToImportFromRMPGallery:"Fail to import {{id}} from the gallery. The file can not be found."},download:{config:"Export project",image:"Export image","2rmg":{title:"Export to RMG project",type:{line:"Line",loop:"Loop",branch:"Branch"},placeholder:{chinese:"Chinese name",english:"English name",lineCode:"Line code"},info1:"This function is designed to convert the RMP project into RMG projects.",info2:"The lines in the list following are the available lines for converting. You can enter the Chinese line name in the text box on the left, the English line name in the middle, the line code (for Guangzhou Metro style) on the right, and then click the download button on the right to save your RMG projects.",noline:"No available lines found.",download:"Download",downloadInfo:"Please select one of the following stations as the starting station and click it to download."},format:"Format",png:"PNG",svg:"SVG",svgVersion:"Version","svg1.1":"1.1 (Compatible with Adobe Illustrator)",svg2:"2 (Compatible with modern browsers)",transparent:"Transparency",scale:"Scale",disabledScaleOptions:"Some scale options are disabled due to your browser's canvas limitation.",disabledScaleOptionsWorkarounds:"Possible workarounds include generating the image from svg using this cli tool: ",imageTooBig:"The image is too big for your browser to generate!",useSystemFonts:"Use system fonts instead of fonts previewed in the canvas",shareInfo1:"I will attach ",shareInfo2:" and its link when I share this image.",termsAndConditions:"Terms and Conditions",termsAndConditionsInfo:"I agree to ",period:".",confirm:"Download"},donation:{title:"Donation",openCollective:"Open Collective",viaUSD:"Donate in USD via Paypal or Visa card.",afdian:"爱发电",viaCNY:"Donate in CNY via Alipay or Wechat Pay."},settings:{title:"Settings",pro:"This is a PRO feature and an account with a subscription is required.",proWithTrial:"This is a PRO feature with a limited free trial available.",proLimitExceed:{master:"Master nodes exceed the free tier.",parallel:"Parallel lines exceed the free tier.",solution:"Remove them to dismiss this warning, or subscribe to unlock more!"},subscription:{title:"Subscription Status","logged-out":"You are currently logged out.",free:"Logged In! Subscribe to unlock more features!",subscriber:"Thanks for your subscription! Enjoy all features!",expired:"Login status expired. Please log out and log in again."},preference:{title:"Preference",keepLastPath:"Keep drawing lines until clicking on the background in the next move",autoParallel:"Automatically set new lines to be parallel to existing lines",randomStationNames:{title:"Set station names to random on creation",none:"None",shmetro:"Shanghai",bjsubway:"Beijing"}},shortcuts:{title:"Shortcuts",keys:"Keys",description:"Description",f:"Use the last tool.",s:"Select.",arrows:"Move the canvas a little bit.",ijkl:"Move the selected station(s) a little bit.",shift:"Multiple selection.",alt:"Precise movement.",delete:"Delete the selected station(s).",cut:"Cut.",copy:"Copy.",paste:"Paste.",undo:"Undo.",redo:"Redo."},procedures:{title:"Procedures",translate:{title:"Translate nodes' coordinates",content:"Add the following offset to all nodes' x and y:",x:"X axis",y:"Y axis"},scale:{title:"Scale nodes' coordinates",content:"Multiply the following value to all nodes' x and y:",factor:"Scale factor"},changeType:{title:"Change all objects' attributes",any:"Any"},changeZIndex:"Change depth in batch",changeStationType:{title:"Change stations type in batch",changeFrom:"Change all stations from this type:",changeTo:"To this type:",info:"Changing stations' type will remove all specific attributes from stations except their position and names. SAVE BEFORE CHANGE!"},changeLineStyleType:{title:"Change lines style in batch",changeFrom:"Change all lines from this style:",changeTo:"To this style:",info:"Changing lines' style will remove all specific attributes from lines except their connections. SAVE BEFORE CHANGE!"},changeLinePathType:{title:"Change lines path in batch",changeFrom:"Change all lines from this path:",changeTo:"To this path:"},changeColor:{title:"Change color in batch",changeFrom:"Change all objects from this color:",changeTo:"To this color:",any:"From any color"},removeLines:{title:"Remove lines with single color",content:"Remove lines that have this color: "},updateColor:{title:"Update color",content:"Update all colors with their latest value.",success:"Successfully update all colors.",error:"Error in updating all colors: {{e}}."},unlockSimplePath:{title:"Unlock simple path",content1:"The Rail Map Painter application endeavors to offer an interactive platform conducive to the creation of rail maps while adhering to established conventions. Among these conventions, one particularly renowned style finds its origins in the innovative work of Harry Beck. His pioneering contribution, officially endorsed in the year 1932, garnered instantaneous acclaim from the general populace. Presently, it stands as an exemplar of paramount significance within the realm of information design. This paradigmatic approach has found widespread implementation in transit cartography on a global scale, albeit with varying degrees of success.",content2:"The application inherently conceals the option to utilize a simple path, as its deployment has the potential to contravene established conventions. This particular feature remains discreetly tucked away by default. Additionally, submissions to the Rail Map Painter Gallery are subject to stringent scrutiny, with a categorical rejection of compositions that employ the simple path with a single color style approach.",content3:"Still, we reserve the opportunity to unlock this option and use the simple path when you subscribe. It should be noted that even after acquisition, the use of simple path is limited to single color.",check:"Unlock",unlocked:"Already Unlocked"},masterManager:{title:"Manage all master nodes",id:"Id",label:"Label",type:"Type",types:{MiscNode:"MiscNode",Station:"Station"},importTitle:"Upload master parameter",importFrom:"Use imported styles",importOther:"Import new style",importParam:"Paste configuration"}},telemetry:{title:"Telemetry",info:"To help improve Rail Map Painter and keep contributors motivated to enhance the project, anonymous usage data is collected through Google Analytics. This data is used solely for enhancing the user experience and optimizing the tool's functionality and is never shared with third parties.",essential:"Basic",essentialTooltip:"Change this global setting in Rail Map Toolkit",essentialInfo:"Rail Map Painter collects essential usage data that helps us understand how and when users interact with the tool. Rest assured, no personally identifiable information or data from your projects is ever collected.",essentialLink:"Click this link to see detailed fields that Google Analytics may collect.",additional:"Additional",additionalInfo:"Rail Map Painter also gathers data on interactions, such as project creation or station addition, when you input. These additional data is also anonymous and are only used for statistical analysis to help us make the tool better."}},about:{title:"About",rmp:"Rail Map Painter",railmapgen:"A Rail Map Toolkit project",desc:"Design your own rail map by freely dragging stations from different cities and connecting them with 90 or 135-degree rounded corners lines!",content1:"In memory of all the freedom and equality we once had.",content2:"06/01/2022 in Shanghai",contributors:"Contributors",coreContributors:"Core Contributors",styleContributors:"Style Contributors",langonginc:"Live a life you will remember.","203IhzElttil":"Special thanks for his diligent work in ensuring that the stations of Shanghai Metro match the original design.",Swiftiecott:"Special thanks for his diligent work in ensuring that the stations of Beijing Subway match the original design.",Minwtraft:"Special thanks for his diligent work in ensuring that the stations of Guangzhou Metro match the original design.",contactUs:"Contact Us",github:"Project repository",githubContent:"Face any problems? Search or raise an issue here!",slack:"Slack group",slackContent:"Chat in these Slack channels!"}}},Id={colorA:"Color A",colorB:"Color B",color:"カラー",warning:"警告",cancel:"キャンセル",apply:"適用",remove:"削除",close:"閉じる",noShowAgain:"次回表示しない",rmtPromotion:"絶対に見逃せないオールインワンツールキット!",panel:{tools:{showLess:"表示を減らす",section:{lineDrawing:"路線描画",stations:"駅",miscellaneousNodes:"その他の節点"},select:"選択する",learnHowToAdd:{station:"駅を追加する方法を学ぶ!","misc-node":"節点を追加する方法を学ぶ!",line:"路線風格を追加する方法を学ぶ!"}},details:{header:"詳細",info:{title:"基本情報",id:"ID",zIndex:"深度",stationType:"駅の種類",linePathType:"路線経路の種類",lineStyleType:"路線風格の種類",type:"種類",parallel:"平行路線",parallelIndex:"平行路線索引"},multipleSelection:{title:"複数選択",change:"選択した属性を変更する",selected:"選択されたオブジェクト:",show:"見せる",station:"駅",miscNode:"その他のノード",edge:"ライン"},changeStationTypeContent:"駅の種類を変更すると、駅の名前以外のすべての属性が削除されます。",changeLineTypeContent:"路線の種類を変更すると、すべての属性が削除されます。",changeType:"種類を変更",nodePosition:{title:"節点の位置",pos:{x:"X座標",y:"Y座標"}},lineExtremities:{title:"路線の端点",source:"出発点",target:"到着点",sourceName:"出発点名",targetName:"到着点名"},specificAttrsTitle:"特定の属性",unknown:{error:"おっと :( これは{{category}}を認識できません。おそらくそれは新しいバージョンで作成されました。",node:"節点",linePath:"路線経路",lineStyle:"路線風格"},nodes:{common:{nameZh:"中国語の路線名",nameEn:"英語の路線名",nameJa:"日本語の路線名",num:"路線番号"},virtual:{displayName:"仮想節点"},shmetroNumLineBadge:{displayName:"上海地下鉄路線番号徽章"},shmetroTextLineBadge:{displayName:"上海地下鉄テキスト路線徽章"},gzmtrLineBadge:{displayName:"広州地下鉄路線徽章",tram:"路面電車",span:"行にまたがる数字"},bjsubwayNumLineBadge:{displayName:"北京地下鉄路線番号徽章"},bjsubwayTextLineBadge:{displayName:"北京地下鉄テキスト路線徽章"},berlinSBahnLineBadge:{displayName:"ベルリンSバーン番号徽章"},berlinUBahnLineBadge:{displayName:"ベルリン地下鉄番号徽章"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通路線番号徽章",branch:"支線"},chongqingRTNumLineBadge:{displayName:"重慶鉄道交通路線番号徽章"},chongqingRTTextLineBadge:{displayName:"重慶鉄道交通テキスト路線徽章"},shenzhenMetroNumLineBadge:{displayName:"深セン地下鉄路線番号徽章",branch:"支線"},mrtDestinationNumbers:{displayName:"シンガポールMRTの目的地番号"},mrtLineBadge:{displayName:"シンガポールMRT路線バッジ",isTram:"LRT路線バッジです"},jrEastLineBadge:{displayName:"JR東日本路線番号徽章",crosshatchPatternFill:"網目模様で塗りつぶす"},qingdaoMetroNumLineBadge:{displayName:"青島地下鉄番号線徽章",numEn:"英語の行番号",showText:"テキストを表示"},guangdongIntercityRailwayLineBadge:{displayName:"広東省都市間鉄道線徽章"},londonArrow:{displayName:"ロンドン矢印",type:"種類",continuation:"継続",sandwich:"サンドイッチ",tube:"地下鉄"},master:{displayName:"大師節点",type:"大師節点種類",undefined:"未定義"},facilities:{displayName:"施設",type:"種類"},text:{displayName:"任意のテキスト",content:"コンテンツ",fontSize:"書体サイズ",lineHeight:"行の高さ",textAnchor:"テキストのアンカー",start:"開始",middle:"中央",end:"終了",auto:"自動",hanging:"吊り下げ",dominantBaseline:"ドミナントベースライン",language:"言語での書体ファミリー",zh:"中国語",en:"英語",mtr__zh:"香港MTR中国語",mtr__en:"香港MTR英語",berlin:"ベルリンS/Uバーン",mrt:"シンガポールMRT",jreast_ja:"JR東日本日本語",jreast_en:"JR東日本英語",rotate:"回転",italic:"イタリック体",bold:"太字"}},stations:{common:{nameZh:"中国語の駅名",nameEn:"英語の駅名",nameJa:"日本語の駅名",nameOffsetX:"駅名補正値X",nameOffsetY:"駅名補正値Y",rotate:"アイコンの回転",lineCode:"路線番号",stationCode:"駅番号",left:"左",middle:"中央",right:"右",top:"上",bottom:"下"},interchange:{title:"乗り換え",within:"駅構内の乗り換え",outStation:"駅外の乗り換え",outSystem:"系統外の乗り換え",addGroup:"乗り換えグループを追加",noInterchanges:"乗り換えなし",nameZh:"中国語の駅名",nameEn:"英語の駅名",add:"乗り換えを追加",copy:"乗り換えをコピー",remove:"乗り換えを削除"},shmetroBasic:{displayName:"上海地下鉄基本駅"},shmetroBasic2020:{displayName:"上海地下鉄基本駅(令和2年)"},shmetroInt:{displayName:"上海地下鉄乗り換え駅",height:"アイコンの高さ",width:"アイコンの幅"},shmetroOsysi:{displayName:"上海地下鉄の系統外乗り換え駅"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道駅"},gzmtrBasic:{displayName:"広州地下鉄基本駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},gzmtrInt:{displayName:"広州地下鉄乗り換え駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",foshan:"仏山"},gzmtrInt2024:{displayName:"広州地下鉄乗り換え駅(令和6年)",columns:"駅の列数",topHeavy:"上段に多くの駅を優先配置",anchorAt:"錨位置",anchorAtNone:"中心",osiPosition:"改札外乗り換え",osiPositionNone:"なし",osiPositionLeft:"左",osiPositionRight:"右"},bjsubwayBasic:{displayName:"北京地下鉄基本駅",open:"開業済み"},bjsubwayInt:{displayName:"北京地下鉄乗り換え駅",outOfStation:"改札外乗り換え"},mtr:{displayName:"香港MTR駅",rotate:"アイコンの回転"},suzhouRTBasic:{displayName:"蘇州軌道交通基本駅",textVertical:"垂直の名前"},suzhouRTInt:{displayName:"蘇州軌道交通乗り換え駅"},kunmingRTBasic:{displayName:"昆明軌道交通基本駅"},kunmingRTInt:{displayName:"昆明軌道交通乗り換え駅"},MRTBasic:{displayName:"シンガポールMRT基本駅",isTram:"LRTの駅です"},MRTInt:{displayName:"シンガポールMRT乗り換え駅"},jrEastBasic:{displayName:"JR東日本基本駅",nameOffset:"名前の補正値",textOneLine:"1行での名前",textVertical:"垂直の名前",important:"重要な駅",lines:"乗り換え線の補正値"},jrEastImportant:{displayName:"JR東日本重要駅",textVertical:"垂直の名前",mostImportant:"最も重要な駅",minLength:"駅の最小長"},foshanMetroBasic:{displayName:"仏山地鐵基本車站",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},qingdaoMetro:{displayName:"地下鉄青島駅",isInt:"乗換駅です"},tokyoMetroBasic:{displayName:"東京メトロの基本駅",nameOffset:"駅名補正値",textVertical:"垂直の名前"},tokyoMetroInt:{displayName:"東京メトロ乗換駅",mereOffset:{displayName:"名前は単なるオフセットです",none:"なし",left1:"左(少ない)",left2:"左(さらに)",right1:"右(少ない)",right2:"右(さらに)",up:"上",down:"下"},importance:{displayName:"駅の重要性",default:"デフォルト",middle:"真ん中",high:"高い"},align:{displayName:"アイコンの整列",horizontal:"水平",vertical:"垂直"}},londonTubeCommon:{stepFreeAccess:"段差のないアクセス",stepFreeAccessNone:"なし",stepFreeAccessTrain:"駅から電車まで",stepFreeAccessPlatform:"駅からプラットフォームまで"},londonTubeBasic:{displayName:"ロンドン地下鉄基本駅",terminal:"終着駅",shareTracks:"線路共有",shareTracksIndex:"線路共有索引"},londonTubeInt:{displayName:"ロンドン地下鉄乗換駅"},londonRiverServicesInt:{displayName:"ロンドン川サービス乗換駅"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道駅"}},lines:{reconcileId:"調整ID",common:{offsetFrom:"補正値(From)",offsetTo:"補正値(To)",startFrom:"開始位置",roundCornerFactor:"角の丸め係数",from:"から",to:"まで",parallelDisabled:"この路線が平行であるため、一部の属性が無効になっています。",changeInBaseLine:"基準線で変更してください:"},simple:{displayName:"簡単な経路",offset:"補正値"},diagonal:{displayName:"135°対角経路"},perpendicular:{displayName:"90°垂直経路"},rotatePerpendicular:{displayName:"90°回転する垂直経路"},singleColor:{displayName:"単色風格"},shmetroVirtualInt:{displayName:"上海地下鉄駅外乗り換え風格"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道風格",isEnd:"終了行"},gzmtrVirtualInt:{displayName:"広州地下鉄駅外乗り換え風格"},gzmtrLoop:{displayName:"広州地下鉄環状線風格"},chinaRailway:{displayName:"中国鉄道風格"},bjsubwaySingleColor:{displayName:"北京地下鉄単色風格"},bjsubwayTram:{displayName:"北京地下鉄路面電車風格"},bjsubwayDotted:{displayName:"北京地下鉄の点線風格"},dualColor:{displayName:"2色風格",swap:"色を交換",colorA:"色A",colorB:"色B"},river:{displayName:"河川風格",width:"幅"},mtrRaceDays:{displayName:"香港MTRレース日風格"},mtrLightRail:{displayName:"香港MTR軽軌風格"},mtrUnpaidArea:{displayName:"香港MTR改札外乗り換え風格"},mtrPaidArea:{displayName:"香港MTR改札内乗り換え風格"},mrtUnderConstruction:{displayName:"シンガポール MRT 工事中風格"},mrtSentosaExpress:{displayName:"シンガポール MRT セントーサ・エクスプレス風格"},jrEastSingleColor:{displayName:"JR東日本単色風格"},jrEastSingleColorPattern:{displayName:"JR東日本単色網目模様風格"},lrtSingleColor:{displayName:"シンガポールLRT単色風格"},londonTubeInternalInt:{displayName:"ロンドン地下鉄内部乗換風格"},londonTube10MinWalk:{displayName:"ロンドン地下鉄10分以内の乗換風格"},londonTubeTerminal:{displayName:"ロンドン地下鉄終着風格"},londonRail:{displayName:"ロンドン鉄道風格",limitedService:"限定サービス/ピーク時のみ",colorBackground:"背景色",colorForeground:"前景色"},londonSandwich:{displayName:"ロンドンサンドイッチ風格"},londonLutonAirportDART:{displayName:"ロンドンルートン空港DART風格"},londonIFSCloudCableCar:{displayName:"ロンドンIF雲索道風格"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道風格"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"削除"}}},header:{popoverHeader:"<1>{{environment}} 環境です!",popoverBody:"現在、最新のRMPをテストしています。ご意見がありましたら、https://github.com/railmapgen/rmp/issues で提案してください",search:"駅を探す",open:{new:"新しい作品",config:"作品をインポート",projectRMG:"RMG作品からインポート",invalidType:"無効なファイルタイプです!JSON形式のファイルのみが受け付けられます。",unknownError:"アップロードされたファイルの解析中に不明なエラーが発生しました。もう一度お試しください。",gallery:"ギャラリーからインポート",tutorial:"指導を開始する",importFromRMPGallery:"テンプレート{{id}}がインポートされました。この変更に満足していませんか?Ctrl + Zまたは元に戻すボタンで元に戻せます。",failToImportFromRMPGallery:"ギャラリーから{{id}}のインポートに失敗しました。ファイルが見つかりませんでした。"},download:{config:"作品をエクスポート",image:"画像をエクスポート","2rmg":{title:"RMG作品へエクスポート",type:{line:"直線",loop:"環状線",branch:"支線"},placeholder:{chinese:"中国語のライン名",english:"英語の路線名",lineCode:"路線番号"},info1:"この機能は、RMP作品をRMG作品に変換するために設計されています。",info2:"以下のリストの行は、変換用に利用できます。左側のテキストボックスに中国語の行名、中央に英語の行名、右側に(広州メトロ風格用の)行コードを入力し、ダウンロードボタンをクリックしてRMG作品を保存できます。",noline:"利用可能な回線が見つかりません。",download:"ダウンロード",downloadInfo:"出発駅を選択してクリックしてください。"},format:"フォーマット",png:"PNG",svg:"SVG",svgVersion:"版","svg1.1":"1.1(Adobe Illustratorと互換性あり)",svg2:"2(現代のブラウザと互換性あり)",transparent:"透明性",scale:"スケール",disabledScaleOptions:"ブラウザのキャンバス制限のため、一部のスケールオプションが無効になっています。",disabledScaleOptionsWorkarounds:"回避策として、このCLIツールを使用してSVGから画像を生成する方法が考えられます:",imageTooBig:"画像が大きすぎてブラウザで生成できません!",useSystemFonts:"キャンバスで内覧された書体の代わりに系統書体を使用する",shareInfo1:"この画像を共有する際に、添付ファイル ",shareInfo2:" とリンクを添付します。",termsAndConditions:"利用規約",termsAndConditionsInfo:"以下の利用規約に同意します:",period:"。",confirm:"ダウンロード"},donation:{title:"寄付",openCollective:"Open Collective",viaUSD:"PaypalまたはVisaカードを使用してドルで寄付する。",afdian:"爱发电",viaCNY:"AlipayまたはWechat Payを使用して人民元で寄付する。"},settings:{title:"設定",pro:"これはPRO機能であり、サブスクリプションが必要です。",proWithTrial:"これはPRO機能で、無料の限定トライアルが利用可能です。",proLimitExceed:{master:"大師節点が無料枠を超えています。",parallel:"平行路線が無料枠を超えています。",solution:"これらを削除して警告を解除するか、サブスクリプションに登録してさらに多くの機能を利用してください!"},subscription:{title:"サブスクリプションステータス","logged-out":"現在ログアウトしています。",free:"ログイン済み!さらに多くの機能をアンロックするにはサブスクリプションを登録してください!",subscriber:"サブスクリプションありがとうございます!すべての機能をお楽しみください!",expired:"ログインステータスの有効期限が切れました。ログアウトして再度ログインしてください。"},preference:{title:"設定",keepLastPath:"次の移動で背景をクリックするまで、線を描き続ける",autoParallel:"新しい路線を既存の路線と平行に自動的に設定",randomStationNames:{title:"作成時に駅名を乱数化する",none:"なし",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"ショートカット",keys:"キー",description:"説明",f:"最後のツールを使用する。",s:"選択する。",arrows:"キャンバスを少し移動します。",ijkl:"選択した駅を少し移動します。",shift:"複数選択。",alt:"正確な移動。",delete:"選択した駅を削除します。",cut:"切り取る。",copy:"複製する。",paste:"貼り付ける。",undo:"元に戻す。",redo:"やり直す。"},procedures:{title:"手順",translate:{title:"節点の座標を変換",content:"すべての節点のX座標とY座標に次の補正値を追加する:",x:"X軸",y:"Y軸"},scale:{title:"節点の座標をスケーリング",content:"すべての節点のX座標とY座標に次の値を乗算する:",factor:"スケールファクター"},changeType:{title:"すべてのオブジェクトの属性を変更する",any:"どれでも"},changeZIndex:"深度を変更する",changeStationType:{title:"一括で駅の種類を変更",changeFrom:"すべての駅をこの種類から変更する:",changeTo:"この種類に変更する:",info:"駅の種類を変更すると、位置と名前以外の特定の属性がすべて削除されます。変更する前に保存してください!"},changeLineStyleType:{title:"線の風格を一括で変更",changeFrom:"この風格からすべての行を変更します:",changeTo:"この風格に:",info:"線の風格を変更すると、接続を除くすべての特定の属性が線から削除されます。 変更する前に保存してください!"},changeLinePathType:{title:"行のパスを一括で変更する",changeFrom:"このパスのすべての行を変更します:",changeTo:"この道へ:"},changeColor:{title:"一括で色を変更する",changeFrom:"すべてのオブジェクトをこの色から変更します:",changeTo:"この色に:",any:"どの色からも"},removeLines:{title:"単一色の路線を削除",content:"この色を持つ路線を削除する:"},updateColor:{title:"色を更新する",content:"最新の値ですべての色を更新します。",success:"すべての色を正常に更新しました。",error:"すべての色を更新する際にエラーが発生しました: {{e}}。"},unlockSimplePath:{title:"簡単な経路の解除",content1:"「地下鉄路線図画家」は、既存の慣例に従いつつ、鉄道地図の作成を支援するインタラクティブなプラットフォームを提供することを目指しています。その中でも、特に有名な風格の1つは、ハリー・ベックの革新的な作品に由来しています。彼の先駆的な貢献は1932年に正式に認められ、一般大衆から即座に称賛されました。現在では、情報デザインの領域において極めて重要な存在となっています。この典型的なアプローチは、世界規模の公共交通カートグラフィに広く採用されていますが、成功度は異なります。",content2:"アプリケーション自体は、既存の慣例に反する可能性があるため、簡単な経路を利用するオプションをデフォルトで控えめに隠しています。また、「地下鉄路線図画家ギャラリー」への投稿は厳格な審査を受けることになり、簡単な経路を単一の色の風格で使用する作品は断固として拒否されます。",content3:"それでも、このオプションのロックを解除し、寄付時にイージーパスを使用する機会を予約します。 取得後も、単純なパスの使用はモノクロスタイルに限定されることに注意してください。",check:"簡単な経路を解除",unlocked:"既に解除されています"},masterManager:{title:"すべての大師節点を管理する",id:"ID",label:"標識",type:"種類",types:{MiscNode:"その他節点",Station:"駅"},importTitle:"大師引数をアップロード",importFrom:"インポートしたスタイルを使用",importOther:"新しいスタイルをインポート",importParam:"設定情報を貼り付け"}},telemetry:{title:"テレメトリー",info:"鉄道路線図画家を改善し、貢献者がプロジェクトを向上させる意欲を維持するため、Google Analytics を通じて匿名の使用データを収集しています。このデータはユーザー体験の向上とツールの最適化のためだけに使用され、第三者と共有されることはありません。",essential:"基本",essentialTooltip:"鉄道路線図ツールキットでこのグローバル設定を変更する",essentialInfo:"鉄道路線図画家は、ツールがどのように、またいつ使用されるかを理解するための基本的な使用データを収集します。ご安心ください。個人を特定できる情報やプロジェクトデータは一切収集されません。",essentialLink:"Google Analytics が収集する可能性のある詳細フィールドを表示するには、こちらのリンクをクリックしてください。",additional:"追加",additionalInfo:"鉄道路線図画家は、プロジェクトの作成や駅の追加など、入力時のインタラクションに関するデータも収集します。これらの追加データも匿名であり、ツールを改善するための統計分析にのみ使用されます。"}},about:{title:"について",rmp:"地下鉄路線図画家",railmapgen:"地下鉄路線図ツールキットのプロジェクト",desc:"異なる都市の駅を自由にドラッグして、90度または135度の角丸線で接続して独自の鉄道地図を設計しましょう!",content1:"かつて私たちが持っていた自由と平等のすべての記憶に捧げます。",content2:"2022年6月1日、上海",contributors:"貢献者",coreContributors:"主要な貢献者",styleContributors:"風格の貢献者","203IhzElttil":"上海地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Swiftiecott:"北京地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Minwtraft:"広州地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",contactUs:"お問い合わせ",github:"プロジェクトリポジトリ",githubContent:"問題が発生しましたか?こちらで検索したり、問題を報告したりしてください!",slack:"Slackグループ",slackContent:"Slackのチャンネルでチャットしましょう!"}}},$d={color:"색깔",warning:"경고",cancel:"취소",apply:"사용",remove:"삭제",close:"다시",noShowAgain:"표시하지 않기",rmtPromotion:"놓치고 싶지 않은 올인원 툴킷! 닫기.",panel:{tools:{showLess:"적게 표시",section:{lineDrawing:"선 그리기",stations:"역",miscellaneousNodes:"기타 노드"},select:"선택하다",learnHowToAdd:{station:"역을 추가하는 방법 배우기!","misc-node":"노드를 추가하는 방법 배우기!",line:"라인 스타일을 추가하는 방법 배우기!"}},details:{header:"상세한 상황",info:{title:"기본정보",id:"고유 식별자",zIndex:"깊이",stationType:"역 유형",linePathType:"선분 경로 유형",lineStyleType:"선분 스타일 유형",type:"유형",parallel:"평행선",parallelIndex:"평행 인덱스"},multipleSelection:{title:"다중 선택",change:"선택한 속성 변경",selected:"선택한 개체:",show:"보여주다",station:"역",miscNode:"기타 노드",edge:"윤곽"},changeStationTypeContent:"역 유형을 변경하면 이름을 제외한 모든 독특한 속성이 제거됩니다.",changeLineTypeContent:"선분 유형을 변경하면 모든 독특한 속성이 제거됩니다.",changeType:"종류 변경",nodePosition:{title:"노드 위치",pos:{x:"가로 좌표",y:"세로 좌표"}},lineExtremities:{title:"선분 양단",source:"시작점",target:"종말점",sourceName:"시작점 명칭",targetName:"종말점 명칭"},specificAttrsTitle:"독특 속성",unknown:{error:"이런 :( 우리는 이 {{category}}를 인식할 수 없습니다. 아마도 더 최근 버전에서 생성되었을 것입니다.",node:"노드",lineType:"선분 경로",lineStyle:"선분 스타일"},nodes:{common:{nameZh:"한자 노선명칭",nameEn:"영문 노선명칭",nameJa:"일본 노선명칭",num:"노선 번호"},virtual:{displayName:"가상 노드"},shmetroNumLineBadge:{displayName:"상해 지하철 디지털 노선 표지"},shmetroTextLineBadge:{displayName:"상해 지하철 문자 노선 표지"},gzmtrLineBadge:{displayName:"광저우 지하철 노선 표지",tram:"시가 전차",span:"행 범위 숫자"},bjsubwayNumLineBadge:{displayName:"베이징 지하철 노선 배지"},bjsubwayTextLineBadge:{displayName:"베이징 지하철 텍스트 라인 배지"},berlinSBahnLineBadge:{displayName:"베를린 S반 노선 배지"},berlinUBahnLineBadge:{displayName:"베를린 U반 노선 배지"},suzhouRTNumLineBadge:{displayName:"수주 철도 번호 라인 배지",branch:"지선입니다"},chongqingRTNumLineBadge:{displayName:"충칭 철도 교통 디지털 노선 식별"},chongqingRTTextLineBadge:{displayName:"충칭 철도 교통 텍스트 라인 표시"},shenzhenMetroNumLineBadge:{displayName:"심천 지하철 번호 라인 배지",branch:"지선입니다"},mrtDestinationNumbers:{displayName:"싱가포르 MRT 목적지 번호"},mrtLineBadge:{displayName:"싱가포르 MRT 노선 배지",isTram:"LRT 노선 배지입니다"},jrEastLineBadge:{displayName:"JR 동일본 라인 배지",crosshatchPatternFill:"크로스해치 패턴으로 채우기"},qingdaoMetroNumLineBadge:{displayName:"칭다오 지하철 번호 라인 배지",numEn:"영어로 된 줄 번호",showText:"텍스트 표시"},guangdongIntercityRailwayLineBadge:{displayName:"광동 시외 철도 노선 표지판"},londonArrow:{displayName:"런던 화살표",type:"유형",continuation:"계속",sandwich:"샌드위치",tube:"튜브"},master:{displayName:"마스터 노드",type:"마스터 노드 유형",undefined:"정의되지 않음"},facilities:{displayName:"시설",type:"유형"},text:{displayName:"임의 글자",content:"내용",fontSize:"글자 대소",lineHeight:"행고도",textAnchor:"글자 앵커",start:"시작",middle:"가운데",end:"끝",auto:"자동",hanging:"매달리는",dominantBaseline:"현성 바셀린",language:"언어로 된 글꼴 종류",zh:"중국어",en:"영어",mtr__zh:"홍콩 MTR 중국어",mtr__en:"홍콩 MTR 영어",berlin:"베를린 S/U Bahn",mrt:"싱가포르 MRT",jreast_ja:"JR 동일본어",jreast_en:"JR 동일본 영어",rotate:"회전",italic:"이탤릭체",bold:"굵게"}},stations:{common:{nameZh:"한자 명칭",nameEn:"영문 명칭",nameJa:"일본 명칭",nameOffsetX:"명칭 가로 이동",nameOffsetY:"명칭 세로 이동",rotate:"역회전각도",lineCode:"노선 번호",stationCode:"역 번호",left:"왼쪽",middle:"가운데",right:"오른쪽",top:"위",bottom:"아래"},interchange:{title:"환승",within:"같은 역에서 환승한",outStation:"역을 나가 환승한",outSystem:"시스템외환승",addGroup:"환승 조합 추가",noInterchanges:"비환승역",nameZh:"한자 명칭",nameEn:"영문 명칭",add:"환승 추가",copy:"환승 복제",remove:"환승 삭제"},shmetroBasic:{displayName:"상해 지하철의 기본 역"},shmetroBasic2020:{displayName:"상해 지하철 기본 역(2020년)"},shmetroInt:{displayName:"상해 지하철 환승역",height:"역 높이",width:"역 폭"},shmetroOsysi:{displayName:"상하이 지하철 시스템 외환승 역"},shanghaiSuburbanRailway:{displayName:"상하이 기차역"},gzmtrBasic:{displayName:"광저우 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},gzmtrInt:{displayName:"광저우 지하철 환승역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",foshan:"포산"},gzmtrInt2024:{displayName:"광저우 지하철 환승역 (2024)",columns:"역 열 수",topHeavy:"상단에 더 많은 역 우선 배치",anchorAt:"앵커 위치",anchorAtNone:"중앙",osiPosition:"역을 나가 환승",osiPositionNone:"없음",osiPositionLeft:"왼쪽",osiPositionRight:"오른쪽"},bjsubwayBasic:{displayName:"베이징 지하철 기본역",open:"개통여부"},bjsubwayInt:{displayName:"베이징 지하철 환승역",outOfStation:"역을 나가 환승"},mtr:{displayName:"홍콩 MTR 역"},suzhouRTBasic:{displayName:"쑤저우 궤도교통 기본역",textVertical:"수직 이름"},suzhouRTInt:{displayName:"쑤저우 궤도교통 환승역"},kunmingRTBasic:{displayName:"쿤밍 궤도교통 기본역"},kunmingRTInt:{displayName:"쿤밍 궤도교통 환승역"},MRTBasic:{displayName:"싱가포르MRT기본역",isTram:"LRT역이에요"},MRTInt:{displayName:"싱가포르MRT환승역"},jrEastBasic:{displayName:"JR 동일본 기본 역",nameOffset:"이름 오프셋",textOneLine:"한 줄로 표시된 이름",textVertical:"수직 이름",important:"중요한 역",lines:"환승 노선 오프셋"},jrEastImportant:{displayName:"JR 동일본 중요 역",textVertical:"수직 이름",mostImportant:"가장 중요한 역",minLength:"스테이션의 최소 길이"},foshanMetroBasic:{displayName:"포산 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},qingdaoMetro:{displayName:"칭다오 지하철역",isInt:"환승역인가"},tokyoMetroBasic:{displayName:"도쿄메트로 기본역",nameOffset:"이름 오프셋",textVertical:"업종명",lineCode:"라인 코드",stationCode:"역 코드"},tokyoMetroInt:{displayName:"도쿄메트로 환승역",mereOffset:{displayName:"단순한 오프셋 이름",none:"없음",left1:"왼쪽(적음)",left2:"왼쪽(더)",right1:"오른쪽(적음)",right2:"맞아요 (더)",up:"위로",down:"아래에"},importance:{displayName:"역 중요성",default:"기본",middle:"가운데",high:"높은"},align:{displayName:"아이콘 정렬",horizontal:"수평의",vertical:"수직의"}},londonTubeCommon:{stepFreeAccess:"단차 없는 접근",stepFreeAccessNone:"없음",stepFreeAccessTrain:"거리에서 열차까지",stepFreeAccessPlatform:"거리에서 플랫폼까지"},londonTubeBasic:{displayName:"런던 지하철 기본역",terminal:"종착역",shareTracks:"선로 공유",shareTracksIndex:"선로 공유 지수"},londonTubeInt:{displayName:"런던 지하철 환승역"},londonRiverServicesInt:{displayName:"런던 강 서비스 환승역"},guangdongIntercityRailway:{displayName:"광둥 시외 기차역"}},lines:{reconcileId:"연결 선분 고유 식별자",common:{offsetFrom:"시작점 오프셋",offsetTo:"끝점 오프셋",startFrom:"여기서부터 시작",roundCornerFactor:"회전원각인자",from:"에서",to:"까지",parallelDisabled:"이 선이 평행하기 때문에 일부 속성이 비활성화되었습니다.",changeInBaseLine:"기본선에서 변경하십시오:"},simple:{displayName:"기본 선분",offset:"오프셋"},diagonal:{displayName:"135° 접힌 선분"},perpendicular:{displayName:"90° 수직 선분"},rotatePerpendicular:{displayName:"90° 수직 경로 회전"},singleColor:{displayName:"단색 스타일"},shmetroVirtualInt:{displayName:"상해 지하철 역 환승 모습"},shanghaiSuburbanRailway:{displayName:"상하이 도시철도 스타일",isEnd:"끝 범위"},gzmtrVirtualInt:{displayName:"광저우 지하철 역 환승 모습"},gzmtrLoop:{displayName:"광저우 지하철 순환선 스타일"},chinaRailway:{displayName:"중국 철도 모습"},bjsubwaySingleColor:{displayName:"베이징 지하철 단색 스타일"},bjsubwayTram:{displayName:"베이징 지하철 노면 전차 모습"},bjsubwayDotted:{displayName:"베이징 지하철 점선 스타일"},dualColor:{displayName:"이색 스타일",swap:"색을 바꾸기",colorA:"색깔 A",colorB:"색깔 B"},river:{displayName:"강 스타일",width:"폭"},mtrRaceDays:{displayName:"홍콩 MTR 경마일 스타일"},mtrLightRail:{displayName:"홍콩 MTR 경전철 스타일"},mtrUnpaidArea:{displayName:"홍콩 MTR 미결제 구역 스타일"},mtrPaidArea:{displayName:"홍콩 MTR 결제완료 구역 스타일"},mrtUnderConstruction:{displayName:"싱가포르 MRT 공사중 스타일"},mrtSentosaExpress:{displayName:"싱가포르 MRT 센토사 익스프레스 스타일"},jrEastSingleColor:{displayName:"JR 동일본 단색 스타일"},jrEastSingleColorPattern:{displayName:"JR 동일본 단색 크로스해치 패턴 스타일"},lrtSingleColor:{displayName:"싱가포르 LRT 단색 스타일"},londonTubeInternalInt:{displayName:"런던 지하철 내부 환승 스타일"},londonTube10MinWalk:{displayName:"런던 지하철 10분 이내 도보 환승 스타일"},londonTubeTerminal:{displayName:"런던 지하철 종착 스타일"},londonRail:{displayName:"런던 철도 스타일",limitedService:"제한 서비스/혼잡 시간대만",colorBackground:"배경 색상",colorForeground:"전경 색상"},londonSandwich:{displayName:"런던 샌드위치 스타일"},londonLutonAirportDART:{displayName:"런던 루튼 공항 DART 스타일"},londonIFSCloudCableCar:{displayName:"런던 IFS 클라우드 케이블카 스타일"},guangdongIntercityRailway:{displayName:"광동성 도시간 철도 스타일"}},edges:{},footer:{duplicate:"복사",copy:"복사",remove:"삭제"}}},header:{popoverHeader:"당신은 환경을<1>{{environment}}탐색하고 있습니다",popoverBody:"최신 RMP를 테스트하고 있습니다.제안 사항이 있으시면 언제든지 https://github.com/railmapgen/rmp/issues에 제출해 주십시오.",search:"방송국 검색",open:{new:"신 프로젝트",config:"프로젝트 가져오기",projectRMG:"RMG 프로젝트에서 가져오기",invalidType:"잘못된 파일 형식입니다! JSON 형식의 파일만 허용됩니다.",unknownError:"업로드된 파일의 파싱 중 알 수 없는 오류가 발생했습니다. 다시 시도해주세요.",gallery:"갤러리에서 가져오기",tutorial:"튜토리얼 시작",importFromRMPGallery:"템플릿 {{id}}가 가져 왔습니다. 이 변경 사항에 만족하지 않으십니까? Ctrl + Z 또는 실행 취소 버튼을 사용하여 실행 취소하세요.",failToImportFromRMPGallery:"갤러리에서 {{id}}를 가져올 수 없습니다. 파일을 찾을 수 없습니다."},download:{config:"프로젝트 내보내기",image:"사진 내보내기","2rmg":{title:"RMG 프로젝트로 내보내기",type:{line:"일직선",loop:"고리",branch:"지선"},placeholder:{chinese:"중국어 라인 이름",english:"영어 줄 이름",lineCode:"노선 번호"},info1:"이 기능은 RMP 프로젝트를 RMG 프로젝트로 변환하는 데 사용됩니다.",info2:"변환할 수 있는 사용 가능한 라인들은 다음과 같습니다. 왼쪽 텍스트 상자에 중국어 라인 이름을 입력하고, 가운데에 영어 라인 이름을 입력하며, 오른쪽에 (광저우 메트로 스타일용) 라인 코드를 입력한 다음, 오른쪽의 다운로드 버튼을 클릭하여 RMG 프로젝트를 저장할 수 있습니다.",noline:"사용 가능한 라인이 없습니다.",download:"다운로드",downloadInfo:"출발 역을 선택하고 클릭하십시오."},format:"파일 종류",png:"PNG 이미지",svg:"SVG 이미지",svgVersion:"버전","svg1.1":"1.1 (Adobe Illustrator 호환)",svg2:"2 (현대 브라우저 호환)",transparent:"투명 배경",scale:"확대/축소",disabledScaleOptions:"브라우저의 캔버스 제한으로 인해 일부 스케일 옵션이 비활성화되었습니다.",disabledScaleOptionsWorkarounds:"가능한 해결 방법으로는 이 CLI 도구를 사용하여 SVG에서 이미지를 생성하는 것이 있습니다:",imageTooBig:"이미지가 너무 크기 때문에 브라우저에서 생성할 수 없습니다!",useSystemFonts:"캔버스에서 미리보기된 글꼴 대신 시스템 글꼴 사용",shareInfo1:"이 사진을 공유할 때",shareInfo2:"링크를 첨부할 것입니다.",termsAndConditions:"약관 및 세칙",termsAndConditionsInfo:"동의",period:".",confirm:"다운로드"},donation:{title:"기부",openCollective:"Open Collective",viaUSD:"Paypal 또는 Visa 카드를 통해 달러로 기부하기.",afdian:"爱发电",viaCNY:"Alipay 또는 Wechat Pay를 통해 인민폐로 기부하기."},settings:{title:"설정",pro:"이것은 PRO 기능이며, 구독이 필요한 계정입니다.",proWithTrial:"이것은 PRO 기능이며, 제한된 무료 체험이 가능합니다.",proLimitExceed:{master:"마스터 노드가 무료 사용 한도를 초과했습니다.",parallel:"평행선이 무료 사용 한도를 초과했습니다.",solution:"경고를 해제하려면 이 항목들을 제거하거나 구독을 통해 더 많은 기능을 잠금 해제하세요!"},subscription:{title:"구독 상태","logged-out":"현재 로그아웃 상태입니다.",free:"로그인 완료! 더 많은 기능을 사용하려면 구독하세요!",subscriber:"구독해주셔서 감사합니다! 모든 기능을 즐기세요!",expired:"로그인 상태가 만료되었습니다. 다시 로그인 해주세요."},preference:{title:"선호",keepLastPath:"다음 이동에서 배경을 클릭할 때까지 계속 선을 그립니다",autoParallel:"새 선을 기존 선과 평행하게 자동으로 설정합니다",randomStationNames:{title:"생성 시 역 이름을 랜덤으로 설정",none:"없음",shmetro:"상하이",bjsubway:"베이징"}},shortcuts:{title:"바로 가기",keys:"키",description:"설명",f:"마지막 도구 사용.",s:"선택하다.",arrows:"캔버스를 약간 이동합니다.",ijkl:"선택한 역을 약간 이동합니다.",shift:"여러 항목 선택.",alt:"정밀한 이동.",delete:"선택한 역을 삭제합니다.",cut:"잘라내기.",copy:"복사하다.",paste:"붙여넣다.",undo:"취소하다.",redo:"다시 하다."},procedures:{title:"절차",translate:{title:"노드 좌표 변환",content:"모든 노드의 x 및 y에 다음 오프셋을 추가:",x:"X축",y:"Y축"},scale:{title:"스케일 노드의 좌표",content:"모든 노드의 x 및 y에 다음 값을 곱하:",factor:"스케일 팩터"},changeType:{title:"모든 객체의 속성 변경",any:"어느"},changeZIndex:"일괄적으로 깊이 변경",changeStationType:{title:"역의 종류를 대량으로 수정",changeFrom:"이 유형의 모든 역:",changeTo:"이 유형의 역으로 변환:",info:"역 유형을 변경하면 이름을 제외한 모든 고유한 속성이 제거됩니다.저장했다가 다시 실행!"},changeLineStyleType:{title:"일괄적으로 선 스타일 변경",changeFrom:"이 스타일의 모든 선을 변경하세요:",changeTo:"이 스타일에:",info:"선 스타일을 변경하면 연결을 제외한 선의 모든 특정 속성이 제거됩니다. 변경하기 전에 저장하세요!"},changeLinePathType:{title:"일괄적으로 라인 경로 변경",changeFrom:"이 경로의 모든 줄을 변경하세요:",changeTo:"이 길로:"},changeColor:{title:"일괄 색상 변경",changeFrom:"이 색상의 모든 개체를 변경합니다.:",changeTo:"이 색상에:",any:"모든 색상에서"},removeLines:{title:"단일 색상의 선 제거",content:"이 색상의 선을 제거하세요: "},updateColor:{title:"색상 업데이트",content:"최신 값으로 모든 색상을 업데이트합니다.",success:"모든 색상을 성공적으로 업데이트했습니다.",error:"모든 색상을 업데이트하는 동안 오류가 발생했습니다: {{e}}."},unlockSimplePath:{title:"간단 경로 잠금 해제",content1:"Rail Map Painter 애플리케이션은 확립된 관례를 준수하면서도 철도지도 작성을 위한 대화식 플랫폼을 제공하기 위해 노력합니다. 이러한 관례 중 하나는 특히 해리 벡의 혁신적인 작업에서 비롯되었습니다. 그의 개척적인 기여는 공식적으로 1932년에 인정받았으며 일반 대중으로부터 즉각적인 찬사를 받았습니다. 현재는 정보 디자인 분야에서 중요한 본보기로 자리 잡고 있습니다. 이 패러다임적인 접근 방식은 전 세계적인 규모의 교통 카토그래피에서 널리 구현되었으나 성공의 정도는 다양합니다.",content2:"이 애플리케이션은 기존 관례에 위배될 가능성이 있기 때문에 간단한 경로를 활용하는 옵션을 기본 설정으로 가려놓았습니다. 또한 Rail Map Painter 갤러리에 제출되는 작품은 엄격한 심사를 받으며, 단일 색상 스타일로 간단한 경로를 사용하는 작품은 명확히 거부됩니다.",content3:"그래도 이 옵션을 잠금 해제하고 기부할 때 Easy Path를 사용할 수 있는 기회를 보유하고 있습니다. 획득 후에도 단순 경로의 사용은 단색 스타일로 제한된다는 점에 유의해야 합니다.",check:"간단한 경로 잠금 해제",unlocked:"이미 해제됨"},masterManager:{title:"모든 마스터 노드를 관리",id:"ID",label:"레이블",type:"유형",types:{MiscNode:"기타 노드",Station:"스테이션"},importTitle:"마스터 매개변수 업로드",importFrom:"가져온 스타일 사용",importOther:"새 스타일 가져오기",importParam:"구성 정보 붙여넣기"}},telemetry:{title:"원격 측정",info:"지하철 노선도 그리기를 개선하고 기여자가 프로젝트를 향상시키는 데 동기를 부여하기 위해 Google Analytics를 통해 익명의 사용 데이터를 수집합니다. 이 데이터는 사용자 경험을 향상하고 도구 기능을 최적화하는 데에만 사용되며, 제3자와 절대 공유되지 않습니다.",essential:"기본",essentialTooltip:"지하철 노선도 툴킷에서 이 전역 설정을 변경하세요",essentialInfo:"지하철 노선도 그리기는 도구를 언제, 어떻게 사용하는지 이해하기 위해 기본적인 사용 데이터를 수집합니다. 안심하세요. 개인 식별이 가능한 정보나 프로젝트 데이터는 절대 수집되지 않습니다.",essentialLink:"Google Analytics에서 수집할 수 있는 세부 필드를 보려면 이 링크를 클릭하세요.",additional:"추가",additionalInfo:"지하철 노선도 그리기는 프로젝트 생성이나 역 추가와 같은 입력 시의 상호작용 데이터도 수집합니다. 이러한 추가 데이터도 익명으로 처리되며, 도구를 개선하기 위한 통계 분석에만 사용됩니다."}},about:{title:"대함",rmp:"지하철 노선도 그리기",railmapgen:"철도 지도 툴킷 프로젝트 노선도 툴킷",desc:"다양한 도시의 역을 자유롭게 끌어서 90도 또는 135도의 둥근 모서리 선으로 연결함으로써 여러분만의 철도 지도를 디자인해요!",content1:"우리가 가졌던 자유와 평등을 기념한다.",content2:"2022년 6월 1일 상해",contributors:"기여자",coreContributors:"핵심 기여자",styleContributors:"스타일 기여자",langonginc:"기억에 남을 삶을 살아보세요.","203IhzElttil":"상하이 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Swiftiecott:"베이징 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Minwtraft:"광저우 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",contactUs:"우리에게 연락하기",github:"프로젝트 저장소",githubContent:"무슨 문제라도 있나요? 여기서 문제를 검색하거나 제기하십시오!",slack:"슬랙 그룹",slackContent:"이 슬랙 채널에서 채팅해요!"}}},zd={color:"颜色",warning:"警告",cancel:"取消",apply:"应用",remove:"移除",close:"关闭",noShowAgain:"不再显示",rmtPromotion:"您绝对不想错过的全能工具包!",panel:{tools:{showLess:"显示更少",section:{lineDrawing:"线段绘制",stations:"车站",miscellaneousNodes:"杂项节点"},select:"多选",learnHowToAdd:{station:"了解如何添加车站!","misc-node":"了解如何添加节点!",line:"了解如何添加线段样式!"}},details:{header:"详情",info:{title:"基本信息",id:"唯一识别符",zIndex:"深度",stationType:"车站类型",linePathType:"线段路径类型",lineStyleType:"线段样式类型",type:"类型",parallel:"平行线段",parallelIndex:"平行线段索引"},multipleSelection:{title:"多重选取",change:"修改选中对象的属性",selected:"选中的对象:",show:"显示",station:"车站",miscNode:"杂项节点",edge:"线段"},changeStationTypeContent:"修改车站类型会移除所有独特属性除了名称。",changeLineTypeContent:"修改线段类型会移除所有独特属性。",changeType:"更改类型",nodePosition:{title:"节点位置",pos:{x:"横坐标",y:"纵坐标"}},lineExtremities:{title:"线段两端",source:"起点",target:"终点",sourceName:"起点名称",targetName:"终点名称"},specificAttrsTitle:"独特属性",unknown:{error:"哎呀 :( 我们无法识别此{{category}}。也许它是在更新版本中创建的。",node:"节点",linePath:"线段路径",lineStyle:"线段样式"},nodes:{common:{nameZh:"中文线路名称",nameEn:"英文线路名称",nameJa:"日语线路名称",num:"线路号"},virtual:{displayName:"虚拟节点"},shmetroNumLineBadge:{displayName:"上海地铁数字线路标识"},shmetroTextLineBadge:{displayName:"上海地铁文字线路标识"},gzmtrLineBadge:{displayName:"广州地铁线路标识",tram:"有轨电车",span:"跨行显示数字"},bjsubwayNumLineBadge:{displayName:"北京地铁数字线路标识"},bjsubwayTextLineBadge:{displayName:"北京地铁文字线路标识"},berlinSBahnLineBadge:{displayName:"柏林城市快铁线路标识"},berlinUBahnLineBadge:{displayName:"柏林地铁线路标识"},suzhouRTNumLineBadge:{displayName:"苏州轨道交通数字线路标识",branch:"是否支线"},chongqingRTNumLineBadge:{displayName:"重庆轨道交通数字线路标识"},chongqingRTTextLineBadge:{displayName:"重庆轨道交通文字线路标识"},shenzhenMetroNumLineBadge:{displayName:"深圳地铁数字线路标识",branch:"是否为支线"},mrtDestinationNumbers:{displayName:"新加坡MRT终点数字"},mrtLineBadge:{displayName:"新加坡MRT线路标识",isTram:"是LRT线路标识"},jrEastLineBadge:{displayName:"JR东日本线路标识",crosshatchPatternFill:"用网状图案填充"},qingdaoMetroNumLineBadge:{displayName:"青岛地铁数字线路标识",numEn:"英文线路号",showText:"显示文字"},guangdongIntercityRailwayLineBadge:{displayName:"广东城际铁路线路标识"},londonArrow:{displayName:"伦敦箭头",type:"类型",continuation:"延续",sandwich:"三明治",tube:"地铁"},master:{displayName:"大师节点",type:"大师节点类型",undefined:"未定义"},facilities:{displayName:"设施",type:"类型"},text:{displayName:"任意文字",content:"内容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字锚点",start:"开始",middle:"居中",end:"结束",auto:"自动",hanging:"悬挂",dominantBaseline:"显性基线",language:"哪个语言的字体系列",zh:"中文",en:"英文",mtr__zh:"港铁中文",mtr__en:"港铁英文",berlin:"柏林 S/U Bahn",mrt:"新加坡地铁",jreast_ja:"JR东日本日语",jreast_en:"JR东日本英语",rotate:"旋转",italic:"斜体",bold:"粗体"}},stations:{common:{nameZh:"中文名称",nameEn:"英文名称",nameJa:"日语名称",nameOffsetX:"名称横向偏移",nameOffsetY:"名称纵向偏移",rotate:"车站旋转角度",lineCode:"路线编号",stationCode:"车站编号",left:"左",middle:"中间",right:"右",top:"顶部",bottom:"底部"},interchange:{title:"换乘",within:"同站换乘",outStation:"出站换乘",outSystem:"系统外换乘",addGroup:"添加换乘组合",noInterchanges:"非换乘站",nameZh:"中文名称",nameEn:"英文名称",add:"添加换乘",copy:"复制换乘",remove:"删除换乘"},shmetroBasic:{displayName:"上海地铁基本车站"},shmetroBasic2020:{displayName:"上海地铁基本车站(2020)"},shmetroInt:{displayName:"上海地铁换乘车站",height:"车站高度",width:"车站宽度"},shmetroOsysi:{displayName:"上海地铁转乘车站"},shanghaiSuburbanRailway:{displayName:"上海市域铁路车站"},gzmtrBasic:{displayName:"广州地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},gzmtrInt:{displayName:"广州地铁换乘车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",foshan:"佛山"},gzmtrInt2024:{displayName:"广州地铁换乘站(2024)",columns:"站点列数",topHeavy:"优先将更多站点放在上方",anchorAt:"锚点位置",anchorAtNone:"居中",osiPosition:"出站换乘",osiPositionNone:"无",osiPositionLeft:"左侧",osiPositionRight:"右侧"},bjsubwayBasic:{displayName:"北京地铁基本车站",open:"是否开通"},bjsubwayInt:{displayName:"北京地铁换乘车站",outOfStation:"出站换乘"},mtr:{displayName:"香港MTR车站"},suzhouRTBasic:{displayName:"苏州轨道交通基本车站",textVertical:"垂直名称"},suzhouRTInt:{displayName:"苏州轨道交通换乘车站"},kunmingRTBasic:{displayName:"昆明轨道交通基本车站"},kunmingRTInt:{displayName:"昆明轨道交通换乘车站"},MRTBasic:{displayName:"新加坡MRT基本车站",isTram:"是LRT车站"},MRTInt:{displayName:"新加坡MRT换乘车站"},jrEastBasic:{displayName:"JR东日本基本车站",nameOffset:"名称偏移",textOneLine:"名称在一行中",textVertical:"垂直名称",important:"重要车站",lines:"换乘线偏移"},jrEastImportant:{displayName:"JR东日本重要车站",textVertical:"垂直名称",mostImportant:"最重要车站",minLength:"车站的最小长度"},foshanMetroBasic:{displayName:"佛山地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},qingdaoMetro:{displayName:"青岛地铁车站",isInt:"是换乘站"},tokyoMetroBasic:{displayName:"东京地铁基本车站",nameOffset:"名称偏移",textVertical:"垂直站名",lineCode:"线路编号",stationCode:"车站编号"},tokyoMetroInt:{displayName:"东京地铁换乘车站",mereOffset:{displayName:"名称微小偏移",none:"无",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"车站重要性",default:"默认",middle:"中",high:"高"},align:{displayName:"图标排列方向",horizontal:"横向",vertical:"纵向"}},londonTubeCommon:{stepFreeAccess:"无障碍通行",stepFreeAccessNone:"无",stepFreeAccessTrain:"从街道到列车",stepFreeAccessPlatform:"从街道到站台"},londonTubeBasic:{displayName:"伦敦地铁基本车站",terminal:"终点站",shareTracks:"轨道共享",shareTracksIndex:"轨道共享索引"},londonTubeInt:{displayName:"伦敦地铁换乘车站"},londonRiverServicesInt:{displayName:"伦敦河流服务换乘站"},guangdongIntercityRailway:{displayName:"广东城际铁路车站"}},lines:{reconcileId:"合并线段唯一标识符",common:{offsetFrom:"起始点偏移",offsetTo:"结束点偏移",startFrom:"从这里开始",roundCornerFactor:"转折圆角因子",from:"从",to:"到",parallelDisabled:"由于此线段是平行的,因此某些属性已被禁用。",changeInBaseLine:"在基准线段中更改它们:"},simple:{displayName:"基本线段",offset:"偏移"},diagonal:{displayName:"135°折线线段"},perpendicular:{displayName:"90°垂直线段"},rotatePerpendicular:{displayName:"90°旋转垂直线段"},singleColor:{displayName:"纯色样式"},shmetroVirtualInt:{displayName:"上海地铁出站换乘样式"},shanghaiSuburbanRailway:{displayName:"上海市域铁路样式",isEnd:"结束区间"},gzmtrVirtualInt:{displayName:"广州地铁出站换乘样式"},gzmtrLoop:{displayName:"广州地铁环线样式"},chinaRailway:{displayName:"中国铁路样式"},bjsubwaySingleColor:{displayName:"北京地铁纯色样式"},bjsubwayTram:{displayName:"北京地铁有轨电车样式"},bjsubwayDotted:{displayName:"北京地铁虚线样式"},dualColor:{displayName:"双色样式",swap:"切换颜色",colorA:"颜色A",colorB:"颜色B"},river:{displayName:"河流样式",width:"宽度"},mtrRaceDays:{displayName:"香港MTR赛马日样式"},mtrLightRail:{displayName:"香港MTR轻铁样式"},mtrUnpaidArea:{displayName:"香港MTR未付费区域样式"},mtrPaidArea:{displayName:"香港MTR付费区域样式"},mrtUnderConstruction:{displayName:"新加坡MRT在建样式"},mrtSentosaExpress:{displayName:"新加坡MRT圣淘沙捷运样式"},jrEastSingleColor:{displayName:"JR东日本单色样式"},jrEastSingleColorPattern:{displayName:"JR东日本单色网状图案样式"},lrtSingleColor:{displayName:"新加坡LRT纯色样式"},londonTubeInternalInt:{displayName:"伦敦地铁内部换乘样式"},londonTube10MinWalk:{displayName:"伦敦地铁10分钟步行换乘样式"},londonTubeTerminal:{displayName:"伦敦地铁终点站样式"},londonRail:{displayName:"伦敦铁路样式",limitedService:"有限服务/仅限高峰时段",colorBackground:"背景颜色",colorForeground:"前景颜色"},londonSandwich:{displayName:"伦敦三明治样式"},londonLutonAirportDART:{displayName:"伦敦卢顿机场DART样式"},londonIFSCloudCableCar:{displayName:"伦敦IFS云缆车样式"},guangdongIntercityRailway:{displayName:"广东城际铁路样式"}},edges:{},footer:{duplicate:"重复",copy:"复制",remove:"移除"}}},header:{popoverHeader:"你正在浏览<1>{{environment}}环境!",popoverBody:"我们正在测试最新的RMP。如果你有任何建议,欢迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜索车站",open:{new:"新项目",config:"导入项目",projectRMG:"从RMG项目中导入",invalidType:"无效的文件类型!仅接受JSON格式的文件。",unknownError:"解析上传文件时发生未知错误!请重试。",gallery:"从画廊中导入",tutorial:"开始教程",importFromRMPGallery:"模板 {{id}} 已导入。对此更改不满意?可通过 Ctrl + Z 或撤销按钮进行撤销。",failToImportFromRMPGallery:"无法从画廊导入{{id}},找不到文件。"},download:{config:"导出项目",image:"导出图片","2rmg":{title:"导出RMG项目",type:{line:"直线",loop:"环线",branch:"支线"},placeholder:{chinese:"中文线路名称",english:"英文线路名称",lineCode:"路线编号"},info1:"这个功能可将RMP项目导出为RMG项目。",info2:"下面的线路将可以被导出,你可以在左侧文本框中输入中文线路名称、在中间输入英文线路名称、右边输入线路编号(广州地铁样式专用),随后点击下载按钮即可导出RMG项目。",noline:"未找到可用线路。",download:"下载",downloadInfo:"请选择一个起始车站,并点击它。"},format:"文件种类",png:"PNG图像",svg:"SVG图像",svgVersion:"版本","svg1.1":"1.1(适用于Adobe Illustrator)",svg2:"2(适用于现代浏览器)",transparent:"透明背景",scale:"缩放",disabledScaleOptions:"由于浏览器的画布限制,部分缩放选项被禁用。",disabledScaleOptionsWorkarounds:"可能的解决方法包括使用此命令行工具从SVG生成图像:",imageTooBig:"图像太大,无法在您的浏览器中生成!",useSystemFonts:"使用系统字体而不是在画布上预览的字体",shareInfo1:"当我分享此图片时我会附上",shareInfo2:"和它的链接。",termsAndConditions:"条款及细则",termsAndConditionsInfo:"我同意",period:"。",confirm:"下载"},donation:{title:"捐赠",openCollective:"Open Collective",viaUSD:"通过Paypal或Visa卡以美元捐赠。",afdian:"爱发电",viaCNY:"通过支付宝或微信支付以人民币捐赠。"},settings:{title:"设置",pro:"这是一个专业功能,需要带有订阅的账户。",proWithTrial:"这是一个PRO功能,并提供有限的免费试用。",proLimitExceed:{master:"大师节点超出了免费额度。",parallel:"平行线段超出了免费额度。",solution:"移除它们以消除此警告,或订阅以解锁更多功能!"},subscription:{title:"订阅状态","logged-out":"您当前已登出。",free:"已登录!订阅以解锁更多功能!",subscriber:"感谢您的订阅!享受所有功能吧!",expired:"登录状态已过期。请登出后重新登录。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持续画线段直到点击背景",autoParallel:"自动将新线段设置为与现有线段平行",randomStationNames:{title:"创建时将站名随机化",none:"无",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"快捷键",keys:"键",description:"描述",f:"使用上一个工具。",s:"多选。",arrows:"稍微移动画布。",ijkl:"稍微移动所选站点。",shift:"多选。",alt:"精确移动。",delete:"删除所选站点。",cut:"剪切。",copy:"复制。",paste:"粘贴。",undo:"撤销。",redo:"重做。"},procedures:{title:"过程",translate:{title:"转化节点坐标",content:"将以下偏移加到所有节点的x和y上:",x:"横坐标",y:"纵坐标"},scale:{title:"缩放节点坐标",content:"将所有节点的x和y乘以以下值:",factor:"缩放因子"},changeType:{title:"修改所有对象的属性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改车站种类",changeFrom:"将此类型的所有车站:",changeTo:"转换为这个类型的车站:",info:"修改车站类型会移除所有独特属性除了名称。保存再操作!"},changeLineStyleType:{title:"批量修改线段样式",changeFrom:"将此样式的所有线段:",changeTo:"转换为这个样式的线段:",info:"修改线段样式会移除所有独特属性除了连通性。保存再操作!"},changeLinePathType:{title:"批量修改线段类型",changeFrom:"将此类型的所有线段:",changeTo:"转换为这个类型的线段:"},changeColor:{title:"批量修改颜色",changeFrom:"将此颜色的所有对象:",changeTo:"转换为这个颜色:",any:"从任何颜色转换"},removeLines:{title:"移除所有纯色线段",content:"移除具有此颜色的所有线段: "},updateColor:{title:"更新颜色",content:"使用最新值更新所有颜色。",success:"成功更新所有颜色。",error:"更新所有颜色时出错:{{e}}。"},unlockSimplePath:{title:"解锁简单路径",content1:"地铁线路图绘制器应用致力于在遵循既定惯例的前提下,提供一个有利于创建地铁线路图的互动平台。在这些惯例中,一种特别著名的风格源自哈利·贝克的创新工作。他的开创性贡献于1932年得到官方认可,并在大众中迅速赢得了声誉。目前,它在信息设计领域具有重要的示范意义,在全球范围内的交通制图中得到了广泛的实施,尽管成功程度有所不同。",content2:"应用程序固有地隐藏了使用简单路径的选项,因为其部署有可能违反既定的惯例。默认情况下,此特定功能保持隐蔽。此外,提交到地铁线路图绘制器画廊的作品将经过严格的审查,坚决拒绝使用单色风格的简单路径的构图。",content3:"尽管如此,我们仍然保留了解锁此选项的机会,当您订阅后,方可使用简单路径。需要注意的是,即使获得后,简单路径的使用也仅限于单色风格。",check:"解锁简单路径",unlocked:"已解锁"},masterManager:{title:"管理全部大师节点",id:"唯一标识",label:"标签",type:"类型",types:{MiscNode:"杂项节点",Station:"车站"},importTitle:"上传大师节点参数",importFrom:"使用导入的样式",importOther:"导入新样式",importParam:"粘贴配置信息"}},telemetry:{title:"遥测",info:"为了帮助改进地铁线路图绘制器并激励贡献者提升项目,我们通过 Google Analytics 收集匿名使用数据。这些数据仅用于增强用户体验和优化工具功能,绝不会与第三方共享。",essential:"基础",essentialTooltip:"在地铁线路图工具包中更改此全局设置",essentialInfo:"地铁线路图绘制器收集一些基本使用数据,以帮助我们了解用户如何以及何时与工具交互。请放心,我们从不收集任何可识别个人身份的信息或您的项目数据。",essentialLink:"点击此链接查看 Google Analytics 可能收集的详细字段。",additional:"额外",additionalInfo:"地铁线路图绘制器还会收集有关交互的数据,例如项目创建或站点添加等操作。这些额外数据同样是匿名的,仅用于统计分析以帮助我们改进工具。"}},about:{title:"关于",rmp:"地铁线路图绘制器",railmapgen:"一个线路图工具包项目",desc:"通过自由拖动来自不同城市的车站并以 90 或 135 度圆角线段将它们连接起来,设计您自己的铁路地图!",content1:"谨以此纪念我们曾拥有的自由与平等。",content2:"06/01/2022于上海",contributors:"贡献者",coreContributors:"核心贡献者",styleContributors:"样式贡献者",langonginc:"活出值得铭记的人生。","203IhzElttil":"特别感谢他勤勉工作,确保上海地铁站与原始设计相符。",Swiftiecott:"特别感谢他勤勉工作,确保北京地铁站与原始设计相符。",Minwtraft:"特别感谢他勤勉工作,确保广州地铁站与原始设计相符。",contactUs:"联系我们",github:"项目仓库",githubContent:"遇到任何问题?在这里搜索或提出一个问题!",slack:"Slack群组",slackContent:"在这些Slack频道中讨论!"}}},Bd={color:"顏色",warning:"警告",cancel:"取消",apply:"應用",remove:"移除",close:"關閉",noShowAgain:"不要再顯示",rmtPromotion:"絕對不想錯過的多功能工具包!",panel:{tools:{showLess:"顯示更少",section:{lineDrawing:"線段繪製",stations:"車站",miscellaneousNodes:"雜項節點"},select:"多選",learnHowToAdd:{station:"了解如何添加車站!","misc-node":"了解如何添加節點!",line:"了解如何添加線條樣式!"}},details:{header:"詳情",info:{title:"基本信息",id:"唯一識別符",zIndex:"深度",stationType:"車站類型",linePathType:"線段路徑類型",lineStyleType:"線段樣式類型",type:"類型",parallel:"平行線段",parallelIndex:"平行線段索引"},multipleSelection:{title:"多重選取",change:"修改選取物件的屬性",selected:"選取的物件:",show:"顯示",station:"車站",miscNode:"雜項節點",edge:"線段"},changeStationTypeContent:"修改車站類型會移除所有獨特屬性除了名稱。",changeLineTypeContent:"修改線段類型會移除所有獨特屬性。",changeType:"更改類型",nodePosition:{title:"節點位置",pos:{x:"橫坐標",y:"縱坐標"}},lineExtremities:{title:"線段兩端",source:"起點",target:"終點",sourceName:"起點名稱",targetName:"終點名稱"},specificAttrsTitle:"獨特屬性",unknown:{error:"哎呀 :( 我們無法識別此{{category}}。也許它是在更新版本中創建的。",node:"節點",linePath:"線段路徑",lineStyle:"線段樣式"},nodes:{common:{nameZh:"中文線路名稱",nameEn:"英文線路名稱",nameJa:"日語線路名稱",num:"線路號"},virtual:{displayName:"虛擬節點"},shmetroNumLineBadge:{displayName:"上海地鐵數字線路標識"},shmetroTextLineBadge:{displayName:"上海地鐵文字線路標識"},gzmtrLineBadge:{displayName:"廣州地鐵線路標識",tram:"輕軌",span:"跨行顯示數字"},bjsubwayNumLineBadge:{displayName:"北京地鐵數字線路標識"},bjsubwayTextLineBadge:{displayName:"北京地鐵文字線路標識"},berlinSBahnLineBadge:{displayName:"柏林城市快鐵線路標識"},berlinUBahnLineBadge:{displayName:"柏林地鐵線路標識"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通數字線路標識",branch:"是否支線"},chongqingRTNumLineBadge:{displayName:"重慶軌道交通數字線路標識"},chongqingRTTextLineBadge:{displayName:"重慶軌道交通文字線路標識"},shenzhenMetroNumLineBadge:{displayName:"深圳地鐵數字線路標識",branch:"是否支線"},mrtDestinationNumbers:{displayName:"新加坡MRT終點數字"},mrtLineBadge:{displayName:"新加坡MRT線路標識",isTram:"是LRT線路標識"},jrEastLineBadge:{displayName:"JR東日本線路標識",crosshatchPatternFill:"用網狀圖案填充"},qingdaoMetroNumLineBadge:{displayName:"青島地鐵數位線路標識",numEn:"英文線路號",showText:"顯示文字"},guangdongIntercityRailwayLineBadge:{displayName:"廣東城際鐵路線標識"},londonArrow:{displayName:"倫敦箭頭",type:"類型",continuation:"延續",sandwich:"三明治",tube:"地鐵"},master:{displayName:"大師節點",type:"大師節點類型",undefined:"未定義"},facilities:{displayName:"設施",type:"類型"},text:{displayName:"任意文字",content:"內容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字錨點",start:"開始",middle:"中間",end:"結束",auto:"自動",hanging:"懸吊",dominantBaseline:"顯性基線",language:"哪個語言的字體系列",zh:"中文",en:"英文",mtr__zh:"香港地鐵中文",mtr__en:"香港地鐵英文",berlin:"柏林 S/U 地鐵",mrt:"新加坡地鐵",jreast_ja:"JR 東日本日文",jreast_en:"JR 東日本英文",rotate:"旋轉",italic:"斜體",bold:"粗體"}},stations:{common:{nameZh:"中文名稱",nameEn:"英文名稱",nameJa:"日語名稱",nameOffsetX:"名稱橫向偏移",nameOffsetY:"名稱縱向偏移",rotate:"車站旋轉角度",lineCode:"路綫編碼",stationCode:"車站編碼",left:"左",middle:"中間",right:"右",top:"頂部",bottom:"底部"},interchange:{title:"換乘",within:"同站換乘",outStation:"出站換乘",outSystem:"系統外換乘",addGroup:"添加換乘組合",noInterchanges:"非換乘站",nameZh:"中文名稱",nameEn:"英文名稱",add:"添加換乘",copy:"復製換乘",remove:"刪除換乘"},shmetroBasic:{displayName:"上海地鐵基本車站"},shmetroBasic2020:{displayName:"上海地鐵基本車站(2020)"},shmetroInt:{displayName:"上海地鐵換乘車站",height:"車站高度",width:"車站寬度"},shmetroOsysi:{displayName:"上海地鐵轉乘車站"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路車站"},gzmtrBasic:{displayName:"廣州地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},gzmtrInt:{displayName:"廣州地鐵換乘車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",foshan:"佛山"},gzmtrInt2024:{displayName:"廣州地鐵換乘站(2024)",columns:"站點列數",topHeavy:"優先將更多站點放在上方",anchorAt:"錨點位置",anchorAtNone:"居中",osiPosition:"出站轉車",osiPositionNone:"無",osiPositionLeft:"左側",osiPositionRight:"右側"},bjsubwayBasic:{displayName:"北京地鐵基本車站",open:"是否開通"},bjsubwayInt:{displayName:"北京地鐵換乘車站",outOfStation:"出站轉車"},mtr:{displayName:"香港MTR車站"},suzhouRTBasic:{displayName:"蘇州軌道交通基本車站",textVertical:"垂直名稱"},suzhouRTInt:{displayName:"蘇州軌道交通換乘車站"},kunmingRTBasic:{displayName:"昆明軌道交通基本車站"},kunmingRTInt:{displayName:"昆明軌道交通換乘車站"},MRTBasic:{displayName:"新加坡MRT基本車站",isTram:"是LRT車站"},MRTInt:{displayName:"新加坡MRT換乘車站"},jrEastBasic:{displayName:"JR東日本基本車站",nameOffset:"名稱偏移",textOneLine:"名稱在一行中",textVertical:"垂直名稱",important:"重要車站",lines:"轉乘線偏移"},jrEastImportant:{displayName:"JR東日本重要車站",textVertical:"垂直名稱",mostImportant:"最重要車站",minLength:"車站的最小長度"},foshanMetroBasic:{displayName:"佛山地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},qingdaoMetro:{displayName:"青島地鐵基本車站",isInt:"是換乘站"},tokyoMetroBasic:{displayName:"東京地鐵基本車站",nameOffset:"名稱偏移",textVertical:"垂直站名",lineCode:"線路編號",stationCode:"車站編號"},tokyoMetroInt:{displayName:"東京地鐵轉乘車站",mereOffset:{displayName:"名稱微小偏移",none:"無",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"車站重要性",default:"預設",middle:"中",high:"高"},align:{displayName:"圖標排列方向",horizontal:"橫向",vertical:"縱向"}},londonTubeCommon:{stepFreeAccess:"無障礙通行",stepFreeAccessNone:"無",stepFreeAccessTrain:"從街道到列車",stepFreeAccessPlatform:"從街道到月台"},londonTubeBasic:{displayName:"倫敦地鐵基本車站",terminal:"終點站",shareTracks:"軌道共享",shareTracksIndex:"軌道共享指數"},londonTubeInt:{displayName:"倫敦地鐵換乘車站"},londonRiverServicesInt:{displayName:"倫敦河流服務換乘站"},guangdongIntercityRailway:{displayName:"廣東城際鐵路車站"}},lines:{reconcileId:"合並線段唯一標識符",common:{offsetFrom:"起始點偏移",offsetTo:"結束點偏移",startFrom:"從這裏開始",roundCornerFactor:"轉折圓角因子",from:"從",to:"到",parallelDisabled:"由於此線段是平行的,因此某些屬性已被禁用。",changeInBaseLine:"在基準線段中更改它們:"},simple:{displayName:"基本線段",offset:"偏移"},diagonal:{displayName:"135°折線線段"},perpendicular:{displayName:"90°垂直線段"},rotatePerpendicular:{displayName:"90°旋轉垂直線段"},singleColor:{displayName:"純色樣式"},shmetroVirtualInt:{displayName:"上海地鐵出站換乘樣式"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路樣式",isEnd:"結束區間"},gzmtrVirtualInt:{displayName:"廣州地鐵出站換乘樣式"},gzmtrLoop:{displayName:"廣州地鐵環線樣式"},chinaRailway:{displayName:"中國鐵路樣式"},bjsubwaySingleColor:{displayName:"北京地鐵純色樣式"},bjsubwayTram:{displayName:"北京地鐵有軌電車樣式"},bjsubwayDotted:{displayName:"北京地鐵虛線樣式"},dualColor:{displayName:"雙色樣式",swap:"切換顏色",colorA:"顏色A",colorB:"顏色B"},river:{displayName:"河流樣式",width:"寬度"},mtrRaceDays:{displayName:"香港MTR賽馬日樣式"},mtrLightRail:{displayName:"香港MTR輕鐵樣式"},mtrUnpaidArea:{displayName:"香港MTR未付費區域樣式"},mtrPaidArea:{displayName:"香港MTR付費區域樣式"},mrtUnderConstruction:{displayName:"新加坡MRT在建樣式"},mrtSentosaExpress:{displayName:"新加坡MRT聖淘沙捷運樣式"},jrEastSingleColor:{displayName:"JR東日本單色樣式"},jrEastSingleColorPattern:{displayName:"JR東日本單色網狀圖案樣式"},lrtSingleColor:{displayName:"新加坡LRT純色樣式"},londonTubeInternalInt:{displayName:"倫敦地鐵內部換乘樣式"},londonTube10MinWalk:{displayName:"倫敦地鐵10分鐘步行換乘樣式"},londonTubeTerminal:{displayName:"倫敦地鐵終點站樣式"},londonRail:{displayName:"倫敦鐵路樣式",limitedService:"有限服務/只限繁忙時段",colorBackground:"背景顏色",colorForeground:"前景顏色"},londonSandwich:{displayName:"倫敦三明治樣式"},londonLutonAirportDART:{displayName:"倫敦盧頓機場DART樣式"},londonIFSCloudCableCar:{displayName:"倫敦IFS雲纜車樣式"},guangdongIntercityRailway:{displayName:"廣東城際鐵路樣式"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"移除"}}},header:{popoverHeader:"你正在瀏覽<1>{{environment}}環境!",popoverBody:"我們正在測試最新的RMP。如果妳有任何建議,歡迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜尋車站",open:{new:"新項目",config:"讀入項目",projectRMG:"從RMG專案中讀入",invalidType:"無效的文件類型!僅接受JSON格式的文件。",unknownError:"解析上傳文件時發生未知錯誤!請重試。",gallery:"從畫廊中讀入",tutorial:"開始教程",importFromRMPGallery:"範本 {{id}} 已匯入。對此更改不滿意?可通過 Ctrl + Z 或撤銷按鈕進行撤銷。",failToImportFromRMPGallery:"無法從畫廊導入{{id}},找不到檔案。"},download:{config:"導出項目",image:"導出圖片","2rmg":{title:"導出RMG項目",type:{line:"直線",loop:"環線",branch:"支線"},placeholder:{chinese:"中文線路名稱",english:"英文線路名稱",lineCode:"路綫編碼"},info1:"這個功能可將RMP項目導出為RMG項目。",info2:"下面的線路將可以被導出,你可以在左側文本框中輸入中文線路名稱、在中間輸入英文線路名稱、右邊輸入線路編號(廣州地鐵樣式專用),隨後點擊下載按鈕即可導出RMG項目。",noline:"未找到可用線路。",download:"下載",downloadInfo:"請選擇一個起始車站,並點擊它。"},format:"檔案種類",png:"PNG影像",svg:"SVG影像",svgVersion:"版本","svg1.1":"1.1(適用於Adobe Illustrator)",svg2:"2(適用於現代瀏覽器)",transparent:"透明背景",scale:"縮放",disabledScaleOptions:"由於您的瀏覽器的畫布限制,部分縮放選項已被禁用。",disabledScaleOptionsWorkarounds:"可能的解決方法包括使用此命令行工具從SVG生成圖像:",imageTooBig:"圖像太大,您的瀏覽器無法生成!",useSystemFonts:"使用系統字型而不是在畫布上預覽的字型",shareInfo1:"當我分享此圖片時我會附上",shareInfo2:"和它的鏈接。",termsAndConditions:"條款及細則",termsAndConditionsInfo:"我同意",period:"。",confirm:"下載"},donation:{title:"捐款",openCollective:"Open Collective",viaUSD:"通過Paypal或Visa卡以美元捐款。",afdian:"爱发电",viaCNY:"通過支付寶或微信支付以人民幣捐款。"},settings:{title:"設置",pro:"這是一個專業功能,需要带有訂閱的帳戶。",proWithTrial:"這是一個PRO功能,並提供有限的免費試用。",proLimitExceed:{master:"大師節點超出了免費額度。",parallel:"平行線段超出了免費額度。",solution:"移除它們以解除此警告,或訂閱以解鎖更多功能!"},subscription:{title:"訂閱狀態","logged-out":"您目前已登出。",free:"已登入!訂閱以解鎖更多功能!",subscriber:"感謝您的訂閱!享受所有功能吧!",expired:"登入狀態已過期。請登出後重新登入。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持續畫線段直到點擊背景",autoParallel:"自動將新段線設置為與現有線段平行",randomStationNames:{title:"創建時將站名隨機化",none:"無",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"捷徑",keys:"按鍵",description:"描述",f:"使用上一個工具。",s:"多選。",arrows:"稍微移動畫布。",ijkl:"稍微移動所選站點。",shift:"多選。",alt:"精確移動。",delete:"刪除所選站點。",cut:"剪切。",copy:"複製。",paste:"貼上。",undo:"撤銷。",redo:"重做。"},procedures:{title:"過程",translate:{title:"轉化節點坐標",content:"將以下偏移加到所有節點的x和y上:",x:"橫坐標",y:"縱坐標"},scale:{title:"縮放節點坐標",content:"將所有節點的x和y乘以以下值:",factor:"縮放因子"},changeType:{title:"修改所有物件的屬性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改車站種類",changeFrom:"將此類型的所有車站:",changeTo:"轉換為這個類型的車站:",info:"修改車站類型會移除所有獨特屬性除了名稱。保存再操作!"},changeLineStyleType:{title:"批量修改線段樣式",changeFrom:"將此樣式的所有線段:",changeTo:"轉換為這個樣式的線段:",info:"修改線段樣式會移除所有獨特屬性除了連通性。保存再操作!"},changeLinePathType:{title:"批量修改線段類型",changeFrom:"將此類型的所有線段:",changeTo:"轉換為這個類型的線段:"},changeColor:{title:"批量修改顏色",changeFrom:"將此顏色的所有對象:",changeTo:"轉換為這個顏色:",any:"從任何顏色轉換"},removeLines:{title:"移除所有純色線段",content:"移除具有此顏色的所有線段: "},updateColor:{title:"更新顏色",content:"使用最新值更新所有顏色。",success:"成功更新所有顏色。",error:"更新所有顏色時發生錯誤:{{e}}。"},unlockSimplePath:{title:"解鎖簡單路徑",content1:"地鐵線路圖繪製器應用致力於在遵循既定慣例的前提下,提供一個有利於創建地鐵線路圖的互動平台。在這些慣例中,一種特別著名的風格源自哈利·貝克的創新工作。他的開創性貢獻於1932年得到官方認可,並在大眾中迅速贏得了聲譽。目前,它在信息設計領域具有重要的示範意義,在全球範圍內的交通製圖中得到了廣泛的實施,儘管成功程度有所不同。",content2:"應用程式固有地隱藏了使用簡單路徑的選項,因為其部署有可能違反既定的慣例。默認情況下,此特定功能保持隱蔽。此外,提交到地鐵線路圖繪製器畫廊的作品將經過嚴格的審查,堅決拒絕使用單色風格的簡單路徑的構圖。",content3:"儘管如此,我們仍然保留瞭解鎖此選項的機會,當您訂閱后,方可使用簡單路徑。 需要注意的是,即使獲得后,簡單路徑的使用也僅限於單色風格。",check:"解鎖簡單路徑",unlocked:"已解鎖"},masterManager:{title:"管理全部大師節點",id:"唯一標識",label:"標籤",type:"類型",types:{MiscNode:"雜項節點",Station:"車站"},importTitle:"上傳大師節點參數",importFrom:"使用匯入的樣式",importOther:"導入新樣式",importParam:"貼上配置信息"}},telemetry:{title:"遙測",info:"為了協助改進地鐵路綫圖繪製器並激勵貢獻者提升項目,我們透過 Google Analytics 收集匿名使用數據。這些數據僅用於提升用戶體驗及優化工具功能,絕不會與第三方共享。",essential:"基本",essentialTooltip:"在地鐵路綫圖工具組中更改此全局設定",essentialInfo:"地鐵路綫圖繪製器收集一些基本使用數據,以協助我們了解用戶如何及何時與工具互動。請放心,我們絕不收集任何可識別個人身份的資訊或您的項目數據。",essentialLink:"點擊此鏈接查看 Google Analytics 可能收集的詳細字段。",additional:"額外",additionalInfo:"地鐵路綫圖繪製器還會收集與互動有關的數據,例如創建項目或新增站點等操作。這些額外數據同樣是匿名的,僅用於統計分析以協助我們改進工具。"}},about:{title:"關於",rmp:"地鐵線路圖繪製器",railmapgen:"一個路綫圖工具組的項目",desc:"通過自由拖動來自不同城市的車站並以 90 或 135 度圓角線段將它們連接起來,設計您自己的鐵路地圖!",content1:"謹以此紀念我們曾擁有的自由與平等。",content2:"06/01/2022於上海",contributors:"貢獻者",coreContributors:"核心貢獻者",styleContributors:"樣式貢獻者",langonginc:"活出值得銘記的人生。","203IhzElttil":"特別感謝他勤奮工作,確保上海地鐵站與原始設計相符。",Swiftiecott:"特別感謝他勤奮工作,確保北京地鐵站與原始設計相符。",Minwtraft:"特別感謝他勤奮工作,確保廣州地鐵站與原始設計相符。",contactUs:"聯繫我們",github:"項目倉庫",githubContent:"遇到任何問題?在這裡搜索或提出一個問題!",slack:"Slack群組",slackContent:"在這些Slack頻道中討論!"}}},Dd=e("aU",(new qn.I18nBuilder).use(ze).withAppName("Rail Map Painter").withLng(qn.getLanguage()).withDefaultResource(Md).withResource("en",Pd).withResource("zh-Hans",zd).withResource("zh-Hant",Bd).withResource("ja",Id).withResource("ko",$d).build()),{abs:Gd,cos:Fd,sin:Wd,acos:Ud,atan2:Vd,sqrt:Hd,pow:Jd}=Math;function qd(e){return e<0?-Jd(-e,1/3):Jd(e,1/3)}const Kd=Math.PI,Yd=2*Kd,Qd=Kd/2,Zd=Number.MAX_SAFE_INTEGER||9007199254740991,Xd=Number.MIN_SAFE_INTEGER||-9007199254740991,ec={x:0,y:0,z:0},tc={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,t){const n=t(e);let r=n.x*n.x+n.y*n.y;return void 0!==n.z&&(r+=n.z*n.z),Hd(r)},compute:function(e,t,n){if(0===e)return t[0].t=0,t[0];const r=t.length-1;if(1===e)return t[r].t=1,t[r];const o=1-e;let i=t;if(0===r)return t[0].t=e,t[0];if(1===r){const t={x:o*i[0].x+e*i[1].x,y:o*i[0].y+e*i[1].y,t:e};return n&&(t.z=o*i[0].z+e*i[1].z),t}if(r<4){let t,a,s,l=o*o,d=e*e,c=0;2===r?(i=[i[0],i[1],i[2],ec],t=l,a=o*e*2,s=d):3===r&&(t=l*o,a=l*e*3,s=o*d*3,c=e*d);const u={x:t*i[0].x+a*i[1].x+s*i[2].x+c*i[3].x,y:t*i[0].y+a*i[1].y+s*i[2].y+c*i[3].y,t:e};return n&&(u.z=t*i[0].z+a*i[1].z+s*i[2].z+c*i[3].z),u}const a=JSON.parse(JSON.stringify(t));for(;a.length>1;){for(let t=0;t1;o--,i--){const e=[];for(let n,o=0;oi.x.min&&(t=i.x.min),n>i.y.min&&(n=i.y.min),r0&&(a.c1=t,a.c2=r,a.s1=e,a.s2=n,i.push(a))}))})),i},makeshape:function(e,t,n){const r=t.points.length,o=e.points.length,i=tc.makeline(t.points[r-1],e.points[0]),a=tc.makeline(e.points[o-1],t.points[0]),s={startcap:i,forward:e,back:t,endcap:a,bbox:tc.findbbox([i,e,t,a]),intersections:function(e){return tc.shapeintersections(s,s.bbox,e,e.bbox,n)}};return s},getminmax:function(e,t,n){if(!n)return{min:0,max:0};let r,o,i=Zd,a=Xd;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let s=0,l=n.length;sa&&(a=o[t]);return{min:i,mid:(i+a)/2,max:a,size:a-i}},align:function(e,t){const n=t.p1.x,r=t.p1.y,o=-Vd(t.p2.y-r,t.p2.x-n);return e.map((function(e){return{x:(e.x-n)*Fd(o)-(e.y-r)*Wd(o),y:(e.x-n)*Wd(o)+(e.y-r)*Fd(o)}}))},roots:function(e,t){t=t||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=e.length-1,r=tc.align(e,t),o=function(e){return 0<=e&&e<=1};if(2===n){const e=r[0].y,t=r[1].y,n=r[2].y,i=e-2*t+n;if(0!==i){const r=-Hd(t*t-e*n),a=-e+t;return[-(r+a)/i,-(-r+a)/i].filter(o)}return t!==n&&0===i?[(2*t-n)/(2*t-2*n)].filter(o):[]}const i=r[0].y,a=r[1].y,s=r[2].y;let l=3*a-i-3*s+r[3].y,d=3*i-6*a+3*s,c=-3*i+3*a,u=i;if(tc.approximately(l,0)){if(tc.approximately(d,0))return tc.approximately(c,0)?[]:[-u/c].filter(o);const e=Hd(c*c-4*d*u),t=2*d;return[(e-c)/t,(-c-e)/t].filter(o)}d/=l,c/=l,u/=l;const p=(3*c-d*d)/3,h=p/3,g=(2*d*d*d-9*d*c+27*u)/27,f=g/2,m=f*f+h*h*h;let y,b,v,w,x;if(m<0){const e=-p/3,t=Hd(e*e*e),n=-g/(2*t),r=Ud(n<-1?-1:n>1?1:n),i=2*qd(t);return v=i*Fd(r/3)-d/3,w=i*Fd((r+Yd)/3)-d/3,x=i*Fd((r+2*Yd)/3)-d/3,[v,w,x].filter(o)}if(0===m)return y=f<0?qd(-f):-qd(f),v=2*y-d/3,w=-y-d/3,[v,w].filter(o);{const e=Hd(m);return y=qd(-f+e),b=qd(f+e),[y-b-d/3].filter(o)}},droots:function(e){if(3===e.length){const t=e[0],n=e[1],r=e[2],o=t-2*n+r;if(0!==o){const e=-Hd(n*n-t*r),i=-t+n;return[-(e+i)/o,-(-e+i)/o]}return n!==r&&0===o?[(2*n-r)/(2*(n-r))]:[]}if(2===e.length){const t=e[0],n=e[1];return t!==n?[t/(t-n)]:[]}return[]},curvature:function(e,t,n,r,o){let i,a,s,l,d=0,c=0;const u=tc.compute(e,t),p=tc.compute(e,n),h=u.x*u.x+u.y*u.y;if(r?(i=Hd(Jd(u.y*p.z-p.y*u.z,2)+Jd(u.z*p.x-p.z*u.x,2)+Jd(u.x*p.y-p.x*u.y,2)),a=Jd(h+u.z*u.z,1.5)):(i=u.x*p.y-u.y*p.x,a=Jd(h,1.5)),0===i||0===a)return{k:0,r:0};if(d=i/a,c=a/i,!o){const o=tc.curvature(e-.001,t,n,r,!0).k,i=tc.curvature(e+.001,t,n,r,!0).k;l=(i-d+(d-o))/2,s=(Gd(i-d)+Gd(d-o))/2}return{k:d,r:c,dk:l,adk:s}},inflections:function(e){if(e.length<4)return[];const t=tc.align(e,{p1:e[0],p2:e.slice(-1)[0]}),n=t[2].x*t[1].y,r=t[3].x*t[1].y,o=t[1].x*t[2].y,i=18*(-3*n+2*r+3*o-t[3].x*t[2].y),a=18*(3*n-r-3*o),s=18*(o-n);if(tc.approximately(i,0)){if(!tc.approximately(a,0)){let e=-s/a;if(0<=e&&e<=1)return[e]}return[]}const l=2*i;if(tc.approximately(l,0))return[];const d=a*a-4*i*s;if(d<0)return[];const c=Math.sqrt(d);return[(c-a)/l,-(a+c)/l].filter((function(e){return 0<=e&&e<=1}))},bboxoverlap:function(e,t){const n=["x","y"],r=n.length;for(let o,i,a,s,l=0;l=s)return!1;return!0},expandbox:function(e,t){t.x.mine.x.max&&(e.x.max=t.x.max),t.y.max>e.y.max&&(e.y.max=t.y.max),t.z&&t.z.max>e.z.max&&(e.z.max=t.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,t,n){const r=e.bbox(),o=t.bbox(),i=1e5,a=n||.5;if(r.x.size+r.y.sizek||k>N)&&(S+=Yd),S>N&&(x=N,N=S,S=x)):N4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==o&&8!==o&&9!==o&&12!==o&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const i=this._3d=!r&&(9===o||12===o)||e&&e[0]&&void 0!==e[0].z,a=this.points=[];for(let p=0,h=i?3:2;pe+rc(t.y)),0)0}length(){return tc.length(this.derivative.bind(this))}static getABC(e=2,t,n,r,o=.5){const i=tc.projectionratio(o,e),a=1-i,s={x:i*t.x+a*r.x,y:i*t.y+a*r.y},l=tc.abcratio(o,e);return{A:{x:n.x+(n.x-s.x)/l,y:n.y+(n.y-s.y)/l},B:n,C:s,S:t,E:r}}getABC(e,t){t=t||this.get(e);let n=this.points[0],r=this.points[this.order];return uc.getABC(this.order,n,t,r,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let t,n,r=0;r1?1:u,l=this.compute(u),l.t=u,l.d=d,l}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?tc.computeWithRatios(e,this.points,this.ratios,this._3d):tc.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,t=[e[0]],n=e.length;for(let r,o,i=1;i1;){n=[];for(let i,a=0,s=t.length-1;a=0&&e<=1})),t=t.concat(e[n].sort(tc.numberSort))}.bind(this)),e.values=t.sort(tc.numberSort).filter((function(e,n){return t.indexOf(e)===n})),e}bbox(){const e=this.extrema(),t={};return this.dims.forEach(function(n){t[n]=tc.getminmax(this,n,e[n])}.bind(this)),t}overlaps(e){const t=this.bbox(),n=e.bbox();return tc.bboxoverlap(t,n)}offset(e,t){if(void 0!==t){const n=this.get(e),r=this.normal(e),o={c:n,n:r,x:n.x+r.x*t,y:n.y+r.y*t};return this._3d&&(o.z=n.z+r.z*t),o}if(this._linear){const t=this.normal(0),n=this.points.map((function(n){const r={x:n.x+e*t.x,y:n.y+e*t.y};return n.z&&t.z&&(r.z=n.z+e*t.z),r}));return[new uc(n)]}return this.reduce().map((function(t){return t._linear?t.offset(e)[0]:t.scale(e)}))}simple(){if(3===this.order){const e=tc.angle(this.points[0],this.points[3],this.points[1]),t=tc.angle(this.points[0],this.points[3],this.points[2]);if(e>0&&t<0||e<0&&t>0)return!1}const e=this.normal(0),t=this.normal(1);let n=e.x*t.x+e.y*t.y;return this._3d&&(n+=e.z*t.z),rc(lc(n))(1-o/r)*t+o/r*n));return new uc(this.points.map(((t,n)=>({x:t.x+e.x*o[n],y:t.y+e.y*o[n]}))))}scale(e){const t=this.order;let n=!1;if("function"==typeof e&&(n=e),n&&2===t)return this.raise().scale(n);const r=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),n?n(0):e,n?n(1):e);const i=n?n(0):e,a=n?n(1):e,s=[this.offset(0,10),this.offset(1,10)],l=[],d=tc.lli4(s[0],s[0].c,s[1],s[1].c);if(!d)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(e){const n=l[e*t]=tc.copy(o[e*t]);n.x+=(e?a:i)*s[e].n.x,n.y+=(e?a:i)*s[e].n.y})),n?([0,1].forEach((function(i){if(2!==t||!i){var a=o[i+1],s={x:a.x-d.x,y:a.y-d.y},c=n?n((i+1)/t):e;n&&!r&&(c=-c);var u=dc(s.x*s.x+s.y*s.y);s.x/=u,s.y/=u,l[i+1]={x:a.x+c*s.x,y:a.y+c*s.y}}})),new uc(l)):([0,1].forEach((e=>{if(2===t&&e)return;const n=l[e*t],r=this.derivative(e),i={x:n.x+r.x,y:n.y+r.y};l[e+1]=tc.lli4(n,i,d,o[e+1])})),new uc(l))}outline(e,t,n,r){if(t=void 0===t?e:t,this._linear){const o=this.normal(0),i=this.points[0],a=this.points[this.points.length-1];let s,l,d;void 0===n&&(n=e,r=t),s={x:i.x+o.x*e,y:i.y+o.y*e},d={x:a.x+o.x*n,y:a.y+o.y*n},l={x:(s.x+d.x)/2,y:(s.y+d.y)/2};const c=[s,l,d];s={x:i.x-o.x*t,y:i.y-o.y*t},d={x:a.x-o.x*r,y:a.y-o.y*r},l={x:(s.x+d.x)/2,y:(s.y+d.y)/2};const u=[d,l,s],p=tc.makeline(u[2],c[0]),h=tc.makeline(c[2],u[0]),g=[p,new uc(c),h,new uc(u)];return new nc(g)}const o=this.reduce(),i=o.length,a=[];let s,l=[],d=0,c=this.length();const u=void 0!==n&&void 0!==r;function p(e,t,n,r,o){return function(i){const a=r/n,s=(r+o)/n,l=t-e;return tc.map(i,0,1,e+a*l,e+s*l)}}o.forEach((function(o){const i=o.length();u?(a.push(o.scale(p(e,n,c,d,i))),l.push(o.scale(p(-t,-r,c,d,i)))):(a.push(o.scale(e)),l.push(o.scale(-t))),d+=i})),l=l.map((function(e){return s=e.points,s[3]?e.points=[s[3],s[2],s[1],s[0]]:e.points=[s[2],s[1],s[0]],e})).reverse();const h=a[0].points[0],g=a[i-1].points[a[i-1].points.length-1],f=l[i-1].points[l[i-1].points.length-1],m=l[0].points[0],y=tc.makeline(f,h),b=tc.makeline(g,m),v=[y].concat(a).concat([b]).concat(l);return new nc(v)}outlineshapes(e,t,n){t=t||e;const r=this.outline(e,t).curves,o=[];for(let i=1,a=r.length;i1,e.endcap.virtual=i{var i=this.get(e);return tc.between(i.x,t,r)&&tc.between(i.y,n,o)}))}selfintersects(e){const t=this.reduce(),n=t.length-2,r=[];for(let o,i,a,s=0;s0&&(o=o.concat(t))})),o}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,t,n,r){const o=(r-n)/4,i=this.get(n+o),a=this.get(r-o),s=tc.dist(e,t),l=tc.dist(e,i),d=tc.dist(e,a);return rc(l-s)+rc(d-s)}_iterate(e,t){let n,r=0,o=1;do{n=0,o=1;let i,a,s,l,d,c=this.get(r),u=!1,p=!1,h=o,g=1;do{if(p=u,l=s,h=(r+o)/2,i=this.get(h),a=this.get(o),s=tc.getccenter(c,i,a),s.interval={start:r,end:o},u=this._error(s,c,r,o)<=e,d=p&&!u,d||(g=o),u){if(o>=1){if(s.interval.end=g=1,l=s,o>1){let e={x:s.x+s.r*ac(s.e),y:s.y+s.r*sc(s.e)};s.e+=tc.angle({x:s.x,y:s.y},e,this.get(1))}break}o+=(o-r)/2}else o=h}while(!d&&n++<100);if(n>=100)break;l=l||s,t.push(l),r=g}while(o<1);return t}}const pc=(e,t,n,r)=>{var o;r=null!==(o=r)&&void 0!==o?o:-n;const[i,a]=hc(e);if(!i||!a)return;if(i[0]===a[0]||i[1]===a[1]||t===Cd.Diagonal&&Math.abs(i[1]-a[1])===Math.abs(i[0]-a[0])){const e=Math.abs(n);return gc(i,a,e)}const[s,l]=mc(e);if(!s||!l)return;const d=new uc([...s,...l]),[c,u]=[d.scale(n),d.scale(r)],p=bc(i,s,a,d,c,u);if(!p)return;const{mA:[h,g],mB:[f,m],endA:[y,b],endB:[v,w]}=p;return[`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b}`,`M ${f} ${m} ${u.toSVG().replace("M","L")} L ${v} ${w}`]},hc=e=>{var t,n;return[null===(t=e.match(/M\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))||void 0===t||null===(t=t.at(0))||void 0===t?void 0:t.replace(/M\s*/,"").split(" ").map((e=>Number(e))),null===(n=e.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*$/))||void 0===n||null===(n=n.at(0))||void 0===n?void 0:n.replace(/L\s*/,"").split(" ").map((e=>Number(e)))]},gc=(e,t,n)=>{const[r,o,i,a]=[e[0],e[1],t[0],t[1]],s=Math.abs((a-o)/(i-r));if(s===1/0)return[`M ${r+n} ${o} L ${i+n} ${a}`,`M ${r-n} ${o} L ${i-n} ${a}`];if(0===s)return[`M ${r} ${o+n} L ${i} ${a+n}`,`M ${r} ${o-n} L ${i} ${a-n}`];{const e=1/s,t=n/Math.sqrt(e*e+1),l=t*e*-Math.sign((i-r)*(a-o));return[`M ${r+t} ${o+l} L ${i+t} ${a+l}`,`M ${r-t} ${o-l} L ${i-t} ${a-l}`]}},fc=(e,t,n)=>{const[r,o,i,a]=[e[0],e[1],t[0],t[1]],s=Math.abs((a-o)/(i-r));if(s===1/0)return`M ${r+n} ${o} L ${i+n} ${a} L ${i-n} ${a} L ${r-n} ${o} Z`;if(0===s)return`M ${r} ${o+n} L ${i} ${a+n} L ${i} ${a-n} L ${r} ${o-n} Z`;{const e=1/s,t=n/Math.sqrt(e*e+1),l=t*e*-Math.sign((i-r)*(a-o));return`M ${r+t} ${o+l} L ${i+t} ${a+l} L ${i-t} ${a-l} L ${r-t} ${o-l} Z`}},mc=e=>{var t,n;return[null===(t=e.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))||void 0===t||null===(t=t.at(0))||void 0===t?void 0:t.replace(/L\s*/,"").split(" ").map((e=>Number(e))),null===(n=e.match(/C\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/g))||void 0===n||null===(n=n.at(0))||void 0===n?void 0:n.replace(/C\s*/,"").split(" ").map((e=>Number(e)))]},yc=(e,t)=>[[t[4],t[5]],[t[2],t[3],t[0],t[1],e[0],e[1]]],bc=(e,t,n,r,o,i)=>{const a=[o.points.at(0).x,o.points.at(0).y],s=[i.points.at(0).x,i.points.at(0).y];if(!e)return;const[l,d]=vc(e[0],t[0],a[0],e[1],t[1],a[1]),[c,u]=vc(e[0],t[0],s[0],e[1],t[1],s[1]),p=[o.points.at(-1).x,o.points.at(-1).y],h=[i.points.at(-1).x,i.points.at(-1).y],g=[r.points.at(-1).x,r.points.at(-1).y];if(!n)return;const[f,m]=vc(p[0],g[0],n[0],p[1],g[1],n[1]),[y,b]=vc(h[0],g[0],n[0],h[1],g[1],n[1]);return{mA:[l,d],mB:[c,u],endA:[f,m],endB:[y,b]}},vc=(e,t,n,r,o,i)=>{const[a,s]=[e+n,r+i],[l,d]=[a-t,s-o];return[l,d]},wc=(e("as",((e,t)=>{const{type:n,parallelIndex:r}=t.attributes;if(n===Cd.Simple||r<0)return{normal:[t],parallel:[]};const{source:o,target:i}=t,a=[],s=[];for(const l of e.edgeEntries(o,i)){if(l.attributes.parallelIndex<0){a.push(l);continue}const{startFrom:e}=l.attributes[n];wc(n,o,e,l)&&s.push(l)}return{normal:a,parallel:s}})),e("at",(e=>{let t=e.at(0);if(!t)return{};for(const h of e)h.attributes.parallelIndex{let i=!1;if(e===Cd.Diagonal)(Math.abs(r-t)t&&o>n)||Math.abs(r-t)>Math.abs(o-n)&&(r>t&&on))&&(i=!0);else if(e===Cd.Perpendicular)(r>t&&on)&&(i=!0);else if(e===Cd.RotatePerpendicular){const[e,a,s,l]=[t*Math.SQRT1_2+n*Math.SQRT1_2,-t*Math.SQRT1_2+n*Math.SQRT1_2,r*Math.SQRT1_2+o*Math.SQRT1_2,-r*Math.SQRT1_2+o*Math.SQRT1_2];(s>e&&la)&&(i=!0)}return i})(n,i,a,s,l),u={};for(const h of e){var p;const e=h.attributes.parallelIndex>0?h.attributes.parallelIndex:0;if(0===e){u[h.edge]=d;continue}const t=5*e,r=[`M ${i} ${a+t} L ${s} ${l+t}`,`M ${i} ${a-t} L ${s} ${l-t}`],[o,g]=null!==(p=pc(d,n,t))&&void 0!==p?p:r;u[h.edge]=c?o:g}return u})),(e,t,n,r)=>{const o=r.attributes.type;return e===r.attributes.type&&t===r.source&&n===r.attributes[o].startFrom||e===r.attributes.type&&t===r.target&&n!==r.attributes[o].startFrom}),xc=(e("m",((e,t,n,r,o)=>{if(t===Cd.Simple)return-1;const i=[];for(const s of e.edgeEntries(n,r))wc(t,n,o,s)&&i.push(s.attributes.parallelIndex);i.sort();let a=0;for(const s of i){if(s>a)break;a=s+1}return a})),e("ar",((e,t,n)=>{if(t===Cd.Simple)return n;const r=e.getEdgeAttribute(n,"parallelIndex");if(r<0)return n;const{startFrom:o}=e.getEdgeAttribute(n,t),[i,a]=e.extremities(n);let s=r,l=n;for(const d of e.edgeEntries(i,a)){const e=d.attributes;(t===e.type&&i===d.source&&e[t].startFrom===o&&e.parallelIndex>=0&&e.parallelIndex=0&&e.parallelIndex{e.telemetry.app=t.payload},setTelemetryProject:(e,t)=>{e.telemetry.project=t.payload},setUnlockSimplePath:(e,t)=>{e.preference.unlockSimplePathAttempts=t.payload},setToolsPanelExpansion:(e,t)=>{e.preference.toolsPanel.expand=t.payload},setAutoParallel:(e,t)=>{e.preference.autoParallel=t.payload},setRandomStationsNames:(e,t)=>{e.preference.randomStationsNames=t.payload}}}),{setTelemetryApp:Rc,setTelemetryProject:_c,setUnlockSimplePath:Tc,setToolsPanelExpansion:Cc,setAutoParallel:jc,setRandomStationsNames:Lc}=Nc.actions;e({aa:_c,X:Tc,aQ:Cc,a2:jc,ab:Lc});const Ac=Nc.reducer,Oc={present:(new Ao).export(),past:[],future:[],svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}},Ec=e("am",De("undo")),Mc=e("an",De("redo")),Pc=Ie({name:"param",initialState:Oc,reducers:{setFullState:(e,t)=>structuredClone(t.payload),saveGraph:(e,t)=>{e.future=[],e.past.push(e.present),e.past.length>49&&e.past.shift(),e.present=structuredClone(t.payload)},setSvgViewBoxZoom:(e,t)=>{e.svgViewBoxZoom=t.payload},setSvgViewBoxMin:(e,t)=>{e.svgViewBoxMin=t.payload}},extraReducers:e=>{e.addCase(Ec,(e=>{if(0===e.past.length)return;const t=e.past.pop();e.future.unshift(e.present),e.present=t,window.graph.clear(),window.graph.import(structuredClone(Be(t)))})).addCase(Mc,(e=>{if(0===e.future.length)return;const t=e.future.shift();e.past.push(e.present),e.present=t,window.graph.clear(),window.graph.import(structuredClone(Be(t)))}))}}),{setFullState:Ic,saveGraph:$c,setSvgViewBoxZoom:zc,setSvgViewBoxMin:Bc}=Pc.actions;e({v:$c,z:zc,A:Bc});const Dc=Pc.reducer,Gc={selected:new Set,active:void 0,refresh:{nodes:Date.now(),edges:Date.now()},mode:"free",lastTool:void 0,keepLastPath:!1,theme:[ad.Shanghai,"sh1","#E3002B",gd.white],paletteAppClip:{input:void 0,output:void 0},masterNodesCount:0,parallelLinesCount:0,stationNames:{},globalAlerts:{}},Fc=e("q",Ge("runtime/refreshNodes",(async(e,{getState:t,dispatch:n})=>{const r=t();n(Zc());let o=0;window.graph.forEachNode(((e,t)=>{t.type===Ed.Master&&(o+=1)})),n(Vc(o));const i=r.account.activeSubscriptions.RMP_CLOUD?1/0:Od;o>i&&n(su({status:"warning",message:`${Dd.t("header.settings.proLimitExceed.master")} ${Dd.t("header.settings.proLimitExceed.solution")}`}))}))),Wc=e("t",Ge("runtime/refreshEdges",(async(e,{getState:t,dispatch:n})=>{const r=t();n(Xc());const o=(e=>{let t=0;for(const n of e.edgeEntries())n.attributes.parallelIndex>=0&&(t+=1);return t})(window.graph);n(Hc(o));const i=r.account.activeSubscriptions.RMP_CLOUD?kc:Sc;o>=i&&n(jc(!1)),o>i&&n(su({status:"warning",message:`${Dd.t("header.settings.proLimitExceed.parallel")} ${Dd.t("header.settings.proLimitExceed.solution")}`}))}))),Uc=Ie({name:"runtime",initialState:Gc,reducers:{setSelected:(e,t)=>{e.selected=t.payload},addSelected:(e,t)=>{e.selected.add(t.payload)},removeSelected:(e,t)=>{e.selected.delete(t.payload)},clearSelected:e=>{e.selected=new Set},setActive:(e,t)=>{e.active=t.payload},setRefreshNodes:e=>{e.refresh.nodes=Date.now()},setRefreshEdges:e=>{e.refresh.edges=Date.now()},setMode:(e,t)=>{"free"!==e.mode&&(e.lastTool=e.mode),e.mode=t.payload},setKeepLastPath:(e,t)=>{e.keepLastPath=t.payload},setTheme:(e,t)=>{e.theme=t.payload},openPaletteAppClip:(e,t)=>{e.paletteAppClip.input=t.payload,e.paletteAppClip.output=void 0},closePaletteAppClip:e=>{e.paletteAppClip.input=void 0},onPaletteAppClipEmit:(e,t)=>{e.paletteAppClip.input=void 0,e.paletteAppClip.output=t.payload},setMasterNodesCount:(e,t)=>{e.masterNodesCount=t.payload},setParallelLinesCount:(e,t)=>{e.parallelLinesCount=t.payload},setStationNames:(e,t)=>{e.stationNames[t.payload.cityName]=t.payload.names},setGlobalAlert:(e,t)=>{const{status:n,message:r,url:o,linkedApp:i}=t.payload;e.globalAlerts[n]={message:r,url:o,linkedApp:i}},closeGlobalAlert:(e,t)=>{delete e.globalAlerts[t.payload]}},extraReducers:e=>{e.addCase(Ec,(e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()})).addCase(Mc,(e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()}))}}),{setMasterNodesCount:Vc,setParallelLinesCount:Hc}=Uc.actions,{setSelected:Jc,addSelected:qc,removeSelected:Kc,clearSelected:Yc,setActive:Qc,setRefreshNodes:Zc,setRefreshEdges:Xc,setMode:eu,setKeepLastPath:tu,setTheme:nu,openPaletteAppClip:ru,closePaletteAppClip:ou,onPaletteAppClipEmit:iu,setStationNames:au,setGlobalAlert:su,closeGlobalAlert:lu}=Uc.actions;e({T:Jc,aA:qc,az:Kc,y:Yc,ay:Qc,aw:eu,a1:tu,aM:nu,W:ru,ap:au,j:su,ao:lu});const du=Uc.reducer,cu=(e,t,n)=>0===t?e:function(e,t,n){function r(e,t,n){var r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i);return o(e,t,Math.min(1,n/a))}function o(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function i(e,t){e.length>2&&(e[e.length-2]=t.x,e[e.length-1]=t.y)}function a(e){return{x:parseFloat(e[e.length-2]),y:parseFloat(e[e.length-1])}}var s=e.split(/[,\s]/).reduce((function(e,t){var n=t.match("([a-zA-Z])(.+)");return n?(e.push(n[1]),e.push(n[2])):e.push(t),e}),[]),l=s.reduce((function(e,t){return parseFloat(t)==t&&e.length?e[e.length-1].push(t):e.push([t]),e}),[]),d=[];if(l.length>1){var c=a(l[0]),u=null;"Z"==l[l.length-1][0]&&l[0].length>2&&(u=["L",c.x,c.y],l[l.length-1]=u),d.push(l[0]);for(var p=1;p2&&"L"==g[0]&&f.length>2&&"L"==f[0]){var m,y,b=a(h),v=a(g),w=a(f);m=r(v,b,t),y=r(v,w,t),i(g,m),g.origPoint=v,d.push(g);var x=o(m,v,.5),S=o(v,y,.5),k=["C",x.x,x.y,S.x,S.y,y.x,y.y];k.origPoint=v,d.push(k)}else d.push(g)}if(u){var N=a(d[d.length-1]);d.push(["Z"]),i(d[0],N)}}else d=l;return d.reduce((function(e,t){return e+t.join(" ")+" "}),"")}(e,t),uu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:10},pu={generatePath:(e,t,n,r,o=uu)=>{const{startFrom:i=uu.startFrom,offsetFrom:a=uu.offsetFrom,offsetTo:s=uu.offsetTo,roundCornerFactor:l=uu.roundCornerFactor}=o,[d,c,u,p]="from"===i?[e,n,t,r]:[t,r,e,n],h=Math.abs(u-d)0?-1:1):w,R="horizontal"===h?x:k+Math.abs(S-w)*(k-x>0?-1:1),[_,T,C,j]="from"===i?[w,x,S,k]:[S,k,w,x];return cu(`M ${_} ${T} L ${N} ${R} L ${C} ${j}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M9,18V12L15,6",stroke:"currentColor",fill:"none"})}),defaultAttrs:uu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.Diagonal,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:uu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:uu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:uu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.diagonal.displayName"}},hu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},gu={generatePath:(e,t,n,r,o=hu)=>{const{startFrom:i=hu.startFrom,offsetFrom:a=hu.offsetFrom,offsetTo:s=hu.offsetTo,roundCornerFactor:l=hu.roundCornerFactor}=o,[d,c]="from"===i?[a,s]:[s,a],[u,p,h,g]="from"===i?[0,d,c,0]:[d,0,0,c];return cu(`M ${e+u} ${n+p} L ${"from"===i?t+h:e+u} ${"from"===i?n+p:r+g} L ${t+h} ${r+g}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M6,6H18V18",stroke:"currentColor",fill:"none"})}),defaultAttrs:hu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.Perpendicular,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:hu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:hu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:hu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.perpendicular.displayName"}},fu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},mu={generatePath:(e,t,n,r,o=fu)=>{const{startFrom:i=fu.startFrom,offsetFrom:a=fu.offsetFrom,offsetTo:s=fu.offsetTo,roundCornerFactor:l=fu.roundCornerFactor}=o,[d,c]="from"===i?[a,s]:[s,a],[u,p,h,g]="from"===i?[0,d,c,0]:[d,0,0,c],[f,m,y,b]=[e*Math.SQRT1_2+n*Math.SQRT1_2,-e*Math.SQRT1_2+n*Math.SQRT1_2,t*Math.SQRT1_2+r*Math.SQRT1_2,-t*Math.SQRT1_2+r*Math.SQRT1_2],[v,w,x,S]=[f+u,m+p,y+h,b+g],[k,N,R,_]=[v*Math.SQRT1_2-w*Math.SQRT1_2,v*Math.SQRT1_2+w*Math.SQRT1_2,x*Math.SQRT1_2-S*Math.SQRT1_2,x*Math.SQRT1_2+S*Math.SQRT1_2],T="from"===i?y+h:f+u,C="from"===i?m+p:b+g,[j,L]=[T*Math.SQRT1_2-C*Math.SQRT1_2,T*Math.SQRT1_2+C*Math.SQRT1_2];return cu(`M ${k} ${N} L ${j} ${L} L ${R} ${_}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M9,6L15,12L9,18",stroke:"currentColor",fill:"none"})}),defaultAttrs:fu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.RotatePerpendicular,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:fu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:fu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:fu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.rotatePerpendicular.displayName"}};var yu=e("S",(e=>(e.ShmetroBasic="shmetro-basic",e.ShmetroBasic2020="shmetro-basic-2020",e.ShmetroInt="shmetro-int",e.ShmetroOutOfSystemInt="shmetro-osysi",e.ShanghaiSuburbanRailway="sh-sub-rwy",e.GzmtrBasic="gzmtr-basic",e.GzmtrInt="gzmtr-int",e.GzmtrInt2024="gzmtr-int-2024",e.BjsubwayBasic="bjsubway-basic",e.BjsubwayInt="bjsubway-int",e.MTR="mtr",e.SuzhouRTBasic="suzhourt-basic",e.SuzhouRTInt="suzhourt-int",e.KunmingRTBasic="kunmingrt-basic",e.KunmingRTInt="kunmingrt-int",e.MRTBasic="mrt-basic",e.MRTInt="mrt-int",e.JREastBasic="jr-east-basic",e.JREastImportant="jr-east-imp",e.FoshanMetroBasic="foshan-metro-basic",e.QingdaoMetroStation="qingdao-metro-basic",e.TokyoMetroBasic="tokyo-metro-basic",e.TokyoMetroInt="tokyo-metro-int",e.LondonTubeBasic="london-tube-basic",e.LondonTubeInt="london-tube-int",e.LondonRiverServicesInt="london-river-int",e.GuangdongIntercityRailway="gd-intercity-rwy",e))(yu||{}));e("aL",["shmetro-basic-2020","gzmtr-basic","suzhourt-basic","kunmingrt-basic","mrt-basic","foshan-metro-basic","qingdao-metro-basic"]),e("aX",{names:["车站","Stn"]});class bu{static hexToRgb(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}static fade(e,t){return`rgba(${[...this.hexToRgb(e),t].join(",")})`}static euclideanDistance(e,t){return this.hexToRgb(e).reduce(((e,n,r)=>e+Math.pow(n-this.hexToRgb(t)[r],2)),0)}}function vu(e){return Ae({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(e)}function wu(e){return Ae({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(e)}function xu(e){const{theme:t,onClick:n}=e,{t:r}=$e();return i.jsx(be,{"aria-label":r("Color"),color:t[3],bg:t[2],size:"md",_hover:{bg:bu.fade(t[2],.7)},icon:i.jsx(vu,{}),onClick:n})}const Su=e("aS",(e=>{var t;const{type:n,colorKey:r="color",defaultTheme:o}=e,a=Pp(),{selected:s,paletteAppClip:{output:l}}=Ip((e=>e.runtime)),[d]=s,c=Pe.useCallback((()=>{a(Fc()),a(Wc()),a($c(u.current.export()))}),[a,Fc,Wc,$c]),u=Pe.useRef(window.graph),[p,h,g]=[].concat(Object.values(yu)).concat(Object.values(Ed)).find((e=>n===e))?[u.current.hasNode,u.current.getNodeAttribute,u.current.mergeNodeAttributes]:[u.current.hasEdge,u.current.getEdgeAttribute,u.current.mergeEdgeAttributes],[f,m]=Pe.useState(!1);Pe.useEffect((()=>{f&&l&&((e=>{if(d&&p.bind(u.current)(d)){const t=h.bind(u.current)(d,n);t[r]=e,g.bind(u.current)(d,{[n]:t}),c()}})(l),m(!1))}),[null==l?void 0:l.toString()]);const y=d&&p.bind(u.current)(d)&&(d.startsWith("stn")||d.startsWith("misc_node")?u.current.getNodeAttribute(d,"type")===n:u.current.getEdgeAttribute(d,"style")===n)?(null!==(t=h.bind(u.current)(d,n))&&void 0!==t?t:{[r]:o})[r]:o;return i.jsx(i.Fragment,{children:i.jsx(xu,{theme:y,onClick:()=>{m(!0),a(ru(y))}})})})),ku={color:[ad.Shanghai,"sh1","#E4002B",gd.white]},Nu=e("aC",{component:e=>{const{id:t,path:n,styleAttrs:r,newLine:o,handlePointerDown:a}=e,{color:s=ku.color}=null!=r?r:ku,l=Pe.useCallback((e=>a(t,e)),[t,a]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:s[2],strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o?void 0:l,pointerEvents:o?"none":void 0})},defaultAttrs:ku,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.SingleColor,defaultTheme:ku.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.singleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}}),Ru={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsxs("g",{id:t,onPointerDown:o,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"7",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"4.33",strokeLinecap:"round"})]})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.shmetroVirtualInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},_u={isEnd:!1},Tu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:t,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{isEnd:a=_u.isEnd}=r,s=Pe.useCallback((e=>o(t,e)),[t,o]),l=a?"round":void 0;return i.jsx("g",{id:`${t}.pre`,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"#898989",strokeWidth:"5",strokeLinecap:l})})},defaultAttrs:_u,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:r}=e,{t:o}=$e(),a=[{type:"switch",label:o("panel.details.lines.shanghaiSuburbanRailway.isEnd"),isChecked:n.isEnd,onChange:e=>{n.isEnd=e,r(t,n)},oneLine:!0,minW:"full"}];return i.jsx(El,{fields:a})},metadata:{displayName:"panel.details.lines.shanghaiSuburbanRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Cu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"#565656",strokeWidth:"3",strokeDasharray:"3",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>null,metadata:{displayName:"panel.details.lines.gzmtrVirtualInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},ju={color:[ad.Guangzhou,"gz11","#ffb00a",gd.black]},Lu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=ju.color}=null!=r?r:ju,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:11.467170000000001}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:9.96138})]})},defaultAttrs:ju,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.GZMTRLoop,defaultTheme:ju.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.gzmtrLoop.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Au={color:[ad.Shanghai,"jsr","#000000",gd.white]},Ou={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Au.color}=null!=r?r:Au,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"4.67",strokeDasharray:"17.5"})]})},defaultAttrs:Au,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.ChinaRailway,defaultTheme:Au.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.chinaRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Eu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},Mu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Eu.color}=null!=r?r:Eu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"6",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"})]})},defaultAttrs:Eu,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwaySingleColor,defaultTheme:Eu.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.bjsubwaySingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Pu=e("aR",(e=>{const{t:t}=$e(),n=Pp(),{selected:r}=Ip((e=>e.runtime)),[o]=r,a=Pe.useRef(window.graph),s=[];if(1===r.size&&a.current.hasNode(o)){const r=a.current.getNodeAttribute(o,"type"),i=a.current.getNodeAttribute(o,r);s.push(...e.fields.filter((e=>"custom"!==e.type)).map((e=>{var s,l,d;return{type:e.type,label:t(e.label),value:null===(s=e.value)||void 0===s?void 0:s.call(e,i),isChecked:null===(l=e.isChecked)||void 0===l?void 0:l.call(e,i),hidden:null===(d=e.hidden)||void 0===d?void 0:d.call(e,i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,oneLine:e.oneLine,onChange:s=>{let l;try{l=e.onChange(s,i)}catch(d){return void n(su({status:"error",message:t(`err-code.${d}`)}))}a.current.mergeNodeAttributes(o,{[r]:l}),n(Fc()),n($c(a.current.export()))}}})),...e.fields.filter((e=>"custom"===e.type)).map((e=>({...e,label:t(e.label)}))))}if(1===r.size&&a.current.hasEdge(o)&&"style"!==e.type){const r=a.current.getEdgeAttribute(o,"type"),i=a.current.getEdgeAttribute(o,r);s.push(...e.fields.map((e=>({type:e.type,label:t(e.label),value:e.value(i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,onChange:t=>{a.current.mergeEdgeAttributes(o,{[r]:e.onChange(t,i)}),n(Wc()),n($c(a.current.export()))}}))))}if(1===r.size&&a.current.hasEdge(o)&&"style"===e.type){const r=a.current.getEdgeAttribute(o,"style"),i=a.current.getEdgeAttribute(o,r);s.push(...e.fields.filter((e=>"custom"!==e.type)).map((e=>({type:e.type,label:t(e.label),value:e.value(i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,onChange:t=>{a.current.mergeEdgeAttributes(o,{[r]:e.onChange(t,i)}),n(Wc()),n($c(a.current.export()))}}))),...e.fields.filter((e=>"custom"===e.type)).map((e=>({...e,label:t(e.label)}))))}return i.jsx(El,{fields:s,minW:276})})),Iu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},$u=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwayTram,defaultTheme:Iu.color})}],zu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Iu.color}=null!=r?r:Iu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"1.67"})]})},defaultAttrs:Iu,attrsComponent:()=>i.jsx(Pu,{fields:$u,type:"style"}),metadata:{displayName:"panel.details.lines.bjsubwayTram.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Bu={colorA:[ad.Shanghai,"maglevA","#008B9A",gd.white],colorB:[ad.Shanghai,"maglevB","#F5A74E",gd.white]},Du=()=>{const{t:e}=$e(),t=Pp(),{selected:n}=Ip((e=>e.runtime)),[r]=n,o=Pe.useRef(window.graph);return i.jsx(be,{"aria-label":e("panel.details.lines.dualColor.swap"),icon:i.jsx(wu,{}),size:"sm",onClick:()=>{var e;const n=null!==(e=o.current.getEdgeAttribute(r,jd.DualColor))&&void 0!==e?e:Bu,i=n.colorA;n.colorA=n.colorB,n.colorB=i,o.current.mergeEdgeAttributes(r,{[jd.DualColor]:n}),t(Wc()),t($c(o.current.export()))}})},Gu={component:e=>{const{id:t,type:n,path:r,styleAttrs:o,handlePointerDown:a}=e,{colorA:s=Bu.colorA,colorB:l=Bu.colorB}=null!=o?o:Bu,d=Pe.useCallback((e=>a(t,e)),[t,a]),[c,u]=Pe.useState(r),[p,h]=Pe.useState(r);return Pe.useEffect((()=>{const e=pc(r,n,-1.25,1.25);e&&(u(e[0]),h(e[1]))}),[r]),i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:c,fill:"none",stroke:s[2],strokeWidth:"2.5",strokeLinecap:"round"}),i.jsx("path",{d:p,fill:"none",stroke:l[2],strokeWidth:"2.5",strokeLinecap:"round"})]})},defaultAttrs:Bu,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("panel.details.lines.dualColor.swap"),component:i.jsx(Du,{})},{type:"custom",label:t("panel.details.lines.dualColor.colorA"),component:i.jsx(Su,{type:jd.DualColor,colorKey:"colorA",defaultTheme:Bu.colorA})},{type:"custom",label:t("panel.details.lines.dualColor.colorB"),component:i.jsx(Su,{type:jd.DualColor,colorKey:"colorB",defaultTheme:Bu.colorB})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.dualColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Fu={color:[ad.Shanghai,"river","#B9E3F9",gd.white],width:20},Wu=[{type:"input",label:"panel.details.lines.river.width",variant:"number",value:e=>(null!=e?e:Fu).width,onChange:(e,t)=>{const n=null!=t?t:Fu;return n.width=Number(e),n}}],Uu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Fu.color,width:s=Fu.width}=null!=r?r:Fu,l=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:s,strokeLinecap:"round",cursor:"pointer",onPointerDown:l})},defaultAttrs:Fu,attrsComponent:()=>i.jsx(Pu,{fields:Wu,type:"style"}),metadata:{displayName:"panel.details.lines.river.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Vu={color:[ad.Hongkong,"twl","#E2231A",gd.white]},Hu=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MTRRaceDays,defaultTheme:Vu.color})}],Ju={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Vu.color}=null!=r?r:Vu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"butt",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:s})},defaultAttrs:Vu,attrsComponent:()=>i.jsx(Pu,{fields:Hu,type:"style"}),metadata:{displayName:"panel.details.lines.mtrRaceDays.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},qu={color:[ad.Hongkong,"lrl","#CD9700",gd.white]},Ku=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MTRLightRail,defaultTheme:qu.color})}],Yu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=qu.color}=null!=r?r:qu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"2.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:qu,attrsComponent:()=>i.jsx(Pu,{fields:Ku,type:"style"}),metadata:{displayName:"panel.details.lines.mtrLightRail.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Qu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"1.33",strokeDasharray:"2.66 1.33",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.mtrUnpaidArea.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Zu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"1.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>i.jsx(Pu,{fields:[],type:"style"}),metadata:{displayName:"panel.details.lines.mtrPaidArea.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Xu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},ep={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Xu.color}=null!=r?r:Xu,s=Pe.useCallback((e=>o(t,e)),[t,o]),l=de("white","var(--chakra-colors-gray-800)");return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"2 2"}),i.jsx("path",{d:n,fill:"none",stroke:l,strokeWidth:"3.4"})]})},defaultAttrs:Xu,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwayDotted,defaultTheme:Xu.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.bjsubwayDotted.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},tp={color:[ad.Singapore,"ewl","#009739",gd.white]},np={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=tp.color}=null!=r?r:tp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"0 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:tp,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MRTUnderConstruction,defaultTheme:tp.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.mrtUnderConstruction.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},rp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"0 10 10 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:e=>null,metadata:{displayName:"panel.details.lines.mrtSentosaExpress.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},op={color:[ad.Tokyo,"jy","#9ACD32",gd.black]},ip={component:e=>{const{id:t,path:n,styleAttrs:r,newLine:o,handlePointerDown:a}=e,{color:s=op.color}=null!=r?r:op,l=Pe.useCallback((e=>a(t,e)),[t,a]);return i.jsxs("g",{id:t,onPointerDown:l,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"5.1"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"4.9"})]})},defaultAttrs:op,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.JREastSingleColor,defaultTheme:op.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.jrEastSingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},ap=5*Math.SQRT1_2,sp=.25,lp=(ap*Math.SQRT2-sp)/2*Math.SQRT2,dp={color:[ad.Tokyo,"jy","#9ACD32",gd.black]},cp={component:e=>{const{id:t,type:n,path:r,styleAttrs:o,newLine:a,handlePointerDown:s}=e,{color:l=dp.color}=null!=o?o:dp,d=Pe.useCallback((e=>s(t,e)),[t,s]),[c,u]=Pe.useState({outline:r,pA:r,pB:r});return Pe.useEffect((()=>{const e=((e,t,n,r)=>{var o;r=null!==(o=r)&&void 0!==o?o:2.5;const[i,a]=hc(e);if(!i||!a)return;if(i[0]===a[0]||i[1]===a[1]||t===Cd.Diagonal&&Math.abs(i[1]-a[1])===Math.abs(i[0]-a[0])){const e=Math.abs(n),[t,r]=gc(i,a,e);return{outline:fc(i,a,e),pA:t,pB:r}}const[s,l]=mc(e);if(!s||!l)return;const d=new uc([...s,...l]),[c,u]=[d.scale(n),d.scale(r)],p=bc(i,s,a,d,c,u);if(!p)return;const{mA:[h,g],mB:[f,m],endA:[y,b],endB:[v,w]}=p,[x,S]=mc(u.toSVG().replace("M","L")),[k,N]=yc(x,S);return{outline:`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b} L ${v} ${w} L ${k.join(" ")} C ${N.join(" ")} L ${f} ${m} Z`,pA:`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b}`,pB:`M ${f} ${m} ${u.toSVG().replace("M","L")} L ${v} ${w}`}})(r,n,-2.5,2.5);e&&u(e)}),[r]),i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsxs("defs",{children:[i.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[i.jsx("polygon",{points:`0,0 0,${lp} ${lp},0`}),i.jsx("polygon",{points:`${ap},${ap} ${ap-lp},${ap} ${ap},${ap-lp}`})]}),i.jsxs("pattern",{id:`jr_east_${t}_fill_pattern_${l[2]}`,width:ap,height:ap,patternUnits:"userSpaceOnUse",children:[i.jsx("rect",{width:ap,height:ap,fill:l[2]}),i.jsx("line",{x1:"0",y1:"0",x2:ap,y2:ap,stroke:"white",strokeWidth:sp,strokeOpacity:"50%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),i.jsx("line",{x1:ap,y1:"0",x2:"0",y2:ap,stroke:"white",strokeWidth:sp,strokeOpacity:"50%"})]})]}),i.jsx("path",{d:c.outline,fill:`url(#jr_east_${t}_fill_pattern_${l[2]})`}),i.jsx("path",{d:c.pA,fill:"none",stroke:"black",strokeWidth:"0.1"}),i.jsx("path",{d:c.pB,fill:"none",stroke:"black",strokeWidth:"0.1"})]})},defaultAttrs:dp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.JREastSingleColorPattern,defaultTheme:dp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.jrEastSingleColorPattern.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},up={color:[ad.Singapore,"lrt","#708573",gd.white]},pp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=up.color}=null!=r?r:up,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"2.157",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:up,attrsComponent:e=>{const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.LRTSingleColor,defaultTheme:up.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.lrtSingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},hp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:t,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:`${t}.pre`,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"7.5",strokeLinecap:"round"})})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.londonTubeInternalInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},gp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.londonTube10MinWalk.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},fp={color:[ad.London,"central","#DC241F",gd.white]},mp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=fp.color}=null!=r?r:fp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",cursor:"pointer",onPointerDown:s})},defaultAttrs:fp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonTubeTerminal,defaultTheme:fp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonTubeTerminal.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},yp={colorBackground:[ad.London,"thameslink","#d28db0",gd.white],colorForeground:[ad.London,"white","#ffffff",gd.black],limitedService:!1},bp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{colorBackground:a=yp.colorBackground,colorForeground:s=yp.colorForeground,limitedService:l=yp.limitedService}=null!=r?r:yp,d=Pe.useCallback((e=>o(t,e)),[t,o]);return l?i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"4.25",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"2",strokeDasharray:"7 3"})]}):i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"2",strokeDasharray:"7 3"})]})},defaultAttrs:yp,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:r}=e,{t:o}=$e(),a=[{type:"switch",label:o("panel.details.lines.londonRail.limitedService"),oneLine:!0,isChecked:n.limitedService,onChange:e=>{n.limitedService=e,r(t,n)},minW:"full"},{type:"custom",label:o("panel.details.lines.londonRail.colorBackground"),component:i.jsx(Su,{type:jd.LondonRail,colorKey:"colorBackground",defaultTheme:yp.colorBackground})},{type:"custom",label:o("panel.details.lines.londonRail.colorForeground"),component:i.jsx(Su,{type:jd.LondonRail,colorKey:"colorForeground",defaultTheme:yp.colorForeground})}];return i.jsx(El,{fields:a})},metadata:{displayName:"panel.details.lines.londonRail.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},vp={color:[ad.London,"elizabeth","#9364cc",gd.white]},wp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=vp.color}=null!=r?r:vp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("g",{id:t,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"1.67",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=vp.color}=null!=r?r:vp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("g",{id:`${t}.pre`,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"})})},defaultAttrs:vp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonSandwich,defaultTheme:vp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonSandwich.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},xp={color:[ad.London,"rail","#d6ae00",gd.white]},Sp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=xp.color}=null!=r?r:xp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"0.001 6"})]})},defaultAttrs:xp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonLutonAirportDART,defaultTheme:xp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonLutonAirportDART.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},kp={color:[ad.London,"dangleway","#dc241f",gd.white]},Np={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=kp.color}=null!=r?r:kp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"3"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"1"})]})},defaultAttrs:kp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonIFSCloudCableCar,defaultTheme:kp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonIFSCloudCableCar.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Rp={color:[ad.Guangzhou,"ir","#2559a8",gd.white]},_p={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Rp.color}=null!=r?r:Rp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"2.5",strokeDasharray:"7.5"})]})},defaultAttrs:Rp,attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.guangdongIntercityRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Tp=e("l",{[Cd.Diagonal]:pu,[Cd.Perpendicular]:gu,[Cd.RotatePerpendicular]:mu,[Cd.Simple]:Ad}),Cp=e("au",{[jd.SingleColor]:Nu,[jd.ShmetroVirtualInt]:Ru,[jd.ShanghaiSuburbanRailway]:Tu,[jd.GzmtrVirtualInt]:Cu,[jd.GZMTRLoop]:Lu,[jd.ChinaRailway]:Ou,[jd.BjsubwaySingleColor]:Mu,[jd.BjsubwayTram]:zu,[jd.BjsubwayDotted]:ep,[jd.DualColor]:Gu,[jd.River]:Uu,[jd.MTRRaceDays]:Ju,[jd.MTRLightRail]:Yu,[jd.MTRUnpaidArea]:Qu,[jd.MTRPaidArea]:Zu,[jd.MRTUnderConstruction]:np,[jd.MRTSentosaExpress]:rp,[jd.JREastSingleColor]:ip,[jd.JREastSingleColorPattern]:cp,[jd.LRTSingleColor]:pp,[jd.LondonTubeTerminal]:mp,[jd.LondonTubeInternalInt]:hp,[jd.LondonTube10MinWalk]:gp,[jd.LondonRail]:bp,[jd.LondonSandwich]:wp,[jd.LondonLutonAirportDART]:Sp,[jd.LondonIFSCloudCableCar]:Np,[jd.GuangdongIntercityRailway]:_p}),jp=e("I",(async()=>JSON.stringify((await Io((async()=>{const{default:e}=await n.import("./tutorial-legacy-DHxnaVOs.js");return{default:e}}))).default))),Lp=e("x",(async e=>{let t=!1;e||(e=await jp(),t=!0);let n=JSON.parse(e);"version"in n&&Number.isInteger(n.version)||(n=JSON.parse(await jp()),t=!0);let r=Number(n.version),o=JSON.stringify(n);for(;r in Op;)o=Op[r](o),r=Number(JSON.parse(o).version),t=!0;return t&&(console.warn(`Upgrade save from version: ${n.version} to version: ${r}`),localStorage.setItem(id.PARAM_BACKUP,e)),o})),Ap=e("s",(e=>{const{present:t,past:n,future:r,...o}=e,i={...o,graph:t,version:43};return JSON.stringify(i)})),Op={0:e=>{var t;return JSON.stringify({version:1,graph:null===(t=JSON.parse(e))||void 0===t?void 0:t.graph,svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}})},1:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type!==yu.GzmtrInt)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r&&"transfer"in r&&delete r.transfer,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:2,graph:n.export()})},2:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn"))).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);"middle"===(null==r?void 0:r.nameOffsetX)&&"middle"===(null==r?void 0:r.nameOffsetY)&&(r.nameOffsetX="right",r.nameOffsetY="top"),"up"===(null==r?void 0:r.nameOffsetY)&&(r.nameOffsetY="top"),n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:3,graph:n.export()})},3:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("line"))).forEach((e=>{const t=n.getEdgeAttribute(e,"color");n.removeEdgeAttribute(e,"color"),n.mergeEdgeAttributes(e,{style:jd.SingleColor,[jd.SingleColor]:{color:t}})})),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("misc_edge"))).forEach((e=>{const t=`line_${Td(10)}`,[r,o]=n.extremities(e),i=n.getEdgeAttribute(e,"type"),a=i;n.addDirectedEdgeWithKey(t,r,o,{visible:!0,zIndex:0,type:Cd.Simple,[i]:structuredClone(Tp[Cd.Simple].defaultAttrs),style:a,[a]:structuredClone(Cp[a].defaultAttrs),reconcileId:""}),n.dropEdge(e)})),JSON.stringify({...t,version:4,graph:n.export()})},4:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&(t.type===yu.GzmtrBasic||t.type===yu.GzmtrInt))).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.open=!0,r.secondaryNames=["",""],n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:5,graph:n.export()})},5:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("line")&&t.type===Cd.Simple)).forEach((e=>{var t;const r=null!==(t=n.getEdgeAttribute(e,Cd.Simple))&&void 0!==t?t:{offset:0};r.offset=0,n.mergeEdgeAttributes(e,{[Cd.Simple]:r})})),JSON.stringify({...t,version:6,graph:n.export()})},6:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrBasic)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.tram=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:7,graph:n.export()})},7:e=>JSON.stringify({...JSON.parse(e),version:8}),8:e=>JSON.stringify({...JSON.parse(e),version:9}),9:e=>JSON.stringify({...JSON.parse(e),version:10}),10:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.color=[ad.Shanghai,"jsr","#000000",gd.white],n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:11,graph:n.export()})},11:e=>JSON.stringify({...JSON.parse(e),version:12}),12:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.rotate=0,r.italic=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:13,graph:n.export()})},13:e=>JSON.stringify({...JSON.parse(e),version:14}),14:e=>JSON.stringify({...JSON.parse(e),version:15}),15:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.italic=r.italic?"italic":"normal",r.bold="normal",n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:16,graph:n.export()})},16:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Facilities)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);let o=0;switch(r.type){case"airport":case"maglev":case"disney":case"railway":o+=12.5;break;case"hsr":case"airport_hk":case"disney_hk":o+=9.5}n.updateNodeAttribute(e,"y",(e=>(null!=e?e:0)+o))})),JSON.stringify({...t,version:17,graph:n.export()})},17:e=>JSON.stringify({...JSON.parse(e),version:18}),18:e=>JSON.stringify({...JSON.parse(e),version:19}),19:e=>JSON.stringify({...JSON.parse(e),version:20}),20:e=>JSON.stringify({...JSON.parse(e),version:21}),21:e=>JSON.stringify({...JSON.parse(e),version:22}),22:e=>JSON.stringify({...JSON.parse(e),version:23}),23:e=>JSON.stringify({...JSON.parse(e),version:24}),24:e=>{const t=JSON.parse(e),n=new Ao;return n.import(t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt||e.startsWith("misc_node")&&t.type===Ed.GzmtrLineBadge)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.tram=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:25,graph:n.export()})},25:e=>JSON.stringify({...JSON.parse(e),version:26}),26:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.GzmtrLineBadge)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.span=!0,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:27,graph:n.export()})},27:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);for(let n=0;nJSON.stringify({...JSON.parse(e),version:29}),29:e=>JSON.stringify({...JSON.parse(e),version:30}),30:e=>JSON.stringify({...JSON.parse(e),version:31}),31:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t)=>t.style===jd.ChinaRailway)).forEach((e=>{const t=n.getEdgeAttributes(e)[jd.ChinaRailway];n.mergeEdgeAttributes(e,{[jd.ChinaRailway]:{...t,color:[ad.Shanghai,"jsr","#000000",gd.white]}})})),JSON.stringify({...t,version:32,graph:n.export()})},32:e=>JSON.stringify({...JSON.parse(e),version:33}),33:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.forEachDirectedEdge((e=>{n.setEdgeAttribute(e,"parallelIndex",-1),n.updateEdgeAttribute(e,"zIndex",(e=>Math.max(-10,(null!=e?e:0)-5)))})),n.forEachNode((e=>{n.updateNodeAttribute(e,"zIndex",(e=>Math.min(10,(null!=e?e:0)+5)))})),JSON.stringify({...t,version:34,graph:n.export()})},34:e=>JSON.stringify({...JSON.parse(e),version:35}),35:e=>JSON.stringify({...JSON.parse(e),version:36}),36:e=>JSON.stringify({...JSON.parse(e),version:37}),37:e=>JSON.stringify({...JSON.parse(e),version:38}),38:e=>JSON.stringify({...JSON.parse(e),version:39}),39:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Facilities)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);"qingdao_airport"===r.type?r.type="airport_qingdao":"qingdao_coach_station"===r.type?r.type="coach_station_qingdao":"qingdao_cruise_terminal"===r.type?r.type="cruise_terminal_qingdao":"qingdao_railway"===r.type?r.type="railway_qingdao":"qingdao_tram"===r.type&&(r.type="tram_qingdao"),n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:40,graph:n.export()})},40:e=>JSON.stringify({...JSON.parse(e),version:41}),41:e=>{const t=JSON.parse(e),n=new Ao;n.import(null==t?void 0:t.graph);const r=e=>e.map((e=>e.replaceAll("\\","\n")));return n.forEachNode(((e,t)=>{const o=n.getNodeAttribute(e,"type");let i;(o===yu.BjsubwayBasic||o===yu.BjsubwayInt||o===yu.FoshanMetroBasic||o===yu.GuangdongIntercityRailway||o===yu.GzmtrBasic||o===yu.GzmtrInt||o===yu.JREastBasic||o===yu.JREastImportant||o===yu.KunmingRTBasic||o===yu.KunmingRTInt||o===yu.MRTBasic||o===yu.MRTInt||o===yu.MTR||o===yu.ShanghaiSuburbanRailway||o===yu.ShmetroBasic2020||o===yu.ShmetroBasic||o===yu.ShmetroInt||o===yu.ShmetroOutOfSystemInt||o===yu.SuzhouRTBasic||o===yu.SuzhouRTInt||o===yu.TokyoMetroBasic||o===yu.TokyoMetroInt)&&(i=r(t[o].names)),i&&(t[o].names=i,n.mergeNodeAttributes(e,t))})),JSON.stringify({...t,version:42,graph:n.export()})},42:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt2024)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.columns=2,r.topHeavy=!1,r.osiPosition="none",r.preferVertical&&2===r.transfer.flat().length&&(r.columns=1),delete r.preferVertical,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:43,graph:n.export()})}};He();const Ep=Fe({account:hd,app:Ac,param:Dc,runtime:du}),Mp=((e={})=>We({reducer:Ep,middleware:e=>e({serializableCheck:!1}),preloadedState:e}))();Mp.subscribe((async()=>{await(async e=>{if(!Nd){const e=(new Ao).export();Nd=await wd(JSON.stringify(e)),Kn.debug(`Default graph hash: ${Nd}`)}const t=await wd(JSON.stringify(e));kd&&kd!==Nd&&kd!==t&&(Kn.debug(`Notify RMP save change, hash: ${t}`),Sd.postMessage({type:"SAVE_CHANGED",key:id.PARAM,from:"rmp"})),kd=t})(Mp.getState().param.present),localStorage.setItem(id.PARAM,Ap(Mp.getState().param)),localStorage.setItem(id.APP,JSON.stringify(Mp.getState().app)),localStorage.setItem(id.LOGIN_STATE,JSON.stringify(Mp.getState().account))}));const Pp=e("c",(()=>Ue())),Ip=e("d",Ve),$p=Pe.lazy((()=>Io((()=>n.import("./page-header-legacy-AYIvx_Ei.js"))))),zp=Pe.lazy((()=>Io((()=>n.import("./tools-legacy-Bg5ZY7Wv.js"))))),Bp=Pe.lazy((()=>Io((()=>n.import("./svg-wrapper-legacy-D5BZK6CT.js"))))),Dp=Pe.lazy((()=>Io((()=>n.import("./details-legacy-w21GaLp2.js"))))),Gp=Pe.lazy((()=>Io((()=>n.import("./rmg-palette-app-clip-legacy-CrM51r0r.js")))));function Fp(){const e=Pp(),{paletteAppClip:{input:t}}=Ip((e=>e.runtime)),{t:n}=$e(),[r,o]=Pe.useState(!1);Pe.useEffect((()=>{qn.isStandaloneWindow()&&!window.localStorage.getItem(id.DO_NOT_SHOW_RMT_MSG)&&o(!0)}),[]);const a=new Date,s=`${a.getFullYear()}${String(a.getMonth()+1).padStart(2,"0")}01`,l=`${String(a.getFullYear()).slice(-2)}.${a.getMonth()+1}.1`;return i.jsx(ed,{children:i.jsx(Il,{children:i.jsxs(Pe.Suspense,{fallback:i.jsxs(i.Fragment,{children:[i.jsx("p",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:"Rail Map Toolkit protocol... checked"}),i.jsxs("p",{style:{position:"absolute",top:"75%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"small",color:"gray"},children:["Seeing this page for too long? Try another mirror"," ",i.jsx("a",{href:"https://railmapgen.github.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"GitHub"})," ",i.jsx("a",{href:"https://railmapgen.gitlab.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"Gitlab"})," ","or the"," ",i.jsx("a",{href:"https://github.com/railmapgen/railmapgen.github.io/releases",target:"_blank",rel:"noreferrer",children:"offline application"})," ",".",i.jsx("br",{}),i.jsx("br",{}),"Offline applications also available via ghfast.top"," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_x64-setup.exe`,children:"Windows"})," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_aarch64.dmg`,children:"MacOS"})," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_amd64.deb`,children:"Linux"})," ","if you are blocked by GFW :)"]})]}),children:[i.jsx($p,{}),r&&i.jsxs(ue,{status:"info",variant:"solid",size:"xs",pl:3,pr:1,py:1,zIndex:"1",children:[i.jsx(pe,{}),i.jsxs(se,{children:[i.jsx(ce,{href:"/?app=rmp",isExternal:!0,fontWeight:"bold",children:n("rmtPromotion")})," ",i.jsx(ce,{as:"button",ml:"auto",textDecoration:"underline",onClick:()=>o(!1),children:n("close")})," | ",i.jsx(ce,{as:"button",textDecoration:"underline",onClick:()=>{o(!1),window.localStorage.setItem(id.DO_NOT_SHOW_RMT_MSG,"true")},children:n("noShowAgain")})]})]}),i.jsx(bl,{allowReset:!0,children:i.jsxs(y,{direction:"row",height:"100%",overflow:"hidden",sx:{position:"relative"},children:[i.jsx(zp,{}),i.jsx(Bp,{}),i.jsx(Dp,{})]})}),i.jsx(Gp,{isOpen:!!t,onClose:()=>e(ou()),defaultTheme:t,onSelect:t=>e(iu(t))})]})})})}const Wp=JSON.parse(null!==(Ke=localStorage.getItem(id.LOGIN_STATE))&&void 0!==Ke?Ke:"{}"),Up=JSON.parse(null!==(Ye=localStorage.getItem(id.APP))&&void 0!==Ye?Ye:"{}"),Vp=localStorage.getItem(id.PARAM);"telemetry"in Up&&("app"in Up.telemetry&&Mp.dispatch(Rc(Up.telemetry.app)),"project"in Up.telemetry&&Mp.dispatch(_c(Up.telemetry.project))),"preference"in Up&&("unlockSimplePathAttempts"in Up.preference&&Mp.dispatch(Tc(Up.preference.unlockSimplePathAttempts)),"toolsPanel"in Up.preference&&"expand"in Up.preference.toolsPanel&&Mp.dispatch(Cc(Up.preference.toolsPanel.expand)),"autoParallel"in Up.preference&&Mp.dispatch(jc(Up.preference.autoParallel)),"randomStationsNames"in Up.preference&&Mp.dispatch(Lc(Up.preference.randomStationsNames))),"state"in Wp&&Mp.dispatch(cd(Wp.state)),"activeSubscriptions"in Wp&&Mp.dispatch(ud(Wp.activeSubscriptions)),Lp(Vp).then((e=>{const{version:t,graph:n,...r}=JSON.parse(e);window.graph=Ao.from(n);const o={...r,present:n,past:[],future:[]};Mp.dispatch(Ic(o)),Mp.dispatch(Fc()),Mp.dispatch(Wc()),Mo(document.getElementById("root")).render(i.jsx(Pe.StrictMode,{children:i.jsx(Je,{store:Mp,children:i.jsx(qe,{i18n:Dd,children:i.jsx(Fp,{})})})})),qn.injectUITools(),_d(Mp),Rd(),window.setInterval((()=>Rd()),9e5)}))}}})); + */ci.exports=function(){if(di)return ui;di=1;var e=Pe,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function a(e,n,a){var s,l={},d=null,c=null;for(s in void 0!==a&&(d=""+a),void 0!==n.key&&(d=""+n.key),void 0!==n.ref&&(c=n.ref),n)r.call(n,s)&&!i.hasOwnProperty(s)&&(l[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===l[s]&&(l[s]=n[s]);return{$$typeof:t,type:e,key:d,ref:c,props:l,_owner:o.current}}return ui.Fragment=n,ui.jsx=a,ui.jsxs=a,ui}();var pi=ci.exports;const[hi,gi]=d({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within ``"});var fi=function(e,t){for(var n,r=0,o=Me.Children.toArray(e);r{var t;return null==(t="string"==typeof e||"number"==typeof e?e:e[Object.keys(e)[0]])?void 0:t.toString()},wi=(e,t)=>"string"!=typeof e||$(t)?e:e.toString().replace(new RegExp(function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}(t),"gi"),(e=>`${e}`)),xi=(e,t,n)=>(null==t?void 0:t.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||(null==n?void 0:n.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||bi(e,t)>=.5||bi(e,n)>=.5,Si=(e,t)=>{const n={},r={},{field:o}=e;return o&&Object.keys(o).forEach((e=>{if(!1===e.startsWith("--input"))n[e]=o[e];else{let t=o[e];const n=e.replace("--input-","").replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}));-1!==t.indexOf(".")&&(t=t.substring(t.indexOf(".")+1)),r[n]=t}})),{...t&&{...n,...r,_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}},ki=(e,t)=>fi(e,(e=>{var n;return"AutoCompleteItem"===(null==(n=null==e?void 0:e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)})),Ni=(e,t)=>fi(e,(e=>{var n;return"AutoCompleteItem"===(null==(n=null==e?void 0:e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}));function Ri(e){var t,n;let{closeOnBlur:r=!0,creatable:o,emphasize:i,emptyState:a=!0,freeSolo:s,isReadOnly:l,listAllValuesOnFocus:d,maxSuggestions:c,multiple:u,closeOnSelect:h=!u,defaultValue:g,defaultValues:y=(g?[g]:[]),onReady:b,defaultIsOpen:v,disableFilter:w,isLoading:x=!1,placement:S="bottom",restoreOnBlurIfEmpty:k=!s,shouldRenderSuggestions:N=(()=>!0),submitKeys:R=[],suggestWhenEmpty:_,value:T,values:C=(T?"string"==typeof T?[T]:[...T]:void 0)}=e;s=s||!!u||e.freeSolo;const{isOpen:j,onClose:G,onOpen:F}=L({defaultIsOpen:v}),W=p(e.children,{isOpen:j,onClose:G,onOpen:F}),U=(e=>yi(e,(e=>{var t;return"AutoCompleteItem"===(null==(t=null==e?void 0:e.type)?void 0:t.displayName)})).map((e=>{const t=B(e.props,["value","label","fixed","disabled"]),{getValue:n=vi}=e.props,r=n(t.value);return{...D(t.label)?t:{...t,label:r},value:r,originalValue:t.value}})))(W),V=Me.useRef(null),H=Me.useRef(null),J=Me.useRef(null),q=Me.useRef(null),[K,Y]=Me.useState(!1);let Q="";u?Q="":f(y)?f(C)||(Q=C[0]):Q=y[0];const[Z,X]=Me.useState(null!==(t=Q)&&void 0!==t?t:""),ee=w?U:U.filter((t=>t.fixed||p(e.filter||xi,Z,t.value,t.label)||K)).filter(((e,t)=>!c||e.fixed||tnull==e?void 0:e.toString())),value:C,onChange:t=>{const n=ne.find((e=>e.value===t[0])),r=t.map((e=>ne.find((t=>t.value===e))));p(e.onChange,u?t:t[0],u?r:n)}}),[ie,ae]=Me.useState(null==(n=U[0])?void 0:n.value),se=e.maxSelections||re.length+1,le=ne.findIndex((e=>e.value===ie)),de=O(le,ne,!!e.rollNavigation),ce=E(le,ne,!!e.rollNavigation),ue=M(ne),pe=P(ne);I((()=>{ae(null==ue?void 0:ue.value)}),[Z]),Me.useEffect((()=>{var e;j||ae(null==(e=U[0])?void 0:e.value)}),[j]),Me.useEffect((()=>{const t=U.find((e=>e.value===ie));p(e.onOptionFocus,{item:t,focusMethod:q.current,isNewInput:null==t?void 0:t.creatable})}),[ie,e.onOptionFocus]);const he=t=>{var n,r;!re.includes(t)&&re.lengthu?[...e,t]:[t]));const o=ne.find((e=>e.value===t));u&&(null==(n=V.current)||n.focus()),e.focusInputOnSelect&&(null==(r=V.current)||r.focus()),p(e.onSelectOption,{item:o,selectMethod:q.current,isNewInput:null==o?void 0:o.creatable}),null!=o&&o.creatable&&p(e.onCreateOption,{item:m(o,["noFilter"]),selectMethod:q.current});const i=(null==o?void 0:o.label)||(null==o?void 0:o.value);X((()=>u?"":null!=i?i:"")),h&&G()},ge=(t,n)=>{var r;oe((n=>{const r=U.find((e=>e.value===t));return p(e.onTagRemoved,t,r,n),n.filter((e=>e!==t))})),Z===t&&X(""),n&&(null==(r=V.current)||r.focus())},fe=u?re.map((e=>{var t;return{label:(null==(t=U.find((t=>t.value===(null==e?void 0:e.toString()))))?void 0:t.label)||e,onRemove:()=>ge(e)}})):[];return Me.useEffect((()=>{p(b,{tags:fe})}),[re]),{autoCompleteProps:e,children:W,filteredList:ne,filteredResults:ee,focusedValue:ie,getEmptyStateProps:e=>{if(ne.every((e=>e.noFilter))&&a&&!o)return"boolean"==typeof a?e:p(a,{query:Z})},getGroupProps:e=>{const t=((e,t)=>D(fi(e,(e=>{var n,r;const o=p((null==(n=e.props)?void 0:n.getValue)||vi,(null==(r=e.props)?void 0:r.value)||{});return t.some((e=>e.value===o))}))))(e.children,ne);return{divider:{hasFirstChild:ki(e.children,ue),hasLastChild:Ni(e.children,P(ne.filter((e=>f(null==e?void 0:e.noFilter)))))},group:{display:t?"initial":"none"}}},getInputProps:(t,n)=>{const{onBlur:o,onChange:i,onFocus:a,onKeyDown:s,variant:c,...h}=t;return{wrapper:{ref:H,onClick:()=>{var e;null==(e=null==V?void 0:V.current)||e.focus()},...Si(n,u),...h},input:{isReadOnly:l,onFocus:t=>{p(a,t),e.openOnFocus&&!l&&F(),e.selectOnFocus&&t.target.select(),d&&Y(!0)},onBlur:e=>{var t,n;p(o,e);const i=e.relatedTarget===(null==J?void 0:J.current)||(null==(t=J.current)?void 0:t.contains(e.relatedTarget)),a=null==(n=H.current)?void 0:n.contains(e.relatedTarget);if(!i&&!a&&(r&&G(),!re.includes(e.target.value)&&k)){const e=P(re),t=U.find((t=>t.value===e)),n=(null==t?void 0:t.label)||(null==t?void 0:t.value)||"";X(n)}},onChange:e=>{const t=e.target.value;p(i,e),X(t);const n=$(t);!p(N,t)||n&&!_?G():F(),Y(!1)},onKeyDown:e=>{var t;p(s,e),q.current="keyboard";const{key:n}=e,r=ne[le];return["Enter",...R].includes(n)?(!r||null!=r&&r.disabled?null==(t=V.current)||t.focus():he(null==r?void 0:r.value),void e.preventDefault()):"ArrowDown"===n?(j?ae(null==de?void 0:de.value):F(),void e.preventDefault()):"ArrowUp"===n?(j?ae(null==ce?void 0:ce.value):F(),void e.preventDefault()):"Tab"!==n?"Home"===n?(ae(null==ue?void 0:ue.value),void e.preventDefault()):"End"===n?(ae(null==pe?void 0:pe.value),void e.preventDefault()):void("Escape"===n&&(G(),e.preventDefault())):void(!j||!r||null!=r&&r.disabled?G():he(null==r?void 0:r.value))},value:Z,variant:u?"unstyled":c,...h}}},getItemProps:(e,t)=>{var n;const{_fixed:r,_focus:o,children:a,disabled:s,label:l,value:d,fixed:c,getValue:u=vi,onClick:h,onMouseOver:g,sx:f,...m}=e,y=t?d:null==(n=u(d))?void 0:n.toString(),b=y===ie,v=ne.findIndex((e=>e.value===y))>=0,w=a||l||y;return{item:{..."string"==typeof w&&i?{dangerouslySetInnerHTML:{__html:wi(w,Z)}}:{children:w},"aria-selected":re.includes(y),"aria-disabled":s,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:e=>{var t;p(h,e),s?null==(t=V.current)||t.focus():he(y)},onMouseOver:e=>{p(g,e),ae(y),q.current="mouse"},sx:{...f,mark:{color:"inherit",bg:"transparent",...z(i)?i:{fontWeight:i?"extrabold":"inherit"}}},...b&&(o||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),...c&&r,...m},root:{isValidSuggestion:v,value:y}}},inputRef:V,interactionRef:q,isLoading:x,isOpen:j,itemList:U,listRef:J,onClose:G,onOpen:F,placement:S,query:Z,removeItem:ge,resetItems:e=>{var t;oe([]),e&&(null==(t=V.current)||t.focus())},setQuery:X,tags:fe,values:re}}const _i=c(((e,t)=>{const n=Ri(e),{children:r,isOpen:o,onClose:i,onOpen:a,placement:l,resetItems:d,removeItem:c}=n;return Me.useImperativeHandle(t,(()=>({resetItems:d,removeItem:c}))),pi.jsx(hi,{value:n,children:pi.jsx(h,{isLazy:!0,isOpen:o,onClose:i,onOpen:a,autoFocus:!1,placement:l,closeOnBlur:!0,matchWidth:!0,children:pi.jsx(s.div,{w:"full",ref:t,children:r})})})}));_i.displayName="AutoComplete";const Ti=c(((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=gi(),i=Me.useRef(),a=g(t,i),s=r(e),{isValidSuggestion:l,value:d}=s.root,c=n===d;Me.useEffect((()=>{var e;c&&"keyboard"===o.current&&(null==(e=null==i?void 0:i.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[c,o]),Me.useEffect((()=>{"string"!=typeof d&&console.warn("wow"),"string"!=typeof d&&f(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")}),[]);const{children:u,dangerouslySetInnerHTML:p,...h}=s.item,b=m(h,["groupId"]);return l?pi.jsx(y,{ref:a,...Ci,...b,children:u||pi.jsx("span",{dangerouslySetInnerHTML:p})}):null}));Ti.displayName="AutoCompleteItem";const Ci={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},ji=c(((e,t)=>{const{children:n,showDivider:r,...o}=e,i=m(o,["groupSibling"]),{getGroupProps:a}=gi(),{group:s}=a(e),l=Oi(e);return pi.jsxs(b,{ref:t,...s,...i,children:[pi.jsx(v,{...l.top}),n,pi.jsx(v,{...l.bottom})]})})),Li=c(((e,t)=>pi.jsx(y,{...Ai,...e,ref:t})));ji.displayName="AutoCompleteGroup",Li.displayName="AutoCompleteGroupTitle";const Ai={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},Oi=e=>{const{getGroupProps:t}=gi(),n=e.groupSibling,{divider:{hasFirstChild:r,hasLastChild:o}}=t(e),i={my:2,borderColor:e.dividerColor};return{top:{...i,mb:4,display:!e.showDivider||r?"none":""},bottom:{...i,display:!e.showDivider||o||n?"none":""}}},Ei=c(((e,t)=>{const{isLoading:n}=gi(),{loadingIcon:r,...o}=e;return pi.jsxs(w,{children:[pi.jsx(x,{...o,ref:t}),n&&pi.jsx(S,{children:r||pi.jsx(k,{})})]})})),Mi=c(((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:i,setQuery:a}=gi(),{children:s,isInvalid:l,hidePlaceholder:d,...c}=e,{value:u}=c;Me.useEffect((()=>{void 0!==u&&("string"==typeof u||u instanceof String)&&a(u)}),[u]);const h=N("Input",e);let{wrapper:f,input:m}=o(c,h);const{ref:y,...b}=f,v=g(t,r),w=p(s,{tags:i});d&&(m={...m,placeholder:Array.isArray(w)&&w.length?void 0:m.placeholder});const x=pi.jsx(Ei,{isInvalid:l,...m,ref:v}),S=pi.jsxs(R,{...b,ref:y,children:[w,pi.jsx(_,{as:Ei,...m,ref:v})]});return pi.jsx(T,{children:n.multiple?S:x})}));Mi.displayName="Input",Mi.id="Input";var Pi=Me.createContext({});function Ii(){const e=Me.useContext(Pi);if(void 0===e)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function $i(){const e=Ii(),t=function(){const e=Me.useContext(V);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}();return{...e,theme:t}}Pi.displayName="ColorModeContext";var zi=(...e)=>e.filter(Boolean).join(" ");function Bi(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)&&!Array.isArray(e)}function Di(e,...t){return Gi(e)?e(...t):e}var Gi=e=>"function"==typeof e,Fi={exports:{}};!function(e,t){var n="__lodash_hash_undefined__",r=9007199254740991,o="[object Arguments]",i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",l="[object Null]",d="[object Object]",c="[object Proxy]",u="[object Undefined]",p=/^\[object .+?Constructor\]$/,h=/^(?:0|[1-9]\d*)$/,g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g[o]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g[a]=g["[object Map]"]=g["[object Number]"]=g[d]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1;var f="object"==typeof si&&si&&si.Object===Object&&si,m="object"==typeof self&&self&&self.Object===Object&&self,y=f||m||Function("return this")(),b=t&&!t.nodeType&&t,v=b&&e&&!e.nodeType&&e,w=v&&v.exports===b,x=w&&f.process,S=function(){try{return v&&v.require&&v.require("util").types||x&&x.binding&&x.binding("util")}catch{}}(),k=S&&S.isTypedArray,N=Array.prototype,R=Function.prototype,_=Object.prototype,T=y["__core-js_shared__"],C=R.toString,j=_.hasOwnProperty,L=function(){var e=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),A=_.toString,O=C.call(Object),E=RegExp("^"+C.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),M=w?y.Buffer:void 0,P=y.Symbol,I=y.Uint8Array;M&&M.allocUnsafe;var $=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),z=Object.create,B=_.propertyIsEnumerable,D=N.splice,G=P?P.toStringTag:void 0,F=function(){try{var e=pe(Object,"defineProperty");return e({},"",{}),e}catch{}}(),W=M?M.isBuffer:void 0,U=Math.max,V=Date.now,H=pe(y,"Map"),J=pe(Object,"create"),q=function(){function e(){}return function(t){if(!Ne(t))return{};if(z)return z(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function K(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Y.prototype.set=function(e,t){var n=this.__data__,r=ne(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Q.prototype.clear=function(){this.size=0,this.__data__={hash:new K,map:new(H||Y),string:new K}},Q.prototype.delete=function(e){var t=ue(this,e).delete(e);return this.size-=t?1:0,t},Q.prototype.get=function(e){return ue(this,e).get(e)},Q.prototype.has=function(e){return ue(this,e).has(e)},Q.prototype.set=function(e,t){var n=ue(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Z.prototype.clear=function(){this.__data__=new Y,this.size=0},Z.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Z.prototype.get=function(e){return this.__data__.get(e)},Z.prototype.has=function(e){return this.__data__.has(e)},Z.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Y){var r=n.__data__;if(!H||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Q(r)}return n.set(e,t),this.size=n.size,this};var oe=function(e,t,n){for(var r=-1,o=Object(e),i=n(e),a=i.length;a--;){var s=i[++r];if(!1===t(o[s],s,o))break}return e};function ie(e){return null==e?void 0===e?u:l:G&&G in Object(e)?function(e){var t=j.call(e,G),n=e[G];try{e[G]=void 0;var r=!0}catch{}var o=A.call(e);return r&&(t?e[G]=n:delete e[G]),o}(e):function(e){return A.call(e)}(e)}function ae(e){return Re(e)&&ie(e)==o}function se(e){return!(!Ne(e)||function(e){return!!L&&L in e}(e))&&(Se(e)?E:p).test(function(e){if(null!=e){try{return C.call(e)}catch{}try{return e+""}catch{}}return""}(e))}function le(e){if(!Ne(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=ge(e),n=[];for(var r in e)"constructor"==r&&(t||!j.call(e,r))||n.push(r);return n}function de(e,t,n,r,o){e!==t&&oe(t,(function(i,a){if(o||(o=new Z),Ne(i))!function(e,t,n,r,o,i,a){var s=fe(e,n),l=fe(t,n),c=a.get(l);if(c)ee(e,n,c);else{var u=i?i(s,l,n+"",e,t,a):void 0,p=void 0===u;if(p){var h=ve(l),g=!h&&xe(l),f=!h&&!g&&_e(l);u=l,h||g||f?ve(s)?u=s:function(e){return Re(e)&&we(e)}(s)?u=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(F?function(e,t){return F(e,"toString",{configurable:!0,enumerable:!1,value:je(t),writable:!0})}:Le);function ye(e,t){return e===t||e!=e&&t!=t}var be=ae(function(){return arguments}())?ae:function(e){return Re(e)&&j.call(e,"callee")&&!B.call(e,"callee")},ve=Array.isArray;function we(e){return null!=e&&ke(e.length)&&!Se(e)}var xe=W||function(){return!1};function Se(e){if(!Ne(e))return!1;var t=ie(e);return t==a||t==s||t==i||t==c}function ke(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}function Ne(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Re(e){return null!=e&&"object"==typeof e}var _e=k?function(e){return function(t){return e(t)}}(k):function(e){return Re(e)&&ke(e.length)&&!!g[ie(e)]};function Te(e){return we(e)?X(e):le(e)}var Ce=function(e){return ce((function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&function(e,t,n){if(!Ne(n))return!1;var r=typeof t;return!!("number"==r?we(n)&&he(t,n.length):"string"==r&&t in n)&&ye(n[t],e)}(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++r"string"==typeof e?e.replace(/!(important)?$/,"").trim():e,Vi=(e,t)=>n=>{const r=String(t),o=(e=>/!(important)?$/.test(e))(r),i=Ui(r),a=e?`${e}.${i}`:i;let s=Bi(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=Ui(s),o?`${s} !important`:s};function Hi(e){const{scale:t,transform:n,compose:r}=e;return(e,o)=>{var i;const a=Vi(t,e)(o);let s=null!=(i=null==n?void 0:n(a,o))?i:a;return r&&(s=r(s,o)),s}}var Ji=(...e)=>t=>e.reduce(((e,t)=>t(e)),t);function qi(e,t){return n=>{const r={property:n,scale:e};return r.transform=Hi({scale:e,transform:t}),r}}var Ki=({rtl:e,ltr:t})=>n=>"rtl"===n.direction?e:t,Yi=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"],Qi={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Zi={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"},Xi={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},ea={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},ta=new Set(Object.values(ea)),na=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),ra=e=>e.trim(),oa=e=>"string"==typeof e&&e.includes("(")&&e.includes(")"),ia=e=>t=>`${e}(${t})`,aa={filter:e=>"auto"!==e?e:Qi,backdropFilter:e=>"auto"!==e?e:Zi,ring:e=>function(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}(aa.px(e)),bgClip:e=>"text"===e?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e},transform:e=>"auto"===e?["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...Yi].join(" "):"auto-gpu"===e?["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...Yi].join(" "):e,vh:e=>"$100vh"===e?"var(--chakra-vh)":e,px(e){if(null==e)return e;const{unitless:t}=(e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}})(e);return t||"number"==typeof e?`${e}px`:e},fraction:e=>"number"!=typeof e||e>1?e:100*e+"%",float:(e,t)=>"rtl"===t.direction?{left:"right",right:"left"}[e]:e,degree(e){if(function(e){return/^var\(--.+\)$/.test(e)}(e)||null==e)return e;const t="string"==typeof e&&!e.endsWith("deg");return"number"==typeof e||t?`${e}deg`:e},gradient:(e,t)=>function(e,t){if(null==e||na.has(e))return e;if(!oa(e)&&!na.has(e))return`url('${e}')`;const n=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),r=null==n?void 0:n[1],o=null==n?void 0:n[2];if(!r||!o)return e;const i=r.includes("-gradient")?r:`${r}-gradient`,[a,...s]=o.split(",").map(ra).filter(Boolean);if(0===(null==s?void 0:s.length))return e;const l=a in ea?ea[a]:a;return s.unshift(l),`${i}(${s.map((e=>{if(ta.has(e))return e;const n=e.indexOf(" "),[r,o]=-1!==n?[e.substr(0,n),e.substr(n+1)]:[e],i=oa(o)?o:o&&o.split(" "),a=`colors.${r}`,s=a in t.__cssMap?t.__cssMap[a].varRef:r;return i?[s,...Array.isArray(i)?i:[i]].join(" "):s})).join(", ")})`}(e,null!=t?t:{}),blur:ia("blur"),opacity:ia("opacity"),brightness:ia("brightness"),contrast:ia("contrast"),dropShadow:ia("drop-shadow"),grayscale:ia("grayscale"),hueRotate:ia("hue-rotate"),invert:ia("invert"),saturate:ia("saturate"),sepia:ia("sepia"),bgImage:e=>null==e||oa(e)||na.has(e)?e:`url(${e})`,outline(e){const t="0"===String(e)||"none"===String(e);return null!==e&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=null!=(t=Xi[e])?t:{},o={flexDirection:e};return n&&(o[n]=1),r&&(o[r]=1),o}},sa={borderWidths:qi("borderWidths"),borderStyles:qi("borderStyles"),colors:qi("colors"),borders:qi("borders"),gradients:qi("gradients",aa.gradient),radii:qi("radii",aa.px),space:qi("space",Ji(aa.vh,aa.px)),spaceT:qi("space",Ji(aa.vh,aa.px)),degreeT:e=>({property:e,transform:aa.degree}),prop:(e,t,n)=>({property:e,scale:t,...t&&{transform:Hi({scale:t,transform:n})}}),propT:(e,t)=>({property:e,transform:t}),sizes:qi("sizes",Ji(aa.vh,aa.px)),sizesT:qi("sizes",Ji(aa.vh,aa.fraction)),shadows:qi("shadows"),logical:function(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Ki(t),transform:n?Hi({scale:n,compose:r}):r}},blur:qi("blur",aa.blur)},la={background:sa.colors("background"),backgroundColor:sa.colors("backgroundColor"),backgroundImage:sa.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:aa.bgClip},bgSize:sa.prop("backgroundSize"),bgPosition:sa.prop("backgroundPosition"),bg:sa.colors("background"),bgColor:sa.colors("backgroundColor"),bgPos:sa.prop("backgroundPosition"),bgRepeat:sa.prop("backgroundRepeat"),bgAttachment:sa.prop("backgroundAttachment"),bgGradient:sa.gradients("backgroundImage"),bgClip:{transform:aa.bgClip}};Object.assign(la,{bgImage:la.backgroundImage,bgImg:la.backgroundImage});var da={border:sa.borders("border"),borderWidth:sa.borderWidths("borderWidth"),borderStyle:sa.borderStyles("borderStyle"),borderColor:sa.colors("borderColor"),borderRadius:sa.radii("borderRadius"),borderTop:sa.borders("borderTop"),borderBlockStart:sa.borders("borderBlockStart"),borderTopLeftRadius:sa.radii("borderTopLeftRadius"),borderStartStartRadius:sa.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:sa.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:sa.radii("borderTopRightRadius"),borderStartEndRadius:sa.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:sa.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:sa.borders("borderRight"),borderInlineEnd:sa.borders("borderInlineEnd"),borderBottom:sa.borders("borderBottom"),borderBlockEnd:sa.borders("borderBlockEnd"),borderBottomLeftRadius:sa.radii("borderBottomLeftRadius"),borderBottomRightRadius:sa.radii("borderBottomRightRadius"),borderLeft:sa.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:sa.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:sa.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:sa.borders(["borderLeft","borderRight"]),borderInline:sa.borders("borderInline"),borderY:sa.borders(["borderTop","borderBottom"]),borderBlock:sa.borders("borderBlock"),borderTopWidth:sa.borderWidths("borderTopWidth"),borderBlockStartWidth:sa.borderWidths("borderBlockStartWidth"),borderTopColor:sa.colors("borderTopColor"),borderBlockStartColor:sa.colors("borderBlockStartColor"),borderTopStyle:sa.borderStyles("borderTopStyle"),borderBlockStartStyle:sa.borderStyles("borderBlockStartStyle"),borderBottomWidth:sa.borderWidths("borderBottomWidth"),borderBlockEndWidth:sa.borderWidths("borderBlockEndWidth"),borderBottomColor:sa.colors("borderBottomColor"),borderBlockEndColor:sa.colors("borderBlockEndColor"),borderBottomStyle:sa.borderStyles("borderBottomStyle"),borderBlockEndStyle:sa.borderStyles("borderBlockEndStyle"),borderLeftWidth:sa.borderWidths("borderLeftWidth"),borderInlineStartWidth:sa.borderWidths("borderInlineStartWidth"),borderLeftColor:sa.colors("borderLeftColor"),borderInlineStartColor:sa.colors("borderInlineStartColor"),borderLeftStyle:sa.borderStyles("borderLeftStyle"),borderInlineStartStyle:sa.borderStyles("borderInlineStartStyle"),borderRightWidth:sa.borderWidths("borderRightWidth"),borderInlineEndWidth:sa.borderWidths("borderInlineEndWidth"),borderRightColor:sa.colors("borderRightColor"),borderInlineEndColor:sa.colors("borderInlineEndColor"),borderRightStyle:sa.borderStyles("borderRightStyle"),borderInlineEndStyle:sa.borderStyles("borderInlineEndStyle"),borderTopRadius:sa.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:sa.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:sa.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:sa.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(da,{rounded:da.borderRadius,roundedTop:da.borderTopRadius,roundedTopLeft:da.borderTopLeftRadius,roundedTopRight:da.borderTopRightRadius,roundedTopStart:da.borderStartStartRadius,roundedTopEnd:da.borderStartEndRadius,roundedBottom:da.borderBottomRadius,roundedBottomLeft:da.borderBottomLeftRadius,roundedBottomRight:da.borderBottomRightRadius,roundedBottomStart:da.borderEndStartRadius,roundedBottomEnd:da.borderEndEndRadius,roundedLeft:da.borderLeftRadius,roundedRight:da.borderRightRadius,roundedStart:da.borderInlineStartRadius,roundedEnd:da.borderInlineEndRadius,borderStart:da.borderInlineStart,borderEnd:da.borderInlineEnd,borderTopStartRadius:da.borderStartStartRadius,borderTopEndRadius:da.borderStartEndRadius,borderBottomStartRadius:da.borderEndStartRadius,borderBottomEndRadius:da.borderEndEndRadius,borderStartRadius:da.borderInlineStartRadius,borderEndRadius:da.borderInlineEndRadius,borderStartWidth:da.borderInlineStartWidth,borderEndWidth:da.borderInlineEndWidth,borderStartColor:da.borderInlineStartColor,borderEndColor:da.borderInlineEndColor,borderStartStyle:da.borderInlineStartStyle,borderEndStyle:da.borderInlineEndStyle});var ca={color:sa.colors("color"),textColor:sa.colors("color"),fill:sa.colors("fill"),stroke:sa.colors("stroke")},ua={boxShadow:sa.shadows("boxShadow"),mixBlendMode:!0,blendMode:sa.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:sa.prop("backgroundBlendMode"),opacity:!0};Object.assign(ua,{shadow:ua.boxShadow});var pa={filter:{transform:aa.filter},blur:sa.blur("--chakra-blur"),brightness:sa.propT("--chakra-brightness",aa.brightness),contrast:sa.propT("--chakra-contrast",aa.contrast),hueRotate:sa.degreeT("--chakra-hue-rotate"),invert:sa.propT("--chakra-invert",aa.invert),saturate:sa.propT("--chakra-saturate",aa.saturate),dropShadow:sa.propT("--chakra-drop-shadow",aa.dropShadow),backdropFilter:{transform:aa.backdropFilter},backdropBlur:sa.blur("--chakra-backdrop-blur"),backdropBrightness:sa.propT("--chakra-backdrop-brightness",aa.brightness),backdropContrast:sa.propT("--chakra-backdrop-contrast",aa.contrast),backdropHueRotate:sa.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:sa.propT("--chakra-backdrop-invert",aa.invert),backdropSaturate:sa.propT("--chakra-backdrop-saturate",aa.saturate)},ha={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:aa.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:sa.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:sa.space("gap"),rowGap:sa.space("rowGap"),columnGap:sa.space("columnGap")};Object.assign(ha,{flexDir:ha.flexDirection});var ga={gridGap:sa.space("gridGap"),gridColumnGap:sa.space("gridColumnGap"),gridRowGap:sa.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},fa={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:aa.outline},outlineOffset:!0,outlineColor:sa.colors("outlineColor")},ma={width:sa.sizesT("width"),inlineSize:sa.sizesT("inlineSize"),height:sa.sizes("height"),blockSize:sa.sizes("blockSize"),boxSize:sa.sizes(["width","height"]),minWidth:sa.sizes("minWidth"),minInlineSize:sa.sizes("minInlineSize"),minHeight:sa.sizes("minHeight"),minBlockSize:sa.sizes("minBlockSize"),maxWidth:sa.sizes("maxWidth"),maxInlineSize:sa.sizes("maxInlineSize"),maxHeight:sa.sizes("maxHeight"),maxBlockSize:sa.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,o;return{[`@media screen and (min-width: ${null!=(o=null==(r=null==(n=t.__breakpoints)?void 0:n.get(e))?void 0:r.minW)?o:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,o;return{[`@media screen and (max-width: ${null!=(o=null==(r=null==(n=t.__breakpoints)?void 0:n.get(e))?void 0:r._minW)?o:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:sa.propT("float",aa.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ma,{w:ma.width,h:ma.height,minW:ma.minWidth,maxW:ma.maxWidth,minH:ma.minHeight,maxH:ma.maxHeight,overscroll:ma.overscrollBehavior,overscrollX:ma.overscrollBehaviorX,overscrollY:ma.overscrollBehaviorY});var ya={listStyleType:!0,listStylePosition:!0,listStylePos:sa.prop("listStylePosition"),listStyleImage:!0,listStyleImg:sa.prop("listStyleImage")},ba=(e=>{const t=new WeakMap;return(n,r,o,i)=>{if(typeof n>"u")return e(n,r,o);t.has(n)||t.set(n,new Map);const a=t.get(n);if(a.has(r))return a.get(r);const s=e(n,r,o,i);return a.set(r,s),s}})((function(e,t,n,r){const o="string"==typeof t?t.split("."):[t];for(r=0;r{const r={},o=ba(e,t,{});for(const i in o)i in n&&null!=n[i]||(r[i]=o[i]);return r},Sa={srOnly:{transform:e=>!0===e?va:"focusable"===e?wa:{}},layerStyle:{processResult:!0,transform:(e,t,n)=>xa(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>xa(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>xa(t,e,n)}},ka={position:!0,pos:sa.prop("position"),zIndex:sa.prop("zIndex","zIndices"),inset:sa.spaceT("inset"),insetX:sa.spaceT(["left","right"]),insetInline:sa.spaceT("insetInline"),insetY:sa.spaceT(["top","bottom"]),insetBlock:sa.spaceT("insetBlock"),top:sa.spaceT("top"),insetBlockStart:sa.spaceT("insetBlockStart"),bottom:sa.spaceT("bottom"),insetBlockEnd:sa.spaceT("insetBlockEnd"),left:sa.spaceT("left"),insetInlineStart:sa.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:sa.spaceT("right"),insetInlineEnd:sa.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(ka,{insetStart:ka.insetInlineStart,insetEnd:ka.insetInlineEnd});var Na={ring:{transform:aa.ring},ringColor:sa.colors("--chakra-ring-color"),ringOffset:sa.prop("--chakra-ring-offset-width"),ringOffsetColor:sa.colors("--chakra-ring-offset-color"),ringInset:sa.prop("--chakra-ring-inset")},Ra={margin:sa.spaceT("margin"),marginTop:sa.spaceT("marginTop"),marginBlockStart:sa.spaceT("marginBlockStart"),marginRight:sa.spaceT("marginRight"),marginInlineEnd:sa.spaceT("marginInlineEnd"),marginBottom:sa.spaceT("marginBottom"),marginBlockEnd:sa.spaceT("marginBlockEnd"),marginLeft:sa.spaceT("marginLeft"),marginInlineStart:sa.spaceT("marginInlineStart"),marginX:sa.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:sa.spaceT("marginInline"),marginY:sa.spaceT(["marginTop","marginBottom"]),marginBlock:sa.spaceT("marginBlock"),padding:sa.space("padding"),paddingTop:sa.space("paddingTop"),paddingBlockStart:sa.space("paddingBlockStart"),paddingRight:sa.space("paddingRight"),paddingBottom:sa.space("paddingBottom"),paddingBlockEnd:sa.space("paddingBlockEnd"),paddingLeft:sa.space("paddingLeft"),paddingInlineStart:sa.space("paddingInlineStart"),paddingInlineEnd:sa.space("paddingInlineEnd"),paddingX:sa.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:sa.space("paddingInline"),paddingY:sa.space(["paddingTop","paddingBottom"]),paddingBlock:sa.space("paddingBlock")};Object.assign(Ra,{m:Ra.margin,mt:Ra.marginTop,mr:Ra.marginRight,me:Ra.marginInlineEnd,marginEnd:Ra.marginInlineEnd,mb:Ra.marginBottom,ml:Ra.marginLeft,ms:Ra.marginInlineStart,marginStart:Ra.marginInlineStart,mx:Ra.marginX,my:Ra.marginY,p:Ra.padding,pt:Ra.paddingTop,py:Ra.paddingY,px:Ra.paddingX,pb:Ra.paddingBottom,pl:Ra.paddingLeft,ps:Ra.paddingInlineStart,paddingStart:Ra.paddingInlineStart,pr:Ra.paddingRight,pe:Ra.paddingInlineEnd,paddingEnd:Ra.paddingInlineEnd});var _a={textDecorationColor:sa.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:sa.shadows("textShadow")},Ta={clipPath:!0,transform:sa.propT("transform",aa.transform),transformOrigin:!0,translateX:sa.spaceT("--chakra-translate-x"),translateY:sa.spaceT("--chakra-translate-y"),skewX:sa.degreeT("--chakra-skew-x"),skewY:sa.degreeT("--chakra-skew-y"),scaleX:sa.prop("--chakra-scale-x"),scaleY:sa.prop("--chakra-scale-y"),scale:sa.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:sa.degreeT("--chakra-rotate")},Ca={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:sa.prop("transitionDuration","transition.duration"),transitionProperty:sa.prop("transitionProperty","transition.property"),transitionTimingFunction:sa.prop("transitionTimingFunction","transition.easing")},ja={fontFamily:sa.prop("fontFamily","fonts"),fontSize:sa.prop("fontSize","fontSizes",aa.px),fontWeight:sa.prop("fontWeight","fontWeights"),lineHeight:sa.prop("lineHeight","lineHeights"),letterSpacing:sa.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(!0===e)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},La={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:sa.spaceT("scrollMargin"),scrollMarginTop:sa.spaceT("scrollMarginTop"),scrollMarginBottom:sa.spaceT("scrollMarginBottom"),scrollMarginLeft:sa.spaceT("scrollMarginLeft"),scrollMarginRight:sa.spaceT("scrollMarginRight"),scrollMarginX:sa.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:sa.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:sa.spaceT("scrollPadding"),scrollPaddingTop:sa.spaceT("scrollPaddingTop"),scrollPaddingBottom:sa.spaceT("scrollPaddingBottom"),scrollPaddingLeft:sa.spaceT("scrollPaddingLeft"),scrollPaddingRight:sa.spaceT("scrollPaddingRight"),scrollPaddingX:sa.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:sa.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function Aa(e){return Bi(e)&&e.reference?e.reference:String(e)}var Oa=(e,...t)=>t.map(Aa).join(` ${e} `).replace(/calc/g,""),Ea=(...e)=>`calc(${Oa("+",...e)})`,Ma=(...e)=>`calc(${Oa("-",...e)})`,Pa=(...e)=>`calc(${Oa("*",...e)})`,Ia=(...e)=>`calc(${Oa("/",...e)})`,$a=e=>{const t=Aa(e);return null==t||Number.isNaN(parseFloat(t))?Pa(t,-1):String(t).startsWith("-")?String(t).slice(1):`-${t}`},za=Object.assign((e=>({add:(...t)=>za(Ea(e,...t)),subtract:(...t)=>za(Ma(e,...t)),multiply:(...t)=>za(Pa(e,...t)),divide:(...t)=>za(Ia(e,...t)),negate:()=>za($a(e)),toString:()=>e.toString()})),{add:Ea,subtract:Ma,multiply:Pa,divide:Ia,negate:$a});function Ba(e){if(null==e)return e;const{unitless:t}=function(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}(e);return t||"number"==typeof e?`${e}px`:e}function Da(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${Ba(e)})`),t&&n.push("and",`(max-width: ${Ba(t)})`),n.join(" ")}var Ga=(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,Fa=(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,Wa=(e,t)=>`${e}:focus-visible ${t}`,Ua=(e,t)=>`${e}:focus-within ${t}`,Va=(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,Ha=(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,Ja=(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,qa=(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,Ka=(e,t)=>`${e}:placeholder-shown ${t}`,Ya=e=>Za((t=>e(t,"&")),"[role=group]","[data-group]",".group"),Qa=e=>Za((t=>e(t,"~ &")),"[data-peer]",".peer"),Za=(e,...t)=>t.map(e).join(", "),Xa={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Ya(Ga),_peerHover:Qa(Ga),_groupFocus:Ya(Fa),_peerFocus:Qa(Fa),_groupFocusVisible:Ya(Wa),_peerFocusVisible:Qa(Wa),_groupActive:Ya(Va),_peerActive:Qa(Va),_groupDisabled:Ya(Ha),_peerDisabled:Qa(Ha),_groupInvalid:Ya(Ja),_peerInvalid:Qa(Ja),_groupChecked:Ya(qa),_peerChecked:Qa(qa),_groupFocusWithin:Ya(Ua),_peerFocusWithin:Qa(Ua),_peerPlaceholderShown:Qa(Ka),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},es=Object.keys(Xa),ts=Wi({},la,da,ca,ha,ma,pa,Na,fa,ga,Sa,ka,ua,Ra,La,ja,_a,Ta,ya,Ca);Object.assign({},Ra,ma,ha,ga,ka);var ns=[...Object.keys(ts),...es],rs={...ts,...Xa},os=(e,t)=>e.startsWith("--")&&"string"==typeof t&&!function(e){return/^var\(--.+\)$/.test(e)}(t),is=(e,t)=>{var n,r;if(null==t)return t;const o=t=>{var n,r;return null==(r=null==(n=e.__cssMap)?void 0:n[t])?void 0:r.varRef},i=e=>{var t;return null!=(t=o(e))?t:e},[a,s]=function(e){const t=[];let n="",r=!1;for(let o=0;o{var a,s,l;const d=Di(e,r),c=(e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:o}=t.__breakpoints,i={};for(const a in e){let s=Di(e[a],t);if(null==s)continue;if(s=Bi(s)&&n(s)?r(s):s,!Array.isArray(s)){i[a]=s;continue}const l=s.slice(0,o.length).length;for(let e=0;e{Wi(s,{[e]:c?g[e]:{[h]:g[e]}})}));continue}if(!u){c?Wi(s,g):s[h]=g;continue}s[h]=g}}return s}}function ds(e){return function(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}(e,["styleConfig","size","variant","colorScheme"])}var cs=typeof Element<"u",us="function"==typeof Map,ps="function"==typeof Set,hs="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function gs(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,o,i;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!gs(e[r],t[r]))return!1;return!0}if(us&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;for(i=e.entries();!(r=i.next()).done;)if(!gs(r.value[1],t.get(r.value[0])))return!1;return!0}if(ps&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(hs&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof t.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof t.toString)return e.toString()===t.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;if(cs&&e instanceof Element)return!1;for(r=n;0!=r--;)if(("_owner"!==o[r]&&"__v"!==o[r]&&"__o"!==o[r]||!e.$$typeof)&&!gs(e[o[r]],t[o[r]]))return!1;return!0}return e!=e&&t!=t}const fs=li((function(e,t){try{return gs(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}));function ms(e,t={}){var n;const{styleConfig:r,...o}=t,{theme:i,colorMode:a}=$i(),s=e?G(i,`components.${e}`):void 0,l=r||s,d=F({theme:i,colorMode:a},null!=(n=null==l?void 0:l.defaultProps)?n:{},W(m(o,["children"]))),c=Me.useRef({});if(l){const e=function(e){return t=>{var n;const{variant:r,size:o,theme:i}=t,a=ls(i);return Wi({},Di(null!=(n=e.baseStyle)?n:{},t),a(e,"sizes",o,t),a(e,"variants",r,t))}}(l)(d);fs(c.current,e)||(c.current=e)}return c.current}var ys=new Set([...ns,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),bs=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function vs(e){return bs.has(e)||!ys.has(e)}var ws,xs=null!=(ws=u.default)?ws:u,Ss=({baseStyle:e})=>t=>{const{theme:n,css:r,__css:o,sx:i,...a}=t,s=U(a,((e,t)=>(e=>e in rs)(t))),l=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(null!=r)for(const e in r)Object.prototype.hasOwnProperty.call(r,e)&&(e in n&&delete n[e],n[e]=r[e]);return n}({},o,p(e,t),W(s),i),d=(e=>t=>as({theme:t,pseudos:Xa,configs:ts})(e))(l)(t.theme);return r?[d,r]:d};function ks(e,t){const{baseStyle:n,...r}=null!=t?t:{};r.shouldForwardProp||(r.shouldForwardProp=vs);const o=Ss({baseStyle:n}),i=xs(e,r)(o);return Pe.forwardRef((function(e,t){const{colorMode:n,forced:r}=Ii();return Pe.createElement(i,{ref:t,"data-theme":r?n:void 0,...e})}))}var Ns=function(){const e=new Map;return new Proxy(ks,{apply:(e,t,n)=>ks(...n),get:(t,n)=>(e.has(n)||e.set(n,ks(n)),e.get(n))})}();function Rs(e){return Me.forwardRef(e)}var _s={path:pi.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[pi.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),pi.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),pi.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},Ts=Rs(((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:i=!1,children:a,className:s,__css:l,...d}=e,c=zi("chakra-icon",s),u=function(e,t={}){return ms(e,t)}("Icon",e),p={ref:t,focusable:i,className:c,__css:{w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...l,...u}},h=null!=r?r:_s.viewBox;if(n&&"string"!=typeof n)return pi.jsx(Ns.svg,{as:n,...p,...d});const g=null!=a?a:_s.path;return pi.jsx(Ns.svg,{verticalAlign:"middle",viewBox:h,...p,...d,children:g})}));Ts.displayName="Icon",Rs((function(e,t){const{spacing:n="0.5rem",spacingX:r,spacingY:o,children:i,justify:a,direction:s,align:l,className:d,shouldWrapChildren:c,...u}=e,p=Me.useMemo((()=>c?Me.Children.map(i,((e,t)=>pi.jsx(Cs,{children:e},t))):i),[i,c]);return pi.jsx(Ns.div,{ref:t,className:zi("chakra-wrap",d),...u,children:pi.jsx(Ns.ul,{className:"chakra-wrap__list",__css:{display:"flex",flexWrap:"wrap",justifyContent:a,alignItems:l,flexDirection:s,listStyleType:"none",gap:n,columnGap:r,rowGap:o,padding:"0"},children:p})})})).displayName="Wrap";var Cs=Rs((function(e,t){const{className:n,...r}=e;return pi.jsx(Ns.li,{ref:t,__css:{display:"flex",alignItems:"flex-start"},className:zi("chakra-wrap__listitem",n),...r})}));Cs.displayName="WrapItem";var js=Ns("div");js.displayName="Box";var Ls=Rs((function(e,t){const{size:n,centerContent:r=!0,...o}=e,i=r?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return pi.jsx(js,{ref:t,boxSize:n,__css:{...i,flexShrink:0,flexGrow:0},...o})}));Ls.displayName="Square",Rs((function(e,t){const{size:n,...r}=e;return pi.jsx(Ls,{size:n,ref:t,borderRadius:"9999px",...r})})).displayName="Circle";var As=Rs((function(e,t){const{direction:n,align:r,justify:o,wrap:i,basis:a,grow:s,shrink:l,...d}=e,c={display:"flex",flexDirection:n,alignItems:r,justifyContent:o,flexWrap:i,flexBasis:a,flexGrow:s,flexShrink:l};return pi.jsx(Ns.div,{ref:t,__css:c,...d})}));As.displayName="Flex";const Os=e=>{const{getEmptyStateProps:t}=gi(),n=t(pi.jsx(As,{...Es,children:"No options found!"}));return pi.jsx(js,{...e,children:n})},Es={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ms=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Ps=c(((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:i,isLoading:a}=gi(),s=g(t,i),[l,d]=(e=>{const t=Pe.Children.map(e,((t,n)=>{var r;if("AutoCompleteGroup"===(null==(r=null==t?void 0:t.type)?void 0:r.displayName)){const r=Pe.Children.toArray(e)[n+1];return Pe.cloneElement(t,{groupSibling:!!r&&"AutoCompleteGroup"===r.type.displayName})}return t})),n=Pe.Children.toArray(t).filter((e=>{var t;return!Ms.includes(null==(t=null==e?void 0:e.type)?void 0:t.displayName)}));return[Pe.Children.toArray(t).filter((e=>{var t;return Ms.includes(null==(t=null==e?void 0:e.type)?void 0:t.displayName)})),n]})(n);return pi.jsxs(C,{ref:s,w:"inherit",...Is,...o,children:[a&&pi.jsx(j,{children:r||pi.jsx(k,{size:"md"})}),!a&&pi.jsxs(pi.Fragment,{children:[l,pi.jsx(Os,{}),d]})]})}));Ps.displayName="AutoCompleteList";const Is={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}};var[$s,zs]=function(e={}){const{name:t,strict:n=!0,hookName:r="useContext",providerName:o="Provider",errorMessage:i,defaultValue:a}=e,s=Me.createContext(a);return s.displayName=t,[s.Provider,function e(){var t;const a=Me.useContext(s);if(!a&&n){const n=new Error(null!=i?i:function(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}(r,o));throw n.name="ContextError",null==(t=Error.captureStackTrace)||t.call(Error,n,e),n}return a},s]}({name:"TagStylesContext",errorMessage:"useTagStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" "}),Bs=Rs(((e,t)=>{const n=function(e,t={}){return ms(e,t)}("Tag",e),r=ds(e),o={display:"inline-flex",verticalAlign:"top",alignItems:"center",maxWidth:"100%",...n.container};return pi.jsx($s,{value:n,children:pi.jsx(Ns.span,{ref:t,...r,__css:o})})}));Bs.displayName="Tag";var Ds=Rs(((e,t)=>{const n=zs();return pi.jsx(Ns.span,{ref:t,noOfLines:1,...e,__css:n.label})}));Ds.displayName="TagLabel",Rs(((e,t)=>pi.jsx(Ts,{ref:t,verticalAlign:"top",marginEnd:"0.5rem",...e}))).displayName="TagLeftIcon",Rs(((e,t)=>pi.jsx(Ts,{ref:t,verticalAlign:"top",marginStart:"0.5rem",...e}))).displayName="TagRightIcon";var Gs=e=>pi.jsx(Ts,{verticalAlign:"inherit",viewBox:"0 0 512 512",...e,children:pi.jsx("path",{fill:"currentColor",d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})});Gs.displayName="TagCloseIcon";var Fs=Rs(((e,t)=>{const{isDisabled:n,children:r,...o}=e,i={display:"flex",alignItems:"center",justifyContent:"center",outline:"0",...zs().closeButton};return pi.jsx(Ns.button,{ref:t,"aria-label":"close",...o,type:"button",disabled:n,__css:i,children:r||pi.jsx(Gs,{})})}));Fs.displayName="TagCloseButton",Me.memo((e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return pi.jsx(Cs,{children:pi.jsxs(Bs,{borderRadius:"md",fontWeight:"normal",...r&&Ws,...o,children:[pi.jsx(Ds,{children:t}),pi.jsx(Fs,{onClick:()=>!r&&p(n),cursor:"pointer",...r&&Ws})]})})}));const Ws={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};var Us=function(){return Us=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},qs=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},el=e("b1",Me.forwardRef((function(e,t){var n=e.validator,r=e.onDebouncedChange,o=e.delay,a=e.optionList,s=e.defaultValue;e.onChange;var l=Zs(e,["validator","onDebouncedChange","delay","optionList","defaultValue","onChange"]),d=Me.useRef(null),c=g(d,t),u=Me.useRef("datalist-"+(new Date).valueOf()),p=Xs(Me.useState(!1),2),h=p[0],f=p[1],m=Me.useRef();return Me.useEffect((function(){d.current&&(d.current.value=(null==s?void 0:s.toString())||"")}),[s]),i.jsxs(i.Fragment,{children:[i.jsx(x,Qs({ref:c,list:u.current,variant:"flushed",size:"sm",h:6,onChange:function(e){var t=e.target.value;window.clearTimeout(m.current),n&&f(!n(t)),m.current=window.setTimeout((function(){null==r||r(t),m.current=void 0}),null!=o?o:500)},onBlur:function(e){var t=e.target.value;void 0!==m.current&&(window.clearTimeout(m.current),n&&f(!n(t)),null==r||r(t),m.current=void 0)},isInvalid:h},l)),a&&i.jsx("datalist",{id:u.current,children:null==a?void 0:a.map((function(e,t){return i.jsx("option",{children:e},t)}))})]})}))),tl=function(){return tl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},il=function(e){switch(e){case nt.DEV:return"red";case nt.UAT:return"orange";case nt.PRD:return"green"}},al=function(e,t,n){var r=new Blob([n],{type:t});sl(e,r)},sl=function(e,t){var n=window.URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n)},ll=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function dl(e){var t=e.cancelRef,n=e.isOpen,r=e.onClose,o=ll(Me.useState(!1),2),a=o[0],s=o[1];return i.jsxs(te,{leastDestructiveRef:t,isOpen:n,onClose:r,children:[i.jsx(ne,{}),i.jsxs(re,{children:[i.jsx(oe,{children:"Warning 警告"}),i.jsx(ie,{}),i.jsxs(ae,{sx:{"& p":{my:1}},children:[i.jsx(se,{children:"Are you sure you want to reset the app? The webpage local storage for this app will be cleared. A copy of the local storage will be downloaded and it may be used for restoration (varies with app)."}),i.jsx(se,{children:"確定重設該應用程式嗎?應用程式的網頁本地儲存將會被清除。本地儲存的副本可供下載及用於復原(因應用程式而異)。"}),i.jsx(se,{children:"确定重置本应用程序吗?应用程序的网页本地存储将会被清除。本地存储的拷贝可供下载以及用于还原(因应用程序而異)。"})]}),i.jsxs(le,{children:[i.jsx(J,{ref:t,onClick:r,children:"Cancel"}),i.jsx(J,{isLoading:a,colorScheme:"red",ml:3,onClick:function(){s(!0);var e=qn.storage.getAll(),t=qn.getAppName(),n="".concat(t,"_BACKUP_").concat((new Date).toISOString(),".json");al(n,"application/json",JSON.stringify(e)),qn.storage.clear(),setTimeout((function(){window.location.reload()}),2e3)},children:"Confirm and reload"})]})]})]})}var cl=function(){return cl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function hl(e){var t=e.error,n=e.errorInfo,o=e.allowReset,a=e.sx,s=ul(e,["error","errorInfo","allowReset","sx"]),l=r("RmgErrorBoundary"),d=de("primary.500","primary.300"),c=pl(Me.useState(!1),2),u=c[0],p=c[1],h=Me.useRef(null),g=function(e){return i.jsx(ce,{color:d,role:"button",onClick:function(){return p(!0)},children:e})},f=qn.getAppName(),m=i.jsx(ce,{color:d,href:"https://github.com/railmapgen/".concat(f,"/issues"),isExternal:!0,children:"GitHub Issue"});return i.jsxs(ue,cl({status:"error",sx:cl(cl({},l),a)},s,{children:[i.jsx(pe,{}),i.jsx(he,{children:"Something went wrong!"}),i.jsxs(ge,{children:[i.jsxs(se,{children:["Please try to refresh or re-import your configuration files. If the issue still persists, please consider upgrading your browser",o?i.jsxs(i.Fragment,{children:[" or ",g("reset this app")]}):"",". Should you need any help, please contact us by submitting an issue in ",m," with the details shown below."]}),i.jsxs(se,{children:["請嘗試重新整理或重新上載設定檔。如果問題仍然存在,請考慮更新你的瀏覽器",o?i.jsxs(i.Fragment,{children:["或",g("重設該應用程式")]}):"","。如需協助或與我們聯絡,請前往 ",m," 提交一個 Issue 並附以詳細資料。"]}),i.jsxs(se,{children:["请尝试刷新或者重新上传配置文件。如果问题仍然存在,请考虑更新您的浏览器",o?i.jsxs(i.Fragment,{children:["或者",g("重置本应用程序")]}):"","。如需帮助或者联系我们,请前往 ",m," 提交一个 Issue 并附上详细信息。"]}),i.jsxs(se,{as:"details",children:[null==t?void 0:t.toString(),i.jsx("br",{}),null==n?void 0:n.componentStack]}),o&&i.jsx(dl,{cancelRef:h,isOpen:u,onClose:function(){return p(!1)}})]})]}))}var gl,fl=(gl=function(e,t){return gl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},gl(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}gl(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),ml=function(){return ml=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Rl(e){var t=e.defaultValue,n=e.options,r=e.disabledOptions,o=kl(e,["defaultValue","options","disabledOptions"]),a=Me.useRef(null);Me.useEffect((function(){a.current&&(a.current.value=(null==t?void 0:t.toString())||"")}),[t]);var s=function(e,t){return i.jsx("option",{value:e,disabled:void 0!==(null==r?void 0:r.find((function(t){return t.toString()===e}))),children:t},e)};return i.jsx(ye,Sl({ref:a,variant:"flushed",size:"sm",h:6},o,{children:Object.entries(n).map((function(e){var t=Nl(e,2),n=t[0],r=t[1];return"object"==typeof r?i.jsx("optgroup",{label:n,children:Object.entries(r).map((function(e){var t=Nl(e,2),n=t[0],r=t[1];return s(n,r)}))},n):s(n,r)}))}))}var _l=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Tl=(e("u",(function(e,t,n){var r=_l(Me.useState(t()),2),o=r[0],i=r[1];return Me.useEffect((function(){e.then((function(){console.debug("[rmg-components] Getter updates finished"),i(t())}))}),[]),o})),function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}),Cl=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Al(e){var t=e.defaultValue,n=e.min,o=e.max,a=e.step,s=e.onThrottledChange,l=e.leftIcon,d=e.rightIcon,c=r("RmgThrottledSlider"),u=Ll(Me.useState(null!=t?t:0),2),p=u[0],h=u[1];Me.useEffect((function(){void 0!==t&&p!==t&&h(t)}),[t]);var g=jl(null!=s?s:function(){},500);return i.jsxs(y,{sx:c,children:[l&&i.jsx(be,{size:"xs",variant:"ghost","aria-label":"Drag left",icon:l,onClick:function(){var e=Math.max(p-10*(null!=a?a:1),null!=n?n:0);null==s||s(e),h(e)}}),i.jsxs(ve,{value:p,min:n,max:o,step:a,onChange:function(e){g(e),h(e)},children:[i.jsx(we,{children:i.jsx(xe,{})}),i.jsx(Se,{})]}),d&&i.jsx(be,{size:"xs",variant:"ghost","aria-label":"Drag right",icon:d,onClick:function(){var e=Math.min(p+10*(null!=a?a:1),null!=o?o:100);null==s||s(e),h(e)}})]})}var Ol=function(e){var t=e.children,n=e.noWrap,o=r("RmgOutput",{noWrap:n});return i.jsx(s.output,{sx:o,children:t})};function El(e){var t=e.fields,n=e.noLabel,r=e.minW;return i.jsx(y,{wrap:"wrap",children:t.map((function(e,t){if(e.hidden)return i.jsx(Me.Fragment,{},t);var o=e.minW||r,a="full"===o;return i.jsx(xl,{className:a?"mw-full":"",label:e.label,flex:a?void 0:1,minW:a?void 0:o,noLabel:n,oneLine:e.oneLine,children:function(e){switch(e.type){case"input":return i.jsx(el,{placeholder:e.placeholder,defaultValue:e.value,type:e.variant,validator:e.validator,onDebouncedChange:e.onChange,delay:e.debouncedDelay,optionList:e.optionList,isDisabled:e.isDisabled});case"output":return i.jsx(Ol,{noWrap:e.noWrap,children:e.value});case"textarea":return i.jsx(rl,{placeholder:e.placeholder,defaultValue:e.value,onDebouncedChange:e.onChange,isDisabled:e.isDisabled});case"slider":return i.jsx(Al,{defaultValue:e.value,min:e.min,max:e.max,step:e.step,onThrottledChange:e.onChange,leftIcon:e.leftIcon,rightIcon:e.rightIcon,isDisabled:e.isDisabled});case"select":return i.jsx(Rl,{defaultValue:e.value,onChange:function(t){var n,r=t.target.value;return null===(n=e.onChange)||void 0===n?void 0:n.call(e,"number"==typeof e.value?Number(r):r.toString())},options:e.options,disabledOptions:e.disabledOptions,isInvalid:e.isInvalid,isDisabled:e.isDisabled});case"switch":return i.jsx(ke,{isChecked:e.isChecked,isDisabled:e.isDisabled,onChange:function(t){var n,r=t.target.checked;return null===(n=e.onChange)||void 0===n?void 0:n.call(e,r)}});case"custom":return e.component;default:return i.jsx("div",{})}}(e)},t)}))})}var Ml=function(){return Ml=Object.assign||function(e){for(var t,n=1,r=arguments.length;n span:last-of-type":{position:"absolute",right:8}},"& .rmg-multi-select__icon-wrapper":{display:"inline-flex",justifyContent:"center",w:6,h:"100%",position:"absolute",right:2,top:0,fontSize:"xl","& svg":{h:"1em",w:"1em"}},"& .chakra-popover__content":{w:"unset",minW:200},"& .chakra-popover__body":{p:0,"li label":{p:2,w:"100%",_hover:{bg:"dark"===n?"whiteAlpha.200":"gray.100"},_active:{bg:"dark"===n?"whiteAlpha.300":"gray.200"}}}}}},Hl=function(){return Hl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n button:first-of-type":{ml:1}}},RmgLoader:{baseStyle:{w:"100%",h:"100%",position:"absolute",top:0,right:0,alignItems:"center",justifyContent:"center","& .rmg-loader__backdrop":{position:"absolute",w:"100%",h:"100%",zIndex:1500,bg:"blackAlpha.400"},"& .chakra-progress":{zIndex:2e3}}},RmgMultiSelect:Vl,RmgOutput:ql,RmgPage:{baseStyle:{position:"relative",flexDirection:"column",flex:1,overflow:"hidden",background:"inherit"}},RmgPageHeader:{baseStyle:{alignItems:"center",flexWrap:"wrap",pl:2,pr:3,py:1,zIndex:10}},RmgSection:{baseStyle:{position:"relative",background:"inherit"}},RmgSectionHeader:{baseStyle:{display:"flex",alignItems:"center",flexWrap:"wrap",position:"sticky",top:0,background:"inherit",px:2,py:1,zIndex:5}},RmgSidePanel:{baseStyle:function(e){var t=e.colorMode,n=e.width,r=e.alwaysOverlay;return{height:"100%",position:r?"absolute":{base:"absolute",lg:"relative"},right:r?0:{base:0,lg:"unset"},background:"light"===t?"white":"gray.800",boxShadow:"lg",flexShrink:0,flexDirection:"column",transition:"0.3s ease-in-out",maxW:0,visibility:"hidden",zIndex:5,"&.show-side-panel":{maxW:{base:"100%",sm:n},w:{base:"100%",sm:"unset"},visibility:"initial"},"& .rmg-side-panel__inner":{flexDirection:"column",h:"100%",w:{base:"100vw",sm:n}},"& .rmg-side-panel__header":{flexShrink:0,pl:3,pr:1,py:0,"& button":{ml:"auto"}},"& .rmg-side-panel__body":{display:"flex",flexDirection:"column",flex:1,overflowY:"auto",p:1},"& .rmg-side-panel__footer":{display:"flex",justifyContent:"flex-end",p:1}}}},RmgThrottledSlider:{baseStyle:{h:6,alignItems:"center","& .chakra-button:first-of-type":{mr:1},"& .chakra-button:last-of-type":{ml:1}}},RmgWindow:{baseStyle:{position:"relative",flexDirection:"column",height:"100%",overflow:"hidden",background:"inherit"}},RmgWindowHeader:{baseStyle:{px:2,alignItems:"center",zIndex:15,minH:10,transition:"0.3s ease-in-out"}}},Yl=function(){return Yl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n(e.RailMap="railmap",e.Platform="platform",e))(nd||{})),rd=e("aW",(e=>(e.Metro="metro",e.NationalRail="nationalrail",e.LightRail="lightrail",e.Footpath="footpath",e))(rd||{})),od=e("E",(e=>(e.APP_LOAD="APP_LOAD",e.ADD_STATION="ADD_STATION",e.ADD_LINE="ADD_LINE",e.IMPORT_RMG_PARAM="IMPORT_RMG_PARAM",e.IMPORT_WORK_FROM_GALLERY="IMPORT_WORK_FROM_GALLERY",e.DOWNLOAD_PARAM="DOWNLOAD_PARAM",e.DOWNLOAD_IMAGES="DOWNLOAD_IMAGES",e.LOAD_TUTORIAL="LOAD_TUTORIAL",e))(od||{})),id=e("K",(e=>(e.LOGIN_STATE="rmp__login_state",e.APP="rmp__app",e.PARAM="rmp__param",e.PARAM_BACKUP="rmp__param__backup",e.DO_NOT_SHOW_RMT_MSG="rmp__doNotShowRMTMsg",e.ACCOUNT="rmg-home__account",e))(id||{})),ad=e("C",(e=>(e.Other="other",e.Beijing="beijing",e.Berlin="berlin",e.Chongqing="chongqing",e.Foshan="foshan",e.Guangzhou="guangzhou",e.Hongkong="hongkong",e.Kunming="kunming",e.London="london",e.Qingdao="qingdao",e.Shanghai="shanghai",e.Shenzhen="shenzhen",e.Singapore="singapore",e.Suzhou="suzhou",e.Tokyo="tokyo",e))(ad||{})),sd=e("a3",(e=>(e.Shmetro="shmetro",e.Bjsubway="bjsubway",e))(sd||{}));e("aq","https://railmapgen.org/v1/randomStationNames");const ld={RMP_CLOUD:!1,RMP_EXPORT:!1},dd=Ie({name:"account",initialState:{state:"logged-out",activeSubscriptions:ld,token:void 0},reducers:{setState:(e,t)=>{e.state=t.payload},setActiveSubscriptions:(e,t)=>{e.activeSubscriptions=t.payload},setToken:(e,t)=>{e.token=t.payload}}}),{setState:cd,setActiveSubscriptions:ud,setToken:pd}=dd.actions,hd=dd.reducer;var gd;e("M",gd),function(e){e.black="#000",e.white="#fff"}(gd||e("M",gd={}));var fd=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(Hp){i(Hp)}}function s(e){try{l(r.throw(e))}catch(Hp){i(Hp)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};let md={};const yd=(e,t)=>fd(void 0,void 0,void 0,(function*(){return yield((e,t)=>fd(void 0,void 0,void 0,(function*(){if(e in md)return md[e];const n=yield fetch(e,t),r=yield n.json();return md[e]=r,r})))(`/rmg-palette/resources/palettes/${e}.json`,{signal:t})}));var bd=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(Hp){i(Hp)}}function s(e){try{l(r.throw(e))}catch(Hp){i(Hp)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))};e("Y",((e,t,n)=>bd(void 0,void 0,void 0,(function*(){const[t,n]=e;if("other"===t)return e;try{const r=(yield yd(t)).find((e=>e.id===n));return r?[t,n,r.colour,r.fg||gd.white]:(console.warn(`[rmg-palette] updateTheme(${t}, ${n}), line does not exist, returning old theme`),e)}catch(Hp){throw console.error(`[rmg-palette] updateTheme(${t}, ${n}), unexpected error occurs`,Hp),Hp}})))),e("ax",(e=>{const t=e.currentTarget.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}})),e("U",((e,t,n,r)=>({x:e*n/100+r.x,y:t*n/100+r.y}))),e("aB",((e,t)=>Math.round(e/t)*t)),e("e",(e=>{let[t,n,r,o]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return e.forEachNode(((e,i)=>{const a=document.getElementById(e);if(a){const e=vd(a);t=Math.min(e.x,t),n=Math.min(e.y,n),r=Math.max(e.x+e.width,r),o=Math.max(e.y+e.height,o)}})),t-=50,n-=50,r+=100,o+=100,{xMin:t,yMin:n,xMax:r,yMax:o}})),e("p",(e=>{var t,n;return{width:(null!==(t=e.width)&&void 0!==t?t:720)-40,height:(null!==(n=e.height)&&void 0!==n?n:1280)-40}}));const vd=e=>{const t=e.getBBox(),n=e.ownerSVGElement,r=e.parentNode.getScreenCTM().inverse().multiply(e.getScreenCTM()),o=[n.createSVGPoint(),n.createSVGPoint(),n.createSVGPoint(),n.createSVGPoint()];o[0].x=t.x,o[0].y=t.y,o[1].x=t.x+t.width,o[1].y=t.y,o[2].x=t.x+t.width,o[2].y=t.y+t.height,o[3].x=t.x,o[3].y=t.y+t.height;let[i,a,s,l]=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];return o.forEach((e=>{e=e.matrixTransform(r),i=Math.min(i,e.x),s=Math.max(s,e.x),a=Math.min(a,e.y),l=Math.max(l,e.y)})),t.x=i,t.width=s-i,t.y=a,t.height=l-a,t},wd=(e("a9",navigator.platform.startsWith("Mac")),async(e,t="SHA-256")=>{const n=(new TextEncoder).encode(e),r=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")});e("b3",(()=>`#${Math.floor(16777215*Math.random()).toString(16).padStart(6,"0")}`)),e("b4",(e=>(299*parseInt(e.slice(1,3),16)+587*parseInt(e.slice(3,5),16)+114*parseInt(e.slice(5,7),16))/1e3>=128?gd.black:gd.white));var xd=e("J",(e=>(e.SAVE_CHANGED="SAVE_CHANGED",e.TOKEN_REQUEST="TOKEN_REQUEST",e))(xd||{}));const Sd=e("B",new BroadcastChannel("rmt-save-manager"));let kd,Nd;const Rd=e("_",(async()=>{Kn.debug("Requesting token from RMT"),Sd.postMessage({type:"TOKEN_REQUEST",from:"rmp"})})),_d=e=>{var t;const n=t=>{if(!t)return Kn.debug("Account string is empty, logging out"),e.dispatch(pd(void 0)),e.dispatch(cd("logged-out")),void e.dispatch(ud(ld));const n=JSON.parse(t),{token:r}=n;(async(e,t)=>{Kn.debug(`Updating token to: ${t}`),e.dispatch(pd(t))})(e,r),(async(e,t)=>{const n=await fetch("https://railmapgen.org/v1/subscription",{headers:{accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(200!==n.status)return Kn.debug("Token is invalid, expiring the login state"),e.dispatch(cd("expired")),void e.dispatch(ud(ld));e.dispatch(cd("free"));const r=(await n.json()).subscriptions,o=structuredClone(ld);for(const i of r){const t=i.type;t in o&&(e.dispatch(cd("subscriber")),o[t]=!0)}e.dispatch(ud(o)),Kn.debug(`Token is valid, setting active subscriptions: ${JSON.stringify(o)}`)})(e,r)};let r=localStorage.getItem(id.ACCOUNT);n(null!==(t=r)&&void 0!==t?t:void 0),window.onstorage=()=>{const e=localStorage.getItem(id.ACCOUNT);r!==e&&(r=e,Kn.debug(`Account string changed to: ${e}`),n(null!=e?e:void 0))}};let Td=e("n",((e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[e]];return t}));var Cd=e("k",(e=>(e.Diagonal="diagonal",e.Perpendicular="perpendicular",e.RotatePerpendicular="ro-perp",e.Simple="simple",e))(Cd||{})),jd=e("o",(e=>(e.SingleColor="single-color",e.ShanghaiSuburbanRailway="sh-sub-rwy",e.ShmetroVirtualInt="shmetro-virtual-int",e.GzmtrVirtualInt="gzmtr-virtual-int",e.GZMTRLoop="gzmtr-loop",e.ChinaRailway="china-railway",e.BjsubwaySingleColor="bjsubway-single-color",e.BjsubwayTram="bjsubway-tram",e.BjsubwayDotted="bjsubway-dotted",e.DualColor="dual-color",e.River="river",e.MTRRaceDays="mtr-race-days",e.MTRLightRail="mtr-light-rail",e.MTRUnpaidArea="mtr-unpaid-area",e.MTRPaidArea="mtr-paid-area",e.MRTUnderConstruction="mrt-under-constr",e.MRTSentosaExpress="mrt-sentosa-express",e.JREastSingleColor="jr-east-single-color",e.JREastSingleColorPattern="jr-east-single-color-pattern",e.LRTSingleColor="lrt-single-color",e.LondonTubeTerminal="london-tube-terminal",e.LondonTubeInternalInt="london-tube-internal-int",e.LondonTube10MinWalk="london-tube-10-min-walk",e.LondonRail="london-rail",e.LondonSandwich="london-sandwich",e.LondonLutonAirportDART="london-DART",e.LondonIFSCloudCableCar="london-dangleway",e.GuangdongIntercityRailway="gd-intercity-rwy",e))(jd||{}));e("L",["single-color","bjsubway-single-color","bjsubway-tram","bjsubway-dotted","china-railway","mtr-race-days","mtr-light-rail","mrt-under-constr","jr-east-single-color","jr-east-single-color-pattern","lrt-single-color","london-sandwich","london-DART","london-dangleway"]);const Ld={offset:0},Ad={generatePath:(e,t,n,r,o=Ld)=>{const{offset:i=Ld.offset}=o,a=Math.abs((r-n)/(t-e));if(a===1/0)return`M ${e+i} ${n} L ${t+i} ${r}`;if(0===a)return`M ${e} ${n+i} L ${t} ${r+i}`;{const o=1/a,s=i/Math.sqrt(o*o+1),l=s*o*-Math.sign((t-e)*(r-n));return`M ${e+s} ${n+l} L ${t+s} ${r+l}`}},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M6,18L18,6",stroke:"currentColor",fill:"none"})}),defaultAttrs:Ld,attrsComponent:e=>{var t;const{id:n,attrs:r,handleAttrsUpdate:o}=e,{t:a}=$e(),s=[{type:"input",label:a("panel.details.lines.simple.offset"),value:(null!==(t=r.offset)&&void 0!==t?t:Ld.offset).toString(),variant:"number",onChange:e=>{r.offset=Number(e),o(n,r)},minW:"full"}];return i.jsx(El,{fields:s})},metadata:{displayName:"panel.details.lines.simple.displayName"}},Od=(e("aT",{translateX:0,translateY:0,scale:1,rotate:0}),e("aD",3));var Ed=e("av",(e=>(e.Virtual="virtual",e.ShmetroNumLineBadge="shmetro-num-line-badge",e.ShmetroTextLineBadge="shmetro-text-line-badge",e.GzmtrLineBadge="gzmtr-line-badge",e.BjsubwayNumLineBadge="bjsubway-num-line-badge",e.BjsubwayTextLineBadge="bjsubway-text-line-badge",e.SuzhouRTNumLineBadge="suzhourt-num-line-badge",e.BerlinSBahnLineBadge="berlin-s-bahn-line-badge",e.BerlinUBahnLineBadge="berlin-u-bahn-line-badge",e.ChongqingRTNumLineBadge="chongqingrt-num-line-badge",e.ChongqingRTTextLineBadge="chongqingrt-text-line-badge",e.ShenzhenMetroNumLineBadge="shenzhen-metro-num-line-badge",e.MRTDestinationNumbers="mrt-num-line-badge",e.JREastLineBadge="jr-east-line-badge",e.QingdaoMetroNumLineBadge="qingdao-metro-num-line-badge",e.MRTLineBadge="mrt-line-badge",e.GuangdongIntercityRailwayLineBadge="gd-intercity-rwy-line-badge",e.LondonArrow="london-arrow",e.Facilities="facilities",e.Text="text",e.I18nText="i18n-text",e.Master="master",e))(Ed||{})),Md={en:{},"zh-Hans":{Action:"操作",Apps:"应用程序","Back to list":"返回列表","Background colour":"背景色",Black:"黑",Cancel:"取消",City:"城市",Components:"组件","Configuration file":"配置文件",Confirm:"确定",Continue:"继续","Country/Region":"国家/地区",Copy:"复制",Edit:"编辑","Foreground colour":"前景色","Go back":"返回",Language:"语言/Language",Justification:"理由",Name:"名称",Next:"下一步",Open:"打开",Palette:"调色板","Please select...":"请选择...",Previous:"上一步","Rail Map Generator":"铁路线路图生成器","Rail Map Painter":"地铁线路图绘制器","Rail Map Toolkit":"线路图工具包",Remove:"删除",Reset:"重置","RMG Templates":"RMG 模板","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 设计师","Seed Project":"种子项目",Settings:"设置",Submit:"提交",Translate:"翻译",Upload:"上传",White:"白"},"zh-Hant":{Action:"動作",Apps:"應用程式","Back to list":"返回列表","Background colour":"背景色",Black:"黑",Cancel:"取消",City:"城市",Components:"元件","Configuration file":"設定檔",Confirm:"確定",Continue:"繼續",Copy:"複製","Country/Region":"國家/地區",Edit:"編輯","Foreground colour":"前景色","Go back":"返回",Language:"語言/Language",Justification:"理由",Name:"名稱",Next:"下一步",Open:"開啟",Palette:"調色盤","Please select...":"請選擇...",Previous:"上一步","Rail Map Generator":"鐵路路綫圖產生器","Rail Map Painter":"地鐵路綫圖繪製器","Rail Map Toolkit":"路綫圖工具組",Remove:"移除",Reset:"重設","RMG Templates":"RMG 範本","RMP Gallery":"RMP 畫廊","RMP Designer":"RMP 設計師","Seed Project":"種子項目",Settings:"設定",Submit:"提交",Translate:"翻譯",Upload:"上載",White:"白"},ja:{Language:"言語/Language",Palette:"調色板","Rail Map Generator":"鉄道路線図ジェネレータ","Rail Map Painter":"鉄道路線図画家","Rail Map Toolkit":"路線図ツールキット",Remove:"削除","RMG Templates":"RMG テンプレート","RMP Gallery":"RMP 画廊","RMP Designer":"RMP 図案家"},ko:{Action:"조작",Apps:"앱","Back to list":"다시 목록으로","Background colour":"배경색",Black:"블랙",Cancel:"취소",City:"도시",Components:"요소","Configuration file":"환경 설정 파일",Confirm:"확인",Copy:"복사","Country/Region":"국가/지역",Edit:"편집","Foreground colour":"전경색","Go back":"되돌아가",Language:"언어/Language",Justification:"이유",Name:"명칭",Next:"다음",Open:"열기",Palette:"팔레트","Please select...":"선택해주세요",Previous:"나아가","Rail Map Generator":"철도 노선도 생성기","Rail Map Painter":"지하철 노선도 그리기","Rail Map Toolkit":"노선도 툴킷",Remove:"삭제",Reset:"리셋","RMG Templates":"RMG 템플릿","RMP Gallery":"RMP 갤러리","RMP Designer":"RMP 디자이너","Seed Project":"종자 프로젝트",Settings:"설치",Submit:"제출",Translate:"번역",Upload:"업로드",White:"화이트"}};const Pd={color:"Color",warning:"Warning",cancel:"Cancel",apply:"Apply",remove:"Remove",close:"Close",noShowAgain:"Don't show me again",rmtPromotion:"The all-in-one toolkit you definitely do not want to miss!",panel:{tools:{showLess:"Show less",section:{lineDrawing:"Line drawing",stations:"Stations",miscellaneousNodes:"Miscellaneous nodes"},select:"Select",learnHowToAdd:{station:"Learn how to add your stations!","misc-node":"Learn how to add your nodes!",line:"Learn how to add your line styles!"}},details:{header:"Details",info:{title:"Basic information",id:"ID",zIndex:"Depth",stationType:"Station Type",linePathType:"Line Path Type",lineStyleType:"Line Style Type",type:"Type",parallel:"Parallel line",parallelIndex:"Parallel index"},multipleSelection:{title:"Multiple Selection",change:"Change selected attributes",selected:"Selected Objects:",show:"Show",station:"Stations",miscNode:"MiscNodes",edge:"Lines"},changeStationTypeContent:"Changing station's type will remove all attributes from the station except its names.",changeLineTypeContent:"Changing line's type will remove all attributes from the line.",changeType:"Change Type",nodePosition:{title:"Node Position",pos:{x:"Coordinate X",y:"Coordinate Y"}},lineExtremities:{title:"Line Extremities",source:"Source",target:"Target",sourceName:"Source Name",targetName:"Target Name"},specificAttrsTitle:"Specific Attributes",unknown:{error:"Oops :( We can't recognize this {{category}}. Maybe it is created in a newer version.",node:"node",linePath:"line path",lineStyle:"line style"},nodes:{common:{nameZh:"Line name in Chinese",nameEn:"Line name in English",nameJa:"Line name in Japanese",num:"Line number"},virtual:{displayName:"Virtual node"},shmetroNumLineBadge:{displayName:"Shanghai Metro num line badge"},shmetroTextLineBadge:{displayName:"Shanghai Metro text line badge"},gzmtrLineBadge:{displayName:"Guangzhou Metro line badge",tram:"Tram",span:"Row-spanning digits"},bjsubwayNumLineBadge:{displayName:"Beijing Subway num line badge"},bjsubwayTextLineBadge:{displayName:"Beijing Subway text line badge"},berlinSBahnLineBadge:{displayName:"Berlin S Bahn line badge"},berlinUBahnLineBadge:{displayName:"Berlin U Bahn line badge"},suzhouRTNumLineBadge:{displayName:"Suzhou Rail Transit num line badge",branch:"Is branch line"},chongqingRTNumLineBadge:{displayName:"Chongqing Rail Transit num line badge"},chongqingRTTextLineBadge:{displayName:"Chongqing Rail Transit text line badge"},shenzhenMetroNumLineBadge:{displayName:"Shenzhen Metro num line badge",branch:"Is branch line"},mrtDestinationNumbers:{displayName:"Singapore MRT destination numbers"},mrtLineBadge:{displayName:"Singapore MRT line badge",isTram:"Is LRT line badge"},jrEastLineBadge:{displayName:"JR East line badge",crosshatchPatternFill:"Fill with crosshatch pattern"},qingdaoMetroNumLineBadge:{displayName:"Qingdao Metro Num line badge",numEn:"Line number in English",showText:"Show text"},guangdongIntercityRailwayLineBadge:{displayName:"Guangdong Intercity Railway line badge"},londonArrow:{displayName:"London arrow",type:"Type",continuation:"Continuation",sandwich:"Sandwich",tube:"Tube"},master:{displayName:"Master node",type:"Master node type",undefined:"Undefined"},facilities:{displayName:"Facilities",type:"Type"},text:{displayName:"Arbitrary text",content:"Content",fontSize:"Font size",lineHeight:"Line height",textAnchor:"Text anchor",start:"Start",middle:"Middle",end:"End",auto:"Auto",hanging:"Hanging",dominantBaseline:"Dominant baseline",language:"Font family in which language",zh:"Chinese",en:"English",mtr__zh:"Hongkong MTR Chinese",mtr__en:"Hongkong MTR English",berlin:"Berlin S/U Bahn",mrt:"Singapore MRT",jreast_ja:"JR East Japanese",jreast_en:"JR East English",rotate:"Rotation",italic:"Italic",bold:"Bold"}},stations:{common:{nameZh:"Names in Chinese",nameEn:"Names in English",nameJa:"Names in Japanese",nameOffsetX:"Names offset X",nameOffsetY:"Names offset Y",rotate:"Icon rotation",lineCode:"Line code",stationCode:"Station code",left:"Left",middle:"Middle",right:"Right",top:"Top",bottom:"Bottom"},interchange:{title:"Interchanges",within:"Within-station interchange",outStation:"Out-of-station interchange",outSystem:"Out-of-system interchange",addGroup:"Add interchange group",noInterchanges:"No interchanges",nameZh:"Chinese name",nameEn:"English name",add:"Add interchange",copy:"Copy interchange",remove:"Remove interchange"},shmetroBasic:{displayName:"Shanghai Metro basic station"},shmetroBasic2020:{displayName:"Shanghai Metro basic station (2020)"},shmetroInt:{displayName:"Shanghai Metro interchange station",height:"Icon height",width:"Icon width"},shmetroOsysi:{displayName:"Shanghai Metro out-of-system interchange station"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway station"},gzmtrBasic:{displayName:"Guangzhou Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},gzmtrInt:{displayName:"Guangzhou Metro interchange station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",foshan:"Foshan"},gzmtrInt2024:{displayName:"Guangzhou Metro interchange station (2024)",columns:"Columns of stations",topHeavy:"Prefer more stations on the top row",anchorAt:"Anchor at",anchorAtNone:"Center",osiPosition:"Out-of-Station Interchange",osiPositionNone:"None",osiPositionLeft:"Left",osiPositionRight:"Right"},bjsubwayBasic:{displayName:"Beijing Subway basic station",open:"Is opened"},bjsubwayInt:{displayName:"Beijing Subway interchange station",outOfStation:"Out of station interchange"},mtr:{displayName:"Hongkong MTR station",rotate:"Icon rotation"},suzhouRTBasic:{displayName:"Suzhou Rail Transit basic station",textVertical:"Vertical names"},suzhouRTInt:{displayName:"Suzhou Rail Transit interchange station"},kunmingRTBasic:{displayName:"Kunming Rail Transit basic station"},kunmingRTInt:{displayName:"Kunming Rail Transit interchange station"},MRTBasic:{displayName:"Singapore MRT basic station",isTram:"Is LRT station"},MRTInt:{displayName:"Singapore MRT interchange station"},jrEastBasic:{displayName:"JR East basic station",nameOffset:"Names offset",textOneLine:"Names in one line",textVertical:"Vertical names",important:"Important station",lines:"Interchange lines offset"},jrEastImportant:{displayName:"JR East important station",textVertical:"Vertical names",mostImportant:"Most important station",minLength:"Minimal length of the station"},foshanMetroBasic:{displayName:"Foshan Metro basic station",open:"Is opened",secondaryNameZh:"Secondary name in Chinese",secondaryNameEn:"Secondary name in English",tram:"Tram"},qingdaoMetro:{displayName:"Qingdao Metro station",isInt:"Is interchange station"},tokyoMetroBasic:{displayName:"Tokyo Metro basic station",nameOffset:"Names offset",textVertical:"Vertical names",lineCode:"Line code",stationCode:"Station code"},tokyoMetroInt:{displayName:"Tokyo Metro interchange station",mereOffset:{displayName:"Names mere offset",none:"None",left1:"Left (less)",left2:"Left (more)",right1:"Right (less)",right2:"Right (more)",up:"Up",down:"Down"},importance:{displayName:"Station importance",default:"Default",middle:"Middle",high:"High"},align:{displayName:"Icon align",horizontal:"Horizontal",vertical:"Vertical"}},londonTubeCommon:{stepFreeAccess:"Step free access",stepFreeAccessNone:"None",stepFreeAccessTrain:"From street to train",stepFreeAccessPlatform:"From street to platform"},londonTubeBasic:{displayName:"London Tube basic station",terminal:"Terminal station",shareTracks:"Track shares",shareTracksIndex:"Index of the track shares"},londonTubeInt:{displayName:"London Tube interchange station"},londonRiverServicesInt:{displayName:"London river services interchange station"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway station"}},lines:{reconcileId:"Reconcile ID",common:{offsetFrom:"Offset From",offsetTo:"Offset To",startFrom:"Start From",from:"From",to:"To",roundCornerFactor:"Round Corner Factor",parallelDisabled:"Some attributes are disabled as this line is parallel.",changeInBaseLine:"Change them in the base line:"},simple:{displayName:"Simple path",offset:"Offset"},diagonal:{displayName:"135° diagonal path"},perpendicular:{displayName:"90° perpendicular path"},rotatePerpendicular:{displayName:"90° rotate perpendicular path"},singleColor:{displayName:"Single color style"},shmetroVirtualInt:{displayName:"Shanghai Metro out-of-station interchange style"},shanghaiSuburbanRailway:{displayName:"Shanghai Suburban Railway style",isEnd:"Is the ending line"},gzmtrVirtualInt:{displayName:"Guangzhou Metro out-of-station interchange style"},gzmtrLoop:{displayName:"Guangzhou Metro loop style"},chinaRailway:{displayName:"China Railway style"},bjsubwaySingleColor:{displayName:"Beijing Subway single color style"},bjsubwayTram:{displayName:"Beijing Subway tram style"},bjsubwayDotted:{displayName:"Beijing Subway dotted style"},dualColor:{displayName:"Dual color style",swap:"Swap color",colorA:"Color A",colorB:"Color B"},river:{displayName:"River style",width:"Width"},mtrRaceDays:{displayName:"Hongkong MTR race days style"},mtrLightRail:{displayName:"Hongkong MTR light rail style"},mtrUnpaidArea:{displayName:"Hongkong MTR unpaid area style"},mtrPaidArea:{displayName:"Hongkong MTR paid area style"},mrtUnderConstruction:{displayName:"Singapore MRT under construction style"},mrtSentosaExpress:{displayName:"Singapore MRT Sentosa Express style"},jrEastSingleColor:{displayName:"JR East single color style"},jrEastSingleColorPattern:{displayName:"JR East single color filled with crosshatch pattern style"},lrtSingleColor:{displayName:"Singapore LRT single color style"},londonTubeInternalInt:{displayName:"London Tube internal interchange style"},londonTube10MinWalk:{displayName:"London Tube under a 10 minute walk interchange style"},londonTubeTerminal:{displayName:"London Tube terminal style"},londonRail:{displayName:"London rail style",limitedService:"Limited service/Peak hours only",colorBackground:"Color background",colorForeground:"Color foreground"},londonSandwich:{displayName:"London sandwich style"},londonLutonAirportDART:{displayName:"London Luton Airport DART style"},londonIFSCloudCableCar:{displayName:"London IFS Cloud Cable Car style"},guangdongIntercityRailway:{displayName:"Guangdong Intercity Railway style"}},edge:{},footer:{duplicate:"Duplicate",copy:"Copy",remove:"Remove"}}},header:{popoverHeader:"You're on <1>{{environment}} environment!",popoverBody:"We are currently testing the latest RMP. If you have any suggestions, feel free to raise at https://github.com/railmapgen/rmp/issues",search:"Search stations",open:{new:"New project",config:"Import project",projectRMG:"Import from RMG project",invalidType:"Invalid file type! Only file in JSON format is accepted.",unknownError:"Unknown error occurred while parsing the uploaded file! Please try again.",gallery:"Import from Gallery",tutorial:"Start tutorial",importFromRMPGallery:"Template {{id}} imported. Not satisfied with this change? Undo via Ctrl + Z or the undo button.",failToImportFromRMPGallery:"Fail to import {{id}} from the gallery. The file can not be found."},download:{config:"Export project",image:"Export image","2rmg":{title:"Export to RMG project",type:{line:"Line",loop:"Loop",branch:"Branch"},placeholder:{chinese:"Chinese name",english:"English name",lineCode:"Line code"},info1:"This function is designed to convert the RMP project into RMG projects.",info2:"The lines in the list following are the available lines for converting. You can enter the Chinese line name in the text box on the left, the English line name in the middle, the line code (for Guangzhou Metro style) on the right, and then click the download button on the right to save your RMG projects.",noline:"No available lines found.",download:"Download",downloadInfo:"Please select one of the following stations as the starting station and click it to download."},format:"Format",png:"PNG",svg:"SVG",svgVersion:"Version","svg1.1":"1.1 (Compatible with Adobe Illustrator)",svg2:"2 (Compatible with modern browsers)",transparent:"Transparency",scale:"Scale",disabledScaleOptions:"Some scale options are disabled due to your browser's canvas limitation.",disabledScaleOptionsWorkarounds:"Possible workarounds include generating the image from svg using this cli tool: ",imageTooBig:"The image is too big for your browser to generate!",useSystemFonts:"Use system fonts instead of fonts previewed in the canvas",shareInfo1:"I will attach ",shareInfo2:" and its link when I share this image.",termsAndConditions:"Terms and Conditions",termsAndConditionsInfo:"I agree to ",period:".",confirm:"Download"},donation:{title:"Donation",openCollective:"Open Collective",viaUSD:"Donate in USD via Paypal or Visa card.",afdian:"爱发电",viaCNY:"Donate in CNY via Alipay or Wechat Pay."},settings:{title:"Settings",pro:"This is a PRO feature and an account with a subscription is required.",proWithTrial:"This is a PRO feature with a limited free trial available.",proLimitExceed:{master:"Master nodes exceed the free tier.",parallel:"Parallel lines exceed the free tier.",solution:"Remove them to dismiss this warning, or subscribe to unlock more!"},subscription:{title:"Subscription Status","logged-out":"You are currently logged out.",free:"Logged In! Subscribe to unlock more features!",subscriber:"Thanks for your subscription! Enjoy all features!",expired:"Login status expired. Please log out and log in again."},preference:{title:"Preference",keepLastPath:"Keep drawing lines until clicking on the background in the next move",autoParallel:"Automatically set new lines to be parallel to existing lines",randomStationNames:{title:"Set station names to random on creation",none:"None",shmetro:"Shanghai",bjsubway:"Beijing"}},shortcuts:{title:"Shortcuts",keys:"Keys",description:"Description",f:"Use the last tool.",s:"Select.",arrows:"Move the canvas a little bit.",ijkl:"Move the selected station(s) a little bit.",shift:"Multiple selection.",alt:"Precise movement.",delete:"Delete the selected station(s).",cut:"Cut.",copy:"Copy.",paste:"Paste.",undo:"Undo.",redo:"Redo."},procedures:{title:"Procedures",translate:{title:"Translate nodes' coordinates",content:"Add the following offset to all nodes' x and y:",x:"X axis",y:"Y axis"},scale:{title:"Scale nodes' coordinates",content:"Multiply the following value to all nodes' x and y:",factor:"Scale factor"},changeType:{title:"Change all objects' attributes",any:"Any"},changeZIndex:"Change depth in batch",changeStationType:{title:"Change stations type in batch",changeFrom:"Change all stations from this type:",changeTo:"To this type:",info:"Changing stations' type will remove all specific attributes from stations except their position and names. SAVE BEFORE CHANGE!"},changeLineStyleType:{title:"Change lines style in batch",changeFrom:"Change all lines from this style:",changeTo:"To this style:",info:"Changing lines' style will remove all specific attributes from lines except their connections. SAVE BEFORE CHANGE!"},changeLinePathType:{title:"Change lines path in batch",changeFrom:"Change all lines from this path:",changeTo:"To this path:"},changeColor:{title:"Change color in batch",changeFrom:"Change all objects from this color:",changeTo:"To this color:",any:"From any color"},removeLines:{title:"Remove lines with single color",content:"Remove lines that have this color: "},updateColor:{title:"Update color",content:"Update all colors with their latest value.",success:"Successfully update all colors.",error:"Error in updating all colors: {{e}}."},unlockSimplePath:{title:"Unlock simple path",content1:"The Rail Map Painter application endeavors to offer an interactive platform conducive to the creation of rail maps while adhering to established conventions. Among these conventions, one particularly renowned style finds its origins in the innovative work of Harry Beck. His pioneering contribution, officially endorsed in the year 1932, garnered instantaneous acclaim from the general populace. Presently, it stands as an exemplar of paramount significance within the realm of information design. This paradigmatic approach has found widespread implementation in transit cartography on a global scale, albeit with varying degrees of success.",content2:"The application inherently conceals the option to utilize a simple path, as its deployment has the potential to contravene established conventions. This particular feature remains discreetly tucked away by default. Additionally, submissions to the Rail Map Painter Gallery are subject to stringent scrutiny, with a categorical rejection of compositions that employ the simple path with a single color style approach.",content3:"Still, we reserve the opportunity to unlock this option and use the simple path when you subscribe. It should be noted that even after acquisition, the use of simple path is limited to single color.",check:"Unlock",unlocked:"Already Unlocked"},masterManager:{title:"Manage all master nodes",id:"Id",label:"Label",type:"Type",types:{MiscNode:"MiscNode",Station:"Station"},importTitle:"Upload master parameter",importFrom:"Use imported styles",importOther:"Import new style",importParam:"Paste configuration"}},telemetry:{title:"Telemetry",info:"To help improve Rail Map Painter and keep contributors motivated to enhance the project, anonymous usage data is collected through Google Analytics. This data is used solely for enhancing the user experience and optimizing the tool's functionality and is never shared with third parties.",essential:"Basic",essentialTooltip:"Change this global setting in Rail Map Toolkit",essentialInfo:"Rail Map Painter collects essential usage data that helps us understand how and when users interact with the tool. Rest assured, no personally identifiable information or data from your projects is ever collected.",essentialLink:"Click this link to see detailed fields that Google Analytics may collect.",additional:"Additional",additionalInfo:"Rail Map Painter also gathers data on interactions, such as project creation or station addition, when you input. These additional data is also anonymous and are only used for statistical analysis to help us make the tool better."}},about:{title:"About",rmp:"Rail Map Painter",railmapgen:"A Rail Map Toolkit project",desc:"Design your own rail map by freely dragging stations from different cities and connecting them with 90 or 135-degree rounded corners lines!",content1:"In memory of all the freedom and equality we once had.",content2:"06/01/2022 in Shanghai",contributors:"Contributors",coreContributors:"Core Contributors",styleContributors:"Style Contributors",langonginc:"Live a life you will remember.","203IhzElttil":"Special thanks for his diligent work in ensuring that the stations of Shanghai Metro match the original design.",Swiftiecott:"Special thanks for his diligent work in ensuring that the stations of Beijing Subway match the original design.",Minwtraft:"Special thanks for his diligent work in ensuring that the stations of Guangzhou Metro match the original design.",contactUs:"Contact Us",github:"Project repository",githubContent:"Face any problems? Search or raise an issue here!",slack:"Slack group",slackContent:"Chat in these Slack channels!"}}},Id={colorA:"Color A",colorB:"Color B",color:"カラー",warning:"警告",cancel:"キャンセル",apply:"適用",remove:"削除",close:"閉じる",noShowAgain:"次回表示しない",rmtPromotion:"絶対に見逃せないオールインワンツールキット!",panel:{tools:{showLess:"表示を減らす",section:{lineDrawing:"路線描画",stations:"駅",miscellaneousNodes:"その他の節点"},select:"選択する",learnHowToAdd:{station:"駅を追加する方法を学ぶ!","misc-node":"節点を追加する方法を学ぶ!",line:"路線風格を追加する方法を学ぶ!"}},details:{header:"詳細",info:{title:"基本情報",id:"ID",zIndex:"深度",stationType:"駅の種類",linePathType:"路線経路の種類",lineStyleType:"路線風格の種類",type:"種類",parallel:"平行路線",parallelIndex:"平行路線索引"},multipleSelection:{title:"複数選択",change:"選択した属性を変更する",selected:"選択されたオブジェクト:",show:"見せる",station:"駅",miscNode:"その他のノード",edge:"ライン"},changeStationTypeContent:"駅の種類を変更すると、駅の名前以外のすべての属性が削除されます。",changeLineTypeContent:"路線の種類を変更すると、すべての属性が削除されます。",changeType:"種類を変更",nodePosition:{title:"節点の位置",pos:{x:"X座標",y:"Y座標"}},lineExtremities:{title:"路線の端点",source:"出発点",target:"到着点",sourceName:"出発点名",targetName:"到着点名"},specificAttrsTitle:"特定の属性",unknown:{error:"おっと :( これは{{category}}を認識できません。おそらくそれは新しいバージョンで作成されました。",node:"節点",linePath:"路線経路",lineStyle:"路線風格"},nodes:{common:{nameZh:"中国語の路線名",nameEn:"英語の路線名",nameJa:"日本語の路線名",num:"路線番号"},virtual:{displayName:"仮想節点"},shmetroNumLineBadge:{displayName:"上海地下鉄路線番号徽章"},shmetroTextLineBadge:{displayName:"上海地下鉄テキスト路線徽章"},gzmtrLineBadge:{displayName:"広州地下鉄路線徽章",tram:"路面電車",span:"行にまたがる数字"},bjsubwayNumLineBadge:{displayName:"北京地下鉄路線番号徽章"},bjsubwayTextLineBadge:{displayName:"北京地下鉄テキスト路線徽章"},berlinSBahnLineBadge:{displayName:"ベルリンSバーン番号徽章"},berlinUBahnLineBadge:{displayName:"ベルリン地下鉄番号徽章"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通路線番号徽章",branch:"支線"},chongqingRTNumLineBadge:{displayName:"重慶鉄道交通路線番号徽章"},chongqingRTTextLineBadge:{displayName:"重慶鉄道交通テキスト路線徽章"},shenzhenMetroNumLineBadge:{displayName:"深セン地下鉄路線番号徽章",branch:"支線"},mrtDestinationNumbers:{displayName:"シンガポールMRTの目的地番号"},mrtLineBadge:{displayName:"シンガポールMRT路線バッジ",isTram:"LRT路線バッジです"},jrEastLineBadge:{displayName:"JR東日本路線番号徽章",crosshatchPatternFill:"網目模様で塗りつぶす"},qingdaoMetroNumLineBadge:{displayName:"青島地下鉄番号線徽章",numEn:"英語の行番号",showText:"テキストを表示"},guangdongIntercityRailwayLineBadge:{displayName:"広東省都市間鉄道線徽章"},londonArrow:{displayName:"ロンドン矢印",type:"種類",continuation:"継続",sandwich:"サンドイッチ",tube:"地下鉄"},master:{displayName:"大師節点",type:"大師節点種類",undefined:"未定義"},facilities:{displayName:"施設",type:"種類"},text:{displayName:"任意のテキスト",content:"コンテンツ",fontSize:"書体サイズ",lineHeight:"行の高さ",textAnchor:"テキストのアンカー",start:"開始",middle:"中央",end:"終了",auto:"自動",hanging:"吊り下げ",dominantBaseline:"ドミナントベースライン",language:"言語での書体ファミリー",zh:"中国語",en:"英語",mtr__zh:"香港MTR中国語",mtr__en:"香港MTR英語",berlin:"ベルリンS/Uバーン",mrt:"シンガポールMRT",jreast_ja:"JR東日本日本語",jreast_en:"JR東日本英語",rotate:"回転",italic:"イタリック体",bold:"太字"}},stations:{common:{nameZh:"中国語の駅名",nameEn:"英語の駅名",nameJa:"日本語の駅名",nameOffsetX:"駅名補正値X",nameOffsetY:"駅名補正値Y",rotate:"アイコンの回転",lineCode:"路線番号",stationCode:"駅番号",left:"左",middle:"中央",right:"右",top:"上",bottom:"下"},interchange:{title:"乗り換え",within:"駅構内の乗り換え",outStation:"駅外の乗り換え",outSystem:"系統外の乗り換え",addGroup:"乗り換えグループを追加",noInterchanges:"乗り換えなし",nameZh:"中国語の駅名",nameEn:"英語の駅名",add:"乗り換えを追加",copy:"乗り換えをコピー",remove:"乗り換えを削除"},shmetroBasic:{displayName:"上海地下鉄基本駅"},shmetroBasic2020:{displayName:"上海地下鉄基本駅(令和2年)"},shmetroInt:{displayName:"上海地下鉄乗り換え駅",height:"アイコンの高さ",width:"アイコンの幅"},shmetroOsysi:{displayName:"上海地下鉄の系統外乗り換え駅"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道駅"},gzmtrBasic:{displayName:"広州地下鉄基本駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},gzmtrInt:{displayName:"広州地下鉄乗り換え駅",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",foshan:"仏山"},gzmtrInt2024:{displayName:"広州地下鉄乗り換え駅(令和6年)",columns:"駅の列数",topHeavy:"上段に多くの駅を優先配置",anchorAt:"錨位置",anchorAtNone:"中心",osiPosition:"改札外乗り換え",osiPositionNone:"なし",osiPositionLeft:"左",osiPositionRight:"右"},bjsubwayBasic:{displayName:"北京地下鉄基本駅",open:"開業済み"},bjsubwayInt:{displayName:"北京地下鉄乗り換え駅",outOfStation:"改札外乗り換え"},mtr:{displayName:"香港MTR駅",rotate:"アイコンの回転"},suzhouRTBasic:{displayName:"蘇州軌道交通基本駅",textVertical:"垂直の名前"},suzhouRTInt:{displayName:"蘇州軌道交通乗り換え駅"},kunmingRTBasic:{displayName:"昆明軌道交通基本駅"},kunmingRTInt:{displayName:"昆明軌道交通乗り換え駅"},MRTBasic:{displayName:"シンガポールMRT基本駅",isTram:"LRTの駅です"},MRTInt:{displayName:"シンガポールMRT乗り換え駅"},jrEastBasic:{displayName:"JR東日本基本駅",nameOffset:"名前の補正値",textOneLine:"1行での名前",textVertical:"垂直の名前",important:"重要な駅",lines:"乗り換え線の補正値"},jrEastImportant:{displayName:"JR東日本重要駅",textVertical:"垂直の名前",mostImportant:"最も重要な駅",minLength:"駅の最小長"},foshanMetroBasic:{displayName:"仏山地鐵基本車站",open:"開業済み",secondaryNameZh:"中国語の補助駅名",secondaryNameEn:"英語の補助駅名",tram:"路面電車"},qingdaoMetro:{displayName:"地下鉄青島駅",isInt:"乗換駅です"},tokyoMetroBasic:{displayName:"東京メトロの基本駅",nameOffset:"駅名補正値",textVertical:"垂直の名前"},tokyoMetroInt:{displayName:"東京メトロ乗換駅",mereOffset:{displayName:"名前は単なるオフセットです",none:"なし",left1:"左(少ない)",left2:"左(さらに)",right1:"右(少ない)",right2:"右(さらに)",up:"上",down:"下"},importance:{displayName:"駅の重要性",default:"デフォルト",middle:"真ん中",high:"高い"},align:{displayName:"アイコンの整列",horizontal:"水平",vertical:"垂直"}},londonTubeCommon:{stepFreeAccess:"段差のないアクセス",stepFreeAccessNone:"なし",stepFreeAccessTrain:"駅から電車まで",stepFreeAccessPlatform:"駅からプラットフォームまで"},londonTubeBasic:{displayName:"ロンドン地下鉄基本駅",terminal:"終着駅",shareTracks:"線路共有",shareTracksIndex:"線路共有索引"},londonTubeInt:{displayName:"ロンドン地下鉄乗換駅"},londonRiverServicesInt:{displayName:"ロンドン川サービス乗換駅"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道駅"}},lines:{reconcileId:"調整ID",common:{offsetFrom:"補正値(From)",offsetTo:"補正値(To)",startFrom:"開始位置",roundCornerFactor:"角の丸め係数",from:"から",to:"まで",parallelDisabled:"この路線が平行であるため、一部の属性が無効になっています。",changeInBaseLine:"基準線で変更してください:"},simple:{displayName:"簡単な経路",offset:"補正値"},diagonal:{displayName:"135°対角経路"},perpendicular:{displayName:"90°垂直経路"},rotatePerpendicular:{displayName:"90°回転する垂直経路"},singleColor:{displayName:"単色風格"},shmetroVirtualInt:{displayName:"上海地下鉄駅外乗り換え風格"},shanghaiSuburbanRailway:{displayName:"上海市営鉄道風格",isEnd:"終了行"},gzmtrVirtualInt:{displayName:"広州地下鉄駅外乗り換え風格"},gzmtrLoop:{displayName:"広州地下鉄環状線風格"},chinaRailway:{displayName:"中国鉄道風格"},bjsubwaySingleColor:{displayName:"北京地下鉄単色風格"},bjsubwayTram:{displayName:"北京地下鉄路面電車風格"},bjsubwayDotted:{displayName:"北京地下鉄の点線風格"},dualColor:{displayName:"2色風格",swap:"色を交換",colorA:"色A",colorB:"色B"},river:{displayName:"河川風格",width:"幅"},mtrRaceDays:{displayName:"香港MTRレース日風格"},mtrLightRail:{displayName:"香港MTR軽軌風格"},mtrUnpaidArea:{displayName:"香港MTR改札外乗り換え風格"},mtrPaidArea:{displayName:"香港MTR改札内乗り換え風格"},mrtUnderConstruction:{displayName:"シンガポール MRT 工事中風格"},mrtSentosaExpress:{displayName:"シンガポール MRT セントーサ・エクスプレス風格"},jrEastSingleColor:{displayName:"JR東日本単色風格"},jrEastSingleColorPattern:{displayName:"JR東日本単色網目模様風格"},lrtSingleColor:{displayName:"シンガポールLRT単色風格"},londonTubeInternalInt:{displayName:"ロンドン地下鉄内部乗換風格"},londonTube10MinWalk:{displayName:"ロンドン地下鉄10分以内の乗換風格"},londonTubeTerminal:{displayName:"ロンドン地下鉄終着風格"},londonRail:{displayName:"ロンドン鉄道風格",limitedService:"限定サービス/ピーク時のみ",colorBackground:"背景色",colorForeground:"前景色"},londonSandwich:{displayName:"ロンドンサンドイッチ風格"},londonLutonAirportDART:{displayName:"ロンドンルートン空港DART風格"},londonIFSCloudCableCar:{displayName:"ロンドンIF雲索道風格"},guangdongIntercityRailway:{displayName:"広東省都市間鉄道風格"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"削除"}}},header:{popoverHeader:"<1>{{environment}} 環境です!",popoverBody:"現在、最新のRMPをテストしています。ご意見がありましたら、https://github.com/railmapgen/rmp/issues で提案してください",search:"駅を探す",open:{new:"新しい作品",config:"作品をインポート",projectRMG:"RMG作品からインポート",invalidType:"無効なファイルタイプです!JSON形式のファイルのみが受け付けられます。",unknownError:"アップロードされたファイルの解析中に不明なエラーが発生しました。もう一度お試しください。",gallery:"ギャラリーからインポート",tutorial:"指導を開始する",importFromRMPGallery:"テンプレート{{id}}がインポートされました。この変更に満足していませんか?Ctrl + Zまたは元に戻すボタンで元に戻せます。",failToImportFromRMPGallery:"ギャラリーから{{id}}のインポートに失敗しました。ファイルが見つかりませんでした。"},download:{config:"作品をエクスポート",image:"画像をエクスポート","2rmg":{title:"RMG作品へエクスポート",type:{line:"直線",loop:"環状線",branch:"支線"},placeholder:{chinese:"中国語のライン名",english:"英語の路線名",lineCode:"路線番号"},info1:"この機能は、RMP作品をRMG作品に変換するために設計されています。",info2:"以下のリストの行は、変換用に利用できます。左側のテキストボックスに中国語の行名、中央に英語の行名、右側に(広州メトロ風格用の)行コードを入力し、ダウンロードボタンをクリックしてRMG作品を保存できます。",noline:"利用可能な回線が見つかりません。",download:"ダウンロード",downloadInfo:"出発駅を選択してクリックしてください。"},format:"フォーマット",png:"PNG",svg:"SVG",svgVersion:"版","svg1.1":"1.1(Adobe Illustratorと互換性あり)",svg2:"2(現代のブラウザと互換性あり)",transparent:"透明性",scale:"スケール",disabledScaleOptions:"ブラウザのキャンバス制限のため、一部のスケールオプションが無効になっています。",disabledScaleOptionsWorkarounds:"回避策として、このCLIツールを使用してSVGから画像を生成する方法が考えられます:",imageTooBig:"画像が大きすぎてブラウザで生成できません!",useSystemFonts:"キャンバスで内覧された書体の代わりに系統書体を使用する",shareInfo1:"この画像を共有する際に、添付ファイル ",shareInfo2:" とリンクを添付します。",termsAndConditions:"利用規約",termsAndConditionsInfo:"以下の利用規約に同意します:",period:"。",confirm:"ダウンロード"},donation:{title:"寄付",openCollective:"Open Collective",viaUSD:"PaypalまたはVisaカードを使用してドルで寄付する。",afdian:"爱发电",viaCNY:"AlipayまたはWechat Payを使用して人民元で寄付する。"},settings:{title:"設定",pro:"これはPRO機能であり、サブスクリプションが必要です。",proWithTrial:"これはPRO機能で、無料の限定トライアルが利用可能です。",proLimitExceed:{master:"大師節点が無料枠を超えています。",parallel:"平行路線が無料枠を超えています。",solution:"これらを削除して警告を解除するか、サブスクリプションに登録してさらに多くの機能を利用してください!"},subscription:{title:"サブスクリプションステータス","logged-out":"現在ログアウトしています。",free:"ログイン済み!さらに多くの機能をアンロックするにはサブスクリプションを登録してください!",subscriber:"サブスクリプションありがとうございます!すべての機能をお楽しみください!",expired:"ログインステータスの有効期限が切れました。ログアウトして再度ログインしてください。"},preference:{title:"設定",keepLastPath:"次の移動で背景をクリックするまで、線を描き続ける",autoParallel:"新しい路線を既存の路線と平行に自動的に設定",randomStationNames:{title:"作成時に駅名を乱数化する",none:"なし",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"ショートカット",keys:"キー",description:"説明",f:"最後のツールを使用する。",s:"選択する。",arrows:"キャンバスを少し移動します。",ijkl:"選択した駅を少し移動します。",shift:"複数選択。",alt:"正確な移動。",delete:"選択した駅を削除します。",cut:"切り取る。",copy:"複製する。",paste:"貼り付ける。",undo:"元に戻す。",redo:"やり直す。"},procedures:{title:"手順",translate:{title:"節点の座標を変換",content:"すべての節点のX座標とY座標に次の補正値を追加する:",x:"X軸",y:"Y軸"},scale:{title:"節点の座標をスケーリング",content:"すべての節点のX座標とY座標に次の値を乗算する:",factor:"スケールファクター"},changeType:{title:"すべてのオブジェクトの属性を変更する",any:"どれでも"},changeZIndex:"深度を変更する",changeStationType:{title:"一括で駅の種類を変更",changeFrom:"すべての駅をこの種類から変更する:",changeTo:"この種類に変更する:",info:"駅の種類を変更すると、位置と名前以外の特定の属性がすべて削除されます。変更する前に保存してください!"},changeLineStyleType:{title:"線の風格を一括で変更",changeFrom:"この風格からすべての行を変更します:",changeTo:"この風格に:",info:"線の風格を変更すると、接続を除くすべての特定の属性が線から削除されます。 変更する前に保存してください!"},changeLinePathType:{title:"行のパスを一括で変更する",changeFrom:"このパスのすべての行を変更します:",changeTo:"この道へ:"},changeColor:{title:"一括で色を変更する",changeFrom:"すべてのオブジェクトをこの色から変更します:",changeTo:"この色に:",any:"どの色からも"},removeLines:{title:"単一色の路線を削除",content:"この色を持つ路線を削除する:"},updateColor:{title:"色を更新する",content:"最新の値ですべての色を更新します。",success:"すべての色を正常に更新しました。",error:"すべての色を更新する際にエラーが発生しました: {{e}}。"},unlockSimplePath:{title:"簡単な経路の解除",content1:"「地下鉄路線図画家」は、既存の慣例に従いつつ、鉄道地図の作成を支援するインタラクティブなプラットフォームを提供することを目指しています。その中でも、特に有名な風格の1つは、ハリー・ベックの革新的な作品に由来しています。彼の先駆的な貢献は1932年に正式に認められ、一般大衆から即座に称賛されました。現在では、情報デザインの領域において極めて重要な存在となっています。この典型的なアプローチは、世界規模の公共交通カートグラフィに広く採用されていますが、成功度は異なります。",content2:"アプリケーション自体は、既存の慣例に反する可能性があるため、簡単な経路を利用するオプションをデフォルトで控えめに隠しています。また、「地下鉄路線図画家ギャラリー」への投稿は厳格な審査を受けることになり、簡単な経路を単一の色の風格で使用する作品は断固として拒否されます。",content3:"それでも、このオプションのロックを解除し、寄付時にイージーパスを使用する機会を予約します。 取得後も、単純なパスの使用はモノクロスタイルに限定されることに注意してください。",check:"簡単な経路を解除",unlocked:"既に解除されています"},masterManager:{title:"すべての大師節点を管理する",id:"ID",label:"標識",type:"種類",types:{MiscNode:"その他節点",Station:"駅"},importTitle:"大師引数をアップロード",importFrom:"インポートしたスタイルを使用",importOther:"新しいスタイルをインポート",importParam:"設定情報を貼り付け"}},telemetry:{title:"テレメトリー",info:"鉄道路線図画家を改善し、貢献者がプロジェクトを向上させる意欲を維持するため、Google Analytics を通じて匿名の使用データを収集しています。このデータはユーザー体験の向上とツールの最適化のためだけに使用され、第三者と共有されることはありません。",essential:"基本",essentialTooltip:"鉄道路線図ツールキットでこのグローバル設定を変更する",essentialInfo:"鉄道路線図画家は、ツールがどのように、またいつ使用されるかを理解するための基本的な使用データを収集します。ご安心ください。個人を特定できる情報やプロジェクトデータは一切収集されません。",essentialLink:"Google Analytics が収集する可能性のある詳細フィールドを表示するには、こちらのリンクをクリックしてください。",additional:"追加",additionalInfo:"鉄道路線図画家は、プロジェクトの作成や駅の追加など、入力時のインタラクションに関するデータも収集します。これらの追加データも匿名であり、ツールを改善するための統計分析にのみ使用されます。"}},about:{title:"について",rmp:"地下鉄路線図画家",railmapgen:"地下鉄路線図ツールキットのプロジェクト",desc:"異なる都市の駅を自由にドラッグして、90度または135度の角丸線で接続して独自の鉄道地図を設計しましょう!",content1:"かつて私たちが持っていた自由と平等のすべての記憶に捧げます。",content2:"2022年6月1日、上海",contributors:"貢献者",coreContributors:"主要な貢献者",styleContributors:"風格の貢献者","203IhzElttil":"上海地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Swiftiecott:"北京地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",Minwtraft:"広州地下鉄の駅がオリジナルの設計と一致するように、彼の勤勉な仕事に特別な感謝を述べます。",contactUs:"お問い合わせ",github:"プロジェクトリポジトリ",githubContent:"問題が発生しましたか?こちらで検索したり、問題を報告したりしてください!",slack:"Slackグループ",slackContent:"Slackのチャンネルでチャットしましょう!"}}},$d={color:"색깔",warning:"경고",cancel:"취소",apply:"사용",remove:"삭제",close:"다시",noShowAgain:"표시하지 않기",rmtPromotion:"놓치고 싶지 않은 올인원 툴킷! 닫기.",panel:{tools:{showLess:"적게 표시",section:{lineDrawing:"선 그리기",stations:"역",miscellaneousNodes:"기타 노드"},select:"선택하다",learnHowToAdd:{station:"역을 추가하는 방법 배우기!","misc-node":"노드를 추가하는 방법 배우기!",line:"라인 스타일을 추가하는 방법 배우기!"}},details:{header:"상세한 상황",info:{title:"기본정보",id:"고유 식별자",zIndex:"깊이",stationType:"역 유형",linePathType:"선분 경로 유형",lineStyleType:"선분 스타일 유형",type:"유형",parallel:"평행선",parallelIndex:"평행 인덱스"},multipleSelection:{title:"다중 선택",change:"선택한 속성 변경",selected:"선택한 개체:",show:"보여주다",station:"역",miscNode:"기타 노드",edge:"윤곽"},changeStationTypeContent:"역 유형을 변경하면 이름을 제외한 모든 독특한 속성이 제거됩니다.",changeLineTypeContent:"선분 유형을 변경하면 모든 독특한 속성이 제거됩니다.",changeType:"종류 변경",nodePosition:{title:"노드 위치",pos:{x:"가로 좌표",y:"세로 좌표"}},lineExtremities:{title:"선분 양단",source:"시작점",target:"종말점",sourceName:"시작점 명칭",targetName:"종말점 명칭"},specificAttrsTitle:"독특 속성",unknown:{error:"이런 :( 우리는 이 {{category}}를 인식할 수 없습니다. 아마도 더 최근 버전에서 생성되었을 것입니다.",node:"노드",lineType:"선분 경로",lineStyle:"선분 스타일"},nodes:{common:{nameZh:"한자 노선명칭",nameEn:"영문 노선명칭",nameJa:"일본 노선명칭",num:"노선 번호"},virtual:{displayName:"가상 노드"},shmetroNumLineBadge:{displayName:"상해 지하철 디지털 노선 표지"},shmetroTextLineBadge:{displayName:"상해 지하철 문자 노선 표지"},gzmtrLineBadge:{displayName:"광저우 지하철 노선 표지",tram:"시가 전차",span:"행 범위 숫자"},bjsubwayNumLineBadge:{displayName:"베이징 지하철 노선 배지"},bjsubwayTextLineBadge:{displayName:"베이징 지하철 텍스트 라인 배지"},berlinSBahnLineBadge:{displayName:"베를린 S반 노선 배지"},berlinUBahnLineBadge:{displayName:"베를린 U반 노선 배지"},suzhouRTNumLineBadge:{displayName:"수주 철도 번호 라인 배지",branch:"지선입니다"},chongqingRTNumLineBadge:{displayName:"충칭 철도 교통 디지털 노선 식별"},chongqingRTTextLineBadge:{displayName:"충칭 철도 교통 텍스트 라인 표시"},shenzhenMetroNumLineBadge:{displayName:"심천 지하철 번호 라인 배지",branch:"지선입니다"},mrtDestinationNumbers:{displayName:"싱가포르 MRT 목적지 번호"},mrtLineBadge:{displayName:"싱가포르 MRT 노선 배지",isTram:"LRT 노선 배지입니다"},jrEastLineBadge:{displayName:"JR 동일본 라인 배지",crosshatchPatternFill:"크로스해치 패턴으로 채우기"},qingdaoMetroNumLineBadge:{displayName:"칭다오 지하철 번호 라인 배지",numEn:"영어로 된 줄 번호",showText:"텍스트 표시"},guangdongIntercityRailwayLineBadge:{displayName:"광동 시외 철도 노선 표지판"},londonArrow:{displayName:"런던 화살표",type:"유형",continuation:"계속",sandwich:"샌드위치",tube:"튜브"},master:{displayName:"마스터 노드",type:"마스터 노드 유형",undefined:"정의되지 않음"},facilities:{displayName:"시설",type:"유형"},text:{displayName:"임의 글자",content:"내용",fontSize:"글자 대소",lineHeight:"행고도",textAnchor:"글자 앵커",start:"시작",middle:"가운데",end:"끝",auto:"자동",hanging:"매달리는",dominantBaseline:"현성 바셀린",language:"언어로 된 글꼴 종류",zh:"중국어",en:"영어",mtr__zh:"홍콩 MTR 중국어",mtr__en:"홍콩 MTR 영어",berlin:"베를린 S/U Bahn",mrt:"싱가포르 MRT",jreast_ja:"JR 동일본어",jreast_en:"JR 동일본 영어",rotate:"회전",italic:"이탤릭체",bold:"굵게"}},stations:{common:{nameZh:"한자 명칭",nameEn:"영문 명칭",nameJa:"일본 명칭",nameOffsetX:"명칭 가로 이동",nameOffsetY:"명칭 세로 이동",rotate:"역회전각도",lineCode:"노선 번호",stationCode:"역 번호",left:"왼쪽",middle:"가운데",right:"오른쪽",top:"위",bottom:"아래"},interchange:{title:"환승",within:"같은 역에서 환승한",outStation:"역을 나가 환승한",outSystem:"시스템외환승",addGroup:"환승 조합 추가",noInterchanges:"비환승역",nameZh:"한자 명칭",nameEn:"영문 명칭",add:"환승 추가",copy:"환승 복제",remove:"환승 삭제"},shmetroBasic:{displayName:"상해 지하철의 기본 역"},shmetroBasic2020:{displayName:"상해 지하철 기본 역(2020년)"},shmetroInt:{displayName:"상해 지하철 환승역",height:"역 높이",width:"역 폭"},shmetroOsysi:{displayName:"상하이 지하철 시스템 외환승 역"},shanghaiSuburbanRailway:{displayName:"상하이 기차역"},gzmtrBasic:{displayName:"광저우 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},gzmtrInt:{displayName:"광저우 지하철 환승역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",foshan:"포산"},gzmtrInt2024:{displayName:"광저우 지하철 환승역 (2024)",columns:"역 열 수",topHeavy:"상단에 더 많은 역 우선 배치",anchorAt:"앵커 위치",anchorAtNone:"중앙",osiPosition:"역을 나가 환승",osiPositionNone:"없음",osiPositionLeft:"왼쪽",osiPositionRight:"오른쪽"},bjsubwayBasic:{displayName:"베이징 지하철 기본역",open:"개통여부"},bjsubwayInt:{displayName:"베이징 지하철 환승역",outOfStation:"역을 나가 환승"},mtr:{displayName:"홍콩 MTR 역"},suzhouRTBasic:{displayName:"쑤저우 궤도교통 기본역",textVertical:"수직 이름"},suzhouRTInt:{displayName:"쑤저우 궤도교통 환승역"},kunmingRTBasic:{displayName:"쿤밍 궤도교통 기본역"},kunmingRTInt:{displayName:"쿤밍 궤도교통 환승역"},MRTBasic:{displayName:"싱가포르MRT기본역",isTram:"LRT역이에요"},MRTInt:{displayName:"싱가포르MRT환승역"},jrEastBasic:{displayName:"JR 동일본 기본 역",nameOffset:"이름 오프셋",textOneLine:"한 줄로 표시된 이름",textVertical:"수직 이름",important:"중요한 역",lines:"환승 노선 오프셋"},jrEastImportant:{displayName:"JR 동일본 중요 역",textVertical:"수직 이름",mostImportant:"가장 중요한 역",minLength:"스테이션의 최소 길이"},foshanMetroBasic:{displayName:"포산 지하철 기본역",open:"개통여부",secondaryNameZh:"한자 제2명칭",secondaryNameEn:"영문 제2명칭",tram:"시가 전차"},qingdaoMetro:{displayName:"칭다오 지하철역",isInt:"환승역인가"},tokyoMetroBasic:{displayName:"도쿄메트로 기본역",nameOffset:"이름 오프셋",textVertical:"업종명",lineCode:"라인 코드",stationCode:"역 코드"},tokyoMetroInt:{displayName:"도쿄메트로 환승역",mereOffset:{displayName:"단순한 오프셋 이름",none:"없음",left1:"왼쪽(적음)",left2:"왼쪽(더)",right1:"오른쪽(적음)",right2:"맞아요 (더)",up:"위로",down:"아래에"},importance:{displayName:"역 중요성",default:"기본",middle:"가운데",high:"높은"},align:{displayName:"아이콘 정렬",horizontal:"수평의",vertical:"수직의"}},londonTubeCommon:{stepFreeAccess:"단차 없는 접근",stepFreeAccessNone:"없음",stepFreeAccessTrain:"거리에서 열차까지",stepFreeAccessPlatform:"거리에서 플랫폼까지"},londonTubeBasic:{displayName:"런던 지하철 기본역",terminal:"종착역",shareTracks:"선로 공유",shareTracksIndex:"선로 공유 지수"},londonTubeInt:{displayName:"런던 지하철 환승역"},londonRiverServicesInt:{displayName:"런던 강 서비스 환승역"},guangdongIntercityRailway:{displayName:"광둥 시외 기차역"}},lines:{reconcileId:"연결 선분 고유 식별자",common:{offsetFrom:"시작점 오프셋",offsetTo:"끝점 오프셋",startFrom:"여기서부터 시작",roundCornerFactor:"회전원각인자",from:"에서",to:"까지",parallelDisabled:"이 선이 평행하기 때문에 일부 속성이 비활성화되었습니다.",changeInBaseLine:"기본선에서 변경하십시오:"},simple:{displayName:"기본 선분",offset:"오프셋"},diagonal:{displayName:"135° 접힌 선분"},perpendicular:{displayName:"90° 수직 선분"},rotatePerpendicular:{displayName:"90° 수직 경로 회전"},singleColor:{displayName:"단색 스타일"},shmetroVirtualInt:{displayName:"상해 지하철 역 환승 모습"},shanghaiSuburbanRailway:{displayName:"상하이 도시철도 스타일",isEnd:"끝 범위"},gzmtrVirtualInt:{displayName:"광저우 지하철 역 환승 모습"},gzmtrLoop:{displayName:"광저우 지하철 순환선 스타일"},chinaRailway:{displayName:"중국 철도 모습"},bjsubwaySingleColor:{displayName:"베이징 지하철 단색 스타일"},bjsubwayTram:{displayName:"베이징 지하철 노면 전차 모습"},bjsubwayDotted:{displayName:"베이징 지하철 점선 스타일"},dualColor:{displayName:"이색 스타일",swap:"색을 바꾸기",colorA:"색깔 A",colorB:"색깔 B"},river:{displayName:"강 스타일",width:"폭"},mtrRaceDays:{displayName:"홍콩 MTR 경마일 스타일"},mtrLightRail:{displayName:"홍콩 MTR 경전철 스타일"},mtrUnpaidArea:{displayName:"홍콩 MTR 미결제 구역 스타일"},mtrPaidArea:{displayName:"홍콩 MTR 결제완료 구역 스타일"},mrtUnderConstruction:{displayName:"싱가포르 MRT 공사중 스타일"},mrtSentosaExpress:{displayName:"싱가포르 MRT 센토사 익스프레스 스타일"},jrEastSingleColor:{displayName:"JR 동일본 단색 스타일"},jrEastSingleColorPattern:{displayName:"JR 동일본 단색 크로스해치 패턴 스타일"},lrtSingleColor:{displayName:"싱가포르 LRT 단색 스타일"},londonTubeInternalInt:{displayName:"런던 지하철 내부 환승 스타일"},londonTube10MinWalk:{displayName:"런던 지하철 10분 이내 도보 환승 스타일"},londonTubeTerminal:{displayName:"런던 지하철 종착 스타일"},londonRail:{displayName:"런던 철도 스타일",limitedService:"제한 서비스/혼잡 시간대만",colorBackground:"배경 색상",colorForeground:"전경 색상"},londonSandwich:{displayName:"런던 샌드위치 스타일"},londonLutonAirportDART:{displayName:"런던 루튼 공항 DART 스타일"},londonIFSCloudCableCar:{displayName:"런던 IFS 클라우드 케이블카 스타일"},guangdongIntercityRailway:{displayName:"광동성 도시간 철도 스타일"}},edges:{},footer:{duplicate:"복사",copy:"복사",remove:"삭제"}}},header:{popoverHeader:"당신은 환경을<1>{{environment}}탐색하고 있습니다",popoverBody:"최신 RMP를 테스트하고 있습니다.제안 사항이 있으시면 언제든지 https://github.com/railmapgen/rmp/issues에 제출해 주십시오.",search:"방송국 검색",open:{new:"신 프로젝트",config:"프로젝트 가져오기",projectRMG:"RMG 프로젝트에서 가져오기",invalidType:"잘못된 파일 형식입니다! JSON 형식의 파일만 허용됩니다.",unknownError:"업로드된 파일의 파싱 중 알 수 없는 오류가 발생했습니다. 다시 시도해주세요.",gallery:"갤러리에서 가져오기",tutorial:"튜토리얼 시작",importFromRMPGallery:"템플릿 {{id}}가 가져 왔습니다. 이 변경 사항에 만족하지 않으십니까? Ctrl + Z 또는 실행 취소 버튼을 사용하여 실행 취소하세요.",failToImportFromRMPGallery:"갤러리에서 {{id}}를 가져올 수 없습니다. 파일을 찾을 수 없습니다."},download:{config:"프로젝트 내보내기",image:"사진 내보내기","2rmg":{title:"RMG 프로젝트로 내보내기",type:{line:"일직선",loop:"고리",branch:"지선"},placeholder:{chinese:"중국어 라인 이름",english:"영어 줄 이름",lineCode:"노선 번호"},info1:"이 기능은 RMP 프로젝트를 RMG 프로젝트로 변환하는 데 사용됩니다.",info2:"변환할 수 있는 사용 가능한 라인들은 다음과 같습니다. 왼쪽 텍스트 상자에 중국어 라인 이름을 입력하고, 가운데에 영어 라인 이름을 입력하며, 오른쪽에 (광저우 메트로 스타일용) 라인 코드를 입력한 다음, 오른쪽의 다운로드 버튼을 클릭하여 RMG 프로젝트를 저장할 수 있습니다.",noline:"사용 가능한 라인이 없습니다.",download:"다운로드",downloadInfo:"출발 역을 선택하고 클릭하십시오."},format:"파일 종류",png:"PNG 이미지",svg:"SVG 이미지",svgVersion:"버전","svg1.1":"1.1 (Adobe Illustrator 호환)",svg2:"2 (현대 브라우저 호환)",transparent:"투명 배경",scale:"확대/축소",disabledScaleOptions:"브라우저의 캔버스 제한으로 인해 일부 스케일 옵션이 비활성화되었습니다.",disabledScaleOptionsWorkarounds:"가능한 해결 방법으로는 이 CLI 도구를 사용하여 SVG에서 이미지를 생성하는 것이 있습니다:",imageTooBig:"이미지가 너무 크기 때문에 브라우저에서 생성할 수 없습니다!",useSystemFonts:"캔버스에서 미리보기된 글꼴 대신 시스템 글꼴 사용",shareInfo1:"이 사진을 공유할 때",shareInfo2:"링크를 첨부할 것입니다.",termsAndConditions:"약관 및 세칙",termsAndConditionsInfo:"동의",period:".",confirm:"다운로드"},donation:{title:"기부",openCollective:"Open Collective",viaUSD:"Paypal 또는 Visa 카드를 통해 달러로 기부하기.",afdian:"爱发电",viaCNY:"Alipay 또는 Wechat Pay를 통해 인민폐로 기부하기."},settings:{title:"설정",pro:"이것은 PRO 기능이며, 구독이 필요한 계정입니다.",proWithTrial:"이것은 PRO 기능이며, 제한된 무료 체험이 가능합니다.",proLimitExceed:{master:"마스터 노드가 무료 사용 한도를 초과했습니다.",parallel:"평행선이 무료 사용 한도를 초과했습니다.",solution:"경고를 해제하려면 이 항목들을 제거하거나 구독을 통해 더 많은 기능을 잠금 해제하세요!"},subscription:{title:"구독 상태","logged-out":"현재 로그아웃 상태입니다.",free:"로그인 완료! 더 많은 기능을 사용하려면 구독하세요!",subscriber:"구독해주셔서 감사합니다! 모든 기능을 즐기세요!",expired:"로그인 상태가 만료되었습니다. 다시 로그인 해주세요."},preference:{title:"선호",keepLastPath:"다음 이동에서 배경을 클릭할 때까지 계속 선을 그립니다",autoParallel:"새 선을 기존 선과 평행하게 자동으로 설정합니다",randomStationNames:{title:"생성 시 역 이름을 랜덤으로 설정",none:"없음",shmetro:"상하이",bjsubway:"베이징"}},shortcuts:{title:"바로 가기",keys:"키",description:"설명",f:"마지막 도구 사용.",s:"선택하다.",arrows:"캔버스를 약간 이동합니다.",ijkl:"선택한 역을 약간 이동합니다.",shift:"여러 항목 선택.",alt:"정밀한 이동.",delete:"선택한 역을 삭제합니다.",cut:"잘라내기.",copy:"복사하다.",paste:"붙여넣다.",undo:"취소하다.",redo:"다시 하다."},procedures:{title:"절차",translate:{title:"노드 좌표 변환",content:"모든 노드의 x 및 y에 다음 오프셋을 추가:",x:"X축",y:"Y축"},scale:{title:"스케일 노드의 좌표",content:"모든 노드의 x 및 y에 다음 값을 곱하:",factor:"스케일 팩터"},changeType:{title:"모든 객체의 속성 변경",any:"어느"},changeZIndex:"일괄적으로 깊이 변경",changeStationType:{title:"역의 종류를 대량으로 수정",changeFrom:"이 유형의 모든 역:",changeTo:"이 유형의 역으로 변환:",info:"역 유형을 변경하면 이름을 제외한 모든 고유한 속성이 제거됩니다.저장했다가 다시 실행!"},changeLineStyleType:{title:"일괄적으로 선 스타일 변경",changeFrom:"이 스타일의 모든 선을 변경하세요:",changeTo:"이 스타일에:",info:"선 스타일을 변경하면 연결을 제외한 선의 모든 특정 속성이 제거됩니다. 변경하기 전에 저장하세요!"},changeLinePathType:{title:"일괄적으로 라인 경로 변경",changeFrom:"이 경로의 모든 줄을 변경하세요:",changeTo:"이 길로:"},changeColor:{title:"일괄 색상 변경",changeFrom:"이 색상의 모든 개체를 변경합니다.:",changeTo:"이 색상에:",any:"모든 색상에서"},removeLines:{title:"단일 색상의 선 제거",content:"이 색상의 선을 제거하세요: "},updateColor:{title:"색상 업데이트",content:"최신 값으로 모든 색상을 업데이트합니다.",success:"모든 색상을 성공적으로 업데이트했습니다.",error:"모든 색상을 업데이트하는 동안 오류가 발생했습니다: {{e}}."},unlockSimplePath:{title:"간단 경로 잠금 해제",content1:"Rail Map Painter 애플리케이션은 확립된 관례를 준수하면서도 철도지도 작성을 위한 대화식 플랫폼을 제공하기 위해 노력합니다. 이러한 관례 중 하나는 특히 해리 벡의 혁신적인 작업에서 비롯되었습니다. 그의 개척적인 기여는 공식적으로 1932년에 인정받았으며 일반 대중으로부터 즉각적인 찬사를 받았습니다. 현재는 정보 디자인 분야에서 중요한 본보기로 자리 잡고 있습니다. 이 패러다임적인 접근 방식은 전 세계적인 규모의 교통 카토그래피에서 널리 구현되었으나 성공의 정도는 다양합니다.",content2:"이 애플리케이션은 기존 관례에 위배될 가능성이 있기 때문에 간단한 경로를 활용하는 옵션을 기본 설정으로 가려놓았습니다. 또한 Rail Map Painter 갤러리에 제출되는 작품은 엄격한 심사를 받으며, 단일 색상 스타일로 간단한 경로를 사용하는 작품은 명확히 거부됩니다.",content3:"그래도 이 옵션을 잠금 해제하고 기부할 때 Easy Path를 사용할 수 있는 기회를 보유하고 있습니다. 획득 후에도 단순 경로의 사용은 단색 스타일로 제한된다는 점에 유의해야 합니다.",check:"간단한 경로 잠금 해제",unlocked:"이미 해제됨"},masterManager:{title:"모든 마스터 노드를 관리",id:"ID",label:"레이블",type:"유형",types:{MiscNode:"기타 노드",Station:"스테이션"},importTitle:"마스터 매개변수 업로드",importFrom:"가져온 스타일 사용",importOther:"새 스타일 가져오기",importParam:"구성 정보 붙여넣기"}},telemetry:{title:"원격 측정",info:"지하철 노선도 그리기를 개선하고 기여자가 프로젝트를 향상시키는 데 동기를 부여하기 위해 Google Analytics를 통해 익명의 사용 데이터를 수집합니다. 이 데이터는 사용자 경험을 향상하고 도구 기능을 최적화하는 데에만 사용되며, 제3자와 절대 공유되지 않습니다.",essential:"기본",essentialTooltip:"지하철 노선도 툴킷에서 이 전역 설정을 변경하세요",essentialInfo:"지하철 노선도 그리기는 도구를 언제, 어떻게 사용하는지 이해하기 위해 기본적인 사용 데이터를 수집합니다. 안심하세요. 개인 식별이 가능한 정보나 프로젝트 데이터는 절대 수집되지 않습니다.",essentialLink:"Google Analytics에서 수집할 수 있는 세부 필드를 보려면 이 링크를 클릭하세요.",additional:"추가",additionalInfo:"지하철 노선도 그리기는 프로젝트 생성이나 역 추가와 같은 입력 시의 상호작용 데이터도 수집합니다. 이러한 추가 데이터도 익명으로 처리되며, 도구를 개선하기 위한 통계 분석에만 사용됩니다."}},about:{title:"대함",rmp:"지하철 노선도 그리기",railmapgen:"철도 지도 툴킷 프로젝트 노선도 툴킷",desc:"다양한 도시의 역을 자유롭게 끌어서 90도 또는 135도의 둥근 모서리 선으로 연결함으로써 여러분만의 철도 지도를 디자인해요!",content1:"우리가 가졌던 자유와 평등을 기념한다.",content2:"2022년 6월 1일 상해",contributors:"기여자",coreContributors:"핵심 기여자",styleContributors:"스타일 기여자",langonginc:"기억에 남을 삶을 살아보세요.","203IhzElttil":"상하이 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Swiftiecott:"베이징 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",Minwtraft:"광저우 지하철의 역들이 원래 디자인과 일치하도록 확실한 작업을 해준 그에게 특별한 감사의 말씀을 전합니다.",contactUs:"우리에게 연락하기",github:"프로젝트 저장소",githubContent:"무슨 문제라도 있나요? 여기서 문제를 검색하거나 제기하십시오!",slack:"슬랙 그룹",slackContent:"이 슬랙 채널에서 채팅해요!"}}},zd={color:"颜色",warning:"警告",cancel:"取消",apply:"应用",remove:"移除",close:"关闭",noShowAgain:"不再显示",rmtPromotion:"您绝对不想错过的全能工具包!",panel:{tools:{showLess:"显示更少",section:{lineDrawing:"线段绘制",stations:"车站",miscellaneousNodes:"杂项节点"},select:"多选",learnHowToAdd:{station:"了解如何添加车站!","misc-node":"了解如何添加节点!",line:"了解如何添加线段样式!"}},details:{header:"详情",info:{title:"基本信息",id:"唯一识别符",zIndex:"深度",stationType:"车站类型",linePathType:"线段路径类型",lineStyleType:"线段样式类型",type:"类型",parallel:"平行线段",parallelIndex:"平行线段索引"},multipleSelection:{title:"多重选取",change:"修改选中对象的属性",selected:"选中的对象:",show:"显示",station:"车站",miscNode:"杂项节点",edge:"线段"},changeStationTypeContent:"修改车站类型会移除所有独特属性除了名称。",changeLineTypeContent:"修改线段类型会移除所有独特属性。",changeType:"更改类型",nodePosition:{title:"节点位置",pos:{x:"横坐标",y:"纵坐标"}},lineExtremities:{title:"线段两端",source:"起点",target:"终点",sourceName:"起点名称",targetName:"终点名称"},specificAttrsTitle:"独特属性",unknown:{error:"哎呀 :( 我们无法识别此{{category}}。也许它是在更新版本中创建的。",node:"节点",linePath:"线段路径",lineStyle:"线段样式"},nodes:{common:{nameZh:"中文线路名称",nameEn:"英文线路名称",nameJa:"日语线路名称",num:"线路号"},virtual:{displayName:"虚拟节点"},shmetroNumLineBadge:{displayName:"上海地铁数字线路标识"},shmetroTextLineBadge:{displayName:"上海地铁文字线路标识"},gzmtrLineBadge:{displayName:"广州地铁线路标识",tram:"有轨电车",span:"跨行显示数字"},bjsubwayNumLineBadge:{displayName:"北京地铁数字线路标识"},bjsubwayTextLineBadge:{displayName:"北京地铁文字线路标识"},berlinSBahnLineBadge:{displayName:"柏林城市快铁线路标识"},berlinUBahnLineBadge:{displayName:"柏林地铁线路标识"},suzhouRTNumLineBadge:{displayName:"苏州轨道交通数字线路标识",branch:"是否支线"},chongqingRTNumLineBadge:{displayName:"重庆轨道交通数字线路标识"},chongqingRTTextLineBadge:{displayName:"重庆轨道交通文字线路标识"},shenzhenMetroNumLineBadge:{displayName:"深圳地铁数字线路标识",branch:"是否为支线"},mrtDestinationNumbers:{displayName:"新加坡MRT终点数字"},mrtLineBadge:{displayName:"新加坡MRT线路标识",isTram:"是LRT线路标识"},jrEastLineBadge:{displayName:"JR东日本线路标识",crosshatchPatternFill:"用网状图案填充"},qingdaoMetroNumLineBadge:{displayName:"青岛地铁数字线路标识",numEn:"英文线路号",showText:"显示文字"},guangdongIntercityRailwayLineBadge:{displayName:"广东城际铁路线路标识"},londonArrow:{displayName:"伦敦箭头",type:"类型",continuation:"延续",sandwich:"三明治",tube:"地铁"},master:{displayName:"大师节点",type:"大师节点类型",undefined:"未定义"},facilities:{displayName:"设施",type:"类型"},text:{displayName:"任意文字",content:"内容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字锚点",start:"开始",middle:"居中",end:"结束",auto:"自动",hanging:"悬挂",dominantBaseline:"显性基线",language:"哪个语言的字体系列",zh:"中文",en:"英文",mtr__zh:"港铁中文",mtr__en:"港铁英文",berlin:"柏林 S/U Bahn",mrt:"新加坡地铁",jreast_ja:"JR东日本日语",jreast_en:"JR东日本英语",rotate:"旋转",italic:"斜体",bold:"粗体"}},stations:{common:{nameZh:"中文名称",nameEn:"英文名称",nameJa:"日语名称",nameOffsetX:"名称横向偏移",nameOffsetY:"名称纵向偏移",rotate:"车站旋转角度",lineCode:"路线编号",stationCode:"车站编号",left:"左",middle:"中间",right:"右",top:"顶部",bottom:"底部"},interchange:{title:"换乘",within:"同站换乘",outStation:"出站换乘",outSystem:"系统外换乘",addGroup:"添加换乘组合",noInterchanges:"非换乘站",nameZh:"中文名称",nameEn:"英文名称",add:"添加换乘",copy:"复制换乘",remove:"删除换乘"},shmetroBasic:{displayName:"上海地铁基本车站"},shmetroBasic2020:{displayName:"上海地铁基本车站(2020)"},shmetroInt:{displayName:"上海地铁换乘车站",height:"车站高度",width:"车站宽度"},shmetroOsysi:{displayName:"上海地铁转乘车站"},shanghaiSuburbanRailway:{displayName:"上海市域铁路车站"},gzmtrBasic:{displayName:"广州地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},gzmtrInt:{displayName:"广州地铁换乘车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",foshan:"佛山"},gzmtrInt2024:{displayName:"广州地铁换乘站(2024)",columns:"站点列数",topHeavy:"优先将更多站点放在上方",anchorAt:"锚点位置",anchorAtNone:"居中",osiPosition:"出站换乘",osiPositionNone:"无",osiPositionLeft:"左侧",osiPositionRight:"右侧"},bjsubwayBasic:{displayName:"北京地铁基本车站",open:"是否开通"},bjsubwayInt:{displayName:"北京地铁换乘车站",outOfStation:"出站换乘"},mtr:{displayName:"香港MTR车站"},suzhouRTBasic:{displayName:"苏州轨道交通基本车站",textVertical:"垂直名称"},suzhouRTInt:{displayName:"苏州轨道交通换乘车站"},kunmingRTBasic:{displayName:"昆明轨道交通基本车站"},kunmingRTInt:{displayName:"昆明轨道交通换乘车站"},MRTBasic:{displayName:"新加坡MRT基本车站",isTram:"是LRT车站"},MRTInt:{displayName:"新加坡MRT换乘车站"},jrEastBasic:{displayName:"JR东日本基本车站",nameOffset:"名称偏移",textOneLine:"名称在一行中",textVertical:"垂直名称",important:"重要车站",lines:"换乘线偏移"},jrEastImportant:{displayName:"JR东日本重要车站",textVertical:"垂直名称",mostImportant:"最重要车站",minLength:"车站的最小长度"},foshanMetroBasic:{displayName:"佛山地铁基本车站",open:"是否开通",secondaryNameZh:"中文第二名称",secondaryNameEn:"英文第二名称",tram:"有轨电车"},qingdaoMetro:{displayName:"青岛地铁车站",isInt:"是换乘站"},tokyoMetroBasic:{displayName:"东京地铁基本车站",nameOffset:"名称偏移",textVertical:"垂直站名",lineCode:"线路编号",stationCode:"车站编号"},tokyoMetroInt:{displayName:"东京地铁换乘车站",mereOffset:{displayName:"名称微小偏移",none:"无",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"车站重要性",default:"默认",middle:"中",high:"高"},align:{displayName:"图标排列方向",horizontal:"横向",vertical:"纵向"}},londonTubeCommon:{stepFreeAccess:"无障碍通行",stepFreeAccessNone:"无",stepFreeAccessTrain:"从街道到列车",stepFreeAccessPlatform:"从街道到站台"},londonTubeBasic:{displayName:"伦敦地铁基本车站",terminal:"终点站",shareTracks:"轨道共享",shareTracksIndex:"轨道共享索引"},londonTubeInt:{displayName:"伦敦地铁换乘车站"},londonRiverServicesInt:{displayName:"伦敦河流服务换乘站"},guangdongIntercityRailway:{displayName:"广东城际铁路车站"}},lines:{reconcileId:"合并线段唯一标识符",common:{offsetFrom:"起始点偏移",offsetTo:"结束点偏移",startFrom:"从这里开始",roundCornerFactor:"转折圆角因子",from:"从",to:"到",parallelDisabled:"由于此线段是平行的,因此某些属性已被禁用。",changeInBaseLine:"在基准线段中更改它们:"},simple:{displayName:"基本线段",offset:"偏移"},diagonal:{displayName:"135°折线线段"},perpendicular:{displayName:"90°垂直线段"},rotatePerpendicular:{displayName:"90°旋转垂直线段"},singleColor:{displayName:"纯色样式"},shmetroVirtualInt:{displayName:"上海地铁出站换乘样式"},shanghaiSuburbanRailway:{displayName:"上海市域铁路样式",isEnd:"结束区间"},gzmtrVirtualInt:{displayName:"广州地铁出站换乘样式"},gzmtrLoop:{displayName:"广州地铁环线样式"},chinaRailway:{displayName:"中国铁路样式"},bjsubwaySingleColor:{displayName:"北京地铁纯色样式"},bjsubwayTram:{displayName:"北京地铁有轨电车样式"},bjsubwayDotted:{displayName:"北京地铁虚线样式"},dualColor:{displayName:"双色样式",swap:"切换颜色",colorA:"颜色A",colorB:"颜色B"},river:{displayName:"河流样式",width:"宽度"},mtrRaceDays:{displayName:"香港MTR赛马日样式"},mtrLightRail:{displayName:"香港MTR轻铁样式"},mtrUnpaidArea:{displayName:"香港MTR未付费区域样式"},mtrPaidArea:{displayName:"香港MTR付费区域样式"},mrtUnderConstruction:{displayName:"新加坡MRT在建样式"},mrtSentosaExpress:{displayName:"新加坡MRT圣淘沙捷运样式"},jrEastSingleColor:{displayName:"JR东日本单色样式"},jrEastSingleColorPattern:{displayName:"JR东日本单色网状图案样式"},lrtSingleColor:{displayName:"新加坡LRT纯色样式"},londonTubeInternalInt:{displayName:"伦敦地铁内部换乘样式"},londonTube10MinWalk:{displayName:"伦敦地铁10分钟步行换乘样式"},londonTubeTerminal:{displayName:"伦敦地铁终点站样式"},londonRail:{displayName:"伦敦铁路样式",limitedService:"有限服务/仅限高峰时段",colorBackground:"背景颜色",colorForeground:"前景颜色"},londonSandwich:{displayName:"伦敦三明治样式"},londonLutonAirportDART:{displayName:"伦敦卢顿机场DART样式"},londonIFSCloudCableCar:{displayName:"伦敦IFS云缆车样式"},guangdongIntercityRailway:{displayName:"广东城际铁路样式"}},edges:{},footer:{duplicate:"重复",copy:"复制",remove:"移除"}}},header:{popoverHeader:"你正在浏览<1>{{environment}}环境!",popoverBody:"我们正在测试最新的RMP。如果你有任何建议,欢迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜索车站",open:{new:"新项目",config:"导入项目",projectRMG:"从RMG项目中导入",invalidType:"无效的文件类型!仅接受JSON格式的文件。",unknownError:"解析上传文件时发生未知错误!请重试。",gallery:"从画廊中导入",tutorial:"开始教程",importFromRMPGallery:"模板 {{id}} 已导入。对此更改不满意?可通过 Ctrl + Z 或撤销按钮进行撤销。",failToImportFromRMPGallery:"无法从画廊导入{{id}},找不到文件。"},download:{config:"导出项目",image:"导出图片","2rmg":{title:"导出RMG项目",type:{line:"直线",loop:"环线",branch:"支线"},placeholder:{chinese:"中文线路名称",english:"英文线路名称",lineCode:"路线编号"},info1:"这个功能可将RMP项目导出为RMG项目。",info2:"下面的线路将可以被导出,你可以在左侧文本框中输入中文线路名称、在中间输入英文线路名称、右边输入线路编号(广州地铁样式专用),随后点击下载按钮即可导出RMG项目。",noline:"未找到可用线路。",download:"下载",downloadInfo:"请选择一个起始车站,并点击它。"},format:"文件种类",png:"PNG图像",svg:"SVG图像",svgVersion:"版本","svg1.1":"1.1(适用于Adobe Illustrator)",svg2:"2(适用于现代浏览器)",transparent:"透明背景",scale:"缩放",disabledScaleOptions:"由于浏览器的画布限制,部分缩放选项被禁用。",disabledScaleOptionsWorkarounds:"可能的解决方法包括使用此命令行工具从SVG生成图像:",imageTooBig:"图像太大,无法在您的浏览器中生成!",useSystemFonts:"使用系统字体而不是在画布上预览的字体",shareInfo1:"当我分享此图片时我会附上",shareInfo2:"和它的链接。",termsAndConditions:"条款及细则",termsAndConditionsInfo:"我同意",period:"。",confirm:"下载"},donation:{title:"捐赠",openCollective:"Open Collective",viaUSD:"通过Paypal或Visa卡以美元捐赠。",afdian:"爱发电",viaCNY:"通过支付宝或微信支付以人民币捐赠。"},settings:{title:"设置",pro:"这是一个专业功能,需要带有订阅的账户。",proWithTrial:"这是一个PRO功能,并提供有限的免费试用。",proLimitExceed:{master:"大师节点超出了免费额度。",parallel:"平行线段超出了免费额度。",solution:"移除它们以消除此警告,或订阅以解锁更多功能!"},subscription:{title:"订阅状态","logged-out":"您当前已登出。",free:"已登录!订阅以解锁更多功能!",subscriber:"感谢您的订阅!享受所有功能吧!",expired:"登录状态已过期。请登出后重新登录。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持续画线段直到点击背景",autoParallel:"自动将新线段设置为与现有线段平行",randomStationNames:{title:"创建时将站名随机化",none:"无",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"快捷键",keys:"键",description:"描述",f:"使用上一个工具。",s:"多选。",arrows:"稍微移动画布。",ijkl:"稍微移动所选站点。",shift:"多选。",alt:"精确移动。",delete:"删除所选站点。",cut:"剪切。",copy:"复制。",paste:"粘贴。",undo:"撤销。",redo:"重做。"},procedures:{title:"过程",translate:{title:"转化节点坐标",content:"将以下偏移加到所有节点的x和y上:",x:"横坐标",y:"纵坐标"},scale:{title:"缩放节点坐标",content:"将所有节点的x和y乘以以下值:",factor:"缩放因子"},changeType:{title:"修改所有对象的属性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改车站种类",changeFrom:"将此类型的所有车站:",changeTo:"转换为这个类型的车站:",info:"修改车站类型会移除所有独特属性除了名称。保存再操作!"},changeLineStyleType:{title:"批量修改线段样式",changeFrom:"将此样式的所有线段:",changeTo:"转换为这个样式的线段:",info:"修改线段样式会移除所有独特属性除了连通性。保存再操作!"},changeLinePathType:{title:"批量修改线段类型",changeFrom:"将此类型的所有线段:",changeTo:"转换为这个类型的线段:"},changeColor:{title:"批量修改颜色",changeFrom:"将此颜色的所有对象:",changeTo:"转换为这个颜色:",any:"从任何颜色转换"},removeLines:{title:"移除所有纯色线段",content:"移除具有此颜色的所有线段: "},updateColor:{title:"更新颜色",content:"使用最新值更新所有颜色。",success:"成功更新所有颜色。",error:"更新所有颜色时出错:{{e}}。"},unlockSimplePath:{title:"解锁简单路径",content1:"地铁线路图绘制器应用致力于在遵循既定惯例的前提下,提供一个有利于创建地铁线路图的互动平台。在这些惯例中,一种特别著名的风格源自哈利·贝克的创新工作。他的开创性贡献于1932年得到官方认可,并在大众中迅速赢得了声誉。目前,它在信息设计领域具有重要的示范意义,在全球范围内的交通制图中得到了广泛的实施,尽管成功程度有所不同。",content2:"应用程序固有地隐藏了使用简单路径的选项,因为其部署有可能违反既定的惯例。默认情况下,此特定功能保持隐蔽。此外,提交到地铁线路图绘制器画廊的作品将经过严格的审查,坚决拒绝使用单色风格的简单路径的构图。",content3:"尽管如此,我们仍然保留了解锁此选项的机会,当您订阅后,方可使用简单路径。需要注意的是,即使获得后,简单路径的使用也仅限于单色风格。",check:"解锁简单路径",unlocked:"已解锁"},masterManager:{title:"管理全部大师节点",id:"唯一标识",label:"标签",type:"类型",types:{MiscNode:"杂项节点",Station:"车站"},importTitle:"上传大师节点参数",importFrom:"使用导入的样式",importOther:"导入新样式",importParam:"粘贴配置信息"}},telemetry:{title:"遥测",info:"为了帮助改进地铁线路图绘制器并激励贡献者提升项目,我们通过 Google Analytics 收集匿名使用数据。这些数据仅用于增强用户体验和优化工具功能,绝不会与第三方共享。",essential:"基础",essentialTooltip:"在地铁线路图工具包中更改此全局设置",essentialInfo:"地铁线路图绘制器收集一些基本使用数据,以帮助我们了解用户如何以及何时与工具交互。请放心,我们从不收集任何可识别个人身份的信息或您的项目数据。",essentialLink:"点击此链接查看 Google Analytics 可能收集的详细字段。",additional:"额外",additionalInfo:"地铁线路图绘制器还会收集有关交互的数据,例如项目创建或站点添加等操作。这些额外数据同样是匿名的,仅用于统计分析以帮助我们改进工具。"}},about:{title:"关于",rmp:"地铁线路图绘制器",railmapgen:"一个线路图工具包项目",desc:"通过自由拖动来自不同城市的车站并以 90 或 135 度圆角线段将它们连接起来,设计您自己的铁路地图!",content1:"谨以此纪念我们曾拥有的自由与平等。",content2:"06/01/2022于上海",contributors:"贡献者",coreContributors:"核心贡献者",styleContributors:"样式贡献者",langonginc:"活出值得铭记的人生。","203IhzElttil":"特别感谢他勤勉工作,确保上海地铁站与原始设计相符。",Swiftiecott:"特别感谢他勤勉工作,确保北京地铁站与原始设计相符。",Minwtraft:"特别感谢他勤勉工作,确保广州地铁站与原始设计相符。",contactUs:"联系我们",github:"项目仓库",githubContent:"遇到任何问题?在这里搜索或提出一个问题!",slack:"Slack群组",slackContent:"在这些Slack频道中讨论!"}}},Bd={color:"顏色",warning:"警告",cancel:"取消",apply:"應用",remove:"移除",close:"關閉",noShowAgain:"不要再顯示",rmtPromotion:"絕對不想錯過的多功能工具包!",panel:{tools:{showLess:"顯示更少",section:{lineDrawing:"線段繪製",stations:"車站",miscellaneousNodes:"雜項節點"},select:"多選",learnHowToAdd:{station:"了解如何添加車站!","misc-node":"了解如何添加節點!",line:"了解如何添加線條樣式!"}},details:{header:"詳情",info:{title:"基本信息",id:"唯一識別符",zIndex:"深度",stationType:"車站類型",linePathType:"線段路徑類型",lineStyleType:"線段樣式類型",type:"類型",parallel:"平行線段",parallelIndex:"平行線段索引"},multipleSelection:{title:"多重選取",change:"修改選取物件的屬性",selected:"選取的物件:",show:"顯示",station:"車站",miscNode:"雜項節點",edge:"線段"},changeStationTypeContent:"修改車站類型會移除所有獨特屬性除了名稱。",changeLineTypeContent:"修改線段類型會移除所有獨特屬性。",changeType:"更改類型",nodePosition:{title:"節點位置",pos:{x:"橫坐標",y:"縱坐標"}},lineExtremities:{title:"線段兩端",source:"起點",target:"終點",sourceName:"起點名稱",targetName:"終點名稱"},specificAttrsTitle:"獨特屬性",unknown:{error:"哎呀 :( 我們無法識別此{{category}}。也許它是在更新版本中創建的。",node:"節點",linePath:"線段路徑",lineStyle:"線段樣式"},nodes:{common:{nameZh:"中文線路名稱",nameEn:"英文線路名稱",nameJa:"日語線路名稱",num:"線路號"},virtual:{displayName:"虛擬節點"},shmetroNumLineBadge:{displayName:"上海地鐵數字線路標識"},shmetroTextLineBadge:{displayName:"上海地鐵文字線路標識"},gzmtrLineBadge:{displayName:"廣州地鐵線路標識",tram:"輕軌",span:"跨行顯示數字"},bjsubwayNumLineBadge:{displayName:"北京地鐵數字線路標識"},bjsubwayTextLineBadge:{displayName:"北京地鐵文字線路標識"},berlinSBahnLineBadge:{displayName:"柏林城市快鐵線路標識"},berlinUBahnLineBadge:{displayName:"柏林地鐵線路標識"},suzhouRTNumLineBadge:{displayName:"蘇州軌道交通數字線路標識",branch:"是否支線"},chongqingRTNumLineBadge:{displayName:"重慶軌道交通數字線路標識"},chongqingRTTextLineBadge:{displayName:"重慶軌道交通文字線路標識"},shenzhenMetroNumLineBadge:{displayName:"深圳地鐵數字線路標識",branch:"是否支線"},mrtDestinationNumbers:{displayName:"新加坡MRT終點數字"},mrtLineBadge:{displayName:"新加坡MRT線路標識",isTram:"是LRT線路標識"},jrEastLineBadge:{displayName:"JR東日本線路標識",crosshatchPatternFill:"用網狀圖案填充"},qingdaoMetroNumLineBadge:{displayName:"青島地鐵數位線路標識",numEn:"英文線路號",showText:"顯示文字"},guangdongIntercityRailwayLineBadge:{displayName:"廣東城際鐵路線標識"},londonArrow:{displayName:"倫敦箭頭",type:"類型",continuation:"延續",sandwich:"三明治",tube:"地鐵"},master:{displayName:"大師節點",type:"大師節點類型",undefined:"未定義"},facilities:{displayName:"設施",type:"類型"},text:{displayName:"任意文字",content:"內容",fontSize:"文字大小",lineHeight:"行高度",textAnchor:"文字錨點",start:"開始",middle:"中間",end:"結束",auto:"自動",hanging:"懸吊",dominantBaseline:"顯性基線",language:"哪個語言的字體系列",zh:"中文",en:"英文",mtr__zh:"香港地鐵中文",mtr__en:"香港地鐵英文",berlin:"柏林 S/U 地鐵",mrt:"新加坡地鐵",jreast_ja:"JR 東日本日文",jreast_en:"JR 東日本英文",rotate:"旋轉",italic:"斜體",bold:"粗體"}},stations:{common:{nameZh:"中文名稱",nameEn:"英文名稱",nameJa:"日語名稱",nameOffsetX:"名稱橫向偏移",nameOffsetY:"名稱縱向偏移",rotate:"車站旋轉角度",lineCode:"路綫編碼",stationCode:"車站編碼",left:"左",middle:"中間",right:"右",top:"頂部",bottom:"底部"},interchange:{title:"換乘",within:"同站換乘",outStation:"出站換乘",outSystem:"系統外換乘",addGroup:"添加換乘組合",noInterchanges:"非換乘站",nameZh:"中文名稱",nameEn:"英文名稱",add:"添加換乘",copy:"復製換乘",remove:"刪除換乘"},shmetroBasic:{displayName:"上海地鐵基本車站"},shmetroBasic2020:{displayName:"上海地鐵基本車站(2020)"},shmetroInt:{displayName:"上海地鐵換乘車站",height:"車站高度",width:"車站寬度"},shmetroOsysi:{displayName:"上海地鐵轉乘車站"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路車站"},gzmtrBasic:{displayName:"廣州地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},gzmtrInt:{displayName:"廣州地鐵換乘車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",foshan:"佛山"},gzmtrInt2024:{displayName:"廣州地鐵換乘站(2024)",columns:"站點列數",topHeavy:"優先將更多站點放在上方",anchorAt:"錨點位置",anchorAtNone:"居中",osiPosition:"出站轉車",osiPositionNone:"無",osiPositionLeft:"左側",osiPositionRight:"右側"},bjsubwayBasic:{displayName:"北京地鐵基本車站",open:"是否開通"},bjsubwayInt:{displayName:"北京地鐵換乘車站",outOfStation:"出站轉車"},mtr:{displayName:"香港MTR車站"},suzhouRTBasic:{displayName:"蘇州軌道交通基本車站",textVertical:"垂直名稱"},suzhouRTInt:{displayName:"蘇州軌道交通換乘車站"},kunmingRTBasic:{displayName:"昆明軌道交通基本車站"},kunmingRTInt:{displayName:"昆明軌道交通換乘車站"},MRTBasic:{displayName:"新加坡MRT基本車站",isTram:"是LRT車站"},MRTInt:{displayName:"新加坡MRT換乘車站"},jrEastBasic:{displayName:"JR東日本基本車站",nameOffset:"名稱偏移",textOneLine:"名稱在一行中",textVertical:"垂直名稱",important:"重要車站",lines:"轉乘線偏移"},jrEastImportant:{displayName:"JR東日本重要車站",textVertical:"垂直名稱",mostImportant:"最重要車站",minLength:"車站的最小長度"},foshanMetroBasic:{displayName:"佛山地鐵基本車站",open:"是否開通",secondaryNameZh:"中文第二名稱",secondaryNameEn:"英文第二名稱",tram:"輕軌"},qingdaoMetro:{displayName:"青島地鐵基本車站",isInt:"是換乘站"},tokyoMetroBasic:{displayName:"東京地鐵基本車站",nameOffset:"名稱偏移",textVertical:"垂直站名",lineCode:"線路編號",stationCode:"車站編號"},tokyoMetroInt:{displayName:"東京地鐵轉乘車站",mereOffset:{displayName:"名稱微小偏移",none:"無",left1:"左 (较少)",left2:"左 (较大)",right1:"右 (较少)",right2:"右 (较大)",up:"上",down:"下"},importance:{displayName:"車站重要性",default:"預設",middle:"中",high:"高"},align:{displayName:"圖標排列方向",horizontal:"橫向",vertical:"縱向"}},londonTubeCommon:{stepFreeAccess:"無障礙通行",stepFreeAccessNone:"無",stepFreeAccessTrain:"從街道到列車",stepFreeAccessPlatform:"從街道到月台"},londonTubeBasic:{displayName:"倫敦地鐵基本車站",terminal:"終點站",shareTracks:"軌道共享",shareTracksIndex:"軌道共享指數"},londonTubeInt:{displayName:"倫敦地鐵換乘車站"},londonRiverServicesInt:{displayName:"倫敦河流服務換乘站"},guangdongIntercityRailway:{displayName:"廣東城際鐵路車站"}},lines:{reconcileId:"合並線段唯一標識符",common:{offsetFrom:"起始點偏移",offsetTo:"結束點偏移",startFrom:"從這裏開始",roundCornerFactor:"轉折圓角因子",from:"從",to:"到",parallelDisabled:"由於此線段是平行的,因此某些屬性已被禁用。",changeInBaseLine:"在基準線段中更改它們:"},simple:{displayName:"基本線段",offset:"偏移"},diagonal:{displayName:"135°折線線段"},perpendicular:{displayName:"90°垂直線段"},rotatePerpendicular:{displayName:"90°旋轉垂直線段"},singleColor:{displayName:"純色樣式"},shmetroVirtualInt:{displayName:"上海地鐵出站換乘樣式"},shanghaiSuburbanRailway:{displayName:"上海市域鐵路樣式",isEnd:"結束區間"},gzmtrVirtualInt:{displayName:"廣州地鐵出站換乘樣式"},gzmtrLoop:{displayName:"廣州地鐵環線樣式"},chinaRailway:{displayName:"中國鐵路樣式"},bjsubwaySingleColor:{displayName:"北京地鐵純色樣式"},bjsubwayTram:{displayName:"北京地鐵有軌電車樣式"},bjsubwayDotted:{displayName:"北京地鐵虛線樣式"},dualColor:{displayName:"雙色樣式",swap:"切換顏色",colorA:"顏色A",colorB:"顏色B"},river:{displayName:"河流樣式",width:"寬度"},mtrRaceDays:{displayName:"香港MTR賽馬日樣式"},mtrLightRail:{displayName:"香港MTR輕鐵樣式"},mtrUnpaidArea:{displayName:"香港MTR未付費區域樣式"},mtrPaidArea:{displayName:"香港MTR付費區域樣式"},mrtUnderConstruction:{displayName:"新加坡MRT在建樣式"},mrtSentosaExpress:{displayName:"新加坡MRT聖淘沙捷運樣式"},jrEastSingleColor:{displayName:"JR東日本單色樣式"},jrEastSingleColorPattern:{displayName:"JR東日本單色網狀圖案樣式"},lrtSingleColor:{displayName:"新加坡LRT純色樣式"},londonTubeInternalInt:{displayName:"倫敦地鐵內部換乘樣式"},londonTube10MinWalk:{displayName:"倫敦地鐵10分鐘步行換乘樣式"},londonTubeTerminal:{displayName:"倫敦地鐵終點站樣式"},londonRail:{displayName:"倫敦鐵路樣式",limitedService:"有限服務/只限繁忙時段",colorBackground:"背景顏色",colorForeground:"前景顏色"},londonSandwich:{displayName:"倫敦三明治樣式"},londonLutonAirportDART:{displayName:"倫敦盧頓機場DART樣式"},londonIFSCloudCableCar:{displayName:"倫敦IFS雲纜車樣式"},guangdongIntercityRailway:{displayName:"廣東城際鐵路樣式"}},edges:{},footer:{duplicate:"重複",copy:"複製",remove:"移除"}}},header:{popoverHeader:"你正在瀏覽<1>{{environment}}環境!",popoverBody:"我們正在測試最新的RMP。如果妳有任何建議,歡迎在 https://github.com/railmapgen/rmp/issues 上提出。",search:"搜尋車站",open:{new:"新項目",config:"讀入項目",projectRMG:"從RMG專案中讀入",invalidType:"無效的文件類型!僅接受JSON格式的文件。",unknownError:"解析上傳文件時發生未知錯誤!請重試。",gallery:"從畫廊中讀入",tutorial:"開始教程",importFromRMPGallery:"範本 {{id}} 已匯入。對此更改不滿意?可通過 Ctrl + Z 或撤銷按鈕進行撤銷。",failToImportFromRMPGallery:"無法從畫廊導入{{id}},找不到檔案。"},download:{config:"導出項目",image:"導出圖片","2rmg":{title:"導出RMG項目",type:{line:"直線",loop:"環線",branch:"支線"},placeholder:{chinese:"中文線路名稱",english:"英文線路名稱",lineCode:"路綫編碼"},info1:"這個功能可將RMP項目導出為RMG項目。",info2:"下面的線路將可以被導出,你可以在左側文本框中輸入中文線路名稱、在中間輸入英文線路名稱、右邊輸入線路編號(廣州地鐵樣式專用),隨後點擊下載按鈕即可導出RMG項目。",noline:"未找到可用線路。",download:"下載",downloadInfo:"請選擇一個起始車站,並點擊它。"},format:"檔案種類",png:"PNG影像",svg:"SVG影像",svgVersion:"版本","svg1.1":"1.1(適用於Adobe Illustrator)",svg2:"2(適用於現代瀏覽器)",transparent:"透明背景",scale:"縮放",disabledScaleOptions:"由於您的瀏覽器的畫布限制,部分縮放選項已被禁用。",disabledScaleOptionsWorkarounds:"可能的解決方法包括使用此命令行工具從SVG生成圖像:",imageTooBig:"圖像太大,您的瀏覽器無法生成!",useSystemFonts:"使用系統字型而不是在畫布上預覽的字型",shareInfo1:"當我分享此圖片時我會附上",shareInfo2:"和它的鏈接。",termsAndConditions:"條款及細則",termsAndConditionsInfo:"我同意",period:"。",confirm:"下載"},donation:{title:"捐款",openCollective:"Open Collective",viaUSD:"通過Paypal或Visa卡以美元捐款。",afdian:"爱发电",viaCNY:"通過支付寶或微信支付以人民幣捐款。"},settings:{title:"設置",pro:"這是一個專業功能,需要带有訂閱的帳戶。",proWithTrial:"這是一個PRO功能,並提供有限的免費試用。",proLimitExceed:{master:"大師節點超出了免費額度。",parallel:"平行線段超出了免費額度。",solution:"移除它們以解除此警告,或訂閱以解鎖更多功能!"},subscription:{title:"訂閱狀態","logged-out":"您目前已登出。",free:"已登入!訂閱以解鎖更多功能!",subscriber:"感謝您的訂閱!享受所有功能吧!",expired:"登入狀態已過期。請登出後重新登入。"},preference:{title:"偏好",keepLastPath:"在下一次操作中持續畫線段直到點擊背景",autoParallel:"自動將新段線設置為與現有線段平行",randomStationNames:{title:"創建時將站名隨機化",none:"無",shmetro:"上海",bjsubway:"北京"}},shortcuts:{title:"捷徑",keys:"按鍵",description:"描述",f:"使用上一個工具。",s:"多選。",arrows:"稍微移動畫布。",ijkl:"稍微移動所選站點。",shift:"多選。",alt:"精確移動。",delete:"刪除所選站點。",cut:"剪切。",copy:"複製。",paste:"貼上。",undo:"撤銷。",redo:"重做。"},procedures:{title:"過程",translate:{title:"轉化節點坐標",content:"將以下偏移加到所有節點的x和y上:",x:"橫坐標",y:"縱坐標"},scale:{title:"縮放節點坐標",content:"將所有節點的x和y乘以以下值:",factor:"縮放因子"},changeType:{title:"修改所有物件的屬性",any:"任意"},changeZIndex:"批量修改深度",changeStationType:{title:"批量修改車站種類",changeFrom:"將此類型的所有車站:",changeTo:"轉換為這個類型的車站:",info:"修改車站類型會移除所有獨特屬性除了名稱。保存再操作!"},changeLineStyleType:{title:"批量修改線段樣式",changeFrom:"將此樣式的所有線段:",changeTo:"轉換為這個樣式的線段:",info:"修改線段樣式會移除所有獨特屬性除了連通性。保存再操作!"},changeLinePathType:{title:"批量修改線段類型",changeFrom:"將此類型的所有線段:",changeTo:"轉換為這個類型的線段:"},changeColor:{title:"批量修改顏色",changeFrom:"將此顏色的所有對象:",changeTo:"轉換為這個顏色:",any:"從任何顏色轉換"},removeLines:{title:"移除所有純色線段",content:"移除具有此顏色的所有線段: "},updateColor:{title:"更新顏色",content:"使用最新值更新所有顏色。",success:"成功更新所有顏色。",error:"更新所有顏色時發生錯誤:{{e}}。"},unlockSimplePath:{title:"解鎖簡單路徑",content1:"地鐵線路圖繪製器應用致力於在遵循既定慣例的前提下,提供一個有利於創建地鐵線路圖的互動平台。在這些慣例中,一種特別著名的風格源自哈利·貝克的創新工作。他的開創性貢獻於1932年得到官方認可,並在大眾中迅速贏得了聲譽。目前,它在信息設計領域具有重要的示範意義,在全球範圍內的交通製圖中得到了廣泛的實施,儘管成功程度有所不同。",content2:"應用程式固有地隱藏了使用簡單路徑的選項,因為其部署有可能違反既定的慣例。默認情況下,此特定功能保持隱蔽。此外,提交到地鐵線路圖繪製器畫廊的作品將經過嚴格的審查,堅決拒絕使用單色風格的簡單路徑的構圖。",content3:"儘管如此,我們仍然保留瞭解鎖此選項的機會,當您訂閱后,方可使用簡單路徑。 需要注意的是,即使獲得后,簡單路徑的使用也僅限於單色風格。",check:"解鎖簡單路徑",unlocked:"已解鎖"},masterManager:{title:"管理全部大師節點",id:"唯一標識",label:"標籤",type:"類型",types:{MiscNode:"雜項節點",Station:"車站"},importTitle:"上傳大師節點參數",importFrom:"使用匯入的樣式",importOther:"導入新樣式",importParam:"貼上配置信息"}},telemetry:{title:"遙測",info:"為了協助改進地鐵路綫圖繪製器並激勵貢獻者提升項目,我們透過 Google Analytics 收集匿名使用數據。這些數據僅用於提升用戶體驗及優化工具功能,絕不會與第三方共享。",essential:"基本",essentialTooltip:"在地鐵路綫圖工具組中更改此全局設定",essentialInfo:"地鐵路綫圖繪製器收集一些基本使用數據,以協助我們了解用戶如何及何時與工具互動。請放心,我們絕不收集任何可識別個人身份的資訊或您的項目數據。",essentialLink:"點擊此鏈接查看 Google Analytics 可能收集的詳細字段。",additional:"額外",additionalInfo:"地鐵路綫圖繪製器還會收集與互動有關的數據,例如創建項目或新增站點等操作。這些額外數據同樣是匿名的,僅用於統計分析以協助我們改進工具。"}},about:{title:"關於",rmp:"地鐵線路圖繪製器",railmapgen:"一個路綫圖工具組的項目",desc:"通過自由拖動來自不同城市的車站並以 90 或 135 度圓角線段將它們連接起來,設計您自己的鐵路地圖!",content1:"謹以此紀念我們曾擁有的自由與平等。",content2:"06/01/2022於上海",contributors:"貢獻者",coreContributors:"核心貢獻者",styleContributors:"樣式貢獻者",langonginc:"活出值得銘記的人生。","203IhzElttil":"特別感謝他勤奮工作,確保上海地鐵站與原始設計相符。",Swiftiecott:"特別感謝他勤奮工作,確保北京地鐵站與原始設計相符。",Minwtraft:"特別感謝他勤奮工作,確保廣州地鐵站與原始設計相符。",contactUs:"聯繫我們",github:"項目倉庫",githubContent:"遇到任何問題?在這裡搜索或提出一個問題!",slack:"Slack群組",slackContent:"在這些Slack頻道中討論!"}}},Dd=e("aU",(new qn.I18nBuilder).use(ze).withAppName("Rail Map Painter").withLng(qn.getLanguage()).withDefaultResource(Md).withResource("en",Pd).withResource("zh-Hans",zd).withResource("zh-Hant",Bd).withResource("ja",Id).withResource("ko",$d).build()),{abs:Gd,cos:Fd,sin:Wd,acos:Ud,atan2:Vd,sqrt:Hd,pow:Jd}=Math;function qd(e){return e<0?-Jd(-e,1/3):Jd(e,1/3)}const Kd=Math.PI,Yd=2*Kd,Qd=Kd/2,Zd=Number.MAX_SAFE_INTEGER||9007199254740991,Xd=Number.MIN_SAFE_INTEGER||-9007199254740991,ec={x:0,y:0,z:0},tc={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,t){const n=t(e);let r=n.x*n.x+n.y*n.y;return void 0!==n.z&&(r+=n.z*n.z),Hd(r)},compute:function(e,t,n){if(0===e)return t[0].t=0,t[0];const r=t.length-1;if(1===e)return t[r].t=1,t[r];const o=1-e;let i=t;if(0===r)return t[0].t=e,t[0];if(1===r){const t={x:o*i[0].x+e*i[1].x,y:o*i[0].y+e*i[1].y,t:e};return n&&(t.z=o*i[0].z+e*i[1].z),t}if(r<4){let t,a,s,l=o*o,d=e*e,c=0;2===r?(i=[i[0],i[1],i[2],ec],t=l,a=o*e*2,s=d):3===r&&(t=l*o,a=l*e*3,s=o*d*3,c=e*d);const u={x:t*i[0].x+a*i[1].x+s*i[2].x+c*i[3].x,y:t*i[0].y+a*i[1].y+s*i[2].y+c*i[3].y,t:e};return n&&(u.z=t*i[0].z+a*i[1].z+s*i[2].z+c*i[3].z),u}const a=JSON.parse(JSON.stringify(t));for(;a.length>1;){for(let t=0;t1;o--,i--){const e=[];for(let n,o=0;oi.x.min&&(t=i.x.min),n>i.y.min&&(n=i.y.min),r0&&(a.c1=t,a.c2=r,a.s1=e,a.s2=n,i.push(a))}))})),i},makeshape:function(e,t,n){const r=t.points.length,o=e.points.length,i=tc.makeline(t.points[r-1],e.points[0]),a=tc.makeline(e.points[o-1],t.points[0]),s={startcap:i,forward:e,back:t,endcap:a,bbox:tc.findbbox([i,e,t,a]),intersections:function(e){return tc.shapeintersections(s,s.bbox,e,e.bbox,n)}};return s},getminmax:function(e,t,n){if(!n)return{min:0,max:0};let r,o,i=Zd,a=Xd;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let s=0,l=n.length;sa&&(a=o[t]);return{min:i,mid:(i+a)/2,max:a,size:a-i}},align:function(e,t){const n=t.p1.x,r=t.p1.y,o=-Vd(t.p2.y-r,t.p2.x-n);return e.map((function(e){return{x:(e.x-n)*Fd(o)-(e.y-r)*Wd(o),y:(e.x-n)*Wd(o)+(e.y-r)*Fd(o)}}))},roots:function(e,t){t=t||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=e.length-1,r=tc.align(e,t),o=function(e){return 0<=e&&e<=1};if(2===n){const e=r[0].y,t=r[1].y,n=r[2].y,i=e-2*t+n;if(0!==i){const r=-Hd(t*t-e*n),a=-e+t;return[-(r+a)/i,-(-r+a)/i].filter(o)}return t!==n&&0===i?[(2*t-n)/(2*t-2*n)].filter(o):[]}const i=r[0].y,a=r[1].y,s=r[2].y;let l=3*a-i-3*s+r[3].y,d=3*i-6*a+3*s,c=-3*i+3*a,u=i;if(tc.approximately(l,0)){if(tc.approximately(d,0))return tc.approximately(c,0)?[]:[-u/c].filter(o);const e=Hd(c*c-4*d*u),t=2*d;return[(e-c)/t,(-c-e)/t].filter(o)}d/=l,c/=l,u/=l;const p=(3*c-d*d)/3,h=p/3,g=(2*d*d*d-9*d*c+27*u)/27,f=g/2,m=f*f+h*h*h;let y,b,v,w,x;if(m<0){const e=-p/3,t=Hd(e*e*e),n=-g/(2*t),r=Ud(n<-1?-1:n>1?1:n),i=2*qd(t);return v=i*Fd(r/3)-d/3,w=i*Fd((r+Yd)/3)-d/3,x=i*Fd((r+2*Yd)/3)-d/3,[v,w,x].filter(o)}if(0===m)return y=f<0?qd(-f):-qd(f),v=2*y-d/3,w=-y-d/3,[v,w].filter(o);{const e=Hd(m);return y=qd(-f+e),b=qd(f+e),[y-b-d/3].filter(o)}},droots:function(e){if(3===e.length){const t=e[0],n=e[1],r=e[2],o=t-2*n+r;if(0!==o){const e=-Hd(n*n-t*r),i=-t+n;return[-(e+i)/o,-(-e+i)/o]}return n!==r&&0===o?[(2*n-r)/(2*(n-r))]:[]}if(2===e.length){const t=e[0],n=e[1];return t!==n?[t/(t-n)]:[]}return[]},curvature:function(e,t,n,r,o){let i,a,s,l,d=0,c=0;const u=tc.compute(e,t),p=tc.compute(e,n),h=u.x*u.x+u.y*u.y;if(r?(i=Hd(Jd(u.y*p.z-p.y*u.z,2)+Jd(u.z*p.x-p.z*u.x,2)+Jd(u.x*p.y-p.x*u.y,2)),a=Jd(h+u.z*u.z,1.5)):(i=u.x*p.y-u.y*p.x,a=Jd(h,1.5)),0===i||0===a)return{k:0,r:0};if(d=i/a,c=a/i,!o){const o=tc.curvature(e-.001,t,n,r,!0).k,i=tc.curvature(e+.001,t,n,r,!0).k;l=(i-d+(d-o))/2,s=(Gd(i-d)+Gd(d-o))/2}return{k:d,r:c,dk:l,adk:s}},inflections:function(e){if(e.length<4)return[];const t=tc.align(e,{p1:e[0],p2:e.slice(-1)[0]}),n=t[2].x*t[1].y,r=t[3].x*t[1].y,o=t[1].x*t[2].y,i=18*(-3*n+2*r+3*o-t[3].x*t[2].y),a=18*(3*n-r-3*o),s=18*(o-n);if(tc.approximately(i,0)){if(!tc.approximately(a,0)){let e=-s/a;if(0<=e&&e<=1)return[e]}return[]}const l=2*i;if(tc.approximately(l,0))return[];const d=a*a-4*i*s;if(d<0)return[];const c=Math.sqrt(d);return[(c-a)/l,-(a+c)/l].filter((function(e){return 0<=e&&e<=1}))},bboxoverlap:function(e,t){const n=["x","y"],r=n.length;for(let o,i,a,s,l=0;l=s)return!1;return!0},expandbox:function(e,t){t.x.mine.x.max&&(e.x.max=t.x.max),t.y.max>e.y.max&&(e.y.max=t.y.max),t.z&&t.z.max>e.z.max&&(e.z.max=t.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,t,n){const r=e.bbox(),o=t.bbox(),i=1e5,a=n||.5;if(r.x.size+r.y.sizek||k>N)&&(S+=Yd),S>N&&(x=N,N=S,S=x)):N4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==o&&8!==o&&9!==o&&12!==o&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const i=this._3d=!r&&(9===o||12===o)||e&&e[0]&&void 0!==e[0].z,a=this.points=[];for(let p=0,h=i?3:2;pe+rc(t.y)),0)0}length(){return tc.length(this.derivative.bind(this))}static getABC(e=2,t,n,r,o=.5){const i=tc.projectionratio(o,e),a=1-i,s={x:i*t.x+a*r.x,y:i*t.y+a*r.y},l=tc.abcratio(o,e);return{A:{x:n.x+(n.x-s.x)/l,y:n.y+(n.y-s.y)/l},B:n,C:s,S:t,E:r}}getABC(e,t){t=t||this.get(e);let n=this.points[0],r=this.points[this.order];return uc.getABC(this.order,n,t,r,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let t,n,r=0;r1?1:u,l=this.compute(u),l.t=u,l.d=d,l}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?tc.computeWithRatios(e,this.points,this.ratios,this._3d):tc.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,t=[e[0]],n=e.length;for(let r,o,i=1;i1;){n=[];for(let i,a=0,s=t.length-1;a=0&&e<=1})),t=t.concat(e[n].sort(tc.numberSort))}.bind(this)),e.values=t.sort(tc.numberSort).filter((function(e,n){return t.indexOf(e)===n})),e}bbox(){const e=this.extrema(),t={};return this.dims.forEach(function(n){t[n]=tc.getminmax(this,n,e[n])}.bind(this)),t}overlaps(e){const t=this.bbox(),n=e.bbox();return tc.bboxoverlap(t,n)}offset(e,t){if(void 0!==t){const n=this.get(e),r=this.normal(e),o={c:n,n:r,x:n.x+r.x*t,y:n.y+r.y*t};return this._3d&&(o.z=n.z+r.z*t),o}if(this._linear){const t=this.normal(0),n=this.points.map((function(n){const r={x:n.x+e*t.x,y:n.y+e*t.y};return n.z&&t.z&&(r.z=n.z+e*t.z),r}));return[new uc(n)]}return this.reduce().map((function(t){return t._linear?t.offset(e)[0]:t.scale(e)}))}simple(){if(3===this.order){const e=tc.angle(this.points[0],this.points[3],this.points[1]),t=tc.angle(this.points[0],this.points[3],this.points[2]);if(e>0&&t<0||e<0&&t>0)return!1}const e=this.normal(0),t=this.normal(1);let n=e.x*t.x+e.y*t.y;return this._3d&&(n+=e.z*t.z),rc(lc(n))(1-o/r)*t+o/r*n));return new uc(this.points.map(((t,n)=>({x:t.x+e.x*o[n],y:t.y+e.y*o[n]}))))}scale(e){const t=this.order;let n=!1;if("function"==typeof e&&(n=e),n&&2===t)return this.raise().scale(n);const r=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),n?n(0):e,n?n(1):e);const i=n?n(0):e,a=n?n(1):e,s=[this.offset(0,10),this.offset(1,10)],l=[],d=tc.lli4(s[0],s[0].c,s[1],s[1].c);if(!d)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(e){const n=l[e*t]=tc.copy(o[e*t]);n.x+=(e?a:i)*s[e].n.x,n.y+=(e?a:i)*s[e].n.y})),n?([0,1].forEach((function(i){if(2!==t||!i){var a=o[i+1],s={x:a.x-d.x,y:a.y-d.y},c=n?n((i+1)/t):e;n&&!r&&(c=-c);var u=dc(s.x*s.x+s.y*s.y);s.x/=u,s.y/=u,l[i+1]={x:a.x+c*s.x,y:a.y+c*s.y}}})),new uc(l)):([0,1].forEach((e=>{if(2===t&&e)return;const n=l[e*t],r=this.derivative(e),i={x:n.x+r.x,y:n.y+r.y};l[e+1]=tc.lli4(n,i,d,o[e+1])})),new uc(l))}outline(e,t,n,r){if(t=void 0===t?e:t,this._linear){const o=this.normal(0),i=this.points[0],a=this.points[this.points.length-1];let s,l,d;void 0===n&&(n=e,r=t),s={x:i.x+o.x*e,y:i.y+o.y*e},d={x:a.x+o.x*n,y:a.y+o.y*n},l={x:(s.x+d.x)/2,y:(s.y+d.y)/2};const c=[s,l,d];s={x:i.x-o.x*t,y:i.y-o.y*t},d={x:a.x-o.x*r,y:a.y-o.y*r},l={x:(s.x+d.x)/2,y:(s.y+d.y)/2};const u=[d,l,s],p=tc.makeline(u[2],c[0]),h=tc.makeline(c[2],u[0]),g=[p,new uc(c),h,new uc(u)];return new nc(g)}const o=this.reduce(),i=o.length,a=[];let s,l=[],d=0,c=this.length();const u=void 0!==n&&void 0!==r;function p(e,t,n,r,o){return function(i){const a=r/n,s=(r+o)/n,l=t-e;return tc.map(i,0,1,e+a*l,e+s*l)}}o.forEach((function(o){const i=o.length();u?(a.push(o.scale(p(e,n,c,d,i))),l.push(o.scale(p(-t,-r,c,d,i)))):(a.push(o.scale(e)),l.push(o.scale(-t))),d+=i})),l=l.map((function(e){return s=e.points,s[3]?e.points=[s[3],s[2],s[1],s[0]]:e.points=[s[2],s[1],s[0]],e})).reverse();const h=a[0].points[0],g=a[i-1].points[a[i-1].points.length-1],f=l[i-1].points[l[i-1].points.length-1],m=l[0].points[0],y=tc.makeline(f,h),b=tc.makeline(g,m),v=[y].concat(a).concat([b]).concat(l);return new nc(v)}outlineshapes(e,t,n){t=t||e;const r=this.outline(e,t).curves,o=[];for(let i=1,a=r.length;i1,e.endcap.virtual=i{var i=this.get(e);return tc.between(i.x,t,r)&&tc.between(i.y,n,o)}))}selfintersects(e){const t=this.reduce(),n=t.length-2,r=[];for(let o,i,a,s=0;s0&&(o=o.concat(t))})),o}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,t,n,r){const o=(r-n)/4,i=this.get(n+o),a=this.get(r-o),s=tc.dist(e,t),l=tc.dist(e,i),d=tc.dist(e,a);return rc(l-s)+rc(d-s)}_iterate(e,t){let n,r=0,o=1;do{n=0,o=1;let i,a,s,l,d,c=this.get(r),u=!1,p=!1,h=o,g=1;do{if(p=u,l=s,h=(r+o)/2,i=this.get(h),a=this.get(o),s=tc.getccenter(c,i,a),s.interval={start:r,end:o},u=this._error(s,c,r,o)<=e,d=p&&!u,d||(g=o),u){if(o>=1){if(s.interval.end=g=1,l=s,o>1){let e={x:s.x+s.r*ac(s.e),y:s.y+s.r*sc(s.e)};s.e+=tc.angle({x:s.x,y:s.y},e,this.get(1))}break}o+=(o-r)/2}else o=h}while(!d&&n++<100);if(n>=100)break;l=l||s,t.push(l),r=g}while(o<1);return t}}const pc=(e,t,n,r)=>{var o;r=null!==(o=r)&&void 0!==o?o:-n;const[i,a]=hc(e);if(!i||!a)return;if(i[0]===a[0]||i[1]===a[1]||t===Cd.Diagonal&&Math.abs(i[1]-a[1])===Math.abs(i[0]-a[0])){const e=Math.abs(n);return gc(i,a,e)}const[s,l]=mc(e);if(!s||!l)return;const d=new uc([...s,...l]),[c,u]=[d.scale(n),d.scale(r)],p=bc(i,s,a,d,c,u);if(!p)return;const{mA:[h,g],mB:[f,m],endA:[y,b],endB:[v,w]}=p;return[`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b}`,`M ${f} ${m} ${u.toSVG().replace("M","L")} L ${v} ${w}`]},hc=e=>{var t,n;return[null===(t=e.match(/M\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))||void 0===t||null===(t=t.at(0))||void 0===t?void 0:t.replace(/M\s*/,"").split(" ").map((e=>Number(e))),null===(n=e.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*$/))||void 0===n||null===(n=n.at(0))||void 0===n?void 0:n.replace(/L\s*/,"").split(" ").map((e=>Number(e)))]},gc=(e,t,n)=>{const[r,o,i,a]=[e[0],e[1],t[0],t[1]],s=Math.abs((a-o)/(i-r));if(s===1/0)return[`M ${r+n} ${o} L ${i+n} ${a}`,`M ${r-n} ${o} L ${i-n} ${a}`];if(0===s)return[`M ${r} ${o+n} L ${i} ${a+n}`,`M ${r} ${o-n} L ${i} ${a-n}`];{const e=1/s,t=n/Math.sqrt(e*e+1),l=t*e*-Math.sign((i-r)*(a-o));return[`M ${r+t} ${o+l} L ${i+t} ${a+l}`,`M ${r-t} ${o-l} L ${i-t} ${a-l}`]}},fc=(e,t,n)=>{const[r,o,i,a]=[e[0],e[1],t[0],t[1]],s=Math.abs((a-o)/(i-r));if(s===1/0)return`M ${r+n} ${o} L ${i+n} ${a} L ${i-n} ${a} L ${r-n} ${o} Z`;if(0===s)return`M ${r} ${o+n} L ${i} ${a+n} L ${i} ${a-n} L ${r} ${o-n} Z`;{const e=1/s,t=n/Math.sqrt(e*e+1),l=t*e*-Math.sign((i-r)*(a-o));return`M ${r+t} ${o+l} L ${i+t} ${a+l} L ${i-t} ${a-l} L ${r-t} ${o-l} Z`}},mc=e=>{var t,n;return[null===(t=e.match(/L\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/))||void 0===t||null===(t=t.at(0))||void 0===t?void 0:t.replace(/L\s*/,"").split(" ").map((e=>Number(e))),null===(n=e.match(/C\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+\s*[+-]?([0-9]*[.])?[0-9]+/g))||void 0===n||null===(n=n.at(0))||void 0===n?void 0:n.replace(/C\s*/,"").split(" ").map((e=>Number(e)))]},yc=(e,t)=>[[t[4],t[5]],[t[2],t[3],t[0],t[1],e[0],e[1]]],bc=(e,t,n,r,o,i)=>{const a=[o.points.at(0).x,o.points.at(0).y],s=[i.points.at(0).x,i.points.at(0).y];if(!e)return;const[l,d]=vc(e[0],t[0],a[0],e[1],t[1],a[1]),[c,u]=vc(e[0],t[0],s[0],e[1],t[1],s[1]),p=[o.points.at(-1).x,o.points.at(-1).y],h=[i.points.at(-1).x,i.points.at(-1).y],g=[r.points.at(-1).x,r.points.at(-1).y];if(!n)return;const[f,m]=vc(p[0],g[0],n[0],p[1],g[1],n[1]),[y,b]=vc(h[0],g[0],n[0],h[1],g[1],n[1]);return{mA:[l,d],mB:[c,u],endA:[f,m],endB:[y,b]}},vc=(e,t,n,r,o,i)=>{const[a,s]=[e+n,r+i],[l,d]=[a-t,s-o];return[l,d]},wc=(e("as",((e,t)=>{const{type:n,parallelIndex:r}=t.attributes;if(n===Cd.Simple||r<0)return{normal:[t],parallel:[]};const{source:o,target:i}=t,a=[],s=[];for(const l of e.edgeEntries(o,i)){const{type:e,parallelIndex:t}=l.attributes;if(e===Cd.Simple||t<0){a.push(l);continue}const{startFrom:n}=l.attributes[e];wc(e,o,n,l)&&s.push(l)}return{normal:a,parallel:s}})),e("at",(e=>{let t=e.at(0);if(!t)return{};for(const h of e)h.attributes.parallelIndex{let i=!1;if(e===Cd.Diagonal)(Math.abs(r-t)t&&o>n)||Math.abs(r-t)>Math.abs(o-n)&&(r>t&&on))&&(i=!0);else if(e===Cd.Perpendicular)(r>t&&on)&&(i=!0);else if(e===Cd.RotatePerpendicular){const[e,a,s,l]=[t*Math.SQRT1_2+n*Math.SQRT1_2,-t*Math.SQRT1_2+n*Math.SQRT1_2,r*Math.SQRT1_2+o*Math.SQRT1_2,-r*Math.SQRT1_2+o*Math.SQRT1_2];(s>e&&la)&&(i=!0)}return i})(n,i,a,s,l),u={};for(const h of e){var p;const e=h.attributes.parallelIndex>0?h.attributes.parallelIndex:0;if(0===e){u[h.edge]=d;continue}const t=5*e,r=[`M ${i} ${a+t} L ${s} ${l+t}`,`M ${i} ${a-t} L ${s} ${l-t}`],[o,g]=null!==(p=pc(d,n,t))&&void 0!==p?p:r;u[h.edge]=c?o:g}return u})),(e,t,n,r)=>{const o=r.attributes.type;return e===r.attributes.type&&t===r.source&&n===r.attributes[o].startFrom||e===r.attributes.type&&t===r.target&&n!==r.attributes[o].startFrom}),xc=(e("m",((e,t,n,r,o)=>{if(t===Cd.Simple)return-1;const i=[];for(const s of e.edgeEntries(n,r))wc(t,n,o,s)&&i.push(s.attributes.parallelIndex);i.sort();let a=0;for(const s of i){if(s>a)break;a=s+1}return a})),e("ar",((e,t,n)=>{if(t===Cd.Simple)return n;const r=e.getEdgeAttribute(n,"parallelIndex");if(r<0)return n;const{startFrom:o}=e.getEdgeAttribute(n,t),[i,a]=e.extremities(n);let s=r,l=n;for(const d of e.edgeEntries(i,a)){const e=d.attributes;(t===e.type&&i===d.source&&e[t].startFrom===o&&e.parallelIndex>=0&&e.parallelIndex=0&&e.parallelIndex{e.telemetry.app=t.payload},setTelemetryProject:(e,t)=>{e.telemetry.project=t.payload},setUnlockSimplePath:(e,t)=>{e.preference.unlockSimplePathAttempts=t.payload},setToolsPanelExpansion:(e,t)=>{e.preference.toolsPanel.expand=t.payload},setAutoParallel:(e,t)=>{e.preference.autoParallel=t.payload},setRandomStationsNames:(e,t)=>{e.preference.randomStationsNames=t.payload}}}),{setTelemetryApp:Rc,setTelemetryProject:_c,setUnlockSimplePath:Tc,setToolsPanelExpansion:Cc,setAutoParallel:jc,setRandomStationsNames:Lc}=Nc.actions;e({aa:_c,X:Tc,aQ:Cc,a2:jc,ab:Lc});const Ac=Nc.reducer,Oc={present:(new Ao).export(),past:[],future:[],svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}},Ec=e("am",De("undo")),Mc=e("an",De("redo")),Pc=Ie({name:"param",initialState:Oc,reducers:{setFullState:(e,t)=>structuredClone(t.payload),saveGraph:(e,t)=>{e.future=[],e.past.push(e.present),e.past.length>49&&e.past.shift(),e.present=structuredClone(t.payload)},setSvgViewBoxZoom:(e,t)=>{e.svgViewBoxZoom=t.payload},setSvgViewBoxMin:(e,t)=>{e.svgViewBoxMin=t.payload}},extraReducers:e=>{e.addCase(Ec,(e=>{if(0===e.past.length)return;const t=e.past.pop();e.future.unshift(e.present),e.present=t,window.graph.clear(),window.graph.import(structuredClone(Be(t)))})).addCase(Mc,(e=>{if(0===e.future.length)return;const t=e.future.shift();e.past.push(e.present),e.present=t,window.graph.clear(),window.graph.import(structuredClone(Be(t)))}))}}),{setFullState:Ic,saveGraph:$c,setSvgViewBoxZoom:zc,setSvgViewBoxMin:Bc}=Pc.actions;e({v:$c,z:zc,A:Bc});const Dc=Pc.reducer,Gc={selected:new Set,active:void 0,refresh:{nodes:Date.now(),edges:Date.now()},mode:"free",lastTool:void 0,keepLastPath:!1,theme:[ad.Shanghai,"sh1","#E3002B",gd.white],paletteAppClip:{input:void 0,output:void 0},masterNodesCount:0,parallelLinesCount:0,stationNames:{},globalAlerts:{}},Fc=e("q",Ge("runtime/refreshNodes",(async(e,{getState:t,dispatch:n})=>{const r=t();n(Zc());let o=0;window.graph.forEachNode(((e,t)=>{t.type===Ed.Master&&(o+=1)})),n(Vc(o));const i=r.account.activeSubscriptions.RMP_CLOUD?1/0:Od;o>i&&n(su({status:"warning",message:`${Dd.t("header.settings.proLimitExceed.master")} ${Dd.t("header.settings.proLimitExceed.solution")}`}))}))),Wc=e("t",Ge("runtime/refreshEdges",(async(e,{getState:t,dispatch:n})=>{const r=t();n(Xc());const o=(e=>{let t=0;for(const n of e.edgeEntries())n.attributes.parallelIndex>=0&&(t+=1);return t})(window.graph);n(Hc(o));const i=r.account.activeSubscriptions.RMP_CLOUD?kc:Sc;o>=i&&n(jc(!1)),o>i&&n(su({status:"warning",message:`${Dd.t("header.settings.proLimitExceed.parallel")} ${Dd.t("header.settings.proLimitExceed.solution")}`}))}))),Uc=Ie({name:"runtime",initialState:Gc,reducers:{setSelected:(e,t)=>{e.selected=t.payload},addSelected:(e,t)=>{e.selected.add(t.payload)},removeSelected:(e,t)=>{e.selected.delete(t.payload)},clearSelected:e=>{e.selected=new Set},setActive:(e,t)=>{e.active=t.payload},setRefreshNodes:e=>{e.refresh.nodes=Date.now()},setRefreshEdges:e=>{e.refresh.edges=Date.now()},setMode:(e,t)=>{"free"!==e.mode&&(e.lastTool=e.mode),e.mode=t.payload},setKeepLastPath:(e,t)=>{e.keepLastPath=t.payload},setTheme:(e,t)=>{e.theme=t.payload},openPaletteAppClip:(e,t)=>{e.paletteAppClip.input=t.payload,e.paletteAppClip.output=void 0},closePaletteAppClip:e=>{e.paletteAppClip.input=void 0},onPaletteAppClipEmit:(e,t)=>{e.paletteAppClip.input=void 0,e.paletteAppClip.output=t.payload},setMasterNodesCount:(e,t)=>{e.masterNodesCount=t.payload},setParallelLinesCount:(e,t)=>{e.parallelLinesCount=t.payload},setStationNames:(e,t)=>{e.stationNames[t.payload.cityName]=t.payload.names},setGlobalAlert:(e,t)=>{const{status:n,message:r,url:o,linkedApp:i}=t.payload;e.globalAlerts[n]={message:r,url:o,linkedApp:i}},closeGlobalAlert:(e,t)=>{delete e.globalAlerts[t.payload]}},extraReducers:e=>{e.addCase(Ec,(e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()})).addCase(Mc,(e=>{e.refresh.nodes=Date.now(),e.refresh.edges=Date.now()}))}}),{setMasterNodesCount:Vc,setParallelLinesCount:Hc}=Uc.actions,{setSelected:Jc,addSelected:qc,removeSelected:Kc,clearSelected:Yc,setActive:Qc,setRefreshNodes:Zc,setRefreshEdges:Xc,setMode:eu,setKeepLastPath:tu,setTheme:nu,openPaletteAppClip:ru,closePaletteAppClip:ou,onPaletteAppClipEmit:iu,setStationNames:au,setGlobalAlert:su,closeGlobalAlert:lu}=Uc.actions;e({T:Jc,aA:qc,az:Kc,y:Yc,ay:Qc,aw:eu,a1:tu,aM:nu,W:ru,ap:au,j:su,ao:lu});const du=Uc.reducer,cu=(e,t,n)=>0===t?e:function(e,t,n){function r(e,t,n){var r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i);return o(e,t,Math.min(1,n/a))}function o(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function i(e,t){e.length>2&&(e[e.length-2]=t.x,e[e.length-1]=t.y)}function a(e){return{x:parseFloat(e[e.length-2]),y:parseFloat(e[e.length-1])}}var s=e.split(/[,\s]/).reduce((function(e,t){var n=t.match("([a-zA-Z])(.+)");return n?(e.push(n[1]),e.push(n[2])):e.push(t),e}),[]),l=s.reduce((function(e,t){return parseFloat(t)==t&&e.length?e[e.length-1].push(t):e.push([t]),e}),[]),d=[];if(l.length>1){var c=a(l[0]),u=null;"Z"==l[l.length-1][0]&&l[0].length>2&&(u=["L",c.x,c.y],l[l.length-1]=u),d.push(l[0]);for(var p=1;p2&&"L"==g[0]&&f.length>2&&"L"==f[0]){var m,y,b=a(h),v=a(g),w=a(f);m=r(v,b,t),y=r(v,w,t),i(g,m),g.origPoint=v,d.push(g);var x=o(m,v,.5),S=o(v,y,.5),k=["C",x.x,x.y,S.x,S.y,y.x,y.y];k.origPoint=v,d.push(k)}else d.push(g)}if(u){var N=a(d[d.length-1]);d.push(["Z"]),i(d[0],N)}}else d=l;return d.reduce((function(e,t){return e+t.join(" ")+" "}),"")}(e,t),uu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:10},pu={generatePath:(e,t,n,r,o=uu)=>{const{startFrom:i=uu.startFrom,offsetFrom:a=uu.offsetFrom,offsetTo:s=uu.offsetTo,roundCornerFactor:l=uu.roundCornerFactor}=o,[d,c,u,p]="from"===i?[e,n,t,r]:[t,r,e,n],h=Math.abs(u-d)0?-1:1):w,R="horizontal"===h?x:k+Math.abs(S-w)*(k-x>0?-1:1),[_,T,C,j]="from"===i?[w,x,S,k]:[S,k,w,x];return cu(`M ${_} ${T} L ${N} ${R} L ${C} ${j}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M9,18V12L15,6",stroke:"currentColor",fill:"none"})}),defaultAttrs:uu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.Diagonal,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:uu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:uu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:uu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.diagonal.displayName"}},hu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},gu={generatePath:(e,t,n,r,o=hu)=>{const{startFrom:i=hu.startFrom,offsetFrom:a=hu.offsetFrom,offsetTo:s=hu.offsetTo,roundCornerFactor:l=hu.roundCornerFactor}=o,[d,c]="from"===i?[a,s]:[s,a],[u,p,h,g]="from"===i?[0,d,c,0]:[d,0,0,c];return cu(`M ${e+u} ${n+p} L ${"from"===i?t+h:e+u} ${"from"===i?n+p:r+g} L ${t+h} ${r+g}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M6,6H18V18",stroke:"currentColor",fill:"none"})}),defaultAttrs:hu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.Perpendicular,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:hu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:hu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:hu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.perpendicular.displayName"}},fu={startFrom:"from",offsetFrom:0,offsetTo:0,roundCornerFactor:18.33},mu={generatePath:(e,t,n,r,o=fu)=>{const{startFrom:i=fu.startFrom,offsetFrom:a=fu.offsetFrom,offsetTo:s=fu.offsetTo,roundCornerFactor:l=fu.roundCornerFactor}=o,[d,c]="from"===i?[a,s]:[s,a],[u,p,h,g]="from"===i?[0,d,c,0]:[d,0,0,c],[f,m,y,b]=[e*Math.SQRT1_2+n*Math.SQRT1_2,-e*Math.SQRT1_2+n*Math.SQRT1_2,t*Math.SQRT1_2+r*Math.SQRT1_2,-t*Math.SQRT1_2+r*Math.SQRT1_2],[v,w,x,S]=[f+u,m+p,y+h,b+g],[k,N,R,_]=[v*Math.SQRT1_2-w*Math.SQRT1_2,v*Math.SQRT1_2+w*Math.SQRT1_2,x*Math.SQRT1_2-S*Math.SQRT1_2,x*Math.SQRT1_2+S*Math.SQRT1_2],T="from"===i?y+h:f+u,C="from"===i?m+p:b+g,[j,L]=[T*Math.SQRT1_2-C*Math.SQRT1_2,T*Math.SQRT1_2+C*Math.SQRT1_2];return cu(`M ${k} ${N} L ${j} ${L} L ${R} ${_}`,l)},icon:i.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:i.jsx("path",{d:"M9,6L15,12L9,18",stroke:"currentColor",fill:"none"})}),defaultAttrs:fu,attrsComponent:e=>{var t,n,r;const{id:o,attrs:a,handleAttrsUpdate:s,recalculateParallelIndex:l,parallelIndex:d}=e,{t:c}=$e(),u=Pp(),p=xc(window.graph,Cd.RotatePerpendicular,o),h=d>=0&&p!==o,g=[{type:"select",label:c("panel.details.lines.common.startFrom"),value:a.startFrom,options:{from:c("panel.details.lines.common.from"),to:c("panel.details.lines.common.to")},onChange:e=>{l(o,e),a.startFrom=e,s(o,a)},minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetFrom"),value:(null!==(t=a.offsetFrom)&&void 0!==t?t:fu.offsetFrom).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetFrom=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.offsetTo"),value:(null!==(n=a.offsetTo)&&void 0!==n?n:fu.offsetTo).toString(),variant:"number",onChange:e=>{Number.isNaN(e)&&(e="0"),a.offsetTo=Number(e),s(o,a)},isDisabled:h,minW:"full"},{type:"input",label:c("panel.details.lines.common.roundCornerFactor"),value:(null!==(r=null==a?void 0:a.roundCornerFactor)&&void 0!==r?r:fu.roundCornerFactor).toString(),variant:"number",onChange:e=>{(Number.isNaN(e)||Number(e)<0)&&(e="0"),a.roundCornerFactor=Number(e),s(o,a)},isDisabled:h,minW:"full"}];return h&&g.unshift({type:"custom",label:c("panel.details.lines.common.parallelDisabled"),component:i.jsxs(J,{size:"sm",variant:"link",onClick:()=>u(Jc(new Set([p]))),children:[c("panel.details.lines.common.changeInBaseLine")," ",p]})}),i.jsx(El,{fields:g})},metadata:{displayName:"panel.details.lines.rotatePerpendicular.displayName"}};var yu=e("S",(e=>(e.ShmetroBasic="shmetro-basic",e.ShmetroBasic2020="shmetro-basic-2020",e.ShmetroInt="shmetro-int",e.ShmetroOutOfSystemInt="shmetro-osysi",e.ShanghaiSuburbanRailway="sh-sub-rwy",e.GzmtrBasic="gzmtr-basic",e.GzmtrInt="gzmtr-int",e.GzmtrInt2024="gzmtr-int-2024",e.BjsubwayBasic="bjsubway-basic",e.BjsubwayInt="bjsubway-int",e.MTR="mtr",e.SuzhouRTBasic="suzhourt-basic",e.SuzhouRTInt="suzhourt-int",e.KunmingRTBasic="kunmingrt-basic",e.KunmingRTInt="kunmingrt-int",e.MRTBasic="mrt-basic",e.MRTInt="mrt-int",e.JREastBasic="jr-east-basic",e.JREastImportant="jr-east-imp",e.FoshanMetroBasic="foshan-metro-basic",e.QingdaoMetroStation="qingdao-metro-basic",e.TokyoMetroBasic="tokyo-metro-basic",e.TokyoMetroInt="tokyo-metro-int",e.LondonTubeBasic="london-tube-basic",e.LondonTubeInt="london-tube-int",e.LondonRiverServicesInt="london-river-int",e.GuangdongIntercityRailway="gd-intercity-rwy",e))(yu||{}));e("aL",["shmetro-basic-2020","gzmtr-basic","suzhourt-basic","kunmingrt-basic","mrt-basic","foshan-metro-basic","qingdao-metro-basic"]),e("aX",{names:["车站","Stn"]});class bu{static hexToRgb(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}static fade(e,t){return`rgba(${[...this.hexToRgb(e),t].join(",")})`}static euclideanDistance(e,t){return this.hexToRgb(e).reduce(((e,n,r)=>e+Math.pow(n-this.hexToRgb(t)[r],2)),0)}}function vu(e){return Ae({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(e)}function wu(e){return Ae({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(e)}function xu(e){const{theme:t,onClick:n}=e,{t:r}=$e();return i.jsx(be,{"aria-label":r("Color"),color:t[3],bg:t[2],size:"md",_hover:{bg:bu.fade(t[2],.7)},icon:i.jsx(vu,{}),onClick:n})}const Su=e("aS",(e=>{var t;const{type:n,colorKey:r="color",defaultTheme:o}=e,a=Pp(),{selected:s,paletteAppClip:{output:l}}=Ip((e=>e.runtime)),[d]=s,c=Pe.useCallback((()=>{a(Fc()),a(Wc()),a($c(u.current.export()))}),[a,Fc,Wc,$c]),u=Pe.useRef(window.graph),[p,h,g]=[].concat(Object.values(yu)).concat(Object.values(Ed)).find((e=>n===e))?[u.current.hasNode,u.current.getNodeAttribute,u.current.mergeNodeAttributes]:[u.current.hasEdge,u.current.getEdgeAttribute,u.current.mergeEdgeAttributes],[f,m]=Pe.useState(!1);Pe.useEffect((()=>{f&&l&&((e=>{if(d&&p.bind(u.current)(d)){const t=h.bind(u.current)(d,n);t[r]=e,g.bind(u.current)(d,{[n]:t}),c()}})(l),m(!1))}),[null==l?void 0:l.toString()]);const y=d&&p.bind(u.current)(d)&&(d.startsWith("stn")||d.startsWith("misc_node")?u.current.getNodeAttribute(d,"type")===n:u.current.getEdgeAttribute(d,"style")===n)?(null!==(t=h.bind(u.current)(d,n))&&void 0!==t?t:{[r]:o})[r]:o;return i.jsx(i.Fragment,{children:i.jsx(xu,{theme:y,onClick:()=>{m(!0),a(ru(y))}})})})),ku={color:[ad.Shanghai,"sh1","#E4002B",gd.white]},Nu=e("aC",{component:e=>{const{id:t,path:n,styleAttrs:r,newLine:o,handlePointerDown:a}=e,{color:s=ku.color}=null!=r?r:ku,l=Pe.useCallback((e=>a(t,e)),[t,a]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:s[2],strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o?void 0:l,pointerEvents:o?"none":void 0})},defaultAttrs:ku,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.SingleColor,defaultTheme:ku.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.singleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}}),Ru={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsxs("g",{id:t,onPointerDown:o,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"7",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"4.33",strokeLinecap:"round"})]})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.shmetroVirtualInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},_u={isEnd:!1},Tu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:t,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{isEnd:a=_u.isEnd}=r,s=Pe.useCallback((e=>o(t,e)),[t,o]),l=a?"round":void 0;return i.jsx("g",{id:`${t}.pre`,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"#898989",strokeWidth:"5",strokeLinecap:l})})},defaultAttrs:_u,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:r}=e,{t:o}=$e(),a=[{type:"switch",label:o("panel.details.lines.shanghaiSuburbanRailway.isEnd"),isChecked:n.isEnd,onChange:e=>{n.isEnd=e,r(t,n)},oneLine:!0,minW:"full"}];return i.jsx(El,{fields:a})},metadata:{displayName:"panel.details.lines.shanghaiSuburbanRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Cu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"#565656",strokeWidth:"3",strokeDasharray:"3",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>null,metadata:{displayName:"panel.details.lines.gzmtrVirtualInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},ju={color:[ad.Guangzhou,"gz11","#ffb00a",gd.black]},Lu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=ju.color}=null!=r?r:ju,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:11.467170000000001}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:9.96138})]})},defaultAttrs:ju,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.GZMTRLoop,defaultTheme:ju.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.gzmtrLoop.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Au={color:[ad.Shanghai,"jsr","#000000",gd.white]},Ou={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Au.color}=null!=r?r:Au,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"4.67",strokeDasharray:"17.5"})]})},defaultAttrs:Au,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.ChinaRailway,defaultTheme:Au.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.chinaRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Eu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},Mu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Eu.color}=null!=r?r:Eu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"6",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"})]})},defaultAttrs:Eu,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwaySingleColor,defaultTheme:Eu.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.bjsubwaySingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Pu=e("aR",(e=>{const{t:t}=$e(),n=Pp(),{selected:r}=Ip((e=>e.runtime)),[o]=r,a=Pe.useRef(window.graph),s=[];if(1===r.size&&a.current.hasNode(o)){const r=a.current.getNodeAttribute(o,"type"),i=a.current.getNodeAttribute(o,r);s.push(...e.fields.filter((e=>"custom"!==e.type)).map((e=>{var s,l,d;return{type:e.type,label:t(e.label),value:null===(s=e.value)||void 0===s?void 0:s.call(e,i),isChecked:null===(l=e.isChecked)||void 0===l?void 0:l.call(e,i),hidden:null===(d=e.hidden)||void 0===d?void 0:d.call(e,i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,oneLine:e.oneLine,onChange:s=>{let l;try{l=e.onChange(s,i)}catch(d){return void n(su({status:"error",message:t(`err-code.${d}`)}))}a.current.mergeNodeAttributes(o,{[r]:l}),n(Fc()),n($c(a.current.export()))}}})),...e.fields.filter((e=>"custom"===e.type)).map((e=>({...e,label:t(e.label)}))))}if(1===r.size&&a.current.hasEdge(o)&&"style"!==e.type){const r=a.current.getEdgeAttribute(o,"type"),i=a.current.getEdgeAttribute(o,r);s.push(...e.fields.map((e=>({type:e.type,label:t(e.label),value:e.value(i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,onChange:t=>{a.current.mergeEdgeAttributes(o,{[r]:e.onChange(t,i)}),n(Wc()),n($c(a.current.export()))}}))))}if(1===r.size&&a.current.hasEdge(o)&&"style"===e.type){const r=a.current.getEdgeAttribute(o,"style"),i=a.current.getEdgeAttribute(o,r);s.push(...e.fields.filter((e=>"custom"!==e.type)).map((e=>({type:e.type,label:t(e.label),value:e.value(i),options:e.options,disabledOptions:e.disabledOptions&&e.disabledOptions(i),validator:e.validator,onChange:t=>{a.current.mergeEdgeAttributes(o,{[r]:e.onChange(t,i)}),n(Wc()),n($c(a.current.export()))}}))),...e.fields.filter((e=>"custom"===e.type)).map((e=>({...e,label:t(e.label)}))))}return i.jsx(El,{fields:s,minW:276})})),Iu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},$u=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwayTram,defaultTheme:Iu.color})}],zu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Iu.color}=null!=r?r:Iu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"1.67"})]})},defaultAttrs:Iu,attrsComponent:()=>i.jsx(Pu,{fields:$u,type:"style"}),metadata:{displayName:"panel.details.lines.bjsubwayTram.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Bu={colorA:[ad.Shanghai,"maglevA","#008B9A",gd.white],colorB:[ad.Shanghai,"maglevB","#F5A74E",gd.white]},Du=()=>{const{t:e}=$e(),t=Pp(),{selected:n}=Ip((e=>e.runtime)),[r]=n,o=Pe.useRef(window.graph);return i.jsx(be,{"aria-label":e("panel.details.lines.dualColor.swap"),icon:i.jsx(wu,{}),size:"sm",onClick:()=>{var e;const n=null!==(e=o.current.getEdgeAttribute(r,jd.DualColor))&&void 0!==e?e:Bu,i=n.colorA;n.colorA=n.colorB,n.colorB=i,o.current.mergeEdgeAttributes(r,{[jd.DualColor]:n}),t(Wc()),t($c(o.current.export()))}})},Gu={component:e=>{const{id:t,type:n,path:r,styleAttrs:o,handlePointerDown:a}=e,{colorA:s=Bu.colorA,colorB:l=Bu.colorB}=null!=o?o:Bu,d=Pe.useCallback((e=>a(t,e)),[t,a]),[c,u]=Pe.useState(r),[p,h]=Pe.useState(r);return Pe.useEffect((()=>{const e=pc(r,n,-1.25,1.25);e&&(u(e[0]),h(e[1]))}),[r]),i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:c,fill:"none",stroke:s[2],strokeWidth:"2.5",strokeLinecap:"round"}),i.jsx("path",{d:p,fill:"none",stroke:l[2],strokeWidth:"2.5",strokeLinecap:"round"})]})},defaultAttrs:Bu,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("panel.details.lines.dualColor.swap"),component:i.jsx(Du,{})},{type:"custom",label:t("panel.details.lines.dualColor.colorA"),component:i.jsx(Su,{type:jd.DualColor,colorKey:"colorA",defaultTheme:Bu.colorA})},{type:"custom",label:t("panel.details.lines.dualColor.colorB"),component:i.jsx(Su,{type:jd.DualColor,colorKey:"colorB",defaultTheme:Bu.colorB})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.dualColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Fu={color:[ad.Shanghai,"river","#B9E3F9",gd.white],width:20},Wu=[{type:"input",label:"panel.details.lines.river.width",variant:"number",value:e=>(null!=e?e:Fu).width,onChange:(e,t)=>{const n=null!=t?t:Fu;return n.width=Number(e),n}}],Uu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Fu.color,width:s=Fu.width}=null!=r?r:Fu,l=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:s,strokeLinecap:"round",cursor:"pointer",onPointerDown:l})},defaultAttrs:Fu,attrsComponent:()=>i.jsx(Pu,{fields:Wu,type:"style"}),metadata:{displayName:"panel.details.lines.river.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Vu={color:[ad.Hongkong,"twl","#E2231A",gd.white]},Hu=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MTRRaceDays,defaultTheme:Vu.color})}],Ju={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Vu.color}=null!=r?r:Vu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"butt",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:s})},defaultAttrs:Vu,attrsComponent:()=>i.jsx(Pu,{fields:Hu,type:"style"}),metadata:{displayName:"panel.details.lines.mtrRaceDays.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},qu={color:[ad.Hongkong,"lrl","#CD9700",gd.white]},Ku=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MTRLightRail,defaultTheme:qu.color})}],Yu={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=qu.color}=null!=r?r:qu,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"2.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:qu,attrsComponent:()=>i.jsx(Pu,{fields:Ku,type:"style"}),metadata:{displayName:"panel.details.lines.mtrLightRail.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Qu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"1.33",strokeDasharray:"2.66 1.33",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.mtrUnpaidArea.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Zu={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"1.5",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>i.jsx(Pu,{fields:[],type:"style"}),metadata:{displayName:"panel.details.lines.mtrPaidArea.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular,Cd.Simple]}},Xu={color:[ad.Beijing,"bj1","#c23a30",gd.white]},ep={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Xu.color}=null!=r?r:Xu,s=Pe.useCallback((e=>o(t,e)),[t,o]),l=de("white","var(--chakra-colors-gray-800)");return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"2 2"}),i.jsx("path",{d:n,fill:"none",stroke:l,strokeWidth:"3.4"})]})},defaultAttrs:Xu,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.BjsubwayDotted,defaultTheme:Xu.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.bjsubwayDotted.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},tp={color:[ad.Singapore,"ewl","#009739",gd.white]},np={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=tp.color}=null!=r?r:tp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeDasharray:"0 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:tp,attrsComponent:e=>{$e();const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.MRTUnderConstruction,defaultTheme:tp.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.mrtUnderConstruction.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},rp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"0 10 10 10",strokeLinecap:"round",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:e=>null,metadata:{displayName:"panel.details.lines.mrtSentosaExpress.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},op={color:[ad.Tokyo,"jy","#9ACD32",gd.black]},ip={component:e=>{const{id:t,path:n,styleAttrs:r,newLine:o,handlePointerDown:a}=e,{color:s=op.color}=null!=r?r:op,l=Pe.useCallback((e=>a(t,e)),[t,a]);return i.jsxs("g",{id:t,onPointerDown:l,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"5.1"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"4.9"})]})},defaultAttrs:op,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.JREastSingleColor,defaultTheme:op.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.jrEastSingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},ap=5*Math.SQRT1_2,sp=.25,lp=(ap*Math.SQRT2-sp)/2*Math.SQRT2,dp={color:[ad.Tokyo,"jy","#9ACD32",gd.black]},cp={component:e=>{const{id:t,type:n,path:r,styleAttrs:o,newLine:a,handlePointerDown:s}=e,{color:l=dp.color}=null!=o?o:dp,d=Pe.useCallback((e=>s(t,e)),[t,s]),[c,u]=Pe.useState({outline:r,pA:r,pB:r});return Pe.useEffect((()=>{const e=((e,t,n,r)=>{var o;r=null!==(o=r)&&void 0!==o?o:2.5;const[i,a]=hc(e);if(!i||!a)return;if(i[0]===a[0]||i[1]===a[1]||t===Cd.Diagonal&&Math.abs(i[1]-a[1])===Math.abs(i[0]-a[0])){const e=Math.abs(n),[t,r]=gc(i,a,e);return{outline:fc(i,a,e),pA:t,pB:r}}const[s,l]=mc(e);if(!s||!l)return;const d=new uc([...s,...l]),[c,u]=[d.scale(n),d.scale(r)],p=bc(i,s,a,d,c,u);if(!p)return;const{mA:[h,g],mB:[f,m],endA:[y,b],endB:[v,w]}=p,[x,S]=mc(u.toSVG().replace("M","L")),[k,N]=yc(x,S);return{outline:`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b} L ${v} ${w} L ${k.join(" ")} C ${N.join(" ")} L ${f} ${m} Z`,pA:`M ${h} ${g} ${c.toSVG().replace("M","L")} L ${y} ${b}`,pB:`M ${f} ${m} ${u.toSVG().replace("M","L")} L ${v} ${w}`}})(r,n,-2.5,2.5);e&&u(e)}),[r]),i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsxs("defs",{children:[i.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[i.jsx("polygon",{points:`0,0 0,${lp} ${lp},0`}),i.jsx("polygon",{points:`${ap},${ap} ${ap-lp},${ap} ${ap},${ap-lp}`})]}),i.jsxs("pattern",{id:`jr_east_${t}_fill_pattern_${l[2]}`,width:ap,height:ap,patternUnits:"userSpaceOnUse",children:[i.jsx("rect",{width:ap,height:ap,fill:l[2]}),i.jsx("line",{x1:"0",y1:"0",x2:ap,y2:ap,stroke:"white",strokeWidth:sp,strokeOpacity:"50%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),i.jsx("line",{x1:ap,y1:"0",x2:"0",y2:ap,stroke:"white",strokeWidth:sp,strokeOpacity:"50%"})]})]}),i.jsx("path",{d:c.outline,fill:`url(#jr_east_${t}_fill_pattern_${l[2]})`}),i.jsx("path",{d:c.pA,fill:"none",stroke:"black",strokeWidth:"0.1"}),i.jsx("path",{d:c.pB,fill:"none",stroke:"black",strokeWidth:"0.1"})]})},defaultAttrs:dp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.JREastSingleColorPattern,defaultTheme:dp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.jrEastSingleColorPattern.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},up={color:[ad.Singapore,"lrt","#708573",gd.white]},pp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=up.color}=null!=r?r:up,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"2.157",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},defaultAttrs:up,attrsComponent:e=>{const t=[{type:"custom",label:"color",component:i.jsx(Su,{type:jd.LRTSingleColor,defaultTheme:up.color})}];return i.jsx(El,{fields:t})},metadata:{displayName:"panel.details.lines.lrtSingleColor.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},hp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:t,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("g",{id:`${t}.pre`,onPointerDown:o,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"7.5",strokeLinecap:"round"})})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.londonTubeInternalInt.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},gp={component:e=>{const{id:t,path:n,handlePointerDown:r}=e,o=Pe.useCallback((e=>r(t,e)),[t,r]);return i.jsx("path",{d:n,fill:"none",stroke:"black",strokeWidth:"5",strokeDasharray:"5 2.5",cursor:"pointer",onPointerDown:o})},defaultAttrs:{},attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.londonTube10MinWalk.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},fp={color:[ad.London,"central","#DC241F",gd.white]},mp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=fp.color}=null!=r?r:fp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("path",{id:t,d:n,fill:"none",stroke:a[2],strokeWidth:"5",cursor:"pointer",onPointerDown:s})},defaultAttrs:fp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonTubeTerminal,defaultTheme:fp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonTubeTerminal.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},yp={colorBackground:[ad.London,"thameslink","#d28db0",gd.white],colorForeground:[ad.London,"white","#ffffff",gd.black],limitedService:!1},bp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{colorBackground:a=yp.colorBackground,colorForeground:s=yp.colorForeground,limitedService:l=yp.limitedService}=null!=r?r:yp,d=Pe.useCallback((e=>o(t,e)),[t,o]);return l?i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"4.25",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"2",strokeDasharray:"7 3"})]}):i.jsxs("g",{id:t,onPointerDown:d,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:s[2],strokeWidth:"2",strokeDasharray:"7 3"})]})},defaultAttrs:yp,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:r}=e,{t:o}=$e(),a=[{type:"switch",label:o("panel.details.lines.londonRail.limitedService"),oneLine:!0,isChecked:n.limitedService,onChange:e=>{n.limitedService=e,r(t,n)},minW:"full"},{type:"custom",label:o("panel.details.lines.londonRail.colorBackground"),component:i.jsx(Su,{type:jd.LondonRail,colorKey:"colorBackground",defaultTheme:yp.colorBackground})},{type:"custom",label:o("panel.details.lines.londonRail.colorForeground"),component:i.jsx(Su,{type:jd.LondonRail,colorKey:"colorForeground",defaultTheme:yp.colorForeground})}];return i.jsx(El,{fields:a})},metadata:{displayName:"panel.details.lines.londonRail.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},vp={color:[ad.London,"elizabeth","#9364cc",gd.white]},wp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=vp.color}=null!=r?r:vp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("g",{id:t,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"1.67",strokeLinecap:"round"})})},preComponent:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=vp.color}=null!=r?r:vp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsx("g",{id:`${t}.pre`,onPointerDown:s,cursor:"pointer",children:i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"})})},defaultAttrs:vp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonSandwich,defaultTheme:vp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonSandwich.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},xp={color:[ad.London,"rail","#d6ae00",gd.white]},Sp={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=xp.color}=null!=r?r:xp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"0.001 6"})]})},defaultAttrs:xp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonLutonAirportDART,defaultTheme:xp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonLutonAirportDART.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},kp={color:[ad.London,"dangleway","#dc241f",gd.white]},Np={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=kp.color}=null!=r?r:kp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5"}),i.jsx("path",{d:n,fill:"none",stroke:"white",strokeWidth:"3"}),i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"1"})]})},defaultAttrs:kp,attrsComponent:e=>{const{t:t}=$e(),n=[{type:"custom",label:t("color"),component:i.jsx(Su,{type:jd.LondonIFSCloudCableCar,defaultTheme:kp.color})}];return i.jsx(El,{fields:n})},metadata:{displayName:"panel.details.lines.londonIFSCloudCableCar.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Rp={color:[ad.Guangzhou,"ir","#2559a8",gd.white]},_p={component:e=>{const{id:t,path:n,styleAttrs:r,handlePointerDown:o}=e,{color:a=Rp.color}=null!=r?r:Rp,s=Pe.useCallback((e=>o(t,e)),[t,o]);return i.jsxs("g",{id:t,onPointerDown:s,cursor:"pointer",children:[i.jsx("path",{d:n,fill:"none",stroke:a[2],strokeWidth:"5",strokeLinecap:"round"}),i.jsx("path",{d:n,fill:"none",stroke:a[3],strokeWidth:"2.5",strokeDasharray:"7.5"})]})},defaultAttrs:Rp,attrsComponent:()=>{},metadata:{displayName:"panel.details.lines.guangdongIntercityRailway.displayName",supportLinePathType:[Cd.Diagonal,Cd.Perpendicular,Cd.RotatePerpendicular]}},Tp=e("l",{[Cd.Diagonal]:pu,[Cd.Perpendicular]:gu,[Cd.RotatePerpendicular]:mu,[Cd.Simple]:Ad}),Cp=e("au",{[jd.SingleColor]:Nu,[jd.ShmetroVirtualInt]:Ru,[jd.ShanghaiSuburbanRailway]:Tu,[jd.GzmtrVirtualInt]:Cu,[jd.GZMTRLoop]:Lu,[jd.ChinaRailway]:Ou,[jd.BjsubwaySingleColor]:Mu,[jd.BjsubwayTram]:zu,[jd.BjsubwayDotted]:ep,[jd.DualColor]:Gu,[jd.River]:Uu,[jd.MTRRaceDays]:Ju,[jd.MTRLightRail]:Yu,[jd.MTRUnpaidArea]:Qu,[jd.MTRPaidArea]:Zu,[jd.MRTUnderConstruction]:np,[jd.MRTSentosaExpress]:rp,[jd.JREastSingleColor]:ip,[jd.JREastSingleColorPattern]:cp,[jd.LRTSingleColor]:pp,[jd.LondonTubeTerminal]:mp,[jd.LondonTubeInternalInt]:hp,[jd.LondonTube10MinWalk]:gp,[jd.LondonRail]:bp,[jd.LondonSandwich]:wp,[jd.LondonLutonAirportDART]:Sp,[jd.LondonIFSCloudCableCar]:Np,[jd.GuangdongIntercityRailway]:_p}),jp=e("I",(async()=>JSON.stringify((await Io((async()=>{const{default:e}=await n.import("./tutorial-legacy-DHxnaVOs.js");return{default:e}}))).default))),Lp=e("x",(async e=>{let t=!1;e||(e=await jp(),t=!0);let n=JSON.parse(e);"version"in n&&Number.isInteger(n.version)||(n=JSON.parse(await jp()),t=!0);let r=Number(n.version),o=JSON.stringify(n);for(;r in Op;)o=Op[r](o),r=Number(JSON.parse(o).version),t=!0;return t&&(console.warn(`Upgrade save from version: ${n.version} to version: ${r}`),localStorage.setItem(id.PARAM_BACKUP,e)),o})),Ap=e("s",(e=>{const{present:t,past:n,future:r,...o}=e,i={...o,graph:t,version:43};return JSON.stringify(i)})),Op={0:e=>{var t;return JSON.stringify({version:1,graph:null===(t=JSON.parse(e))||void 0===t?void 0:t.graph,svgViewBoxZoom:100,svgViewBoxMin:{x:0,y:0}})},1:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type!==yu.GzmtrInt)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r&&"transfer"in r&&delete r.transfer,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:2,graph:n.export()})},2:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn"))).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);"middle"===(null==r?void 0:r.nameOffsetX)&&"middle"===(null==r?void 0:r.nameOffsetY)&&(r.nameOffsetX="right",r.nameOffsetY="top"),"up"===(null==r?void 0:r.nameOffsetY)&&(r.nameOffsetY="top"),n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:3,graph:n.export()})},3:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("line"))).forEach((e=>{const t=n.getEdgeAttribute(e,"color");n.removeEdgeAttribute(e,"color"),n.mergeEdgeAttributes(e,{style:jd.SingleColor,[jd.SingleColor]:{color:t}})})),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("misc_edge"))).forEach((e=>{const t=`line_${Td(10)}`,[r,o]=n.extremities(e),i=n.getEdgeAttribute(e,"type"),a=i;n.addDirectedEdgeWithKey(t,r,o,{visible:!0,zIndex:0,type:Cd.Simple,[i]:structuredClone(Tp[Cd.Simple].defaultAttrs),style:a,[a]:structuredClone(Cp[a].defaultAttrs),reconcileId:""}),n.dropEdge(e)})),JSON.stringify({...t,version:4,graph:n.export()})},4:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&(t.type===yu.GzmtrBasic||t.type===yu.GzmtrInt))).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.open=!0,r.secondaryNames=["",""],n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:5,graph:n.export()})},5:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t,n,r,o,i,a)=>e.startsWith("line")&&t.type===Cd.Simple)).forEach((e=>{var t;const r=null!==(t=n.getEdgeAttribute(e,Cd.Simple))&&void 0!==t?t:{offset:0};r.offset=0,n.mergeEdgeAttributes(e,{[Cd.Simple]:r})})),JSON.stringify({...t,version:6,graph:n.export()})},6:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrBasic)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.tram=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:7,graph:n.export()})},7:e=>JSON.stringify({...JSON.parse(e),version:8}),8:e=>JSON.stringify({...JSON.parse(e),version:9}),9:e=>JSON.stringify({...JSON.parse(e),version:10}),10:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.color=[ad.Shanghai,"jsr","#000000",gd.white],n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:11,graph:n.export()})},11:e=>JSON.stringify({...JSON.parse(e),version:12}),12:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.rotate=0,r.italic=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:13,graph:n.export()})},13:e=>JSON.stringify({...JSON.parse(e),version:14}),14:e=>JSON.stringify({...JSON.parse(e),version:15}),15:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Text)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.italic=r.italic?"italic":"normal",r.bold="normal",n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:16,graph:n.export()})},16:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Facilities)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);let o=0;switch(r.type){case"airport":case"maglev":case"disney":case"railway":o+=12.5;break;case"hsr":case"airport_hk":case"disney_hk":o+=9.5}n.updateNodeAttribute(e,"y",(e=>(null!=e?e:0)+o))})),JSON.stringify({...t,version:17,graph:n.export()})},17:e=>JSON.stringify({...JSON.parse(e),version:18}),18:e=>JSON.stringify({...JSON.parse(e),version:19}),19:e=>JSON.stringify({...JSON.parse(e),version:20}),20:e=>JSON.stringify({...JSON.parse(e),version:21}),21:e=>JSON.stringify({...JSON.parse(e),version:22}),22:e=>JSON.stringify({...JSON.parse(e),version:23}),23:e=>JSON.stringify({...JSON.parse(e),version:24}),24:e=>{const t=JSON.parse(e),n=new Ao;return n.import(t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt||e.startsWith("misc_node")&&t.type===Ed.GzmtrLineBadge)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.tram=!1,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:25,graph:n.export()})},25:e=>JSON.stringify({...JSON.parse(e),version:26}),26:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.GzmtrLineBadge)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.span=!0,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:27,graph:n.export()})},27:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);for(let n=0;nJSON.stringify({...JSON.parse(e),version:29}),29:e=>JSON.stringify({...JSON.parse(e),version:30}),30:e=>JSON.stringify({...JSON.parse(e),version:31}),31:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterEdges(((e,t)=>t.style===jd.ChinaRailway)).forEach((e=>{const t=n.getEdgeAttributes(e)[jd.ChinaRailway];n.mergeEdgeAttributes(e,{[jd.ChinaRailway]:{...t,color:[ad.Shanghai,"jsr","#000000",gd.white]}})})),JSON.stringify({...t,version:32,graph:n.export()})},32:e=>JSON.stringify({...JSON.parse(e),version:33}),33:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.forEachDirectedEdge((e=>{n.setEdgeAttribute(e,"parallelIndex",-1),n.updateEdgeAttribute(e,"zIndex",(e=>Math.max(-10,(null!=e?e:0)-5)))})),n.forEachNode((e=>{n.updateNodeAttribute(e,"zIndex",(e=>Math.min(10,(null!=e?e:0)+5)))})),JSON.stringify({...t,version:34,graph:n.export()})},34:e=>JSON.stringify({...JSON.parse(e),version:35}),35:e=>JSON.stringify({...JSON.parse(e),version:36}),36:e=>JSON.stringify({...JSON.parse(e),version:37}),37:e=>JSON.stringify({...JSON.parse(e),version:38}),38:e=>JSON.stringify({...JSON.parse(e),version:39}),39:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("misc_node")&&t.type===Ed.Facilities)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);"qingdao_airport"===r.type?r.type="airport_qingdao":"qingdao_coach_station"===r.type?r.type="coach_station_qingdao":"qingdao_cruise_terminal"===r.type?r.type="cruise_terminal_qingdao":"qingdao_railway"===r.type?r.type="railway_qingdao":"qingdao_tram"===r.type&&(r.type="tram_qingdao"),n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:40,graph:n.export()})},40:e=>JSON.stringify({...JSON.parse(e),version:41}),41:e=>{const t=JSON.parse(e),n=new Ao;n.import(null==t?void 0:t.graph);const r=e=>e.map((e=>e.replaceAll("\\","\n")));return n.forEachNode(((e,t)=>{const o=n.getNodeAttribute(e,"type");let i;(o===yu.BjsubwayBasic||o===yu.BjsubwayInt||o===yu.FoshanMetroBasic||o===yu.GuangdongIntercityRailway||o===yu.GzmtrBasic||o===yu.GzmtrInt||o===yu.JREastBasic||o===yu.JREastImportant||o===yu.KunmingRTBasic||o===yu.KunmingRTInt||o===yu.MRTBasic||o===yu.MRTInt||o===yu.MTR||o===yu.ShanghaiSuburbanRailway||o===yu.ShmetroBasic2020||o===yu.ShmetroBasic||o===yu.ShmetroInt||o===yu.ShmetroOutOfSystemInt||o===yu.SuzhouRTBasic||o===yu.SuzhouRTInt||o===yu.TokyoMetroBasic||o===yu.TokyoMetroInt)&&(i=r(t[o].names)),i&&(t[o].names=i,n.mergeNodeAttributes(e,t))})),JSON.stringify({...t,version:42,graph:n.export()})},42:e=>{const t=JSON.parse(e),n=new Ao;return n.import(null==t?void 0:t.graph),n.filterNodes(((e,t)=>e.startsWith("stn")&&t.type===yu.GzmtrInt2024)).forEach((e=>{const t=n.getNodeAttribute(e,"type"),r=n.getNodeAttribute(e,t);r.columns=2,r.topHeavy=!1,r.osiPosition="none",r.preferVertical&&2===r.transfer.flat().length&&(r.columns=1),delete r.preferVertical,n.mergeNodeAttributes(e,{[t]:r})})),JSON.stringify({...t,version:43,graph:n.export()})}};He();const Ep=Fe({account:hd,app:Ac,param:Dc,runtime:du}),Mp=((e={})=>We({reducer:Ep,middleware:e=>e({serializableCheck:!1}),preloadedState:e}))();Mp.subscribe((async()=>{await(async e=>{if(!Nd){const e=(new Ao).export();Nd=await wd(JSON.stringify(e)),Kn.debug(`Default graph hash: ${Nd}`)}const t=await wd(JSON.stringify(e));kd&&kd!==Nd&&kd!==t&&(Kn.debug(`Notify RMP save change, hash: ${t}`),Sd.postMessage({type:"SAVE_CHANGED",key:id.PARAM,from:"rmp"})),kd=t})(Mp.getState().param.present),localStorage.setItem(id.PARAM,Ap(Mp.getState().param)),localStorage.setItem(id.APP,JSON.stringify(Mp.getState().app)),localStorage.setItem(id.LOGIN_STATE,JSON.stringify(Mp.getState().account))}));const Pp=e("c",(()=>Ue())),Ip=e("d",Ve),$p=Pe.lazy((()=>Io((()=>n.import("./page-header-legacy-BaOy6D4P.js"))))),zp=Pe.lazy((()=>Io((()=>n.import("./tools-legacy-DeIjKjaU.js"))))),Bp=Pe.lazy((()=>Io((()=>n.import("./svg-wrapper-legacy-DhKZKQt2.js"))))),Dp=Pe.lazy((()=>Io((()=>n.import("./details-legacy-Ckc1GDAa.js"))))),Gp=Pe.lazy((()=>Io((()=>n.import("./rmg-palette-app-clip-legacy-BAK_MCkb.js")))));function Fp(){const e=Pp(),{paletteAppClip:{input:t}}=Ip((e=>e.runtime)),{t:n}=$e(),[r,o]=Pe.useState(!1);Pe.useEffect((()=>{qn.isStandaloneWindow()&&!window.localStorage.getItem(id.DO_NOT_SHOW_RMT_MSG)&&o(!0)}),[]);const a=new Date,s=`${a.getFullYear()}${String(a.getMonth()+1).padStart(2,"0")}01`,l=`${String(a.getFullYear()).slice(-2)}.${a.getMonth()+1}.1`;return i.jsx(ed,{children:i.jsx(Il,{children:i.jsxs(Pe.Suspense,{fallback:i.jsxs(i.Fragment,{children:[i.jsx("p",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:"Rail Map Toolkit protocol... checked"}),i.jsxs("p",{style:{position:"absolute",top:"75%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"small",color:"gray"},children:["Seeing this page for too long? Try another mirror"," ",i.jsx("a",{href:"https://railmapgen.github.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"GitHub"})," ",i.jsx("a",{href:"https://railmapgen.gitlab.io/?app=rmp",target:"_blank",rel:"noreferrer",children:"Gitlab"})," ","or the"," ",i.jsx("a",{href:"https://github.com/railmapgen/railmapgen.github.io/releases",target:"_blank",rel:"noreferrer",children:"offline application"})," ",".",i.jsx("br",{}),i.jsx("br",{}),"Offline applications also available via ghfast.top"," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_x64-setup.exe`,children:"Windows"})," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_aarch64.dmg`,children:"MacOS"})," ",i.jsx("a",{href:`https://ghfast.top/https://github.com/railmapgen/railmapgen.github.io/releases/download/tauri-${s}/railmapgen_${l}_amd64.deb`,children:"Linux"})," ","if you are blocked by GFW :)"]})]}),children:[i.jsx($p,{}),r&&i.jsxs(ue,{status:"info",variant:"solid",size:"xs",pl:3,pr:1,py:1,zIndex:"1",children:[i.jsx(pe,{}),i.jsxs(se,{children:[i.jsx(ce,{href:"/?app=rmp",isExternal:!0,fontWeight:"bold",children:n("rmtPromotion")})," ",i.jsx(ce,{as:"button",ml:"auto",textDecoration:"underline",onClick:()=>o(!1),children:n("close")})," | ",i.jsx(ce,{as:"button",textDecoration:"underline",onClick:()=>{o(!1),window.localStorage.setItem(id.DO_NOT_SHOW_RMT_MSG,"true")},children:n("noShowAgain")})]})]}),i.jsx(bl,{allowReset:!0,children:i.jsxs(y,{direction:"row",height:"100%",overflow:"hidden",sx:{position:"relative"},children:[i.jsx(zp,{}),i.jsx(Bp,{}),i.jsx(Dp,{})]})}),i.jsx(Gp,{isOpen:!!t,onClose:()=>e(ou()),defaultTheme:t,onSelect:t=>e(iu(t))})]})})})}const Wp=JSON.parse(null!==(Ke=localStorage.getItem(id.LOGIN_STATE))&&void 0!==Ke?Ke:"{}"),Up=JSON.parse(null!==(Ye=localStorage.getItem(id.APP))&&void 0!==Ye?Ye:"{}"),Vp=localStorage.getItem(id.PARAM);"telemetry"in Up&&("app"in Up.telemetry&&Mp.dispatch(Rc(Up.telemetry.app)),"project"in Up.telemetry&&Mp.dispatch(_c(Up.telemetry.project))),"preference"in Up&&("unlockSimplePathAttempts"in Up.preference&&Mp.dispatch(Tc(Up.preference.unlockSimplePathAttempts)),"toolsPanel"in Up.preference&&"expand"in Up.preference.toolsPanel&&Mp.dispatch(Cc(Up.preference.toolsPanel.expand)),"autoParallel"in Up.preference&&Mp.dispatch(jc(Up.preference.autoParallel)),"randomStationsNames"in Up.preference&&Mp.dispatch(Lc(Up.preference.randomStationsNames))),"state"in Wp&&Mp.dispatch(cd(Wp.state)),"activeSubscriptions"in Wp&&Mp.dispatch(ud(Wp.activeSubscriptions)),Lp(Vp).then((e=>{const{version:t,graph:n,...r}=JSON.parse(e);window.graph=Ao.from(n);const o={...r,present:n,past:[],future:[]};Mp.dispatch(Ic(o)),Mp.dispatch(Fc()),Mp.dispatch(Wc()),Mo(document.getElementById("root")).render(i.jsx(Pe.StrictMode,{children:i.jsx(Je,{store:Mp,children:i.jsx(qe,{i18n:Dd,children:i.jsx(Fp,{})})})})),qn.injectUITools(),_d(Mp),Rd(),window.setInterval((()=>Rd()),9e5)}))}}})); diff --git a/assets/master-manager-CMGMwlgA.js b/assets/master-manager-D9XDRPOe.js similarity index 99% rename from assets/master-manager-CMGMwlgA.js rename to assets/master-manager-D9XDRPOe.js index 5d51105f..77dab03e 100644 --- a/assets/master-manager-CMGMwlgA.js +++ b/assets/master-manager-D9XDRPOe.js @@ -1 +1 @@ -import{b as x,u as D,r as $}from"./react-D-_si4LB.js";import{i as L,S as k,av as K,r as ma,C as B,M as W,aS as Re,L as Ra,e as Wa,aU as Da,aV as V,aW as G,aX as T,c as it,d as lt,aY as jn,aZ as Ee,P as pe,V as Ht,W as Ut,a_ as On,a$ as _t,b0 as Xa,aR as vn,q as Ct,v as yt,b1 as Bn,b2 as La,Q as Ya,R as nn,w as Ha,b3 as Ua,b4 as Fa,aT as Va,D as Ga,a as Za}from"./index-C2EPE_tK.js";import{j as a,aK as Ke,a4 as _n,af as Ne,ax as et,B as wn,a6 as qa,ad as Ft,O as ue,g as Dt,b0 as In,b1 as Pn,aL as Qa,at as fa,$ as ha,au as ua,a1 as pa,a2 as ga,a3 as xa,Q as Ja,a5 as Ca,al as Ka}from"./chakra-xNcrfRXW.js";var ya=(s=>(s.Airport="airport",s.Airport2024="airport_2024",s.Maglev="maglev",s.Disney="disney",s.Railway="railway",s.Railway2024="railway_2024",s.HSR="hsr",s.AirportHK="airport_hk",s.DisneyHK="disney_hk",s.NgongPing360="ngong_ping_360",s.Tiananmen="tiananmen",s.AirportBJ="airport_bj",s.BusTerminalSuzhou="bus_terminal_suzhou",s.RailwaySuzhou="railway_suzhou",s.BusInterchange="bus_interchange",s.AirportSG="airport_sg",s.CruiseCentre="cruise_centre",s.SentosaExpress="sentosa_express",s.CableCar="cable_car",s.Merlion="merlion",s.MarinaBaySands="marina_bay_sands",s.GardensByTheBay="gardens_by_the_bay",s.SingaporeFlyer="singapore_flyer",s.Esplanade="esplanade",s.AirportQingdao="airport_qingdao",s.CoachStationQingdao="coach_station_qingdao",s.CruiseTerminalQingdao="cruise_terminal_qingdao",s.RailwayQingdao="railway_qingdao",s.TramQingdao="tram_qingdao",s.AirportGuangzhou="airport_guangzhou",s.RailwayGuangzhou="railway_guangzhou",s.IntercityGuangzhou="intercity_guangzhou",s.RiverCraftLondon="river_craft",s.AirportLondon="airport_london",s.CoachStationLondon="coach_station_london",s))(ya||{});const es=s=>{const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{type:d=an.type}=n!=null?n:an,r=x.useRef(null),[l,f]=x.useState({width:25,height:25});x.useEffect(()=>f(r.current.getBBox()),[d,f,r]);const h=x.useCallback(g=>c(t,g),[t,c]),u=x.useCallback(g=>i(t,g),[t,i]),p=x.useCallback(g=>m(t,g),[t,m]);return a.jsx("g",{id:t,transform:"translate(".concat(e-l.width/2,", ").concat(o-l.height/2,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:a.jsx("image",{ref:r,href:"/rmp/images/facilities/".concat(d,".svg"),onLoad:()=>f(r.current.getBBox())})})},an={type:"airport"},ts=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"select",label:n("panel.details.nodes.facilities.type"),value:e.type,options:{airport:"Airport",airport_2024:"Airport 2024",maglev:"Maglev",disney:"Disney",railway:"Railway",railway_2024:"Railway 2024",hsr:"HSR",airport_hk:"Airport Hongkong",disney_hk:"Disney Hongkong",ngong_ping_360:"Ngong Ping 360",tiananmen:"Tiananmen",airport_bj:"Airport Beijing",bus_terminal_suzhou:"Bus Terminal Suzhou",railway_suzhou:"Railway Suzhou",bus_interchange:"Bus Interchange",airport_sg:"Changi Airport",cruise_centre:"Cruise Centre",sentosa_express:"Sentosa Express",cable_car:"Cable Car",merlion:"Merlion",marina_bay_sands:"Marina Bay Sands",gardens_by_the_bay:"Gardens by the Bay",singapore_flyer:"Singapore Flyer",esplanade:"Esplanade",airport_qingdao:"Airport Qingdao",railway_qingdao:"Railway Qingdao",coach_station_qingdao:"Coach Station Qingdao",cruise_terminal_qingdao:"Cruise Terminal Qingdao",tram_qingdao:"Tram Qingdao",airport_guangzhou:"Airport Guangzhou",railway_guangzhou:"Railway Guangzhou",intercity_guangzhou:"Intercity Guangzhou",river_craft:"River services interchange",airport_london:"Airport London",coach_station_london:"Victoria Coach Station"},onChange:i=>{e.type=i,o(t,e)}}];return a.jsx(L,{fields:c,minW:"full"})},ns=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(12, 0)scale(0.4)",children:[a.jsx("circle",{cx:"0",cy:"29.33899",r:"29.33899",fill:"currentColor"}),a.jsx("path",{id:"airport",d:"M28.9769,6.60134c1.711.013,3.111,2.53205,3.111,4.241v10.337s17.106,15.435,17.358,15.666a1.145,1.145,0,0,1,.488,1.152v2.833c0,.651-.451.61-.695.467-.334-.119-17.151-8.863-17.151-8.863-.004,1.458-.797,9.006-1.326,13.304,0,0,4.61,2.457,4.699,2.521.334.268.352.359.352.852v2.001c0,.477-.352.428-.51.324-.183-.062-5.693-1.921-5.693-1.921a2.56018,2.56018,0,0,0-.633-.127,2.31654,2.31654,0,0,0-.666.127s-5.477,1.859-5.672,1.921c-.185.104-.523.153-.523-.324v-2.001c0-.493.029-.584.367-.852.086-.064,4.678-2.521,4.678-2.521-.524-4.298-1.307-11.846-1.325-13.304,0,0-16.822,8.744-17.148,8.863-.217.143-.69.184-.69-.467v-2.833a1.16206,1.16206,0,0,1,.473-1.152c.276-.231,17.365-15.666,17.365-15.666v-10.337c0-1.709,1.403-4.228,3.14105-4.241",transform:"translate(-28.9697,0.14347)",fill:"white"})]})}),ol={component:es,icon:ns,defaultAttrs:an,attrsComponent:ts,metadata:{displayName:"panel.details.nodes.facilities.displayName",tags:[]}},il=()=>navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome"),Bt={source:'url("./fonts/LTAIdentity-Medium.woff")',descriptors:{display:"swap"}},ct={source:'url("./fonts/Mplus2-Medium.otf")',descriptors:{display:"swap"}},Tn={source:'url("./fonts/Roboto-Bold.ttf")',descriptors:{display:"swap"}},$n={source:'url("./fonts/MontaguSlab.ttf")',descriptors:{display:"swap"}},En={source:'url("./fonts/Railway-PlyE.otf")',descriptors:{display:"swap"}},Tt={[k.MTR]:{className:[".rmp-name__mtr__zh",".rmp-name__mtr__en"],cssFont:{"MyriadPro-Semibold":void 0,"Vegur-Bold":void 0,"GenYoMinTW-SB":void 0},cssName:"fonts_mtr"},[k.MRTBasic]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.MRTInt]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.JREastBasic]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ct},cssName:"fonts_jreast"},[k.JREastImportant]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ct},cssName:"fonts_jreast"},[K.BerlinSBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:Tn},cssName:"fonts_berlin"},[K.BerlinUBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:Tn},cssName:"fonts_berlin"},[K.JREastLineBadge]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{'"M PLUS 2"':ct},cssName:"fonts_jreast"},[K.MRTDestinationNumbers]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[K.MRTLineBadge]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.TokyoMetroBasic]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:$n,"M PLUS 2":ct},cssName:"fonts_tokyo"},[k.TokyoMetroInt]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:$n,"M PLUS 2":ct},cssName:"fonts_tokyo"},[k.LondonTubeBasic]:{className:[".rmp-name__tube"],cssFont:{Railway:En},cssName:"fonts_tube"},[k.LondonTubeInt]:{className:[".rmp-name__tube"],cssFont:{Railway:En},cssName:"fonts_tube"}},Rn=[],as=async s=>{const t=Tt[s];if(!t)return;const{cssFont:e,cssName:o}=t;if(Rn.includes(o))return;Rn.push(o),await Promise.all(Object.entries(e).map(([c,i])=>ma.loadFont(c,i&&{configs:[i]})));const n=document.createElement("link");n.rel="stylesheet",n.id=o,n.href="/rmp/styles/".concat(o,".css"),document.head.append(n)},ss=async(s,t)=>{var c;const e=document.createElement("style");for(let i=document.styleSheets.length-1;i>=0;i=i-1)if((c=document.styleSheets[i].href)!=null&&c.endsWith("styles/".concat(t,".css"))){e.textContent=[...document.styleSheets[i].cssRules].map(m=>m.cssText).filter(m=>!m.startsWith("@font-face")).join("\n");break}e.textContent+="\n";const n=(await Promise.allSettled(Object.keys(s).map(ma.getFontCSS))).filter(i=>i.status==="fulfilled").map(i=>i.value);return e.textContent+=n.join("\n"),e},I=x.forwardRef((s,t)=>{const{text:e,lineHeight:o,grow:n,dominantBaseline:c=n==="up"?"auto":n==="down"?"hanging":"middle",baseOffset:i=2,funcDX:m=l=>0,...d}=s,r=n==="bidirectional"?-((e.length-1)*o)/2:0;return a.jsx("g",{ref:t,children:(n==="up"?[...e].reverse():e).map((l,f,h)=>a.jsx("text",{dy:(f*o+i)*(n==="up"?-1:1)+r,dx:m(f),dominantBaseline:c,...d,children:l},"".concat(l).concat(f)))})});I.displayName="MultilineText";const Wn={zh:16,en:10},ee={top:{namesPos:1,lineHeight:Wn.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:Wn.zh,polarity:1}},ba={zh:k.ShmetroBasic,en:k.ShmetroBasic,mtr__zh:k.MTR,mtr__en:k.MTR,berlin:K.BerlinSBahnLineBadge,mrt:k.MRTBasic,jreast_ja:k.JREastBasic,jreast_en:k.JREastBasic,tokyo_en:k.TokyoMetroBasic,tube:k.LondonTubeBasic},os=s=>{const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{content:d=oe.content,fontSize:r=oe.fontSize,lineHeight:l=oe.lineHeight,textAnchor:f=oe.textAnchor,dominantBaseline:h=oe.dominantBaseline,language:u=oe.language,color:p=oe.color,rotate:g=oe.rotate,italic:C=oe.italic,bold:y=oe.bold}=n!=null?n:oe,b=x.useRef(null),[j,O]=x.useState({x:0,y:0,width:32,height:16});x.useEffect(()=>O(b.current.getBBox()),[d,r,l,f,h,u,g,C,y,O,b]),x.useEffect(()=>{const _=ba[u];_&&as(_)},[u]);const v=x.useCallback(_=>c(t,_),[t,c]),N=x.useCallback(_=>i(t,_),[t,i]),w=x.useCallback(_=>m(t,_),[t,m]);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(g,")"),onPointerDown:v,onPointerMove:N,onPointerUp:w,style:{cursor:"move"},children:[a.jsx("rect",{className:"removeMe",fill:"gray",fillOpacity:"0.1",x:j.x-1.5,y:j.y-1.5,width:j.width+3,height:j.height+3}),a.jsx(I,{ref:b,text:d.split("\n"),lineHeight:l,grow:"down",className:"rmp-name__".concat(u),fontSize:r,textAnchor:f,dominantBaseline:h,fill:p[2],fontStyle:C,fontWeight:y})]})},oe={content:"Enter your text here",fontSize:16,lineHeight:16,textAnchor:"middle",dominantBaseline:"middle",language:"en",color:[B.Shanghai,"jsr","#000000",W.white],rotate:0,italic:"normal",bold:"normal"},is=s=>{var i,m,d,r,l,f,h;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.nodes.text.content"),value:(i=e.content)!=null?i:oe.content,onChange:u=>{e.content=u.toString(),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.nodes.text.fontSize"),value:((m=e.fontSize)!=null?m:oe.fontSize).toString(),validator:u=>Number.isInteger(u)&&Number(u)>0,onChange:u=>{e.fontSize=Number(u),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.nodes.text.lineHeight"),value:((d=e.lineHeight)!=null?d:oe.lineHeight).toString(),validator:u=>Number.isInteger(u)&&Number(u)>0,onChange:u=>{e.lineHeight=Number(u),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.textAnchor"),value:(r=e.textAnchor)!=null?r:oe.textAnchor,options:{start:n("panel.details.nodes.text.start"),middle:n("panel.details.nodes.text.middle"),end:n("panel.details.nodes.text.end")},onChange:u=>{e.textAnchor=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.dominantBaseline"),value:(l=e.dominantBaseline)!=null?l:oe.dominantBaseline,options:{auto:n("panel.details.nodes.text.auto"),middle:n("panel.details.nodes.text.middle"),hanging:n("panel.details.nodes.text.hanging")},onChange:u=>{e.dominantBaseline=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.language"),value:(f=e.language)!=null?f:oe.language,options:{zh:n("panel.details.nodes.text.zh"),en:n("panel.details.nodes.text.en"),mtr__zh:n("panel.details.nodes.text.mtr__zh"),mtr__en:n("panel.details.nodes.text.mtr__en"),berlin:n("panel.details.nodes.text.berlin"),mrt:n("panel.details.nodes.text.mrt"),jreast_ja:n("panel.details.nodes.text.jreast_ja"),jreast_en:n("panel.details.nodes.text.jreast_en"),tokyo_en:n("panel.details.nodes.text.tokyo_en"),tube:n("panel.details.nodes.text.tube")},onChange:u=>{e.language=u.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.rotate"),value:(h=e.rotate)!=null?h:oe.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:u=>{e.rotate=Number(u),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.nodes.text.italic"),isChecked:e.italic==="italic",onChange:u=>{e.italic=u?"italic":"normal",o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.nodes.text.bold"),isChecked:e.bold==="bold",onChange:u=>{e.bold=u?"bold":"normal",o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:K.Text,defaultTheme:oe.color})}];return a.jsx(L,{fields:c})},ls=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"10",children:"Text"})}),ll={component:os,icon:ls,defaultAttrs:oe,attrsComponent:is,metadata:{displayName:"panel.details.nodes.text.displayName",tags:[]}},rl=(s,t)=>s.filterEdges((e,o,n,c,i,m,d)=>t.has(n)&&t.has(c)),rs=s=>{const t=Object.fromEntries([...Object.values(k),Object.values(K)].map(e=>[e,!1]));return s.forEachNode(e=>{const o=s.getNodeAttribute(e,"type");t[o]=!0}),t},cs=(s,t,e,o,n,c)=>s<=n&&n<=e&&t<=c&&c<=o,cl=(s,t,e,o,n)=>{const c=t<=o?t:o,i=e<=n?e:n,m=t<=o?o:t,d=e<=n?n:e;return s.filterNodes((r,l)=>cs(c,i,m,d,l.x,l.y))},dl=(s,t,e)=>{const o=[],n=new Set;return t.forEach(c=>{const i=s.getNodeAttributes(c).type,m=s.getNodeAttribute(c,i);if(m.color!==void 0){const d=m.color;n.has(d.toString())||(o.push(d),n.add(d.toString()))}}),e.filter(c=>Ra.includes(s.getEdgeAttribute(c,"style"))).forEach(c=>{const i=s.getEdgeAttributes(c),m=i[i.style].color;n.has(m.toString())||(o.push(m),n.add(m.toString()))}),o},ja=s=>{const t=[],e=new Set;return s.filterNodes(o=>s.getNodeAttribute(o,"type")===K.Master).forEach(o=>{const n=s.getNodeAttributes(o)[K.Master];e.has(n.randomId)||(e.add(n.randomId),t.push(n))}),t},ds=(s,t,e)=>{const o=new Blob([e],{type:t});ms(s,o)},ms=(s,t)=>{const e=window.URL.createObjectURL(t),o=document.createElement("a");o.href=e,o.download=s,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(e)},ml=async(s,t,e,o)=>{const{xMin:n,yMin:c,xMax:i,yMax:m}=Wa(s),[d,r]=[i-n,m-c],l=document.getElementById("canvas").cloneNode(!0);t||l.appendChild(await us(i-400,m-120)),l.setAttribute("viewBox","".concat(n," ").concat(c," ").concat(d," ").concat(r)),l.setAttribute("width",d.toString()),l.setAttribute("height",r.toString()),Object.entries({".rmp-name-outline":["paint-order","stroke","stroke-linejoin"]}).forEach(([h,u])=>{const p=document.querySelector(h);if(p===null)return;const g=window.getComputedStyle(p);l.querySelectorAll(h).forEach(C=>{if(h===".rmp-name-outline"&&o===1.1){const y=C.insertAdjacentElement("afterend",C.cloneNode(!0));y&&(y.classList.remove(h.slice(1)),y.classList.length===0&&C.removeAttribute("class"),y.removeAttribute("stroke-width"))}u.forEach(y=>{C.setAttribute(y,g.getPropertyValue(y))}),C.classList.remove(h.slice(1)),C.classList.length===0&&C.removeAttribute("class")})}),l.querySelectorAll('[fill="url(#opaque)"]').forEach(h=>{h.remove()}),l.querySelectorAll(".removeMe").forEach(h=>{h.remove()});const f=rs(s);return await fs(l,s,f,e),await hs(l,s,f),{elem:l,width:d,height:r}},fs=async(s,t,e,o)=>{var c;const n=new Set;if(Object.keys(Tt).filter(i=>e[i]).forEach(i=>n.add(i)),t.filterNodes((i,m)=>i.startsWith("misc_node_")&&m.type===K.Text).map(i=>t.getNodeAttribute(i,K.Text).language).map(i=>ba[i]).filter(i=>i!==k.ShmetroBasic).forEach(i=>n.add(i)),o)[".rmp-name__zh",".rmp-name__en"].forEach(i=>{s.querySelectorAll(i).forEach(m=>{m.classList.remove(i.slice(1)),m.classList.length===0&&m.removeAttribute("class")})}),n.forEach(i=>{Tt[i].className.forEach(m=>{s.querySelectorAll(m).forEach(d=>{d.classList.remove(m.slice(1)),d.classList.length===0&&d.removeAttribute("class")})})});else{const i=document.createElement("style");for(let m=0;md.cssText).join("\n");break}s.prepend(i),await Promise.all([...n.values()].map(m=>Tt[m]).map(async({cssName:m,cssFont:d})=>{try{s.prepend(await ss(d,m))}catch(r){alert("Failed to load fonts. Fonts in the exported PNG will be missing."),console.error(r)}}))}},hs=async(s,t,e)=>{if(e[K.Facilities]){const o=t.filterNodes((m,d)=>d.type===K.Facilities),n=Object.fromEntries(Object.values(ya).map(m=>[m,[]]));o.forEach(m=>{var r;const d=(r=t.getNodeAttribute(m,K.Facilities))==null?void 0:r.type;d&&n[d].push(m)});const c=Object.entries(n).filter(([m,d])=>d.length>0).map(([m,d])=>m),i=await Promise.all((await Promise.all(c.map(async m=>await fetch("/rmp//images/facilities/".concat(m,".svg"))))).map(m=>m.text()));c.forEach((m,d)=>{const r=document.createElement("div");r.innerHTML=i[d];const l=r.querySelector("svg"),f=document.createElementNS("http://www.w3.org/2000/svg","symbol");for(const h of l.attributes)f.setAttribute(h.name,h.value);for(;l.firstChild;)f.appendChild(l.firstChild);l.replaceWith(f),f.id=m,s.appendChild(f),n[m].forEach(h=>{const u=s.querySelector("#".concat(h)),p=u==null?void 0:u.querySelector("image");if(p){u.removeChild(p);const g=document.createElementNS("http://www.w3.org/2000/svg","use");g.setAttribute("href","#".concat(m)),g.setAttribute("height",f.getAttribute("height")),g.setAttribute("width",f.getAttribute("width")),u.appendChild(g)}}),r.remove()})}},us=async(s,t)=>{const e=document.createElementNS("http://www.w3.org/2000/svg","g");e.setAttribute("transform","translate(".concat(s,", ").concat(t,")scale(2)"));const n=await(await fetch("/rmp//logo.svg")).text(),c=document.createElement("div");c.innerHTML=n;const i=c.querySelector("svg"),m=document.createElement("g");m.setAttribute("transform","translate(-60, -25)scale(0.1)"),m.setAttribute("font-family","Arial, sans-serif"),m.innerHTML=i.innerHTML,e.appendChild(m);const d=document.createElementNS("http://www.w3.org/2000/svg","text");d.setAttribute("font-family","Arial, sans-serif"),d.setAttribute("font-size","16");const r=Da.t("Rail Map Painter");d.appendChild(document.createTextNode(r));const l=document.createElementNS("http://www.w3.org/2000/svg","text");l.setAttribute("font-family","Arial, sans-serif"),l.setAttribute("font-size","10"),l.setAttribute("y","10");const f=window.location.origin;let h="https://railmapgen.org/";return f.includes("github")?h="https://railmapgen.github.io/":f.includes("gitlab")&&(h="https://railmapgen.gitlab.io/"),h+="?app=rmp",l.appendChild(document.createTextNode(h)),e.appendChild(m),e.appendChild(d),e.appendChild(l),e},fl=()=>{const[s,t]=$.useState({width:void 0,height:void 0});return $.useEffect(()=>{function e(){t({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),s};function hl(){const{i18n:s}=D();return t=>{var e,o;return(o=(e=s.languages.map(n=>t[n]).find(n=>n!==void 0))!=null?e:t.en)!=null?o:"(Translation Error)"}}const st={top:{lineHeight:6.67,offset:3.5+1.5+5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1+5}},ps=s=>{var y;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=$t.nameOffsetX,nameOffsetY:l=$t.nameOffsetY}=(y=n[k.ShmetroBasic])!=null?y:$t,f=x.useCallback(b=>c(t,b),[t,c]),h=x.useCallback(b=>i(t,b),[t,i]),u=x.useCallback(b=>m(t,b),[t,m]),p=r==="left"?-13.33:r==="right"?13.33:0,g=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,C=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:5,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(p,", ").concat(g,")"),textAnchor:C,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u])},$t={...T,nameOffsetX:"right",nameOffsetY:"top"},gs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},xs=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",fill:"none"})}),Cs={component:ps,icon:xs,defaultAttrs:$t,attrsComponent:gs,metadata:{displayName:"panel.details.stations.shmetroBasic.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ye={0:{textDx:0,textDy:-17.5,textAnchor:"middle",namesPos:1,lineHeight:6.67,polarity:-1},45:{textDx:1,textDy:-16.25,textAnchor:"start",namesPos:1,lineHeight:6.67,polarity:-1},90:{textDx:12,textDy:0,textAnchor:"start",namesPos:0,lineHeight:0,polarity:0},135:{textDx:5,textDy:21,textAnchor:"start",namesPos:0,lineHeight:12.67,polarity:1},180:{textDx:0,textDy:22.5,textAnchor:"middle",namesPos:0,lineHeight:12.67,polarity:1},225:{textDx:-5,textDy:21,textAnchor:"end",namesPos:0,lineHeight:12.67,polarity:1},270:{textDx:-12,textDy:0,textAnchor:"end",namesPos:0,lineHeight:0,polarity:0},315:{textDx:-1,textDy:-16.25,textAnchor:"end",namesPos:1,lineHeight:6.67,polarity:-1}},ys=s=>{var g;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=bt.color,rotate:l=bt.rotate}=(g=n[k.ShmetroBasic2020])!=null?g:bt,f=ye[l].textDy+(d[ye[l].namesPos].split("\n").length-1)*ye[l].lineHeight*ye[l].polarity,h=x.useCallback(C=>c(t,C),[t,c]),u=x.useCallback(C=>i(t,C),[t,i]),p=x.useCallback(C=>m(t,C),[t,m]);return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(l,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:r[2],onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"}})}),a.jsxs("g",{transform:"translate(".concat(e+ye[l].textDx,", ").concat(o+f,")"),textAnchor:ye[l].textAnchor,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:l>=45&&l<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,l,r,h,u,p])},bt={...T,rotate:0,color:[B.Shanghai,"sh1","#E4002B",W.white]},bs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.ShmetroBasic2020,defaultTheme:bt.color})}];return a.jsx(L,{fields:c})},js=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Os={component:ys,icon:js,defaultAttrs:bt,attrsComponent:bs,metadata:{displayName:"panel.details.stations.shmetroBasic2020.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Dn={top:{lineHeight:6.67,offset:3.5+1.5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1}},vs=s=>{var _;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ge.nameOffsetX,nameOffsetY:l=Ge.nameOffsetY,rotate:f=Ge.rotate,width:h=Ge.width,height:u=Ge.height}=(_=n[k.ShmetroInt])!=null?_:Ge,p=x.useCallback(A=>c(t,A),[t,c]),g=x.useCallback(A=>i(t,A),[t,i]),C=x.useCallback(A=>m(t,A),[t,m]),y=f===0||f===180?h:f===90||f===270?u:h*Math.SQRT1_2,b=f===0||f===180?u:f===90||f===270?h:h*Math.SQRT1_2,j=r==="left"?-6.83:r==="right"?6.83:0,O=(Math.abs(j)+y/2)*Math.sign(j),v=(d[ee[l].namesPos].split("\n").length*Dn[l].lineHeight+Dn[l].offset)*ee[l].polarity,N=(Math.abs(v)+b/2)*Math.sign(v),w=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(f,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),x:-h/2,y:-u/2,height:u,width:h,ry:u/2,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:p,onPointerMove:g,onPointerUp:C,style:{cursor:"move"}})}),a.jsxs("g",{transform:"translate(".concat(e+O,", ").concat(o+N,")"),textAnchor:w,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p,g,C])},Ge={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,height:10,width:13},_s=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.shmetroInt.height"),value:e.height.toString(),validator:i=>Number.isInteger(i),onChange:i=>{e.height=Number(i),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.shmetroInt.width"),value:e.width.toString(),validator:i=>Number.isInteger(i),onChange:i=>{e.width=Number(i),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},ws=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"4.5",y:"7",height:"10",width:"15",ry:"5",stroke:"currentColor",fill:"none"})}),Ss={component:vs,icon:ws,defaultAttrs:Ge,attrsComponent:_s,metadata:{displayName:"panel.details.stations.shmetroInt.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},Ns=s=>{var y;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Et.nameOffsetX,nameOffsetY:l=Et.nameOffsetY}=(y=n[k.ShmetroOutOfSystemInt])!=null?y:Et,f=x.useCallback(b=>c(t,b),[t,c]),h=x.useCallback(b=>i(t,b),[t,i]),u=x.useCallback(b=>m(t,b),[t,m]),p=r==="left"?-13.33:r==="right"?13.33:0,g=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,C=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{r:5,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),a.jsx("circle",{r:2.3,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),a.jsx("circle",{id:"stn_core_".concat(t),r:5+1.33/2,fill:"white",fillOpacity:"0",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(p,", ").concat(g,")"),textAnchor:C,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u])},Et={...T,nameOffsetX:"right",nameOffsetY:"top"},ks=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Ms=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.67",fill:"white"}),a.jsx("circle",{cx:"12",cy:"12",r:"4.6",stroke:"currentColor",strokeWidth:"2.67",fill:"white"})]}),As={component:Ns,icon:Ms,defaultAttrs:Et,attrsComponent:ks,metadata:{displayName:"panel.details.stations.shmetroOsysi.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},zs=s=>{var p;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,rotate:r=sn.rotate}=(p=n[k.ShanghaiSuburbanRailway])!=null?p:sn,l=ye[r].textDy+(d[ye[r].namesPos].split("\n").length-1)*ye[r].lineHeight*ye[r].polarity,f=x.useCallback(g=>c(t,g),[t,c]),h=x.useCallback(g=>i(t,g),[t,i]),u=x.useCallback(g=>m(t,g),[t,m]);return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(r,")"),children:[a.jsx("rect",{x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:"#898989"}),a.jsx("rect",{x:"-3.5",y:"-1",width:"7",height:"2",stroke:"none",fill:"white"}),a.jsx("rect",{x:-2+1.1675,y:-7.83+1.5,width:4*2/5,height:7.83-1.5,stroke:"none",fill:"white"}),a.jsx("rect",{id:"stn_core_".concat(t),x:"-2",y:"-7.83",width:"4",height:7.83+1.25,stroke:"none",fill:"white",fillOpacity:"0",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{transform:"translate(".concat(e+ye[r].textDx,", ").concat(o+l,")"),textAnchor:ye[r].textAnchor,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r>=45&&r<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,f,h,u])},sn={...T,rotate:0},Bs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Is=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Ps={component:zs,icon:Is,defaultAttrs:sn,attrsComponent:Bs,metadata:{displayName:"panel.details.stations.shanghaiSuburbanRailway.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};var Xe=1.3,Oa=1.7,Vt=18.5,Ts=Vt+Xe,Sn=Vt*2+Xe;var Rt=45,ze=Rt-3,va=function(s,t){var e=[s,t].map(function(o){return o.match(/^(\w+).+$/)});if(e[0]&&e[1]&&e[0][1]===e[1][1])return e[0][1]},Nn=function(s){var t=s.match(/^(\d+)\D+$/);return t==null?void 0:t[1]},on=function(){return on=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},Ws=function(s,t){var e=Nn(s);if(e)return{isDigit:!0,spanningPart:e};var o=va(s,t);return o?{isDigit:!1,spanningPart:o}:{isDigit:!1,spanningPart:""}};function Xn(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Es(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=Ws(t,e),f=l.isDigit,h=l.spanningPart,u=$.useRef(null),p=Rs($.useState({x:0,height:0,width:0}),2),g=p[0],C=p[1];$.useEffect(function(){u.current&&C(u.current.getBBox())},[t,e]);var y=ze/Math.max(ze,g.width),b=(-g.x-g.width/2)*y,j=g.height*(1-y)/2;return a.jsxs("g",ln({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{fill:m?"#aaa":n}),a.jsx("g",{ref:u,transform:"translate(".concat(b,",").concat(j,")scale(").concat(y,")"),children:a.jsxs("text",{className:c,fontSize:21,x:-1,y:12,textAnchor:"end",dominantBaseline:"central",children:[h,a.jsx("tspan",{className:c,fontSize:10,x:0,dy:-4,textAnchor:"start",dominantBaseline:"central",children:t.slice(h.length).trim()}),a.jsx("tspan",{className:i,fontSize:6.5,letterSpacing:-.1,x:0,dy:10,textAnchor:"start",dominantBaseline:"middle",children:f?e:e.slice(h.length).trim()})]})}),d]}))}var rn=function(){return rn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Xs(s){var t,e=s.zhName,o=s.enName,n=s.foregroundColour,c=s.backgroundColour,i=s.zhClassName,m=s.enClassName,d=s.passed,r=s.children,l=Ds(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=(t=Nn(e))!==null&&t!==void 0?t:"",h=$.useRef(null),u=$.useRef(null),p=Ln($.useState({width:0}),2),g=p[0],C=p[1],y=Ln($.useState({width:0}),2),b=y[0],j=y[1];$.useEffect(function(){h.current&&C(h.current.getBBox()),u.current&&j(u.current.getBBox())},[e,o]);var O=ze/Math.max(ze,g.width),v=ze/Math.max(ze,b.width),N={nameZh:{y:7.3+13.5*(1-O)*O/2},nameEn:{y:19.5-9*(1-v)*v/2}};return a.jsxs("g",rn({textAnchor:"middle",fill:d?W.white:n},l,{children:[a.jsx(Gt,{fill:d?"#aaa":c}),a.jsxs("text",{ref:h,className:i,fontSize:12,transform:"translate(0,".concat(N.nameZh.y,")scale(").concat(O,")"),dominantBaseline:"central",children:[a.jsx("tspan",{fontSize:16,dy:.7,dominantBaseline:"central",children:f}),a.jsx("tspan",{dy:-.7,dominantBaseline:"central",children:e.slice(f.length)})]}),a.jsx("text",{ref:u,className:m,fontSize:8,transform:"translate(0,".concat(N.nameEn.y,")scale(").concat(v,")"),dominantBaseline:"middle",children:o}),r]}))}var cn=function(){return cn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Hs(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Ls(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=$.useRef(null),f=Ys($.useState({width:0}),2),h=f[0],u=f[1];$.useEffect(function(){l.current&&u(l.current.getBBox())},[t,e]);var p=Math.max(45,h.width+4);return a.jsxs("g",cn({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{customWidth:p,fill:m?"#aaa":n}),a.jsxs("g",{ref:l,children:[a.jsx("text",{className:c,fontSize:8.5,y:8,dominantBaseline:"central",children:t}),a.jsx("text",{className:i,fontSize:5.5,y:18,dominantBaseline:"middle",children:e})]}),d]}))}var dn=function(){return dn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Fs(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Us(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=$.useRef(null),f=$.useRef(null),h=Yn($.useState({width:0}),2),u=h[0],p=h[1],g=Yn($.useState({width:0}),2),C=g[0],y=g[1];$.useEffect(function(){l.current&&p(l.current.getBBox()),f.current&&y(f.current.getBBox())},[t,e]);var b=ze/Math.max(ze,u.width),j=ze/Math.max(ze,C.width),O={nameZh:{y:7.3+13.5*(1-b)*b/2},nameEn:{y:19.5-9*(1-j)*j/2}};return a.jsxs("g",dn({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{fill:m?"#aaa":n}),a.jsx("text",{ref:l,className:c,fontSize:12,transform:"translate(0,".concat(O.nameZh.y,")scale(").concat(b,")"),dominantBaseline:"central",children:t}),a.jsx("text",{ref:f,className:i,fontSize:8,transform:"translate(0,".concat(O.nameEn.y,")scale(").concat(j,")"),dominantBaseline:"middle",children:e}),d]}))}var qe=function(){return qe=Object.assign||function(s){for(var t,e=1,o=arguments.length;e=5?a.jsx(Hs,qe({},t)):a.jsx(Fs,qe({},t))}});var Vs=function(s,t){var e=Nn(s);if(e!==void 0)return 1;var o=va(s,t);return o!==void 0?2:3},mn=function(){return mn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},It=17,Sa=$.forwardRef(function(t,e){var o=t.Icon,n=t.lineNum,c=t.stnNum,i=t.strokeColour,m=t.passed,d=t.size,r=t.textClassName,l=t.bolderBorder,f=t.useSameScale,h=t.children,u=Qs(t,["Icon","lineNum","stnNum","strokeColour","passed","size","textClassName","bolderBorder","useSameScale","children"]),p=$.useContext(kn).updateId,g=$.useRef(null),C=$.useRef(null),y=Fn($.useState({width:0}),2),b=y[0],j=y[1],O=Fn($.useState({width:0}),2),v=O[0],N=O[1];$.useEffect(function(){g.current&&j(g.current.getBBox()),C.current&&N(C.current.getBBox())},[n,c,p]);var w=n&&n.length>2;$.useEffect(function(){f&&w&&console.warn("GenericStationNumber(), useSameScale props does not work when lineNum has more than 2 characters")},[f,w]);var _=It/Math.max(It,b.width),A=f&&(n==null?void 0:n.length)===2?_:It/Math.max(It,v.width),M=d==="sm"?"0.7":d==="lg"?"1.4":1;return a.jsxs("g",hn({ref:e},u,{children:[a.jsxs("g",{transform:"scale(".concat(M,")"),children:[a.jsx(o,{stroke:m?"#aaa":i,filled:!n&&!c,bolder:l}),(n||c)&&a.jsxs("g",{textAnchor:"middle",fontSize:13.5,fill:m?"#aaa":"#000",children:[a.jsx("g",{transform:"translate(-9.25,0)scale(".concat(_,")"),children:a.jsx("text",{ref:g,className:r,dominantBaseline:"central",x:.5,children:n})}),a.jsx("g",{transform:"translate(9.25,0)scale(".concat(A,")"),children:a.jsx("text",{ref:C,className:r,dominantBaseline:"central",children:c})})]})]}),h]}))}),un=function(){return un=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},Qt=function(s,t){return Array.from(Array(s).keys()).map(function(e){return(e-(s-1)/2)*t})},Ks=function(s,t,e){if(s<=0)return[];if(s===1)return[[0,0]];for(var o=t>s?s:t,n=Sn,c=Ts,i=Qt(o,n),m=Math.ceil(s/o),d=Qt(m,c),r=s%o,l=[],f=0;f=h.length)return console.warn(", anchor index ".concat(d," is out of bound")),[0,0];var j=Zn(h[d],2),O=j[0],v=j[1];return[-O,-v]},[h,d]),2),p=u[0],g=u[1],C=$.useRef(null),y=$.useRef([]);$.useEffect(function(){y.current=y.current.slice(0,o.length)},[o.length]);var b=o.length===2&&i===1&&!!r;return $.useImperativeHandle(e,function(){return{target:C.current,children:y.current,getCoordinates:function(){return h},getCorrectedBBox:function(){var j,O,v=(O=(j=C.current)===null||j===void 0?void 0:j.getBBox())!==null&&O!==void 0?O:{x:0,y:0,width:0,height:0};return v.y-=Fe/2,v.height+=Fe,b?(r==="left"?v.x-=Jt/2:v.x-=Fe/2,v.width+=Jt/2+Fe/2):(v.x-=Fe/2,v.width+=Fe),v},getTranslate:function(){return[p,g]}}},[h,p,g,C.current,y.current,r]),a.jsxs("g",Xt({ref:C,transform:"translate(".concat(p,",").concat(g,")")},f,{children:[o.map(function(j,O){var v=j.style,N=qn(v);return a.jsx(N,{stroke:"#aaa",filled:!0,strokeWidth:Fe,transform:"translate(".concat(h[O][0],",").concat(h[O][1],")")},O)}),b&&a.jsx(Vn,{position:r,r:Sn/2.9,strokeWidth:Jt,strokeDasharray:void 0}),o.map(function(j,O){var v=j.style,N=qn(v);return a.jsx(N,{stroke:"white",filled:!0,strokeWidth:Xe*2.6,transform:"translate(".concat(h[O][0],",").concat(h[O][1],")")},O)}),b&&a.jsx(Vn,{position:r}),o.length&&a.jsx("rect",{fill:"white",x:-12,y:h[0][1],width:24,height:-h[0][1]*2}),o.map(function(j,O){var v=j.style,N=Gn(j,["style"]),w=v==="fmetro"?Zt:ot;return a.jsx(w,Xt({ref:function(_){return y.current[O]=_},transform:"translate(".concat(h[O][0],",").concat(h[O][1],")"),textClassName:n},N),O)}),l]}))}),xn=function(){return xn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e{var ie,E,H;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=ve.nameOffsetX,nameOffsetY:l=ve.nameOffsetY,color:f=ve.color,lineCode:h=ve.lineCode,stationCode:u=ve.stationCode,open:p=ve.open,secondaryNames:g=ve.secondaryNames,tram:C=ve.tram}=(ie=n[k.GzmtrBasic])!=null?ie:ve,y=x.useCallback(R=>c(t,R),[t,c]),b=x.useCallback(R=>i(t,R),[t,i]),j=x.useCallback(R=>m(t,R),[t,m]),O=x.useRef(null);(H=(E=O.current)==null?void 0:E.querySelector("path"))==null||H.setAttribute("id","stn_core_".concat(t));const v={en:C?5.08:6.56,zh:C?7.29:13.13},N={top:{namesPos:1,lineHeight:v.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:v.zh,polarity:1}},w=C?11:15,_=r==="left"?-w:r==="right"?w:0,A=C?8:10,M=(d[N[l].namesPos].split("\n").length*N[l].lineHeight+A)*N[l].polarity,S=r==="left"?"end":r==="right"?"start":!p&&r==="middle"&&g.join("")===""?"end":"middle",z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var R,Z;return Y((Z=(R=z.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...g,C]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var R,Z;return X((Z=(R=U.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...d,C]);const se=r==="middle"?q/2+(P+12*2)/2:(q+(P+12*2)/2)*(r==="left"?-1:1),ae=r==="middle"&&g.join("")!==""?q/2+(P+12*2):(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"?1:0);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"scale(".concat(.57915*(C?.729:1),")"),onPointerDown:y,onPointerMove:b,onPointerUp:j,style:{cursor:"move"},ref:O,children:a.jsx(ot,{id:"stn_core_".concat(t),strokeColour:f[2],lineNum:h===""?void 0:h,stnNum:u===""?void 0:u,textClassName:"rmp-name__zh"})}),a.jsxs("g",{ref:U,transform:"translate(".concat(_,", ").concat(M,")"),textAnchor:S,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:v.zh,lineHeight:v.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:v.en,lineHeight:v.en,grow:"down",className:"rmp-name__en"})]}),g.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(_+se,", ").concat(M,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:g[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:g[1]})]})]}),!p&&a.jsxs("g",{transform:"translate(".concat(_+ae,", ").concat(M,")"),textAnchor:r==="middle"?"start":S,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},ve={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Guangzhou,"gz1","#F3D03E",W.black],lineCode:"1",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},oo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.GzmtrBasic,defaultTheme:ve.color})},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.open"),oneLine:!0,isChecked:e.open,onChange:i=>{e.open=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrBasic.secondaryNameZh"),value:e.secondaryNames[0],onChange:i=>{e.secondaryNames[0]=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrBasic.secondaryNameEn"),value:e.secondaryNames[1],onChange:i=>{e.secondaryNames[1]=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:i=>{e.tram=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},io=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("g",{transform:"translate(12,12)scale(0.45)",children:a.jsx(ot,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),lo={component:so,icon:io,defaultAttrs:ve,attrsComponent:oo,metadata:{displayName:"panel.details.stations.gzmtrBasic.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},vt=[B.Guangzhou,"","#AAAAAA",W.white,"","","gz"];function Ma(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(h=>h.runtime),{t:m}=D(),[d,r]=x.useState();x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4],t[d][5],t[d][6]]),r(void 0))},[i==null?void 0:i.toString()]);const l=t.map((h,u)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:h[4],minW:"80px",onChange:p=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],p,h[5],h[6]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:h[5],minW:"80px",onChange:p=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],h[4],p,h[6]])}]),f=(h,u,p)=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],h[4],h[5],p?"fs":"gz"]);return a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e(vt),icon:a.jsx(Ee,{})})]}),t.map((h,u)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(u),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:u!==0,children:a.jsx(Ht,{theme:[h[0],h[1],h[2],h[3]],onClick:()=>{r(u),c(Ut([h[0],h[1],h[2],h[3]]))}})}),a.jsx(L,{fields:l[u],noLabel:u!==0}),a.jsxs(et,{children:[e&&u===l.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>e==null?void 0:e(t.slice(-1)[0]),icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(u),icon:a.jsx(_t,{})}),a.jsx(L,{fields:[{type:"switch",label:m("panel.details.stations.gzmtrInt.foshan"),isChecked:h[6]==="fs",onChange:p=>f(h,u,p)}]})]})]},u))]})}const Jn=[[[0,0]],[[0,0]],[[-21,0],[21,0]],[[-21.65,-12.5],[21.65,-12.5],[0,25]],[[-23,-18],[22,-16],[23,18],[-22,16]]],ro=s=>{var E,H,R,Z,ge,he,Le,be,xe,Ye,He,Ue,te,je,tt,St,Nt,kt,Mt,rt,ce,At,An,zn;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Pe.nameOffsetX,nameOffsetY:l=Pe.nameOffsetY,transfer:f=Pe.transfer,open:h=Pe.open,secondaryNames:u=Pe.secondaryNames,tram:p=Pe.tram}=(E=n[k.GzmtrInt])!=null?E:Pe,g=x.useCallback(F=>c(t,F),[t,c]),C=x.useCallback(F=>i(t,F),[t,i]),y=x.useCallback(F=>m(t,F),[t,m]),b=qa("white","var(--chakra-colors-gray-800)"),j={en:p?5.08:6.56,zh:p?7.29:13.13},O={top:{namesPos:1,lineHeight:j.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:j.zh,polarity:1}},v=p?18:25,N=(r==="left"?-v:r==="right"?v:0)*(l==="middle"?1.1:1),w=p?14:18,_=(d[O[l].namesPos].split("\n").length*O[l].lineHeight+w*(r==="middle"?1.1:1))*O[l].polarity,A=r==="left"?"end":r==="right"?"start":!h&&r==="middle"&&u.join("")===""?"end":"middle",M=f.flat().slice(0,4),S=[["black","black"],[(R=(H=M.at(0))==null?void 0:H.at(2))!=null?R:"black",(ge=(Z=M.at(0))==null?void 0:Z.at(2))!=null?ge:"black"],[(Le=(he=M.at(0))==null?void 0:he.at(2))!=null?Le:"black",(xe=(be=M.at(1))==null?void 0:be.at(2))!=null?xe:"black"],[(He=(Ye=M.at(0))==null?void 0:Ye.at(2))!=null?He:"black",(te=(Ue=M.at(1))==null?void 0:Ue.at(2))!=null?te:"black",(tt=(je=M.at(2))==null?void 0:je.at(2))!=null?tt:"black"],[(Nt=(St=M.at(0))==null?void 0:St.at(2))!=null?Nt:"black",(Mt=(kt=M.at(1))==null?void 0:kt.at(2))!=null?Mt:"black",(ce=(rt=M.at(2))==null?void 0:rt.at(2))!=null?ce:"black",(An=(At=M.at(3))==null?void 0:At.at(2))!=null?An:"black"]],z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var F,Oe;return Y((Oe=(F=z.current)==null?void 0:F.getBBox().width)!=null?Oe:0)},[...u]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var F,Oe;return X((Oe=(F=U.current)==null?void 0:F.getBBox().width)!=null?Oe:0)},[...d]);const se=(q+(P+12*2)/2)*(r==="left"?-1:1),ae=(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"||P!==0?1:0),ie=r==="middle"?"start":A;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[M.map(F=>F[2]).filter((F,Oe,zt)=>zt.indexOf(F)===Oe).map(F=>a.jsx("marker",{id:"gzmtr_int_arrow_".concat(F),markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:a.jsx("polygon",{points:"0.25,0 0.25,2.5 2.25,1.25",fill:F})},"gzmtr_int_arrow_".concat(F))),a.jsxs("g",{transform:"scale(".concat(.57915*(p?.729:1),")"),children:[M.length<=2&&a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15 L 21,15 A 28 28 0 0 1 -21,15 Z",fill:b}),a.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 21,15 A 28 28 0 0 1 -21,15",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")})]}),M.length===3&&a.jsxs(a.Fragment,{children:[a.jsx("circle",{r:"25",fill:b}),a.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 21.65,12.5 A 25 25 0 0 1 -21.65,12.5",fill:"none",stroke:S[M.length][2],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")}),a.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")})]}),M.length>=4&&a.jsxs(a.Fragment,{children:[a.jsx("circle",{r:"25",fill:b}),a.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",stroke:S[M.length][2],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")}),a.jsx("path",{d:"M 0,25 A 25 25 0 0 1 -25,0",fill:"none",stroke:S[M.length][3],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][3],")")}),a.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")})]}),(zn=f[0])==null?void 0:zn.map((F,Oe,zt)=>a.jsx("g",{transform:"translate(".concat(Jn[zt.length][Oe][0],",").concat(Jn[zt.length][Oe][1],")"),children:F[6]==="gz"?a.jsx(ot,{strokeColour:F[2],lineNum:F[4],stnNum:F[5],textClassName:"rmp-name__zh"}):a.jsx(Zt,{strokeColour:F[2],lineNum:F[4],stnNum:F[5],textClassName:"rmp-name__zh"})},"gzmtr_int_".concat(t,"_stn_").concat(Oe))),a.jsx("circle",{id:"stn_core_".concat(t),r:"25",fill:"white",fillOpacity:"0",onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{ref:U,transform:"translate(".concat(N,", ").concat(_,")"),textAnchor:A,children:[a.jsx(I,{text:d[0].split("\\"),fontSize:j.zh,lineHeight:j.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\\"),fontSize:j.en,lineHeight:j.en,grow:"down",className:"rmp-name__en"})]}),u.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(N+se,", ").concat(_,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:u[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:u[1]})]})]}),!h&&a.jsxs("g",{transform:"translate(".concat(N+ae,", ").concat(_,")"),textAnchor:ie,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},Pe={...T,nameOffsetX:"right",nameOffsetY:"top",transfer:[[],[]],open:!0,secondaryNames:["",""],tram:!1},co=s=>{var h;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:u=>{e.names[0]=u,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:u=>{e.names[1]=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:u=>{e.nameOffsetX=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:u=>{e.nameOffsetY=u,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:e.open,onChange:u=>{e.open=u,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameZh"),value:e.secondaryNames[0],onChange:u=>{e.secondaryNames[0]=u,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameEn"),value:e.secondaryNames[1],onChange:u=>{e.secondaryNames[1]=u.toString(),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:u=>{e.tram=u,o(t,e)},minW:"full"}],i=[4,4,0],m=(h=e.transfer)!=null?h:Pe.transfer,d=u=>p=>{const g=structuredClone(m);if(g.length<=u)for(let C=g.length;C<=u;C++)g[C]=[vt];g[u].push(p),e.transfer=g,o(t,e)},r=u=>p=>{if(m.length>u&&m[u].length>p){const g=m.map((C,y)=>y===u?C.filter((b,j)=>j!==p):C);e.transfer=g,o(t,e)}},l=u=>(p,g)=>{if(m.length>u&&m[u].length>p){const C=m.map((y,b)=>b===u?y.map((j,O)=>O===p?[0,1,2,3,4,5,6].map(v=>g[v]===void 0?j[v]:g[v]):j):y);e.transfer=C,o(t,e)}},f=()=>d(m.length)(vt);return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[m.map((u,p)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(p===0?"panel.details.stations.interchange.within":p===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Ma,{interchangeList:u,onAdd:i[p]>u.length?d(p):void 0,onDelete:r(p),onUpdate:l(p)})]},p)),i[m.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:f,children:n("panel.details.stations.interchange.addGroup")})]})})]})},mo=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("g",{transform:"translate(6,12)scale(0.3)",children:a.jsx(ot,{strokeColour:"currentColor",lineNum:"1",stnNum:"09"})}),a.jsx("g",{transform:"translate(18,12)scale(0.3)",children:a.jsx(ot,{strokeColour:"currentColor",lineNum:"2",stnNum:"13"})}),a.jsx("marker",{id:"arrow",markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:a.jsx("polygon",{points:"0,0 0,3 2,1.5"})}),a.jsx("path",{d:"M 6,6 A 8 8 0 0 1 18,6",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"}),a.jsx("path",{d:"M 18,18 A 8 8 0 0 1 6,18",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"})]}),fo={component:ro,icon:mo,defaultAttrs:Pe,attrsComponent:co,metadata:{displayName:"panel.details.stations.gzmtrInt.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};var ho=function(s,t){var e=typeof Symbol=="function"&&s[Symbol.iterator];if(!e)return s;var o=e.call(s),n,c=[],i;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function pl(s){var t=s.children,e=ho($.useState(Math.random()),2),o=e[0],n=e[1];return a.jsx(kn.Provider,{value:{updateId:o,update:function(){return n(Math.random())}},children:t})}const Aa={en:6.56,zh:13.13},Ot=structuredClone(ee);Ot.top.lineHeight=Aa.en;Ot.bottom.lineHeight=Aa.zh;const uo=.56,Kn=.6,po=s=>{var he,Le,be,xe,Ye,He,Ue;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ce.nameOffsetX,nameOffsetY:l=Ce.nameOffsetY,transfer:f=Ce.transfer,open:h=Ce.open,secondaryNames:u=Ce.secondaryNames,columns:p=Ce.columns,topHeavy:g=Ce.topHeavy,anchorAt:C=Ce.anchorAt,osiPosition:y=Ce.osiPosition}=(he=n[k.GzmtrInt2024])!=null?he:Ce,b=x.useCallback(te=>c(t,te),[t,c]),j=x.useCallback(te=>i(t,te),[t,i]),O=x.useCallback(te=>m(t,te),[t,m]),v=f.flat().slice(0,5),N=v.map(te=>({style:te[6]==="gz"?"gzmtr":"fmetro",lineNum:te[4],stnNum:te[5],strokeColour:te[2]})),[w,_]=x.useState(),[A,M]=x.useState([0,0]),S=x.useRef(null);x.useEffect(()=>{S.current&&(_(S.current.getCorrectedBBox()),M(S.current.getTranslate()))},[S.current,v.length,p,g,C]);const z={x1:((Le=w==null?void 0:w.x)!=null?Le:0)+A[0],y1:((be=w==null?void 0:w.y)!=null?be:0)+A[1],x2:((xe=w==null?void 0:w.x)!=null?xe:0)+((Ye=w==null?void 0:w.width)!=null?Ye:0)+A[0],y2:((He=w==null?void 0:w.y)!=null?He:0)+((Ue=w==null?void 0:w.height)!=null?Ue:0)+A[1]},{update:P}=x.useContext(kn);x.useEffect(()=>{document.fonts.load("12px Arial","ABCDEFG123456").finally(()=>setTimeout(P,100))},[]);const Y=(r==="left"?z.x1:r==="right"?z.x2:0)*Kn,U=d[Ot[l].namesPos].split("\n").length*Ot[l].lineHeight*Ot[l].polarity+(l==="top"?z.y1:l==="bottom"?z.y2:0)*Kn,q=r==="left"?"end":r==="right"?"start":!h&&r==="middle"&&u.join("")===""?"end":"middle",X=x.useRef(null),[se,ae]=x.useState(0);x.useEffect(()=>{var te,je;return ae((je=(te=X.current)==null?void 0:te.getBBox().width)!=null?je:0)},[...u]);const ie=x.useRef(null),[E,H]=x.useState(0);x.useEffect(()=>{var te,je;return H((je=(te=ie.current)==null?void 0:te.getBBox().width)!=null?je:0)},[...d]);const R=(E+(se+12*2)/2)*(r==="left"?-1:1),Z=(E+se+(se!==0?12*2:0))*(r==="left"?-1:r==="right"||se!==0?1:0),ge=r==="middle"?"start":q;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"scale(".concat(uo,")"),children:[a.jsx(Na,{ref:S,stations:N,textClassName:"rmp-name__zh",columns:p,topHeavy:g,anchorAt:C>=0?C:void 0,osiPosition:f.flat().length===2&&p===1&&y!=="none"?y:void 0}),a.jsx("rect",{id:"stn_core_".concat(t),x:z.x1,y:z.y1,width:z.x2-z.x1,height:z.y2-z.y1,fill:"white",fillOpacity:"0",onPointerDown:b,onPointerMove:j,onPointerUp:O,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{ref:ie,transform:"translate(".concat(Y,", ").concat(U,")"),textAnchor:q,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:6.56,lineHeight:6.56,grow:"down",className:"rmp-name__en"})]}),u.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(Y+R,", ").concat(U,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(se+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(se+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:X,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:u[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:u[1]})]})]}),!h&&a.jsxs("g",{transform:"translate(".concat(Y+Z,", ").concat(U,")"),textAnchor:ge,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},Ce={...T,nameOffsetX:"right",nameOffsetY:"top",transfer:[[[B.Guangzhou,"gz1","#F3D03E",W.white,"1","14","gz"],[B.Guangzhou,"gz3","#ECA154",W.white,"3","11","gz"]]],open:!0,secondaryNames:["",""],columns:2,topHeavy:!1,anchorAt:-1,osiPosition:"none"},go=s=>{var h,u;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:p=>{e.names[0]=p,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:p=>{e.names[1]=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:p=>{e.nameOffsetX=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:p=>{e.nameOffsetY=p,o(t,e)},minW:"full"},{type:"slider",label:n("panel.details.stations.gzmtrInt2024.columns"),value:e.columns,min:1,max:Math.min(5,e.transfer.flat().length),step:1,onChange:p=>{e.columns=p,o(t,e)},leftIcon:a.jsx(Xa,{}),rightIcon:a.jsx(Ee,{}),minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt2024.topHeavy"),oneLine:!0,isChecked:e.topHeavy,onChange:p=>{e.topHeavy=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.gzmtrInt2024.anchorAt"),value:(h=e.anchorAt)!=null?h:"-1",options:{"-1":n("panel.details.stations.gzmtrInt2024.anchorAtNone"),...Object.fromEntries(Array.from({length:Math.min(e.transfer.flat().length,4)},(p,g)=>[g.toString(),g]))},onChange:p=>{e.anchorAt=Number(p),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.gzmtrInt2024.osiPosition"),value:e.osiPosition,options:{none:n("panel.details.stations.gzmtrInt2024.osiPositionNone"),left:n("panel.details.stations.gzmtrInt2024.osiPositionLeft"),right:n("panel.details.stations.gzmtrInt2024.osiPositionRight")},onChange:p=>{e.osiPosition=p,o(t,e)},hidden:!(e.transfer.flat().length===2&&e.columns===1),minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:e.open,onChange:p=>{e.open=p,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameZh"),value:e.secondaryNames[0],onChange:p=>{e.secondaryNames[0]=p,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameEn"),value:e.secondaryNames[1],onChange:p=>{e.secondaryNames[1]=p.toString(),o(t,e)},minW:"full"}],i=[5,5,0],m=(u=e.transfer)!=null?u:Ce.transfer,d=p=>g=>{const C=structuredClone(m);if(C.length<=p)for(let y=C.length;y<=p;y++)C[y]=[vt];C[p].push(g),e.transfer=C,o(t,e)},r=p=>g=>{if(m.length>p&&m[p].length>g){const C=m.map((y,b)=>b===p?y.filter((j,O)=>O!==g):y);e.transfer=C,e.anchorAt=-1,o(t,e)}},l=p=>(g,C)=>{if(m.length>p&&m[p].length>g){const y=m.map((b,j)=>j===p?b.map((O,v)=>v===g?[0,1,2,3,4,5,6].map(N=>C[N]===void 0?O[N]:C[N]):O):b);e.transfer=y,o(t,e)}},f=()=>d(m.length)(vt);return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[m.map((p,g)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(g===0?"panel.details.stations.interchange.within":g===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Ma,{interchangeList:p,onAdd:i[g]>p.length?d(g):void 0,onDelete:r(g),onUpdate:l(g)})]},g)),i[m.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:f,children:n("panel.details.stations.interchange.addGroup")})]})})]})},xo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx(Na,{stations:[{strokeColour:"currentColor",lineNum:"3",stnNum:"03"},{strokeColour:"currentColor",lineNum:"7",stnNum:"05"}],textClassName:"rmp-name__zh",columns:1,transform:"translate(12,12)scale(0.3)"})}),Co={component:po,icon:xo,defaultAttrs:Ce,attrsComponent:go,metadata:{displayName:"panel.details.stations.gzmtrInt2024.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ne={zh:9,en:6.2,top:6.2+1,middle:0,bottom:10},yo=s=>{var j;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=me.nameOffsetX,nameOffsetY:l=me.nameOffsetY,open:f=me.open}=(j=n[k.BjsubwayBasic])!=null?j:me,h=x.useCallback(O=>c(t,O),[t,c]),u=x.useCallback(O=>i(t,O),[t,i]),p=x.useCallback(O=>m(t,O),[t,m]),g=(O,v)=>O==="left"&&v==="top"?[-4,-(d[1].split("\n").length+(f?0:1))*ne[v]-1]:O==="middle"&&v==="top"?[0,-(d[1].split("\n").length+(f?0:1))*ne[v]-4]:O==="right"&&v==="top"?[4,-(d[1].split("\n").length+(f?0:1))*ne[v]-1]:O==="left"&&v==="bottom"?[-4,d[0].split("\n").length*ne[v]+1]:O==="middle"&&v==="bottom"?[0,d[0].split("\n").length*ne[v]+4]:O==="right"&&v==="bottom"?[4,d[0].split("\n").length*ne[v]+1]:O==="left"&&v==="middle"?[-5,0]:O==="right"&&v==="middle"?[5,0]:[0,0],[C,y]=g(r,l),b=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"4",stroke:"black",strokeWidth:"0.5",strokeDasharray:f?void 0:"1.5",fill:"white",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(C,", ").concat(y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:ne.zh,lineHeight:ne.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),a.jsx(I,{text:d[1].split("\n"),fontSize:ne.en,lineHeight:ne.en,grow:"down",className:"rmp-name__en",baseOffset:1}),!f&&a.jsx("text",{dy:d[1].split("\n").length*ne.en+2,fontSize:ne.en,dominantBaseline:"hanging",className:"rmp-name__zh",children:"(暂缓开通)"})]})]})},me={...T,nameOffsetX:"right",nameOffsetY:"top",open:!0},bo=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:me).names[0],onChange:(s,t)=>{const e=t!=null?t:me;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:me).names[1],onChange:(s,t)=>{const e=t!=null?t:me;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:me).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:me;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:me).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:me;return e.nameOffsetY=s,e}},{type:"switch",label:"panel.details.stations.bjsubwayBasic.open",oneLine:!0,isChecked:s=>(s!=null?s:me).open,onChange:(s,t)=>{const e=t!=null?t:me;return e.open=s,e}}],jo=()=>a.jsx(vn,{fields:bo}),Oo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})}),vo={component:yo,icon:Oo,defaultAttrs:me,attrsComponent:jo,metadata:{displayName:"panel.details.stations.bjsubwayBasic.displayName",cities:[B.Beijing],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},za="M 8.359893 4.159288 C 8.368828 4.168825 8.460953 4.26852 8.57038 4.386985 C 8.679807 4.505449 8.860802 4.701382 8.972592 4.822389 C 9.084381 4.943397 9.238666 5.110407 9.315445 5.193521 C 9.392224 5.276636 9.519867 5.414817 9.599094 5.500589 C 9.678323 5.58636 9.801023 5.719209 9.871761 5.795812 C 9.942499 5.872413 10.000208 5.935256 9.999999 5.935465 C 9.999792 5.935671 9.975513 5.928466 9.946045 5.919453 C 9.916577 5.910439 9.831826 5.88438 9.757708 5.861543 C 9.683591 5.838706 9.532284 5.791997 9.421472 5.757746 C 9.310658 5.723495 9.190374 5.686309 9.154173 5.675113 C 9.11797 5.663918 9.048485 5.642428 8.99976 5.627359 C 8.951035 5.612291 8.910275 5.599729 8.909181 5.599446 C 8.907193 5.59893 8.907193 5.59893 8.907135 5.798288 C 8.907103 5.907935 8.906695 6.128369 8.906229 6.288144 C 8.905446 6.555825 8.905249 6.580968 8.903705 6.608245 C 8.902784 6.624527 8.90139 6.647987 8.900606 6.660379 C 8.899822 6.672773 8.898192 6.695836 8.896983 6.711632 C 8.895774 6.727427 8.893582 6.753074 8.892114 6.768627 C 8.890645 6.784179 8.888061 6.80923 8.88637 6.824296 C 8.884679 6.839362 8.88172 6.864065 8.879793 6.879189 C 8.877868 6.894315 8.874691 6.917777 8.872734 6.931325 C 8.870777 6.944874 8.867386 6.967292 8.865197 6.981143 C 8.863009 6.994995 8.859045 7.018654 8.856388 7.03372 C 8.853731 7.048786 8.849344 7.072617 8.84664 7.086676 C 8.843935 7.100736 8.839338 7.1236 8.836424 7.137486 C 8.833509 7.151371 8.828584 7.174065 8.825479 7.187916 C 8.822371 7.201767 8.817014 7.224831 8.81357 7.239167 C 8.810127 7.253505 8.80431 7.276767 8.800644 7.29086 C 8.796978 7.304955 8.791035 7.327222 8.787437 7.340344 C 8.78384 7.353467 8.77752 7.375735 8.773395 7.389829 C 8.769268 7.403923 8.762319 7.426986 8.757952 7.441081 C 8.753583 7.455174 8.746363 7.47784 8.741903 7.491448 C 8.737446 7.505056 8.729829 7.527523 8.724978 7.541374 C 8.720126 7.555225 8.712182 7.577493 8.707321 7.590858 C 8.702462 7.604224 8.6948 7.624901 8.690294 7.636807 C 8.68579 7.648715 8.677304 7.670452 8.671437 7.685113 C 8.665571 7.699773 8.656536 7.721842 8.651362 7.734155 C 8.646187 7.746468 8.63796 7.765688 8.63308 7.776865 C 8.628201 7.788043 8.620145 7.806136 8.615178 7.817071 C 8.610211 7.828006 8.60083 7.848286 8.594332 7.862138 C 8.587832 7.875988 8.573873 7.904618 8.563307 7.92576 C 8.552743 7.946901 8.537873 7.975929 8.530265 7.990266 C 8.522656 8.004602 8.511053 8.026075 8.504479 8.037983 C 8.497905 8.04989 8.486739 8.069772 8.479666 8.082165 C 8.472593 8.094558 8.460988 8.11444 8.453878 8.126348 C 8.446768 8.138254 8.435438 8.156944 8.428702 8.167879 C 8.421966 8.178814 8.410628 8.196906 8.403507 8.208085 C 8.396386 8.219262 8.384013 8.238349 8.37601 8.2505 C 8.36801 8.26265 8.354345 8.282929 8.345645 8.295566 C 8.336946 8.308201 8.322885 8.328276 8.314397 8.340175 C 8.305909 8.352074 8.292209 8.37096 8.283951 8.382147 C 8.275693 8.393333 8.261178 8.41259 8.251695 8.42494 C 8.242211 8.437289 8.225837 8.458165 8.215304 8.471332 C 8.204773 8.484497 8.189062 8.503819 8.18039 8.514267 C 8.17172 8.524716 8.157459 8.541616 8.148703 8.551823 C 8.139945 8.562029 8.125004 8.579116 8.115499 8.589793 C 8.105992 8.600471 8.091457 8.616575 8.083197 8.625581 C 8.074937 8.634586 8.060843 8.649709 8.05188 8.659185 C 8.042916 8.668662 8.018659 8.69335 7.997974 8.714046 C 7.977291 8.734741 7.953162 8.758432 7.944355 8.766693 C 7.935549 8.774953 7.920821 8.788638 7.911628 8.797104 C 7.902433 8.805571 7.887569 8.819082 7.878597 8.827129 C 7.869623 8.835177 7.853733 8.849096 7.843284 8.858062 C 7.832834 8.867027 7.816133 8.881153 7.806171 8.889453 C 7.796208 8.897753 7.779904 8.911098 7.769942 8.919111 C 7.759978 8.927123 7.743874 8.939848 7.734154 8.947388 C 7.724434 8.954926 7.708329 8.96721 7.698366 8.974683 C 7.688403 8.982156 7.673093 8.993497 7.664346 8.999885 C 7.655598 9.006271 7.637505 9.019163 7.62414 9.02853 C 7.610775 9.037899 7.588109 9.053377 7.573772 9.062926 C 7.559434 9.072475 7.538474 9.086151 7.527194 9.093318 C 7.515913 9.100485 7.497422 9.112045 7.486104 9.119009 C 7.474786 9.125973 7.454846 9.137918 7.441793 9.145553 C 7.428741 9.153188 7.405677 9.166317 7.390542 9.174728 C 7.375406 9.18314 7.352087 9.19579 7.338722 9.20284 C 7.325357 9.209889 7.303686 9.221025 7.290564 9.227587 C 7.277442 9.234147 7.256366 9.2444 7.243731 9.250369 C 7.231095 9.256339 7.211213 9.265569 7.199549 9.27088 C 7.187884 9.27619 7.168797 9.28464 7.157134 9.289659 C 7.145469 9.294676 7.124792 9.303333 7.111184 9.308895 C 7.097576 9.31446 7.075367 9.323255 7.061831 9.328442 C 7.048295 9.333629 7.027816 9.341289 7.016323 9.345462 C 7.00483 9.349636 6.978328 9.358748 6.95743 9.365711 C 6.936532 9.372675 6.906311 9.382359 6.890272 9.38723 C 6.874235 9.392101 6.849581 9.399302 6.835486 9.403231 C 6.821393 9.40716 6.796739 9.413705 6.7807 9.417776 C 6.764662 9.421847 6.740208 9.427785 6.726356 9.430971 C 6.712505 9.434157 6.689641 9.439174 6.675548 9.442118 C 6.661452 9.445063 6.639384 9.449434 6.626504 9.451833 C 6.613625 9.454231 6.591038 9.458187 6.57631 9.460623 C 6.561581 9.463058 6.538518 9.46664 6.525058 9.468584 C 6.511598 9.470528 6.487662 9.473704 6.471867 9.475644 C 6.456071 9.477583 6.433207 9.480169 6.421057 9.481392 C 6.408907 9.482615 6.387236 9.4846 6.372898 9.485805 C 6.358561 9.487008 6.333112 9.488794 6.316345 9.489771 C 6.299578 9.490749 6.276316 9.491956 6.264652 9.492452 C 6.252987 9.492949 6.216803 9.493517 6.18424 9.493716 C 6.151678 9.493916 6.114499 9.493756 6.10162 9.493363 C 6.088739 9.49297 6.06866 9.492202 6.056995 9.491656 C 6.045331 9.491112 6.026046 9.490059 6.014138 9.489319 C 6.002231 9.488579 5.982548 9.487186 5.970398 9.486226 C 5.958248 9.485266 5.939956 9.483668 5.92975 9.482677 C 5.919544 9.481687 5.902445 9.479897 5.891753 9.478702 C 5.881061 9.477505 5.864443 9.475529 5.854823 9.47431 C 5.845204 9.47309 5.827708 9.470707 5.815943 9.469012 C 5.804178 9.467319 5.784412 9.464314 5.77202 9.462336 C 5.759627 9.460358 5.745908 9.458071 5.741535 9.457253 C 5.733583 9.455767 5.733583 9.455767 5.750813 9.451963 C 5.76029 9.449871 5.778183 9.445793 5.790576 9.442902 C 5.802969 9.440009 5.82305 9.435088 5.8352 9.431966 C 5.847351 9.428843 5.867067 9.423503 5.879014 9.420099 C 5.890961 9.416695 5.911639 9.410524 5.924964 9.406386 C 5.938288 9.402248 5.960324 9.395124 5.973932 9.390556 C 5.98754 9.385988 6.008053 9.378835 6.019516 9.374659 C 6.030978 9.370483 6.050462 9.363131 6.062815 9.358321 C 6.075166 9.353508 6.094417 9.34577 6.105595 9.341125 C 6.116774 9.336478 6.135264 9.328524 6.146685 9.323448 C 6.158106 9.318373 6.177591 9.309499 6.189984 9.303728 C 6.202377 9.297957 6.224247 9.287379 6.238585 9.280221 C 6.252921 9.273063 6.273399 9.262563 6.284092 9.256887 C 6.294784 9.251213 6.314865 9.240225 6.328716 9.232468 C 6.342567 9.224712 6.361654 9.213777 6.371131 9.208166 C 6.380608 9.202557 6.396514 9.192982 6.406477 9.18689 C 6.41644 9.180798 6.432345 9.170843 6.441822 9.164769 C 6.4513 9.158695 6.467404 9.14816 6.47761 9.141357 C 6.487816 9.134555 6.50392 9.123611 6.513398 9.117039 C 6.522875 9.110467 6.539177 9.098936 6.549627 9.091415 C 6.560077 9.083895 6.577971 9.070704 6.589391 9.062101 C 6.600812 9.053498 6.618895 9.039583 6.629575 9.031179 C 6.640255 9.022773 6.656757 9.009534 6.666247 9.001758 C 6.675736 8.993981 6.692227 8.980227 6.702893 8.971191 C 6.713559 8.962157 6.730458 8.94742 6.740448 8.938442 C 6.750437 8.929464 6.766562 8.914768 6.776282 8.905784 C 6.786003 8.896801 6.803698 8.880239 6.815604 8.868983 C 6.827512 8.857727 6.843456 8.842402 6.851037 8.834927 C 6.858617 8.827451 6.873728 8.812176 6.884615 8.800982 C 6.895503 8.789788 6.912683 8.77174 6.922792 8.760878 C 6.932902 8.750012 6.949699 8.731606 6.960117 8.719973 C 6.970537 8.70834 6.986147 8.690599 6.994807 8.68055 C 7.003467 8.670501 7.017852 8.65353 7.026772 8.642838 C 7.035693 8.632146 7.053 8.610872 7.065231 8.595562 C 7.077464 8.580254 7.09533 8.557407 7.104936 8.544792 C 7.114541 8.532177 7.129989 8.511499 7.139265 8.498842 C 7.14854 8.486185 7.164221 8.464337 7.174109 8.450293 C 7.183999 8.436249 7.199718 8.413383 7.209044 8.399484 C 7.218369 8.385583 7.232209 8.364666 7.2398 8.353003 C 7.247391 8.341338 7.260236 8.321177 7.268346 8.3082 C 7.276455 8.295223 7.289493 8.27395 7.297318 8.260925 C 7.305143 8.247901 7.317313 8.227304 7.32436 8.215153 C 7.331408 8.203004 7.344023 8.180735 7.352394 8.165669 C 7.360765 8.150602 7.372812 8.128534 7.379167 8.116627 C 7.385522 8.104719 7.396764 8.083248 7.404151 8.06891 C 7.411537 8.054573 7.422352 8.0331 7.428184 8.021194 C 7.434016 8.009287 7.443347 7.990001 7.448918 7.978336 C 7.45449 7.966672 7.463351 7.947784 7.468609 7.936364 C 7.473868 7.924943 7.482234 7.906453 7.4872 7.895274 C 7.492166 7.884096 7.500586 7.86481 7.505909 7.852417 C 7.511233 7.840024 7.519759 7.819808 7.524855 7.807493 C 7.529951 7.795179 7.538242 7.7747 7.543279 7.761986 C 7.548316 7.749271 7.556671 7.727735 7.561847 7.714127 C 7.567022 7.700519 7.57545 7.677853 7.580575 7.663759 C 7.585701 7.649664 7.594637 7.624414 7.600433 7.607646 C 7.60623 7.59088 7.615365 7.563642 7.620735 7.547118 C 7.626104 7.530593 7.634661 7.503554 7.63975 7.48703 C 7.644838 7.470506 7.653173 7.442472 7.658273 7.424733 C 7.663371 7.406994 7.671309 7.378562 7.675913 7.361553 C 7.680518 7.344542 7.688414 7.314123 7.69346 7.293953 C 7.698508 7.273784 7.705483 7.244955 7.708961 7.229889 C 7.712439 7.214823 7.717614 7.19176 7.720461 7.178638 C 7.723308 7.165516 7.728016 7.143247 7.730923 7.129154 C 7.733829 7.115059 7.738621 7.090804 7.74157 7.075251 C 7.74452 7.0597 7.749294 7.033455 7.752179 7.016931 C 7.755066 7.000407 7.759431 6.974154 7.761884 6.958592 C 7.764333 6.94303 7.768123 6.917978 7.770304 6.902922 C 7.772485 6.887866 7.775877 6.86322 7.777843 6.848155 C 7.779809 6.833088 7.783001 6.807043 7.784938 6.790275 C 7.786876 6.773509 7.789651 6.74806 7.791106 6.733722 C 7.792561 6.719385 7.794953 6.693936 7.796421 6.677169 C 7.797888 6.660402 7.800071 6.632964 7.801272 6.616198 C 7.802474 6.599431 7.804076 6.575174 7.804832 6.562295 C 7.80559 6.549416 7.806592 6.532119 7.807061 6.523856 C 7.807529 6.515595 7.80835 6.421553 7.808886 6.314875 C 7.809421 6.208197 7.809724 6.003942 7.80956 5.860975 C 7.809398 5.718009 7.809015 5.600789 7.808712 5.600486 C 7.808408 5.600182 7.68663 5.63752 7.538092 5.68346 C 7.389553 5.7294 7.213946 5.783698 7.147853 5.804122 C 7.08176 5.824546 6.974794 5.857548 6.910151 5.877461 C 6.845508 5.897371 6.776261 5.918652 6.75627 5.924749 C 6.736279 5.930848 6.719744 5.935658 6.719525 5.93544 C 6.719306 5.935221 6.790938 5.857274 6.878708 5.762224 C 6.966477 5.667175 7.110461 5.511271 7.198671 5.415771 C 7.286881 5.320272 7.433807 5.161213 7.525173 5.062309 C 7.616539 4.963404 7.76605 4.801562 7.857421 4.702663 C 7.948792 4.603762 8.093983 4.446596 8.180069 4.353404 C 8.266154 4.260212 8.341831 4.178411 8.34824 4.171626 L 8.359893 4.159288 Z M 3.639928 8.15987 C 3.639606 8.15984 3.567056 8.081517 3.478708 7.985821 C 3.390359 7.890125 3.197014 7.680786 3.049051 7.520623 C 2.901089 7.36046 2.662314 7.101986 2.518441 6.946236 C 2.374568 6.790486 2.198977 6.60038 2.128238 6.523779 C 2.0575 6.447177 1.999793 6.384333 2 6.384126 C 2.000208 6.383919 2.024487 6.391125 2.053954 6.40014 C 2.083422 6.409154 2.157237 6.431839 2.217988 6.450549 C 2.278738 6.469259 2.375968 6.499262 2.434052 6.517222 C 2.492137 6.535182 2.553174 6.55407 2.569692 6.559195 C 2.586209 6.564321 2.709718 6.602509 2.844157 6.644057 C 2.978595 6.685606 3.089538 6.719839 3.090698 6.72013 C 3.092807 6.72066 3.092807 6.72066 3.092866 6.520418 C 3.092898 6.410285 3.093306 6.18985 3.093772 6.030562 C 3.094553 5.763748 3.094752 5.738617 3.096295 5.711344 C 3.097217 5.695064 3.098611 5.671603 3.099395 5.659211 C 3.100178 5.646816 3.101808 5.623754 3.103017 5.607958 C 3.104227 5.592164 3.106418 5.566515 3.107887 5.550963 C 3.109355 5.535411 3.111941 5.51036 3.113633 5.495295 C 3.115324 5.480227 3.118114 5.456767 3.119833 5.443159 C 3.121551 5.429551 3.124544 5.407283 3.126484 5.393674 C 3.128424 5.380066 3.13179 5.357599 3.133963 5.343748 C 3.136135 5.329897 3.139918 5.307034 3.142369 5.292939 C 3.144819 5.278845 3.149205 5.254788 3.152116 5.239479 C 3.155027 5.224168 3.159971 5.199397 3.163101 5.184428 C 3.16623 5.169459 3.171352 5.145801 3.174481 5.131851 C 3.17761 5.117902 3.182986 5.094759 3.18643 5.080422 C 3.189873 5.066085 3.19569 5.042824 3.199356 5.028729 C 3.203022 5.014635 3.208965 4.992367 3.212563 4.979245 C 3.21616 4.966123 3.222479 4.943855 3.226605 4.929761 C 3.230732 4.915667 3.237681 4.892604 3.242049 4.878509 C 3.246417 4.864415 3.253638 4.84175 3.258096 4.828142 C 3.262555 4.814533 3.270171 4.792067 3.275023 4.778216 C 3.279873 4.764364 3.287818 4.742096 3.292678 4.728731 C 3.297538 4.715366 3.3052 4.694689 3.309704 4.682783 C 3.31421 4.670875 3.322696 4.649137 3.328563 4.634478 C 3.33443 4.619817 3.343463 4.597748 3.348639 4.585434 C 3.353813 4.573122 3.36204 4.553902 3.36692 4.542725 C 3.371799 4.531547 3.379856 4.513454 3.384823 4.502518 C 3.389789 4.491583 3.39917 4.471303 3.405668 4.457452 C 3.412167 4.443601 3.426129 4.414971 3.436694 4.39383 C 3.44726 4.372689 3.461914 4.344058 3.469262 4.330207 C 3.476608 4.316357 3.488427 4.294487 3.495524 4.281607 C 3.502622 4.268728 3.514584 4.247454 3.522105 4.234332 C 3.529628 4.22121 3.541034 4.201699 3.547455 4.190976 C 3.553874 4.180251 3.564621 4.162556 3.571336 4.151653 C 3.578052 4.14075 3.589372 4.122683 3.596493 4.111505 C 3.603614 4.100327 3.615987 4.081241 3.623989 4.069091 C 3.631991 4.056941 3.645655 4.036661 3.654354 4.024024 C 3.663054 4.011388 3.677115 3.991314 3.685603 3.979416 C 3.694091 3.967517 3.707792 3.948628 3.716049 3.937443 C 3.724308 3.926256 3.738823 3.906999 3.748305 3.89465 C 3.757787 3.882301 3.774164 3.861424 3.784696 3.848259 C 3.795227 3.835093 3.810939 3.815771 3.81961 3.805323 C 3.828281 3.794872 3.84254 3.777973 3.851297 3.767766 C 3.860054 3.757562 3.874996 3.740475 3.884502 3.729796 C 3.894008 3.719119 3.908543 3.703013 3.916803 3.694009 C 3.925064 3.685003 3.939156 3.669882 3.94812 3.660404 C 3.957083 3.650928 3.981341 3.626241 4.002025 3.605544 C 4.02271 3.584848 4.046838 3.561157 4.055645 3.552897 C 4.064451 3.544637 4.079179 3.530951 4.088373 3.522486 C 4.097566 3.514019 4.11243 3.500508 4.121404 3.49246 C 4.130376 3.484412 4.146267 3.470493 4.156716 3.461528 C 4.167165 3.452562 4.183867 3.438437 4.19383 3.430137 C 4.203792 3.421837 4.220096 3.408491 4.230059 3.400478 C 4.240022 3.392467 4.256126 3.379735 4.265846 3.372187 C 4.275566 3.364638 4.294852 3.349997 4.308703 3.33965 C 4.322554 3.329302 4.342636 3.314602 4.353327 3.306981 C 4.364019 3.299361 4.382311 3.28654 4.393975 3.27849 C 4.405639 3.270441 4.42466 3.257609 4.436245 3.249977 C 4.447829 3.242345 4.465922 3.230637 4.476451 3.223961 C 4.486979 3.217284 4.504342 3.206445 4.515034 3.199872 C 4.525727 3.193299 4.545155 3.181674 4.558207 3.174039 C 4.571259 3.166403 4.594323 3.153273 4.609458 3.14486 C 4.624594 3.13645 4.647913 3.123799 4.661278 3.11675 C 4.674643 3.1097 4.696314 3.098564 4.709436 3.092004 C 4.722558 3.085442 4.74403 3.075004 4.757153 3.068806 C 4.770275 3.062607 4.791488 3.052789 4.804292 3.046986 C 4.817096 3.041182 4.837177 3.03234 4.848916 3.027336 C 4.860656 3.022333 4.879611 3.014428 4.89104 3.009769 C 4.902469 3.00511 4.923146 2.996942 4.93699 2.991619 C 4.950833 2.986296 4.971702 2.978476 4.983366 2.97424 C 4.99503 2.970004 5.021672 2.960841 5.042571 2.953878 C 5.063468 2.946914 5.093689 2.937231 5.109727 2.93236 C 5.125765 2.927489 5.150419 2.920288 5.164514 2.916359 C 5.178607 2.912431 5.203261 2.905885 5.219299 2.901814 C 5.235338 2.897742 5.259793 2.891805 5.273643 2.888619 C 5.287495 2.885432 5.310359 2.880417 5.324453 2.877472 C 5.338548 2.874528 5.360616 2.870155 5.373496 2.867757 C 5.386374 2.865358 5.408962 2.861403 5.42369 2.858968 C 5.438418 2.856532 5.461482 2.85295 5.474941 2.851007 C 5.488403 2.849062 5.512338 2.845885 5.528134 2.843946 C 5.543929 2.842007 5.566793 2.83942 5.578943 2.838198 C 5.591094 2.836976 5.612764 2.83499 5.627101 2.833786 C 5.641439 2.832582 5.666887 2.830797 5.683655 2.829821 C 5.700423 2.828844 5.724281 2.827635 5.736673 2.827131 C 5.749067 2.826628 5.779487 2.825963 5.804273 2.825654 C 5.831717 2.825312 5.864715 2.825499 5.888661 2.826133 C 5.910288 2.826705 5.935936 2.827562 5.945656 2.828037 C 5.955376 2.828513 5.97327 2.829513 5.98542 2.830258 C 5.99757 2.831004 6.017452 2.832401 6.029602 2.833363 C 6.041752 2.834323 6.060044 2.83592 6.07025 2.836912 C 6.080456 2.837903 6.097554 2.839693 6.108246 2.840889 C 6.118938 2.842084 6.135557 2.84406 6.145177 2.84528 C 6.154796 2.846498 6.172292 2.848883 6.184057 2.850577 C 6.195822 2.852271 6.215388 2.855248 6.227539 2.857194 C 6.239688 2.859139 6.253395 2.861429 6.257997 2.862283 C 6.266363 2.863834 6.266363 2.863834 6.249159 2.867633 C 6.239698 2.869721 6.221817 2.873796 6.209424 2.876689 C 6.197031 2.87958 6.17695 2.884501 6.1648 2.887624 C 6.152649 2.890747 6.132933 2.896087 6.120986 2.899491 C 6.109038 2.902895 6.088361 2.909066 6.075037 2.913204 C 6.061712 2.917341 6.039675 2.924465 6.026067 2.929032 C 6.012459 2.933601 5.991946 2.940756 5.980484 2.944931 C 5.969021 2.949106 5.949537 2.95646 5.937186 2.961273 C 5.924834 2.966085 5.905422 2.973896 5.894048 2.978628 C 5.882673 2.983361 5.864182 2.991314 5.852958 2.996302 C 5.841733 3.001288 5.822409 3.010091 5.810017 3.015862 C 5.797623 3.021632 5.775753 3.032209 5.761416 3.039369 C 5.747078 3.046527 5.726601 3.057027 5.715909 3.062701 C 5.705216 3.068377 5.685135 3.079366 5.671284 3.087121 C 5.657433 3.094877 5.638347 3.105814 5.628869 3.111423 C 5.619392 3.117034 5.603487 3.126609 5.593524 3.1327 C 5.58356 3.138793 5.567655 3.148746 5.558177 3.15482 C 5.5487 3.160895 5.532596 3.171429 5.522389 3.178233 C 5.512184 3.185035 5.496079 3.195978 5.486602 3.202551 C 5.477125 3.209123 5.460822 3.220655 5.450372 3.228179 C 5.439923 3.235703 5.423421 3.247832 5.413702 3.255136 C 5.403981 3.262436 5.386883 3.27556 5.375705 3.284297 C 5.364527 3.293035 5.346831 3.307168 5.336382 3.315704 C 5.325933 3.32424 5.308455 3.338784 5.297544 3.348024 C 5.286631 3.357265 5.269532 3.372169 5.259547 3.381148 C 5.249561 3.390125 5.233438 3.404821 5.223718 3.413807 C 5.213998 3.422791 5.196302 3.439351 5.184396 3.450605 C 5.172488 3.461862 5.156544 3.477188 5.148963 3.484664 C 5.141382 3.492139 5.126272 3.507414 5.115385 3.518608 C 5.104497 3.529801 5.087317 3.547848 5.077208 3.558713 C 5.067098 3.569577 5.050301 3.587983 5.039882 3.599617 C 5.029463 3.61125 5.013853 3.62899 5.005193 3.639039 C 4.996532 3.649089 4.982148 3.666059 4.973228 3.676752 C 4.964307 3.687445 4.947 3.708717 4.934769 3.724027 C 4.922537 3.739336 4.90467 3.762184 4.895064 3.774798 C 4.885458 3.787414 4.870011 3.808089 4.860735 3.820748 C 4.85146 3.833405 4.835779 3.855252 4.825891 3.869297 C 4.816002 3.883342 4.800281 3.906206 4.790956 3.920107 C 4.781631 3.934007 4.767791 3.954923 4.760201 3.966587 C 4.75261 3.978251 4.739764 3.998412 4.731654 4.01139 C 4.723545 4.024366 4.710507 4.04564 4.702682 4.058664 C 4.694856 4.071689 4.682687 4.092286 4.67564 4.104437 C 4.668592 4.116586 4.655977 4.138854 4.647606 4.15392 C 4.639235 4.168986 4.627187 4.191055 4.620833 4.202963 C 4.614478 4.214869 4.603237 4.236342 4.59585 4.250679 C 4.588463 4.265017 4.577648 4.286489 4.571816 4.298396 C 4.565984 4.310304 4.556654 4.329589 4.551082 4.341253 C 4.54551 4.352918 4.536649 4.371806 4.53139 4.383226 C 4.526132 4.394647 4.517766 4.413137 4.512801 4.424315 C 4.507834 4.435493 4.499414 4.45478 4.494091 4.467174 C 4.488767 4.479566 4.480241 4.499781 4.475145 4.512096 C 4.470048 4.524411 4.461758 4.544889 4.456721 4.557603 C 4.451684 4.570319 4.443329 4.591855 4.438153 4.605463 C 4.432978 4.619071 4.42455 4.641737 4.419425 4.65583 C 4.414299 4.669925 4.405364 4.695175 4.399567 4.711941 C 4.393771 4.72871 4.384635 4.755947 4.379265 4.772473 C 4.373896 4.788996 4.365339 4.816035 4.36025 4.83256 C 4.355162 4.849085 4.346827 4.877117 4.341728 4.894857 C 4.336629 4.912596 4.328691 4.941027 4.324087 4.958037 C 4.319483 4.975048 4.311586 5.005467 4.30654 5.025636 C 4.301492 5.045806 4.294517 5.074635 4.291039 5.0897 C 4.287562 5.104767 4.282386 5.12783 4.279539 5.140952 C 4.276692 5.154074 4.271984 5.176342 4.269077 5.190436 C 4.266171 5.20453 4.261379 5.228786 4.25843 5.244339 C 4.25548 5.259891 4.250707 5.286135 4.24782 5.302659 C 4.244935 5.319183 4.240569 5.345436 4.238118 5.360997 C 4.235666 5.37656 4.231877 5.40161 4.229696 5.416667 C 4.227515 5.431724 4.224122 5.456368 4.222157 5.471435 C 4.220191 5.486501 4.216998 5.512547 4.215061 5.529314 C 4.213124 5.546082 4.210349 5.571529 4.208893 5.585867 C 4.207439 5.600204 4.205048 5.625653 4.20358 5.642421 C 4.202112 5.659187 4.199928 5.686625 4.198727 5.703393 C 4.197526 5.720159 4.195924 5.744415 4.195167 5.757294 C 4.194409 5.770174 4.193407 5.787471 4.192938 5.795733 C 4.192471 5.803995 4.19165 5.898036 4.191115 6.004715 C 4.19058 6.111393 4.190277 6.315648 4.190439 6.458614 C 4.190602 6.601581 4.190984 6.718802 4.191288 6.719105 C 4.191591 6.719408 4.313371 6.682069 4.461908 6.636129 C 4.610447 6.590189 4.786054 6.535892 4.852147 6.515468 C 4.91824 6.495043 5.025205 6.462041 5.089849 6.442131 C 5.154491 6.422219 5.223739 6.400939 5.243729 6.39484 C 5.263721 6.388742 5.280256 6.383932 5.280475 6.38415 C 5.280694 6.384369 5.209062 6.462315 5.121291 6.557364 C 5.033521 6.652413 4.889537 6.808317 4.801327 6.903816 C 4.713117 6.999316 4.56619 7.158374 4.474826 7.25728 C 4.383461 7.356185 4.23395 7.518026 4.14258 7.616927 C 4.051209 7.715828 3.906015 7.872994 3.819926 7.966186 C 3.733837 8.059378 3.658251 8.141094 3.651957 8.147776 C 3.645663 8.154458 3.64025 8.159901 3.639928 8.15987 Z",_o=s=>{var j;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=fe.nameOffsetX,nameOffsetY:l=fe.nameOffsetY,outOfStation:f=fe.outOfStation}=(j=n[k.BjsubwayInt])!=null?j:fe,h=x.useCallback(O=>c(t,O),[t,c]),u=x.useCallback(O=>i(t,O),[t,i]),p=x.useCallback(O=>m(t,O),[t,m]),g=(O,v)=>O==="left"&&v==="top"?[-5,-d[1].split("\n").length*ne[v]-4]:O==="middle"&&v==="top"?[0,-d[1].split("\n").length*ne[v]-7]:O==="right"&&v==="top"?[5,-d[1].split("\n").length*ne[v]-4]:O==="left"&&v==="bottom"?[-5,d[0].split("\n").length*ne[v]+4]:O==="middle"&&v==="bottom"?[0,d[0].split("\n").length*ne[v]+7]:O==="right"&&v==="bottom"?[5,d[0].split("\n").length*ne[v]+4]:O==="left"&&v==="middle"?[-8,0]:O==="right"&&v==="middle"?[8,0]:[0,0],[C,y]=g(r,l),b=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e-6,", ").concat(o-6,")"),children:[a.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),a.jsx("path",{d:za,fill:f?"#898989":"black",stroke:f?"#898989":"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("circle",{id:"stn_core_".concat(t),cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",strokeOpacity:"0",fill:"white",fillOpacity:"0",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{transform:"translate(".concat(e+C,", ").concat(o+y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:ne.zh,lineHeight:ne.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),a.jsx(I,{text:d[1].split("\n"),fontSize:ne.en,lineHeight:ne.en,grow:"down",className:"rmp-name__en",baseOffset:1})]})]})},fe={...T,nameOffsetX:"right",nameOffsetY:"top",outOfStation:!1},wo=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:fe).names[0],onChange:(s,t)=>{const e=t!=null?t:fe;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:fe).names[1],onChange:(s,t)=>{const e=t!=null?t:fe;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:fe).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:fe;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:fe).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:fe;return e.nameOffsetY=s,e}},{type:"switch",label:"panel.details.stations.bjsubwayInt.outOfStation",oneLine:!0,isChecked:s=>(s!=null?s:fe).outOfStation,onChange:(s,t)=>{const e=t!=null?t:fe;return e.outOfStation=s,e}}],So=()=>a.jsx(vn,{fields:wo}),No=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(6, 6)",children:[a.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),a.jsx("path",{d:za,stroke:"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"})]})}),ko={component:_o,icon:No,defaultAttrs:fe,attrsComponent:So,metadata:{displayName:"panel.details.stations.bjsubwayInt.displayName",cities:[B.Beijing],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}};function Mo(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(f=>f.runtime),{t:m}=D(),[d,r]=x.useState();x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4],t[d][5]]),r(void 0))},[i==null?void 0:i.toString()]);const l=t.map((f,h)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:f[4],minW:"80px",onChange:u=>n==null?void 0:n(h,[f[0],f[1],f[2],f[3],u,f[5]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:f[5],minW:"80px",onChange:u=>n==null?void 0:n(h,[f[0],f[1],f[2],f[3],f[4],u])}]);return a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e([B.Shanghai,"","#aaaaaa",W.white,"",""]),icon:a.jsx(Ee,{})})]}),t.map((f,h)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(h),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:h!==0,children:a.jsx(Ht,{theme:[f[0],f[1],f[2],f[3]],onClick:()=>{r(h),c(Ut([f[0],f[1],f[2],f[3]]))}})}),a.jsx(L,{fields:l[h],noLabel:h!==0}),e&&h===l.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>e==null?void 0:e(t.slice(-1)[0]),icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(h),icon:a.jsx(_t,{})})]},h))]})}const qt=s=>{var C;const{stationType:t,defaultAttrs:e,maximumTransfers:o}=s,{t:n}=D(),c=it(),i=x.useCallback(()=>{c(Ct()),c(yt(r.current.export()))},[c,Ct,yt]),{selected:m}=lt(y=>y.runtime),[d]=m,r=x.useRef(window.graph),l=d&&r.current.hasNode(d)&&r.current.getNodeAttribute(d,"type")===t?r.current.getNodeAttribute(d,t):e,f=(C=l.transfer)!=null?C:e.transfer,h=y=>b=>{const j=structuredClone(f);if(j.length<=y)for(let O=j.length;O<=y;O++)j[O]=[];j[y].push(b),l.transfer=j,r.current.mergeNodeAttributes(d,{[t]:l}),i()},u=y=>b=>{if(f.length>y&&f[y].length>b){const j=f.map((O,v)=>v===y?O.filter((N,w)=>w!==b):O);l.transfer=j,r.current.mergeNodeAttributes(d,{[t]:l}),i()}},p=y=>(b,j)=>{if(f.length>y&&f[y].length>b){const O=f.map((v,N)=>N===y?v.map((w,_)=>_===b?[0,1,2,3,4,5].map(A=>j[A]===void 0?w[A]:j[A]):w):v);l.transfer=O,r.current.mergeNodeAttributes(d,{[t]:l}),i()}},g=()=>h(l.transfer.length)([B.Guangzhou,"","#AAAAAA",W.white,"",""]);return a.jsxs(et,{align:"flex-start",children:[l.transfer.map((y,b)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(b===0?"panel.details.stations.interchange.within":b===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Mo,{interchangeList:y,onAdd:o[b]>y.length?h(b):void 0,onDelete:u(b),onUpdate:p(b)})]},b)),o[l.transfer.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:g,children:n("panel.details.stations.interchange.addGroup")})]})},pt=5,Kt=5,Ao={top:7.5+1,middle:0,bottom:11},zo=(s,t=pt,e=[])=>{const o=Math.sqrt(s*s-t*t/4),n=e.length<2?e.length+1:e.length;let c="M -5,0 A ".concat(s,",").concat(s,",0,0,1,").concat(-t/2,",-").concat(o," ");for(let i=0;i=0;i=i-1)c+="A ".concat(s,",").concat(s,",0,0,1,").concat(i*t-t/2,",").concat(o," ");return c+="A ".concat(s,",").concat(s,",0,0,1,-5,0 Z"),c},Bo=s=>{var M;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=re.nameOffsetX,nameOffsetY:l=re.nameOffsetY,transfer:f=re.transfer,rotate:h=re.rotate}=(M=n[k.MTR])!=null?M:re,u=x.useCallback(S=>c(t,S),[t,c]),p=x.useCallback(S=>i(t,S),[t,i]),g=x.useCallback(S=>m(t,S),[t,m]),C=f.at(0),y=zo(Kt,pt,C),b=C.length===0?0:C.length<=2?1:C.length-1,j=Math.cos(h*Math.PI/180)*b*Kt,O=Math.sin(h*Math.PI/180)*b*Kt,v=r==="left"?-8:r==="right"?8:0,N=Math.sign(j)===Math.sign(v)?j+v:v,w=(d[ee[l].namesPos].split("\n").length*Ao[l]+6)*ee[l].polarity,_=Math.sign(O)===Math.sign(w)?O+w:w,A=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("path",{transform:"rotate(".concat(h,")"),d:y,stroke:"#001f50",strokeWidth:"1.5",fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),f.at(0).length>1&&f.at(0).map(S=>S[2]).map((S,z)=>a.jsx("line",{transform:"rotate(".concat(h,")"),x1:-5/2+z*pt,x2:pt/2+z*pt,stroke:S,strokeWidth:"2"},"".concat(z,"_").concat(S))),a.jsx("path",{id:"stn_core_".concat(t),transform:"rotate(".concat(h,")"),d:y,fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(N,", ").concat(_,")"),textAnchor:A,className:"rmp-name-outline",strokeWidth:"1.25",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:7.5,lineHeight:7.5,grow:"down",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__en"})]})]}),[t,e,o,...d,h,JSON.stringify(f),r,l,u,p,g])},re={names:["車站","Stn"],nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[]]},Io=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:re).names[0],onChange:(s,t)=>{const e=t!=null?t:re;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:re).names[1],onChange:(s,t)=>{const e=t!=null?t:re;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:re).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:re;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:re).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:re;return e.nameOffsetY=s,e}},{type:"select",label:"panel.details.stations.common.rotate",value:s=>{var t;return(t=s==null?void 0:s.rotate)!=null?t:re.rotate},hidden:s=>{var t,e,o;return((o=(e=(t=s==null?void 0:s.transfer)==null?void 0:t.flat())==null?void 0:e.length)!=null?o:0)===0},options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:(s,t)=>{const e=t!=null?t:re;return e.rotate=Number(s),e}},{type:"custom",label:"panel.details.stations.interchange.title",component:a.jsx(qt,{stationType:k.MTR,defaultAttrs:re,maximumTransfers:[99,0,0]})}],Po=()=>a.jsx(vn,{fields:Io}),To=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),$o={component:Bo,icon:To,defaultAttrs:re,attrsComponent:Po,metadata:{displayName:"panel.details.stations.mtr.displayName",cities:[B.Hongkong],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},wt=x.forwardRef((s,t)=>{const{text:e,lineWidth:o,grow:n,dominantBaseline:c=n==="left"?"hanging":n==="right"?"auto":"central",baseOffset:i=2,baseDY:m=0,...d}=s,r=n==="bidirectional"?-((e.length-1)*o)/2:0;return a.jsx("g",{ref:t,children:[...e].reverse().map((l,f,h)=>a.jsx("text",{x:(f*o+i)*(n==="left"?-1:1)+r,dy:(f-(h.length-1)/2)*m,writingMode:"vertical-rl",dominantBaseline:c,...d,children:l},"".concat(l).concat(f)))})});wt.displayName="MultilineTextVertical";const le={zh:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},en={top:{lineHeight:5,offset:1+le.en.baseOffset+2.5,polarity:-1},middle:{lineHeight:0,offset:le.zh.size/2,polarity:1},bottom:{lineHeight:10,offset:0+le.zh.baseOffset+2.5,polarity:1}},Eo=s=>{var N;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=Me.color,nameOffsetX:l=Me.nameOffsetX,nameOffsetY:f=Me.nameOffsetY,textVertical:h=Me.textVertical}=(N=n[k.SuzhouRTBasic])!=null?N:Me,u=x.useCallback(w=>c(t,w),[t,c]),p=x.useCallback(w=>i(t,w),[t,i]),g=x.useCallback(w=>m(t,w),[t,m]),C=l==="left"?-5:l==="right"?5:0,y=(d[ee[f].namesPos].split("\n").length*en[f].lineHeight+en[f].offset)*en[f].polarity,b=l==="left"?"end":l==="right"?"start":"middle",j=f==="top"?-2.5-2:2.5+2,O=f==="top"?"end":"start",v=d[0].split("\n").length*le.zh.size/2+le.en.baseOffset;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:3,stroke:r[2],strokeWidth:"1",fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),h?a.jsxs(a.Fragment,{children:[a.jsx("g",{transform:"translate(-1, ".concat(j,")"),textAnchor:O,children:a.jsx(wt,{text:d[0].split("\n"),fontSize:le.zh.size,lineWidth:le.zh.size,grow:"bidirectional",baseOffset:le.zh.baseOffset,dominantBaseline:"central",className:"rmp-name__zh"})}),a.jsx("g",{transform:"translate(".concat(v,", ").concat(j,")rotate(90)"),textAnchor:O,children:a.jsx(I,{text:d[1].split("\n"),fontSize:le.en.size,lineHeight:le.en.size,grow:"up",baseOffset:le.en.baseOffset,className:"rmp-name__en",dominantBaseline:"central",fill:"gray"})})]}):a.jsxs("g",{transform:"translate(".concat(C,", ").concat(y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:le.zh.size,lineHeight:le.zh.size,grow:"up",baseOffset:le.zh.baseOffset,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:le.en.size,lineHeight:le.en.size,grow:"down",baseOffset:le.en.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},Me={...T,color:[B.Suzhou,"sz1","#78BA25",W.white],nameOffsetX:"right",nameOffsetY:"top",textVertical:!1},Ro=s=>{var i,m,d;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:r=>{e.names[0]=r,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:r=>{e.names[1]=r,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(i=e.nameOffsetX)!=null?i:Me.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:r=>{e.nameOffsetX=r,e.nameOffsetX!=="middle"&&(e.textVertical=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(m=e.nameOffsetY)!=null?m:Me.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:r=>{e.nameOffsetY=r,e.nameOffsetY==="middle"&&(e.textVertical=!1),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.suzhouRTBasic.textVertical"),isChecked:(d=e.textVertical)!=null?d:Me.textVertical,isDisabled:e.nameOffsetY==="middle"||e.nameOffsetX!=="middle",onChange:r=>{e.textVertical=r,o(t,e)},oneLine:!0,minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.SuzhouRTBasic,defaultTheme:Me.color})}];return a.jsx(L,{fields:c})},Wo=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",fill:"none"})}),Do={component:Eo,icon:Wo,defaultAttrs:Me,attrsComponent:Ro,metadata:{displayName:"panel.details.stations.suzhouRTBasic.displayName",cities:[B.Suzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},dt=6,we={zh:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},tn={top:{lineHeight:we.en.size,offset:0+we.en.baseOffset+3,polarity:-1},middle:{lineHeight:0,offset:we.zh.size/2,polarity:1},bottom:{lineHeight:we.zh.size,offset:0+we.zh.baseOffset+3,polarity:1}},Xo=s=>{var w,_;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ae.nameOffsetX,nameOffsetY:l=Ae.nameOffsetY,rotate:f=Ae.rotate,transfer:h=Ae.transfer}=(w=n[k.SuzhouRTInt])!=null?w:Ae,u=x.useCallback(A=>c(t,A),[t,c]),p=x.useCallback(A=>i(t,A),[t,i]),g=x.useCallback(A=>m(t,A),[t,m]),C=(dt-1)*h.at(0).length+1,y=Math.abs(Math.cos(f*Math.PI/180)*C),b=Math.abs(Math.sin(f*Math.PI/180)*C),j=r==="left"?-1:r==="right"?1:0,O=(y/2+5)*j,v=(d[ee[l].namesPos].split("\n").length*tn[l].lineHeight+tn[l].offset+(l==="middle"?0:b/2))*tn[l].polarity,N=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"rotate(".concat(f,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[a.jsx("rect",{x:-C/2,y:-6/2,width:C,height:dt,ry:dt/2,stroke:"#616161",strokeWidth:"1",fill:"white"}),((_=h.at(0))!=null?_:[]).length>0&&h.at(0).map(A=>A[2]).map((A,M)=>a.jsx("circle",{r:2,cx:-C/2+3+M*5,fill:A},"".concat(M,"_").concat(A))),a.jsx("rect",{id:"stn_core_".concat(t),x:-C/2-.5,y:-6/2-.5,width:C+1,height:dt+1,ry:dt/2,fill:"white",opacity:"0"})]}),a.jsxs("g",{transform:"translate(".concat(O,", ").concat(v,")"),textAnchor:N,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:we.zh.size,lineHeight:we.zh.size,grow:"up",baseOffset:we.zh.baseOffset,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:we.en.size,lineHeight:we.en.size,grow:"down",baseOffset:we.en.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},Ae={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[B.Suzhou,"sz1","#78BA25",W.white,"",""],[B.Suzhou,"sz2","#ED3240",W.white,"",""]]]},Lo=s=>{var i,m,d,r,l,f;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:h=>{e.names[0]=h,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:h=>{e.names[1]=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(i=e.nameOffsetX)!=null?i:Ae.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:h=>{e.nameOffsetX=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(m=e.nameOffsetY)!=null?m:Ae.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:h=>{e.nameOffsetY=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:(d=e.rotate)!=null?d:Ae.rotate,hidden:((f=(l=(r=e==null?void 0:e.transfer)==null?void 0:r.flat())==null?void 0:l.length)!=null?f:0)===0,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:h=>{e.rotate=Number(h),o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.SuzhouRTInt,defaultAttrs:Ae,maximumTransfers:[99,0,0]})}];return a.jsx(L,{fields:c})},Yo=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",ry:"3",stroke:"currentColor",fill:"none"}),a.jsx("circle",{r:"2",cx:"9.5",cy:"12",fill:"currentColor"}),a.jsx("circle",{r:"2",cx:"14.5",cy:"12",fill:"currentColor"})]}),Ho={component:Xo,icon:Yo,defaultAttrs:Ae,attrsComponent:Lo,metadata:{displayName:"panel.details.stations.suzhouRTInt.displayName",cities:[B.Suzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ea={top:{lineHeight:6.67,offset:3.5+1.5+5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1+5}},Uo=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=nt.nameOffsetX,nameOffsetY:l=nt.nameOffsetY,color:f=nt.color}=(b=n[k.KunmingRTBasic])!=null?b:nt,h=x.useCallback(j=>c(t,j),[t,c]),u=x.useCallback(j=>i(t,j),[t,i]),p=x.useCallback(j=>m(t,j),[t,m]),g=r==="left"?-13.33:r==="right"?13.33:0,C=(d[ee[l].namesPos].split("\n").length*ea[l].lineHeight+ea[l].offset)*ee[l].polarity,y=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"5",stroke:f[2],strokeWidth:"1.33",fill:"white"}),a.jsxs("g",{transform:"translate(".concat(g,", ").concat(C,")"),textAnchor:y,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p])},nt={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Kunming,"km1","#ea3222",W.white]},Fo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.KunmingRTBasic,defaultTheme:nt.color})}];return a.jsx(L,{fields:c})},Vo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{r:"5",cx:"12",cy:"12",stroke:"currentColor",strokeWidth:"1.33",fill:"none"})}),Go={component:Uo,icon:Vo,defaultAttrs:nt,attrsComponent:Fo,metadata:{displayName:"panel.details.stations.kunmingRTBasic.displayName",cities:[B.Kunming],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},[Pt,ta]=[15,9],na={top:{lineHeight:6.67,offset:3.5+1.5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1}},Zo=s=>{var w,_,A,M,S;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Qe.nameOffsetX,nameOffsetY:l=Qe.nameOffsetY,rotate:f=Qe.rotate,transfer:h=Qe.transfer}=(w=n[k.KunmingRTInt])!=null?w:Qe,u=x.useCallback(z=>c(t,z),[t,c]),p=x.useCallback(z=>i(t,z),[t,i]),g=x.useCallback(z=>m(t,z),[t,m]),C=f===0||f===180?Pt:f===90||f===270?ta:Pt*Math.SQRT1_2,y=f===0||f===180?ta:f===90||f===270?Pt:Pt*Math.SQRT1_2,b=r==="left"?-6.83:r==="right"?6.83:0,j=(Math.abs(b)+C/2)*Math.sign(b),O=(d[ee[l].namesPos].split("\n").length*na[l].lineHeight+na[l].offset)*ee[l].polarity,v=(Math.abs(O)+y/2)*Math.sign(O),N=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(f,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:h.at(0).length<=2?a.jsxs("g",{transform:"translate(-7.5,-4.5)",children:[a.jsx("rect",{id:"stn_core_".concat(t),height:"9",width:"15",ry:"4",stroke:"#393332",strokeWidth:"1",fill:"white"}),a.jsx("path",{fill:(A=(_=h.at(0).at(0))==null?void 0:_.at(2))!=null?A:"#ea3222",fillRule:"evenodd",stroke:"none",d:"M 3.833333 6.375 C 2.820813 6.375 2 5.535532 2 4.5 C 2 3.464468 2.820813 2.625 3.833333 2.625 L 4.444445 2.625 L 4.444445 2 L 6.888889 2.9375 L 4.444445 3.875 L 4.444445 3.25 L 3.833333 3.25 C 3.158321 3.25 2.611111 3.809647 2.611111 4.5 C 2.611111 5.190353 3.158321 5.75 3.833333 5.75 L 7.5 5.75 L 7.5 6.375 L 3.833333 6.375 Z"}),a.jsx("path",{fill:(S=(M=h.at(0).at(1))==null?void 0:M.at(2))!=null?S:"#03619e",fillRule:"evenodd",stroke:"none",d:"M 11.166667 2.625 C 12.179187 2.625 13 3.464468 13 4.5 C 13 5.535532 12.179187 6.375 11.166667 6.375 L 10.555555 6.375 L 10.555555 7 L 8.111111 6.0625 L 10.555555 5.125 L 10.555555 5.75 L 11.166667 5.75 C 11.841679 5.75 12.388889 5.190353 12.388889 4.5 C 12.388889 3.809647 11.841679 3.25 11.166667 3.25 L 7.5 3.25 L 7.5 2.625 L 11.166667 2.625 Z"})]}):a.jsxs("g",{transform:"translate(-8.5,-8.5)",children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"8.5",cx:"8.5",cy:"8.5",stroke:"#000000",strokeWidth:"1",fill:"white"}),a.jsx("path",{fill:h.at(0).at(0).at(2),fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),a.jsx("path",{fill:h.at(0).at(1).at(2),fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),a.jsx("path",{fill:h.at(0).at(2).at(2),fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),a.jsxs("g",{transform:"translate(".concat(e+j,", ").concat(o+v,")"),textAnchor:N,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},Qe={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[B.Kunming,"km1","#ea3222",W.white,"",""],[B.Kunming,"km2","#03619e",W.white,"",""],[B.Kunming,"km3","#a13187",W.white,"",""]]]},qo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.KunmingRTInt,defaultAttrs:Qe,maximumTransfers:[3,0,0]})}];return a.jsx(L,{fields:c})},Qo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(3.5, 3.5)",children:[a.jsx("circle",{r:"8.5",cx:"8.5",cy:"8.5",stroke:"currentColor",strokeWidth:"1",fill:"none"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),Jo={component:Zo,icon:Qo,defaultAttrs:Qe,attrsComponent:qo,metadata:{displayName:"panel.details.stations.kunmingRTInt.displayName",cities:[B.Kunming],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},aa=5.2,Lt=8.2628,yn=0,sa={top:{offset:Lt+yn,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:Lt+yn,polarity:1}},Ko=s=>{var _;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Te.nameOffsetX,nameOffsetY:l=Te.nameOffsetY,color:f=Te.color,lineCode:h=Te.lineCode,stationCode:u=Te.stationCode,isTram:p=Te.isTram}=(_=n[k.MRTBasic])!=null?_:Te,g=x.useCallback(A=>c(t,A),[t,c]),C=x.useCallback(A=>i(t,A),[t,i]),y=x.useCallback(A=>m(t,A),[t,m]),b=22.85,j=12.935,O=r==="left"?-1:r==="right"?1:0,v=(b/2+5)*O,N=sa[l].offset*sa[l].polarity,w=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,") ").concat(p?"scale(0.81)":""),children:[a.jsxs("g",{onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"},children:[a.jsx("rect",{x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:b,height:j,fill:f[2],stroke:"white",strokeWidth:"1"}),a.jsx("text",{fontSize:aa,dx:"-4",dy:"0.5",className:"rmp-name__mrt",fill:f[3],textAnchor:"middle",dominantBaseline:"middle",children:h}),a.jsx("text",{fontSize:aa,dx:"4",dy:"0.5",className:"rmp-name__mrt",fill:f[3],textAnchor:"middle",dominantBaseline:"middle",children:u}),a.jsx("rect",{id:"stn_core_".concat(t),x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:b,height:j,fill:"white",opacity:"0"})]}),a.jsx("g",{transform:"translate(".concat(v,", ").concat(N,")"),textAnchor:w,children:a.jsx(I,{text:d[0].split("\n"),fontSize:Lt,lineHeight:Lt,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:yn,className:"rmp-name__mrt"})})]}),[t,e,o,...d,r,l,f,h,u,p,g,C,y])},Te={names:["Marina South Pier"],nameOffsetX:"right",nameOffsetY:"top",lineCode:"NS",stationCode:"28",isTram:!1,color:[B.Singapore,"nsl","#DA291C",W.white]},ei=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.MRTBasic.isTram"),isChecked:e.isTram,onChange:i=>{e.isTram=i,o(t,e)},minW:"full",oneLine:!0},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.MRTBasic,defaultTheme:Te.color})}];return a.jsx(L,{fields:c})},ti=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6",y:"8.6035",rx:"1.575",ry:"3.151",width:"12",height:"6.793",fill:"currentColor"}),a.jsx("text",{fontSize:"3.5",dx:"10",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NS"}),a.jsx("text",{fontSize:"3.5",dx:"15",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"28"})]}),ni={component:Ko,icon:ti,defaultAttrs:Te,attrsComponent:ei,metadata:{displayName:"panel.details.stations.MRTBasic.displayName",cities:[B.Singapore],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},oa=6.9,Yt=8.2628,ia=2.5,la={top:{offset:Yt+ia,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:Yt+ia,polarity:1}},ai=s=>{var w;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=at.nameOffsetX,nameOffsetY:l=at.nameOffsetY,transfer:f=at.transfer}=(w=n[k.MRTInt])!=null?w:at,h=x.useCallback(_=>c(t,_),[t,c]),u=x.useCallback(_=>i(t,_),[t,i]),p=x.useCallback(_=>m(t,_),[t,m]),g=f.at(0),C=(g.length-2)*29.625+57.8,y=16.77,b=[];for(let _=1;_a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:f.map(_=>({info:_,width:(_.length-2)*29.625+57.8})).map(({info:_,width:A},M)=>a.jsxs(x.Fragment,{children:[a.jsx("rect",{x:-A/2,y:-16.77/2,rx:"4.5",ry:"8",width:A,height:y,fill:"url(#".concat(t,"_grad_").concat(M,")"),stroke:"white",strokeWidth:"1"}),a.jsx("linearGradient",{id:"".concat(t,"_grad_").concat(M),y1:"0%",y2:"0%",x1:"0%",x2:"100%",children:_.map((S,z)=>a.jsxs(x.Fragment,{children:[a.jsx("stop",{offset:"".concat(100/_.length*z,"%"),stopColor:S[2]}),a.jsx("stop",{offset:"".concat(100/_.length*(z+1),"%"),stopColor:S[2]})]},S[2]))}),b.map(S=>a.jsx("line",{x1:S/_.length*A-A/2,x2:S/_.length*A-A/2,y1:-16.77/2,y2:y/2,stroke:"white",strokeWidth:"1"},S)),_.map((S,z,P)=>a.jsxs(x.Fragment,{children:[a.jsx("text",{fontSize:oa,dx:(S[5]!==""?-5:-2)+A/P.length/2*(z*2+1)-A/2+1,dy:"0.5",className:"rmp-name__mrt",fill:S[3],textAnchor:"middle",dominantBaseline:"middle",children:S[4]}),a.jsx("text",{fontSize:oa,dx:5+A/P.length/2*(z*2+1)-A/2+1,dy:"0.5",className:"rmp-name__mrt",fill:S[3],textAnchor:"middle",dominantBaseline:"middle",children:S[5]})]},S[2])),a.jsx("rect",{id:"stn_core_".concat(t),x:-A/2,y:-16.77/2,rx:"4.5",ry:"8",width:A,height:y,fill:"white",opacity:"0"})]},_.map(S=>S[2]).join("_")))}),a.jsx("g",{transform:"translate(".concat(O,", ").concat(v,")"),textAnchor:N,children:a.jsx(I,{text:d[0].split("\n"),fontSize:Yt,lineHeight:Yt,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]}),[t,e,o,...d,r,l,JSON.stringify(f),h,u,p])},at={names:["Chinatown"],nameOffsetX:"right",nameOffsetY:"top",transfer:[[[B.Singapore,"nel","#9B26B6",W.white,"NE","4"],[B.Singapore,"dtl","#0057B7",W.white,"DT","19"]]]},si=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.MRTInt,defaultAttrs:at,maximumTransfers:[1/0,0,0]})}];return a.jsx(L,{fields:c})},oi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"2",y:"9.0985",rx:"1.038",ry:"2.076",width:"20",height:"5.803",fill:"currentColor"}),a.jsx("text",{fontSize:"3",dx:"5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NE"}),a.jsx("text",{fontSize:"3",dx:"9.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"4"}),a.jsx("text",{fontSize:"3",dx:"14.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"DT"}),a.jsx("text",{fontSize:"3",dx:"19",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"19"})]}),ii={component:ai,icon:oi,defaultAttrs:at,attrsComponent:si,metadata:{displayName:"panel.details.stations.MRTInt.displayName",cities:[B.Singapore],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Q={ja:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},de=5,li=s=>{var rt;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Be.nameOffsetX,nameOffsetY:l=Be.nameOffsetY,rotate:f=Be.rotate,textOneLine:h=Be.textOneLine,textVertical:u=Be.textVertical,important:p=Be.important,lines:g=Be.lines}=(rt=n[k.JREastBasic])!=null?rt:Be,C=x.useCallback(ce=>c(t,ce),[t,c]),y=x.useCallback(ce=>i(t,ce),[t,i]),b=x.useCallback(ce=>m(t,ce),[t,m]),j=(Math.max(...g)-Math.min(...g)+1)*de,O=(Math.min(...g)-.5)*de,v=Math.abs(Math.cos(f*Math.PI/180))*de*Math.min(...g)-de/2-1,N=Math.abs(Math.cos(f*Math.PI/180))*de*Math.max(...g)+de/2+1,w=Math.abs(Math.sin(f*Math.PI/180))*de*Math.min(...g)-de/2,_=Math.abs(Math.sin(f*Math.PI/180))*de*Math.max(...g)+de/2,A=r==="left"?v:r==="right"?N:0,M=d[0].split("\n").length*(l==="middle"?0:Q.ja.size),S=(l==="middle"?0:l==="top"?2:1)+Q.ja.baseOffset,z=(M+S)*ee[l].polarity+(l==="middle"?0:l==="top"?w:_),P=r==="left"?"end":r==="right"?"start":"middle",Y={ja:l==="top"?"down":l==="bottom"?"up":"bidirectional",en:l==="top"||h?"up":"down"},U={ja:Q.ja.baseOffset,en:(l==="middle"?h?-d[0].split("\n").length*Q.ja.size/2-1:d[0].split("\n").length*Q.ja.size/2:0)+(p&&!h?2:0)+Q.en.baseOffset},q=x.useRef(null),[X,se]=x.useState({width:0});x.useEffect(()=>se(q.current.getBBox()),[d[0],u,se,q]);const ae=(u?.2:.7)*Q.ja.size,ie={left:-ae/2,middle:0,right:ae/2}[r],E={top:-2,middle:0,bottom:2}[l],H=f%90!==0&&r!=="middle"?(r==="left"?v:N)*Math.SQRT2:0,R=(p&&r!=="middle"?ie:0)+H,Z={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[f],ge=Z*Q.ja.size,he=h?(Math.abs(R)+X.width+1+(p?ae:0))*(r==="left"?-1:1):f%90!==0&&r!=="middle"?d[0].split("\n").length/2*Z*Q.ja.size+(r==="left"?-1:1)*Q.ja.size:0,Le=(p?2:0)*ee[l].polarity,be=X.width,xe=X.height,Ye={left:-(be+ae)+H,middle:-(be+ae)/2,right:H}[r],He={top:-2-U.ja,middle:-xe/2,bottom:-xe+3+U.ja}[l],Ue={top:-xe+3-U.ja,middle:0,bottom:-3+U.ja}[l],te=(l==="top"?w-Q.en.baseOffset:_+Q.en.baseOffset)+((p?ae:0)+(f%90!==0?Q.ja.size/2:0))*ee[l].polarity,je={ja:l==="top"?"end":"start",en:l==="top"?"start":"end"},tt={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[f],St=tt*Q.ja.size,Nt=d[0].split("\n").length*Q.ja.size/2+Q.en.baseOffset,kt=(p?1:0)*ee[l].polarity*-1,Mt=(d[0].split("\n").length-0)/2*(l==="top"?-1:1)*tt*Q.ja.size+(p?2:0)*ee[l].polarity*-1;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"rotate(".concat(f,")"),children:g.map((ce,At)=>a.jsx("circle",{cx:de*ce,cy:"0",r:"1.5",stroke:"black",strokeWidth:"0.2",fill:"white"},"stn_core_".concat(t,"_").concat(At)))}),u?a.jsxs(a.Fragment,{children:[a.jsxs("g",{transform:"translate(0, ".concat(te,")"),textAnchor:je.ja,children:[p&&a.jsx("rect",{x:-(be-8)/2,y:Ue,width:be-8,height:xe,rx:(be-8)/2,fill:"black"}),a.jsx(wt,{ref:q,text:d[0].split("\n"),fontSize:Q.ja.size,lineWidth:Q.ja.size,grow:"bidirectional",baseOffset:0,baseDY:St,y:p?2.75*ee[l].polarity:0,className:"rmp-name__jreast_ja",fill:p?"white":"black"})]}),a.jsx("g",{transform:"translate(".concat(kt,", ").concat(te+Mt,")rotate(270)"),textAnchor:je.en,children:a.jsx(I,{text:d[1].split("\n"),fontSize:Q.en.size,lineHeight:Q.en.size,grow:l==="top"?"down":"up",baseOffset:Nt,funcDX:ce=>ce*de*Math.SQRT1_2*tt*(l==="top"?-1:1),className:"rmp-name__jreast_en"})})]}):a.jsxs("g",{transform:"translate(".concat(A,", ").concat(z,")"),textAnchor:P,children:[p&&a.jsx("rect",{x:Ye,y:He+1.75,width:X.width+ae,height:xe-3.5,ry:(xe-3.5)/2,fill:"black"}),a.jsx(I,{ref:q,x:R,y:p&&l!=="middle"?E:0,text:d[0].split("\n"),fontSize:Q.ja.size,lineHeight:Q.ja.size,grow:Y.ja,baseOffset:U.ja,funcDX:ce=>(ce-(d[0].split("\n").length-1)/2)*ge,className:"rmp-name__jreast_ja",fill:p?"white":"black"}),a.jsx(I,{text:d[1].split("\n"),x:he,y:Le,fontSize:Q.en.size,lineHeight:Q.en.size,grow:Y.en,baseOffset:U.en,funcDX:ce=>ce*de*Math.SQRT1_2*Z,className:"rmp-name__jreast_en"})]}),a.jsx("g",{transform:"rotate(".concat(f,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),fill:"url(#opaque)",fillOpacity:"50%",x:O,y:-5/2,rx:de/2,width:j,height:de,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})})]})},Be={names:["新宿","Shinjuku"],nameOffsetX:"right",nameOffsetY:"middle",rotate:0,textOneLine:!1,textVertical:!1,important:!1,lines:[-1,0,1]},ri=s=>{var r;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:l=>{e.names[0]=l.toString(),e.names[0].length>1&&(e.textOneLine=!1,e.important=!1),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:l=>{e.names[1]=l.toString(),e.names[1].length>1&&(e.textOneLine=!1,e.important=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.jrEastBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:n("panel.details.stations.common.left"),right:n("panel.details.stations.common.right"),top:n("panel.details.stations.common.top"),bottom:n("panel.details.stations.common.bottom")},onChange:l=>{l==="left"||l==="right"?(e.nameOffsetX=l,e.nameOffsetY="middle",e.textVertical=!1):(e.nameOffsetX="middle",e.nameOffsetY=l,e.textOneLine=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:l=>{e.rotate=Number(l),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.textOneLine"),isChecked:e.textOneLine,isDisabled:e.nameOffsetY!=="middle"||e.names.some(l=>l.split("\n").length>1),onChange:l=>{e.textOneLine=l,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:l=>{e.textVertical=l,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.important"),isChecked:(r=e.important)!=null?r:!1,isDisabled:e.names.some(l=>l.split("\n").length>1),onChange:l=>{e.important=l,o(t,e)},oneLine:!0,minW:"full"}],i=l=>{const f=l==="-"?-1:Number(l);Number.isNaN(f)||(e.lines.push(f),o(t,e))},m=(l,f)=>{if((l===""||l==="-")&&e.lines.length>1)e.lines.splice(f,1);else{const h=Number(l);if(Number.isNaN(h))return;e.lines[f]=h}o(t,e)},d=l=>{l.key==="Backspace"&&e.lines.length>1&&(e.lines.pop(),o(t,e))};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.jrEastBasic.lines"),children:a.jsxs(Dt,{flexWrap:"wrap",flexDirection:"row",pt:"1",children:[e.lines.map((l,f)=>a.jsx(In,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:l,onChange:h=>m(h,f),children:a.jsx(Pn,{})},f)),a.jsx(In,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:"",onChange:l=>i(l),onKeyDown:l=>d(l),children:a.jsx(Pn,{})})]})})]})},ci=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("circle",{cx:"6",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),a.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),a.jsx("circle",{cx:"18",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})]}),di={component:li,icon:ci,defaultAttrs:Be,attrsComponent:ri,metadata:{displayName:"panel.details.stations.jrEastBasic.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.NationalRail],tags:[]}},Ve={ja:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},ra=1,mi=s=>{var P;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ze.nameOffsetX,nameOffsetY:l=Ze.nameOffsetY,textVertical:f=Ze.textVertical,mostImportant:h=Ze.mostImportant,minLength:u=Ze.minLength}=(P=n[k.JREastImportant])!=null?P:Ze,p=x.useCallback(Y=>c(t,Y),[t,c]),g=x.useCallback(Y=>i(t,Y),[t,i]),C=x.useCallback(Y=>m(t,Y),[t,m]),y=x.useRef(null),[b,j]=x.useState({height:0,width:0});x.useEffect(()=>j(y.current.getBBox()),[d[0],f,j,y]);const O=Math.max(b.width,b.height),v=(f?.1:.7)*Ve.ja.size,N=Math.max(O+v,u),w=f?Ve.ja.size+ra:N,_=f?N-5:Ve.ja.size+ra,A={left:-w/2-1,middle:0,right:w/2+1}[r],M={top:-_/2-1,middle:0,bottom:_/2+1}[l],S={left:"end",middle:"middle",right:"start"}[r],z=h?1.5:1;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"scale(".concat(z,")"),children:[a.jsx("rect",{fill:"black",x:-w/2,y:-_/2,rx:f?void 0:_/2,ry:f?w/2:void 0,width:w,height:_}),f?a.jsx("text",{ref:y,className:"rmp-name__jreast_ja",textAnchor:"middle",writingMode:"vertical-rl",fontSize:Ve.ja.size,fill:"white",dominantBaseline:"central",children:d[0]}):a.jsx("text",{ref:y,y:"-1",className:"rmp-name__jreast_ja",textAnchor:"middle",fontSize:Ve.ja.size,fill:"white",dominantBaseline:"central",children:d[0]}),a.jsx("rect",{id:"stn_core_".concat(t),fill:"black",fillOpacity:"0",x:-w/2,y:-_/2,rx:f?void 0:w/2,ry:f?_/2:void 0,width:w,height:_,onPointerDown:p,onPointerMove:g,onPointerUp:C,style:{cursor:"move"},className:"removeMe"})]}),a.jsx("g",{transform:"translate(".concat(A*z,", ").concat(M*z,")"),textAnchor:S,children:a.jsx(I,{text:d[1].split("\n"),fontSize:Ve.en.size,lineHeight:Ve.en.size,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:0,className:"rmp-name__jreast_en"})})]})},Ze={names:["東京","Tōkyō"],nameOffsetX:"left",nameOffsetY:"middle",textVertical:!1,mostImportant:!1,minLength:0},fi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"input",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastImportant.textVertical"),isChecked:e.textVertical,onChange:i=>{e.textVertical=i,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastImportant.mostImportant"),isChecked:e.mostImportant,onChange:i=>{e.mostImportant=i,o(t,e)},oneLine:!0,minW:"full"},{type:"input",label:n("panel.details.stations.jrEastImportant.minLength"),value:e.minLength.toString(),onChange:i=>{Number.isNaN(i)?e.minLength=0:e.minLength=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},hi=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("rect",{x:"3",y:"7.5",rx:"4.5",width:"18",height:"9",stroke:"currentColor",fill:"currentColor"}),a.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"6",fill:"white",children:"東京"}),a.jsx("text",{x:"12",y:"20.25",textAnchor:"middle",dominantBaseline:"middle",fontSize:"3",children:"Tōkyō"})]}),ui={component:mi,icon:hi,defaultAttrs:Ze,attrsComponent:fi,metadata:{displayName:"panel.details.stations.jrEastImportant.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.NationalRail],tags:[]}},pi=s=>{var ie,E,H;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=_e.nameOffsetX,nameOffsetY:l=_e.nameOffsetY,color:f=_e.color,lineCode:h=_e.lineCode,stationCode:u=_e.stationCode,open:p=_e.open,secondaryNames:g=_e.secondaryNames,tram:C=_e.tram}=(ie=n[k.FoshanMetroBasic])!=null?ie:_e,y=x.useCallback(R=>c(t,R),[t,c]),b=x.useCallback(R=>i(t,R),[t,i]),j=x.useCallback(R=>m(t,R),[t,m]),O=x.useRef(null);(H=(E=O.current)==null?void 0:E.querySelector("path"))==null||H.setAttribute("id","stn_core_".concat(t));const v={en:C?5.08:6.56,zh:C?7.29:13.13},N={top:{namesPos:1,lineHeight:v.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:v.zh,polarity:1}},w=C?11:15,_=r==="left"?-w:r==="right"?w:0,A=C?8:10,M=(d[N[l].namesPos].split("\n").length*N[l].lineHeight+A)*N[l].polarity,S=r==="left"?"end":r==="right"?"start":!p&&r==="middle"&&g.join("")===""?"end":"middle",z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var R,Z;return Y((Z=(R=z.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...g]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var R,Z;return X((Z=(R=U.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...d]);const se=r==="middle"?q/2+(P+12*2)/2:(q+(P+12*2)/2)*(r==="left"?-1:1),ae=r==="middle"&&g.join("")!==""?q/2+(P+12*2):(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"?1:0);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"scale(".concat(.57915*(C?.729:1),")"),onPointerDown:y,onPointerMove:b,onPointerUp:j,style:{cursor:"move"},ref:O,children:a.jsx(Zt,{id:"stn_core_".concat(t),strokeColour:f[2],lineNum:h===""?void 0:h,stnNum:u===""?void 0:u,textClassName:"rmp-name__zh"})}),a.jsxs("g",{ref:U,transform:"translate(".concat(_,", ").concat(M,")"),textAnchor:S,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:v.zh,lineHeight:v.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:v.en,lineHeight:v.en,grow:"down",className:"rmp-name__en"})]}),g.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(_+se,", ").concat(M,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:g[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:g[1]})]})]}),!p&&a.jsxs("g",{transform:"translate(".concat(_+ae,", ").concat(M,")"),textAnchor:r==="middle"?"start":S,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},_e={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Foshan,"fs1","#C4D600",W.black],lineCode:"GF",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},gi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.FoshanMetroBasic,defaultTheme:_e.color})},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.foshanMetroBasic.open"),oneLine:!0,isChecked:e.open,onChange:i=>{e.open=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.foshanMetroBasic.secondaryNameZh"),value:e.secondaryNames[0],onChange:i=>{e.secondaryNames[0]=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.foshanMetroBasic.secondaryNameEn"),value:e.secondaryNames[1],onChange:i=>{e.secondaryNames[1]=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.foshanMetroBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:i=>{e.tram=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},xi=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("g",{transform:"translate(12,12)scale(0.45)",children:a.jsx(Zt,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),Ci={component:pi,icon:xi,defaultAttrs:_e,attrsComponent:gi,metadata:{displayName:"panel.details.stations.foshanMetroBasic.displayName",cities:[B.Foshan],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},We={top:3.75,middle:0,bottom:8},yi=s=>{var v;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=Se.color,nameOffsetX:l=Se.nameOffsetX,nameOffsetY:f=Se.nameOffsetY,isInt:h=Se.isInt}=(v=n[k.QingdaoMetroStation])!=null?v:Se,u=x.useCallback(N=>c(t,N),[t,c]),p=x.useCallback(N=>i(t,N),[t,i]),g=x.useCallback(N=>m(t,N),[t,m]),C=(N,w)=>{const _=N==="left"?-6:N==="right"?6:0;return w==="top"?[_,-d[1].split("\n").length*We[w]-5.5]:w==="bottom"?[_,d[0].split("\n").length*We[w]+4]:[_,2]},y=(N,w)=>N==="left"&&w==="top"?[-6,-d[1].split("\n").length*We[w]-6]:N==="middle"&&w==="top"?[0,-d[1].split("\n").length*We[w]-10]:N==="right"&&w==="top"?[6,-d[1].split("\n").length*We[w]-6]:N==="left"&&w==="bottom"?[-6,d[0].split("\n").length*We[w]+6]:N==="middle"&&w==="bottom"?[0,d[0].split("\n").length*We[w]+7]:N==="right"&&w==="bottom"?[6,d[0].split("\n").length*We[w]+6]:N==="left"&&w==="middle"?[-8,2]:N==="right"&&w==="middle"?[8,2]:[0,0],[b,j]=h?y(l,f):C(l,f),O=l==="left"?"end":l==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:h?6:2.7,stroke:h?"black":r[2],strokeWidth:h?1.5:.2,fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(b,", ").concat(j,")"),textAnchor:O,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:8,lineHeight:8,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:3.75,lineHeight:3.75,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},Se={...T,color:[B.Qingdao,"qd1","#f7b000",W.white],nameOffsetX:"right",nameOffsetY:"top",isInt:!1},bi=s=>{var i,m,d,r;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:(i=e.names[0])!=null?i:Se.names[0],onChange:l=>{e.names[0]=l.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:(m=e.names[1])!=null?m:Se.names[1],onChange:l=>{e.names[1]=l.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(d=e.nameOffsetX)!=null?d:Se.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:l=>{e.nameOffsetX=l,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(r=e.nameOffsetY)!=null?r:Se.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:l=>{e.nameOffsetY=l,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.QingdaoMetroStation,defaultTheme:Se.color}),minW:"full"},{type:"switch",label:n("panel.details.stations.qingdaoMetro.isInt"),isChecked:e.isInt,oneLine:!0,onChange:l=>{e.isInt=l,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},ji=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",strokeWidth:"0.6",fill:"none"})}),Oi={component:yi,icon:ji,defaultAttrs:Se,attrsComponent:bi,metadata:{displayName:"panel.details.stations.qingdaoMetro.displayName",cities:[B.Qingdao],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},bn=s=>{const{lineCode:t,stationCode:e,color:o,stroke:n}=s,[c,i,m]=[10,15,.8];return a.jsxs(a.Fragment,{children:[n&&a.jsx("rect",{x:-c/2-m,y:-i/2-m,width:c+2*m,height:i+2*m,rx:2.5,strokeWidth:m,stroke:"white",fill:"white"}),a.jsx("rect",{x:-c/2,y:-i/2,width:c,height:i,rx:2,strokeWidth:1.5,stroke:o[2],fill:"white"}),a.jsx("text",{x:0,y:t.length===1?-.75:-1.5,textAnchor:"middle",className:"rmp-name__tokyo_en",fontSize:t.length===1?7:4.5,fill:"black",children:t}),a.jsx("text",{x:e.length===1?0:-.4/e.length,y:5.5,textAnchor:"middle",className:"rmp-name__en",fontSize:7,fontWeight:"bold",letterSpacing:"-0.4",fill:"black",children:e})]})},vi=s=>{var A;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=$e.nameOffsetX,nameOffsetY:l=$e.nameOffsetY,textVertical:f=$e.textVertical,lineCode:h=$e.lineCode,stationCode:u=$e.stationCode,color:p=$e.color}=(A=n[k.TokyoMetroBasic])!=null?A:$e,g=x.useCallback(M=>c(t,M),[t,c]),C=x.useCallback(M=>i(t,M),[t,i]),y=x.useCallback(M=>m(t,M),[t,m]),[b,j]=x.useState(0);x.useEffect(()=>{let M=0;d[0].split("\n").forEach(S=>{M=Math.max(M,S.length)}),j(M)},[d[0]]);const O=r==="left"?-7:r==="right"?7:0,v=r==="left"?-12:r==="right"?12:0,N=l==="bottom"?20:l==="top"?-9:5.5,w=l==="bottom"?9+b*5:l==="top"?-9-b*5:-5,_=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx(bn,{lineCode:h,stationCode:u,color:p}),a.jsx("rect",{id:"stn_core_".concat(t),x:-5.8,y:-8.2,width:11.6,height:16.4,rx:2.5,opacity:0,onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"}}),a.jsx("g",{textAnchor:_,className:"rmp-name-outline",strokeWidth:"1",children:f?a.jsx("g",{transform:"translate(".concat(v,", ").concat(w,")"),textAnchor:_,children:a.jsx(wt,{text:d[0].split("\n"),fontSize:10,lineWidth:10,grow:"bidirectional",baseOffset:0,baseDY:0,className:"rmp-name__jreast_ja",fill:"black"})}):a.jsx("g",{transform:"translate(".concat(O,", ").concat(N,")"),textAnchor:_,children:a.jsx(I,{text:d[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",funcDX:M=>(M-(d[0].split("\n").length-1)/2)*10,className:"rmp-name__jreast_ja",fill:"black"})})})]})},$e={names:["京橋"],nameOffsetX:"right",nameOffsetY:"middle",textVertical:!1,lineCode:"G",stationCode:"10",color:[B.Tokyo,"g","#f9a328",W.white]},_i=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.tokyoMetroBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:n("panel.details.stations.common.left"),right:n("panel.details.stations.common.right"),top:n("panel.details.stations.common.top"),bottom:n("panel.details.stations.common.bottom")},onChange:i=>{i==="left"||i==="right"?(e.nameOffsetX=i,e.nameOffsetY="middle",e.textVertical=!1):(e.nameOffsetX="middle",e.nameOffsetY=i),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:i=>{e.textVertical=i,o(t,e)},oneLine:!0,minW:"full"},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.TokyoMetroBasic,defaultTheme:$e.color}),minW:"full"}];return a.jsx(L,{fields:c})},wi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6.5",y:"4.5",rx:"1.5",width:"10",height:"15",stroke:"currentColor",fill:"none"}),a.jsx("text",{x:"9",y:"11",fontSize:"7",fill:"currentColor",children:"G"}),a.jsx("text",{x:"7.75",y:"18",fontSize:"7",letterSpacing:"-0.8",fill:"currentColor",children:"10"})]}),Si={component:vi,icon:wi,defaultAttrs:$e,attrsComponent:_i,metadata:{displayName:"panel.details.stations.tokyoMetroBasic.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Ni=s=>{var ie;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ie.nameOffsetX,nameOffsetY:l=Ie.nameOffsetY,textVertical:f=Ie.textVertical,interchanges:h=Ie.interchanges,align:u=Ie.align,importance:p=Ie.importance,mereOffset:g=Ie.mereOffset}=(ie=n[k.TokyoMetroInt])!=null?ie:Ie,C=x.useCallback(E=>c(t,E),[t,c]),y=x.useCallback(E=>i(t,E),[t,i]),b=x.useCallback(E=>m(t,E),[t,m]),[j,O]=x.useState(0);x.useEffect(()=>{let E=0;d[0].split("\n").forEach(H=>{E=Math.max(E,H.length)}),O(E)},[d[0]]);const v=13,N=18,w=u==="horizontal"?h.length*v:0,_=u==="vertical"?h.length*N:0,S=r==="left"?-(u==="horizontal"?4:10)-w/2:r==="right"?(u==="horizontal"?2:9)+w/2:g==="left2"?-5:g==="right2"?5:0,z=()=>{const E=u==="vertical"?1:10,H=u==="vertical"?3:12,R=u==="vertical"?1:13,Z=u==="vertical"?3:12,ge=g==="left1"?-4:g==="left2"?-10:g==="right1"?4:g==="right2"?10:0,he=g==="up"?3:g==="down"?10:0;return{fontSize:10,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?E+_/2:l==="top"?-H-_/2:-7.5+he,textYVer:l==="bottom"?Z+_/2+j*5:l==="top"?-R-_/2-j*5:-5}},P=()=>{const E=u==="vertical"?1:10,H=u==="vertical"?3:13,R=u==="vertical"?4:13,Z=u==="vertical"?3:13,ge=g==="left1"?-8:g==="left2"?-13:g==="right1"?8:g==="right2"?13:0,he=g==="up"?4:g==="down"?12:0;return{fontSize:15,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?E+_/2:l==="top"?-H-_/2:-10+he,textYVer:l==="bottom"?Z+_/2+j*7.5:l==="top"?-R-_/2-j*7.5:-5}},Y=()=>{const E=u==="vertical"?1:13,H=u==="vertical"?3:10,R=u==="vertical"?5:13,Z=u==="vertical"?4:13,ge=g==="left1"?-10:g==="left2"?-16:g==="right1"?10:g==="right2"?16:0,he=g==="up"?6:g==="down"?15:0;return{fontSize:20,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?H+_/2:l==="top"?-E-_/2:-13+he,textYVer:l==="bottom"?Z+_/2+j*10:l==="top"?-R-_/2-j*10:-5}},{fontSize:U,textXVer:q,textY:X,textYVer:se}=p==="default"?z():p==="high"?Y():P(),ae=r==="left"||g==="left1"||g==="left2"?"end":r==="right"||g==="right1"||g==="right2"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[u==="horizontal"?a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:-(w+3)/2,y:-10.5,width:w+3,height:21,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),h.map((E,H)=>a.jsx("g",{transform:"translate(".concat(H*v-(w-v)/2,", 0)"),children:a.jsx(bn,{lineCode:E.lineCode,stationCode:E.stationCode,color:E.color,stroke:!0})},H)),a.jsx("rect",{id:"stn_core_".concat(t),x:-(w+3)/2,y:-10.5,width:w+3,height:21,rx:3,opacity:0,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})]}):a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:-8,y:-(_+3)/2,width:16,height:_+3,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),h.map((E,H)=>a.jsx("g",{transform:"translate(0, ".concat(H*N-(_-N)/2,")"),children:a.jsx(bn,{lineCode:E.lineCode,stationCode:E.stationCode,color:E.color,stroke:!0})},H)),a.jsx("rect",{id:"stn_core_".concat(t),x:-8,y:-(_+3)/2,width:16,height:_+3,rx:3,opacity:0,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})]}),a.jsx("g",{textAnchor:ae,className:"rmp-name-outline",strokeWidth:"1",children:f?a.jsx("g",{transform:"translate(".concat(q,", ").concat(se,")"),textAnchor:"middle",children:a.jsx(wt,{text:d[0].split("\n"),fontSize:U,lineWidth:U,grow:"bidirectional",className:"rmp-name__jreast_ja",fill:"black",fontWeight:p!=="default"?"bold":"normal"})}):a.jsx("g",{transform:"translate(".concat(S,", ").concat(X,")"),textAnchor:ae,children:a.jsx(I,{text:d[0].split("\n"),fontSize:U,lineHeight:U,grow:l==="top"||g==="up"?"up":"down",className:"rmp-name__jreast_ja",fill:"black",fontWeight:p!=="default"?"bold":"normal"})})})]})},Ie={names:["日本橋"],nameOffsetX:"right",nameOffsetY:"middle",mereOffset:"none",textVertical:!1,interchanges:[{lineCode:"G",stationCode:"11",color:[B.Tokyo,"g","#f9a328",W.white]},{lineCode:"T",stationCode:"10",color:[B.Tokyo,"t","#00a4db",W.white]},{lineCode:"A",stationCode:"13",color:[B.Tokyo,"a","#dd4231",W.white]}],align:"horizontal",importance:"default"},ca={lineCode:"",stationCode:"",color:[B.Tokyo,"","#AAAAAA",W.white]},ki=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,n=it(),{paletteAppClip:{output:c}}=lt(p=>p.runtime),{t:i}=D(),m=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:e.names[0],onChange:p=>{e.names[0]=p.toString(),o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:p=>{p==="left"||p==="right"?(e.nameOffsetX=p,e.nameOffsetY="middle",e.textVertical=!1,(e.mereOffset==="left1"||e.mereOffset==="left2"||e.mereOffset==="right1"||e.mereOffset==="right2")&&(e.mereOffset="none")):(e.nameOffsetX="middle",e.nameOffsetY=p,(e.mereOffset==="up"||e.mereOffset==="down")&&(e.mereOffset="none")),o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.mereOffset.displayName"),value:e.mereOffset,options:{none:i("panel.details.stations.tokyoMetroInt.mereOffset.none"),...e.nameOffsetX==="middle"?{left1:i("panel.details.stations.tokyoMetroInt.mereOffset.left1"),left2:i("panel.details.stations.tokyoMetroInt.mereOffset.left2"),right1:i("panel.details.stations.tokyoMetroInt.mereOffset.right1"),right2:i("panel.details.stations.tokyoMetroInt.mereOffset.right2")}:{up:i("panel.details.stations.tokyoMetroInt.mereOffset.up"),down:i("panel.details.stations.tokyoMetroInt.mereOffset.down")}},onChange:p=>{e.mereOffset=p,o(t,e)},minW:"full"},{type:"switch",label:i("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:p=>{e.textVertical=p,o(t,e)},oneLine:!0,minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.importance.displayName"),value:e.importance,options:{default:i("panel.details.stations.tokyoMetroInt.importance.default"),middle:i("panel.details.stations.tokyoMetroInt.importance.middle"),high:i("panel.details.stations.tokyoMetroInt.importance.high")},onChange:p=>{e.importance=p,o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.align.displayName"),value:e.align,options:{horizontal:i("panel.details.stations.tokyoMetroInt.align.horizontal"),vertical:i("panel.details.stations.tokyoMetroInt.align.vertical")},onChange:p=>{e.align=p,o(t,e)},minW:"full"}],[d,r]=x.useState(void 0);x.useEffect(()=>{d!==void 0&&c&&(e.interchanges[d].color=c,o(t,e),r(void 0))},[c==null?void 0:c.toString()]);const l=p=>{const g=structuredClone(e.interchanges);g.push(ca);for(let C=g.length-1;C>p;C--)g[C]=structuredClone(g[C-1]);g[p]=ca,o(t,{...e,interchanges:g})},f=p=>{const g=e.interchanges.filter((C,y)=>y!==p);o(t,{...e,interchanges:g})},h=(p,g)=>{e.interchanges[g].lineCode=p,o(t,e)},u=(p,g)=>{e.interchanges[g].stationCode=p,o(t,e)};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:m}),a.jsx(pe,{label:i("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[e.interchanges.map((p,g)=>a.jsxs(Ke,{children:[a.jsx(Ht,{theme:p.color,onClick:()=>{r(g),n(Ut(p.color))}}),a.jsx(pe,{label:i("panel.details.stations.common.lineCode"),children:a.jsx(Bn,{defaultValue:p.lineCode,onDebouncedChange:C=>h(C,g)})}),a.jsx(pe,{label:i("panel.details.stations.common.stationCode"),children:a.jsx(Bn,{defaultValue:p.stationCode,onDebouncedChange:C=>u(C,g)})}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":i("panel.details.stations.interchange.add"),icon:a.jsx(Ee,{}),onClick:()=>l(g)}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":i("panel.details.stations.interchange.add"),icon:a.jsx(_t,{}),onClick:()=>f(g),isDisabled:e.interchanges.length===1})]},g)),a.jsx(ue,{size:"sm",width:"100%",variant:"outline",leftIcon:a.jsx(Ee,{}),onClick:()=>l(e.interchanges.length),children:i("panel.details.stations.interchange.title")})]})})]})},Mi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"4",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),a.jsx("rect",{x:"12.5",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),a.jsx("text",{x:"5.5",y:"12.5",fontSize:"4",fill:"currentColor",children:"G"}),a.jsx("text",{x:"5",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"16"}),a.jsx("text",{x:"14.25",y:"12.5",fontSize:"4",fill:"currentColor",children:"H"}),a.jsx("text",{x:"13.75",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"18"})]}),Ai={component:Ni,icon:Mi,defaultAttrs:Ie,attrsComponent:ki,metadata:{displayName:"panel.details.stations.tokyoMetroInt.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},J=5,Ba=2*J,zi=.85*Ba,mt={0:{textDx:0,textDy:-9.15,textAnchor:"middle",dominantBaseline:"auto",polarity:-1,grow:"up"},45:{textDx:(J/2+J*1.33)*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"auto",polarity:-1,grow:"up"},90:{textDx:J/2+J*1.33,textDy:0,textAnchor:"start",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},135:{textDx:(J/2+J*1.33)*Math.SQRT1_2,textDy:(J/2+J*1.33)*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"hanging",polarity:1,grow:"down"},180:{textDx:0,textDy:J/2+J*1.33,textAnchor:"middle",dominantBaseline:"hanging",polarity:1,grow:"down"},225:{textDx:-9.15*Math.SQRT1_2,textDy:(J/2+J*1.33)*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"hanging",polarity:1,grow:"down"},270:{textDx:-9.15,textDy:0,textAnchor:"end",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},315:{textDx:-9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"auto",polarity:-1,grow:"up"}},Mn=[B.London,"central","#DC241F",W.white,0],Ia=x.memo(s=>{const{id:t,stepFreeAccess:e,...o}=s;return a.jsxs("g",{...o,children:[a.jsx("path",{fill:e==="train"?"#1C3E93":"white",stroke:"#1C3E93",strokeWidth:.5*J,d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31"}),a.jsx("path",{fill:e==="train"?"white":"#1C3E93",d:"M-10.5,9c1.4,4.9,6,8.4,11.3,8.4c6.5,0,11.8-5.3,11.8-11.8c0-3.4-1.5-6.5-3.8-8.7l0.7-5.1\n c4.6,2.9,7.6,8,7.6,13.8c0,9-7.3,16.3-16.3,16.3c-5.9,0-11-3.1-13.9-7.7L-10.5,9z"}),a.jsx("path",{fill:s.stepFreeAccess==="train"?"white":"#1C3E93",d:"M0.5-20.5c0,2.5,2,4.6,4.6,4.6c2.5,0,4.6-2.1,4.6-4.6s-2.1-4.6-4.6-4.6S0.5-23,0.5-20.5"}),a.jsx("path",{fill:e==="train"?"white":"#1C3E93",d:"M3-12.4L2.5-9.2h-9.9c0,0-2.1,0.2-2.1,2.2s2.1,2.2,2.1,2.2h9.3l-0.5,3h-12.5c0,0-0.9,0-1.3,0.5\n C-12.8-1-13.2,0-13.2,0l-7,14.2c0,0-0.8,1.8,1.2,2.9c2,1.1,3.3-1,3.3-1l5.5-11.3c0,0,0.5-0.7,1-1c0.6-0.3,1.1-0.3,1.1-0.3H3.4\n c0,0,1.2,0,2.2-0.9c0.9-0.9,1.1-2,1.1-2l1.7-12.4c0,0,0-2.6-2.7-2.7C3.6-14.5,3-12.4,3-12.4"}),a.jsx("path",{id:"stn_core_".concat(t),fill:e==="train"?"#1C3E93":"white",fillOpacity:"0",stroke:"#1C3E93",strokeWidth:.5*J,strokeOpacity:"0",d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31",className:"removeMe"})]})},(s,t)=>JSON.stringify(s)===JSON.stringify(t)),Bi=s=>{var w;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,transfer:r=Je.transfer,rotate:l=Je.rotate,terminal:f=Je.terminal,stepFreeAccess:h=Je.stepFreeAccess}=(w=n[k.LondonTubeBasic])!=null?w:Je,u=x.useCallback(_=>c(t,_),[t,c]),p=x.useCallback(_=>i(t,_),[t,i]),g=x.useCallback(_=>m(t,_),[t,m]),C=(l-90)*Math.PI/180,y=f?2*(.66*J+J/2):.66*J+.5,b=mt[l].textDx+Math.cos(C)*Math.max(...r[0].map(_=>_[4]))*J,j=mt[l].textDy+Math.sin(C)*Math.max(...r[0].map(_=>_[4]))*J,O=-((Math.max(...r[0].map(_=>_[4]))+Math.min(...r[0].map(_=>_[4])))/2)*J,v=Math.sin(l*Math.PI/180)*O,N=Math.cos(l*Math.PI/180)*O;return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(l,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:h==="none"?r[0].map(_=>a.jsx("rect",{id:"stn_core_".concat(t),x:-5*.66/2,y:-5*.66-J/2-J*_[4],width:J*.66,height:y,stroke:"none",fill:_[2]},"".concat(t,"_").concat(_[2],"_").concat(_[4]))):a.jsx(Ia,{id:t,stepFreeAccess:h,transform:"translate(".concat(v,",").concat(N,")rotate(").concat(-l,")scale(0.2333)")},"stn_core_".concat(t))}),a.jsx("g",{transform:"translate(".concat(e+b,", ").concat(o+j,")"),textAnchor:mt[l].textAnchor,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Ba,lineHeight:zi,dominantBaseline:mt[l].dominantBaseline,grow:mt[l].grow,baseOffset:0,className:"rmp-name__tube"})})]})},Je={names:["Station"],transfer:[[Mn]],rotate:0,terminal:!1,stepFreeAccess:"none"},Ii=s=>{var l;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:f=>{e.names[0]=f.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:f=>{e.rotate=Number(f),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.londonTubeBasic.terminal"),isChecked:e.terminal,isDisabled:e.transfer[0].length>1,onChange:f=>{e.terminal=f,o(t,e)},oneLine:!0,minW:"full"},{type:"select",label:n("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:e.stepFreeAccess,options:{none:n("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:n("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:n("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:f=>{e.stepFreeAccess=f,o(t,e)},minW:"full"}],i=(l=e.transfer)!=null?l:Je.transfer,m=f=>h=>{const u=structuredClone(i);if(u.length<=f)for(let p=u.length;p<=f;p++)u[p]=[Mn];u[f].push(h),e.transfer=u,o(t,e)},d=f=>h=>{if(i.length>f&&i[f].length>h){const u=i.map((p,g)=>g===f?p.filter((C,y)=>y!==h):p);e.transfer=u,o(t,e)}},r=f=>(h,u)=>{if(i.length>f&&i[f].length>h){const p=i.map((g,C)=>C===f?g.map((y,b)=>b===h?[0,1,2,3,4,5,6].map(j=>u[j]===void 0?y[j]:u[j]):y):g);e.transfer=p,o(t,e)}};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[a.jsx(Ft,{size:"xs",children:n("panel.details.stations.londonTubeBasic.shareTracks")}),a.jsx($i,{interchangeList:i[0],onAdd:m(0),onDelete:d(0),onUpdate:r(0)})]})})]})},Pi=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Ti={component:Bi,icon:Pi,defaultAttrs:Je,attrsComponent:Ii,metadata:{displayName:"panel.details.stations.londonTubeBasic.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};function $i(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(l=>l.runtime),{t:m}=D(),[d,r]=x.useState();return x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4]]),r(void 0))},[i==null?void 0:i.toString()]),a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noTrackShare")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e(Mn),icon:a.jsx(Ee,{})})]}),t.map((l,f)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(f),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:f!==0,children:a.jsx(Ht,{theme:[l[0],l[1],l[2],l[3]],onClick:()=>{r(f),c(Ut([l[0],l[1],l[2],l[3]]))}})}),a.jsx(pe,{label:m("panel.details.stations.londonTubeBasic.shareTracksIndex"),children:a.jsx(La,{defaultValue:l[4],min:-5,max:5,step:1,onThrottledChange:h=>n==null?void 0:n(f,[l[0],l[1],l[2],l[3],h])})}),a.jsxs(et,{children:[e&&f===t.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>{const h=structuredClone(t.slice(-1)[0]);h[4]=Math.max(...t.map(u=>u[4]))+1,e==null||e(h)},icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&f!==0&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(f),icon:a.jsx(_t,{})})]})]},f))]})}const ke=5,Pa=2*ke,Ei=.85*Pa,Ri=s=>{var O;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=gt.nameOffsetX,nameOffsetY:l=gt.nameOffsetY,stepFreeAccess:f=gt.stepFreeAccess}=(O=n[k.LondonTubeInt])!=null?O:gt,h=x.useCallback(v=>c(t,v),[t,c]),u=x.useCallback(v=>i(t,v),[t,i]),p=x.useCallback(v=>m(t,v),[t,m]),g=.66*ke+ke/2,C=r==="left"?-9.15:r==="right"?ke/2+ke*1.33:0,y=l==="top"?-9.15:l==="bottom"?ke/2+ke*1.33:0,b=r==="left"?"end":r==="right"?"start":"middle",j=l==="top"?"auto":l==="bottom"?"hanging":"middle";return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:f==="none"?a.jsx("circle",{id:"stn_core_".concat(t),r:1.25*ke,width:ke*.66,height:g,stroke:"black",strokeWidth:.5*ke,fill:"white"}):a.jsx(Ia,{id:t,stepFreeAccess:f,transform:"scale(0.2333)"})}),a.jsx("g",{transform:"translate(".concat(e+C,", ").concat(o+y,")"),textAnchor:b,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Pa,lineHeight:Ei,dominantBaseline:j,grow:l==="top"?"up":l==="bottom"?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},gt={names:["Station"],nameOffsetX:"right",nameOffsetY:"top",stepFreeAccess:"none"},Wi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:e.stepFreeAccess,options:{none:n("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:n("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:n("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:i=>{e.stepFreeAccess=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Di=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",strokeWidth:"2.5",fill:"white"})}),Xi={component:Ri,icon:Di,defaultAttrs:gt,attrsComponent:Wi,metadata:{displayName:"panel.details.stations.londonTubeInt.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},De=5,Ta=2*De,Li=.85*Ta,$a="M-18.2,12.6c2.4-0.6,5.8-1.6,11.5-0.4c2.9,0.6,5.6,1.3,8.3,1.3c3.5,0,5.4-0.6,8.1-1.2c2.4-0.6,5.2-1.2,7.4-1.1c3.8,0.1,6.6,0.7,8.2,1.4l-1.2-3.1C21,8.3,15.8,7.7,9.7,9.5c-2.6,0.7-5.2,1.3-7.9,1.2c-2.5,0-4.8-0.4-7.2-1C-13,8-15.9,9.3-19.8,10.3L-18.2,12.6z",Ea="M23.8-2h-4.1l-1.8-4.8c0,0-0.1-0.6-1-1.3c-0.6-0.5-1.6-0.5-1.6-0.5H4v-2h-6.9l-1.1-1.5l0.8-1.9h-1.9l-1.5,3.5h-2.6v2h-5.8c0,0-0.8,0.1-1.2,0.3c-0.4,0.3-0.6,0.5-0.6,0.5l-4.4,5.8h-7.3l7.3,10c1.6-0.7,6.6-2,9.7-1.9c4.1,0.1,9.5,1.9,13.1,1.9c6.6,0,8.8-2,14.6-2.3c7.1-0.4,11.6,2.3,11.6,2.3L23.8-2z M-11.1-2h-7.1l1.9-2.5c0,0,0.8-1.1,1.2-1.3c0.7-0.4,1.2-0.5,1.2-0.5h2.8V-2z M-9.2-2v-4.3h7.4v4.4L-9.2-2z M7.4-2H0v-4.3h7.4V-2z M9.3-2v-4.3h5.1c0,0,0.4,0,0.8,0.4c0.3,0.2,0.5,0.7,0.5,0.7l1.2,3.3L9.3-2z",Yi=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Wt.nameOffsetX,nameOffsetY:l=Wt.nameOffsetY}=(b=n[k.LondonRiverServicesInt])!=null?b:Wt,f=x.useCallback(j=>c(t,j),[t,c]),h=x.useCallback(j=>i(t,j),[t,i]),u=x.useCallback(j=>m(t,j),[t,m]),p=r==="left"?-9.15:r==="right"?De/2+De*1.33:0,g=l==="top"?-9.15:l==="bottom"?De/2+De*1.33:0,C=r==="left"?"end":r==="right"?"start":"middle",y=l==="top"?"auto":l==="bottom"?"hanging":"middle";return a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[a.jsx("circle",{r:1.45*De,stroke:"#003888",strokeWidth:.1*De,fill:"white"}),a.jsxs("g",{fill:"#003888",transform:"scale(0.222)",children:[a.jsx("path",{d:$a}),a.jsx("path",{d:Ea})]}),a.jsx("circle",{id:"stn_core_".concat(t),r:1.5*De,fill:"white",fillOpacity:"0",className:"removeMe"})]}),a.jsx("g",{transform:"translate(".concat(e+p,", ").concat(o+g,")"),textAnchor:C,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Ta,lineHeight:Li,dominantBaseline:y,grow:l==="top"?"up":l==="bottom"?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},Wt={names:["Station"],nameOffsetX:"right",nameOffsetY:"top"},Hi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Ui=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"white"}),a.jsxs("g",{transform:"translate(12, 12)scale(0.18)",children:[a.jsx("path",{stroke:"currentColor",d:$a}),a.jsx("path",{stroke:"currentColor",d:Ea})]})]}),Fi={component:Yi,icon:Ui,defaultAttrs:Wt,attrsComponent:Hi,metadata:{displayName:"panel.details.stations.londonRiverServicesInt.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Vi=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=xt.nameOffsetX,nameOffsetY:l=xt.nameOffsetY,interchange:f=xt.interchange}=(b=n[k.GuangdongIntercityRailway])!=null?b:xt,h=x.useCallback(j=>c(t,j),[t,c]),u=x.useCallback(j=>i(t,j),[t,i]),p=x.useCallback(j=>m(t,j),[t,m]),g=r==="left"?-13.33:r==="right"?13.33:0,C=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,y=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{r:5,stroke:"#2559a8",strokeWidth:"1.5",fill:"white"}),f&&a.jsx("circle",{r:2.5,stroke:"#2559a8",strokeWidth:"1",fill:"white"}),a.jsx("circle",{id:"stn_core_".concat(t),r:5+1.33/2,fill:"white",fillOpacity:"0",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(g,", ").concat(C,")"),textAnchor:y,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:5.83,lineHeight:5.83,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p])},xt={...T,nameOffsetX:"right",nameOffsetY:"top",interchange:!1},Gi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.interchange.title"),oneLine:!0,isChecked:e.interchange,onChange:i=>{e.interchange=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Zi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2.25",fill:"white"}),a.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"1.5",fill:"white"})]}),qi={component:Vi,icon:Zi,defaultAttrs:xt,attrsComponent:Gi,metadata:{displayName:"panel.details.stations.guangdongIntercityRailway.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},gl={[k.ShmetroBasic]:Cs,[k.ShmetroBasic2020]:Os,[k.ShmetroInt]:Ss,[k.ShmetroOutOfSystemInt]:As,[k.ShanghaiSuburbanRailway]:Ps,[k.GzmtrBasic]:lo,[k.GzmtrInt]:fo,[k.GzmtrInt2024]:Co,[k.BjsubwayBasic]:vo,[k.BjsubwayInt]:ko,[k.MTR]:$o,[k.SuzhouRTBasic]:Do,[k.SuzhouRTInt]:Ho,[k.KunmingRTBasic]:Go,[k.KunmingRTInt]:Jo,[k.MRTBasic]:ni,[k.MRTInt]:ii,[k.JREastBasic]:di,[k.JREastImportant]:ui,[k.FoshanMetroBasic]:Ci,[k.QingdaoMetroStation]:Oi,[k.TokyoMetroBasic]:Si,[k.TokyoMetroInt]:Ai,[k.LondonTubeBasic]:Ti,[k.LondonTubeInt]:Xi,[k.LondonRiverServicesInt]:Fi,[k.GuangdongIntercityRailway]:qi},Qi="RMP_MASTER_CHANNEL",Ji="MASTER_POST",da=new BroadcastChannel(Qi),ft={id:"null",value:"",param:null,bg:"#000000",fg:W.white},Ki={h:"80%",w:"80%","& iframe":{h:"100%",w:"100%"},"& div":{h:"100%",w:"100%"}},el=s=>{const{isOpen:t,onClose:e,onSubmit:o}=s,{t:n}=D(),c=x.useRef(window.graph),i=Qa(),[m,d]=x.useState([]),[r,l]=x.useState(ft),[f,h]=x.useState(""),[u,p]=x.useState(!1),[g,C]=x.useState(!1);x.useEffect(()=>{t&&(h(""),l(ft),p(!1),d(ja(c.current).filter(S=>S.randomId).map(S=>{var z,P,Y;return{id:S.randomId,value:(z=S.label)!=null?z:S.randomId,param:S,bg:(P=S.labelColorBg)!=null?P:ft.bg,fg:(Y=S.labelColorFg)!=null?Y:ft.fg}})))},[t]);const y=S=>{var z,P,Y,U,q;try{const X=(z=r.param)!=null?z:JSON.parse(S),se=X.id?X.id:X.randomId,ae=(P=X.labelColorBg)!=null?P:Ua(),ie={randomId:se,label:(Y=X.label)!=null?Y:se,labelColorBg:ae,labelColorFg:Fa(ae),nodeType:(U=X.nodeType)!=null?U:X.type,transform:(q=X.transform)!=null?q:Va,svgs:X.svgs,components:X.components,color:X.color,core:X.core,version:X.version};if(!ie.version||ie.version<2){i({title:"Outdated configuration!",status:"error",duration:9e3,isClosable:!0});return}o(ie)}catch(X){C(!0);return}e()},b=x.useRef(t),[j,O]=x.useState("DESIGNER"),[v,N]=x.useState(!1);x.useEffect(()=>{b.current=t},[t]),x.useEffect(()=>{const S=z=>{const{event:P,data:Y}=z.data;P===Ji&&b.current&&(N(!1),y(Y))};return da.addEventListener("message",S),()=>{da.removeEventListener("message",S)}},[]);const w=async()=>{O("DESIGNER"),N(!0)},_=()=>{O("GALLERY"),N(!0)},A=S=>{C(!1),h(S.target.value),l(ft)},M=S=>{l(S),p(!1),h("")};return a.jsxs(a.Fragment,{children:[a.jsxs(fa,{isOpen:t,onClose:e,size:"sm",scrollBehavior:"inside",children:[a.jsx(ha,{}),a.jsxs(ua,{children:[a.jsx(pa,{children:n("header.settings.procedures.masterManager.importTitle")}),a.jsx(ga,{}),a.jsxs(xa,{children:[a.jsx(pe,{label:n("header.settings.procedures.masterManager.importFrom"),children:a.jsx(Ya,{data:m,displayHandler:S=>a.jsx(nn,{name:S.value,fg:S.fg,bg:S.bg,title:S.value,sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(S,z)=>z.id.toLowerCase().includes(S.toLowerCase())||Object.values(z.id).some(P=>P.toLowerCase().includes(S.toLowerCase())),value:r.value,onChange:M})}),a.jsxs(pe,{label:n("header.settings.procedures.masterManager.importOther"),children:[a.jsxs(Dt,{direction:"row",width:"100%",children:[a.jsx(ue,{m:1,width:"100%",onClick:w,children:n("RMP Designer")}),a.jsx(ue,{m:1,width:"100%",onClick:_,children:n("RMP Gallery")})]}),a.jsx(ue,{m:1,onClick:()=>p(!0),children:n("header.settings.procedures.masterManager.importParam")}),a.jsx(Ja,{width:"100%",placeholder:"qwq",fontSize:"sm",fontFamily:"monospace",hidden:!u,onChange:A,isInvalid:g})]})]}),a.jsxs(Ca,{children:[a.jsx(ue,{colorScheme:"blue",variant:"outline",mr:"1",onClick:e,children:n("cancel")}),a.jsx(ue,{colorScheme:"blue",variant:"solid",mr:"1",onClick:()=>y(f),isDisabled:r.id==="null"&&f==="",children:n("apply")})]})]})]}),a.jsx(tl,{isOpen:v,onClose:()=>N(!1),source:j})]})},tl=s=>{const{isOpen:t,onClose:e,source:o}=s,n=o==="DESIGNER"?"/rmp-designer/#/export":"/rmp-gallery/?tabId=2&master=true";return a.jsxs(Ha,{isOpen:t,onClose:e,size:"full",sx:Ki,children:[a.jsx("iframe",{src:n,loading:"lazy"}),a.jsx(Ka,{onClick:e,position:"fixed",top:"5px",right:"15px"})]})},xl=s=>{const{isOpen:t,onClose:e}=s,{t:o}=D(),{refresh:{nodes:n}}=lt(C=>C.runtime),c=x.useRef(window.graph),i=it(),[m,d]=x.useState([]);x.useEffect(()=>{t&&d(ja(c.current))},[t,n]);const[r,l]=x.useState(void 0),f=C=>{c.current.filterNodes(y=>c.current.getNodeAttribute(y,"type")===K.Master&&c.current.getNodeAttributes(y)[K.Master].randomId===r).forEach(y=>{const b=structuredClone(C),j=c.current.getNodeAttributes(y),O=structuredClone(j[K.Master]),v=N=>{O.components.forEach(w=>{var _;if(w.id===N)return(_=w.value)!=null?_:w.defaultValue})};b.components.forEach((N,w)=>{var _;b.components[w].value=(_=v(N.id))!=null?_:N.defaultValue}),b.color!==void 0&&(b.color.value=O.color?b.color.value:b.color.defaultValue),c.current.mergeNodeAttributes(y,{[K.Master]:b})}),i(Ct()),i(yt(c.current.export()))},h=C=>{const y={id:C.randomId,type:C.nodeType,label:C.label,svgs:C.svgs,components:C.components,color:C.color,core:C.core,transform:C.transform,version:C.version};y.components.forEach((b,j)=>{y.components[j].value=b.defaultValue}),ds("RMP_Master_Node_".concat(new Date().valueOf(),".json"),"application/json",JSON.stringify(y))},u=C=>{c.current.filterNodes(y=>c.current.getNodeAttribute(y,"type")===K.Master&&c.current.getNodeAttributes(y)[K.Master].randomId===C).forEach(y=>{c.current.dropNode(y)}),i(Ct()),i(yt(c.current.export()))},p=(C,y)=>{c.current.filterNodes(b=>c.current.getNodeAttribute(b,"type")===K.Master&&c.current.getNodeAttributes(b)[K.Master].randomId===C.randomId).forEach(b=>{c.current.mergeNodeAttributes(b,{[K.Master]:{...C,label:y}})}),i(Ct()),i(yt(c.current.export()))},g=m.map(C=>{var b,j,O,v,N;const y=[{label:o("header.settings.procedures.masterManager.id"),type:"custom",component:a.jsx(nn,{name:(b=C.randomId)!=null?b:"undefined",fg:(j=C.labelColorFg)!=null?j:W.white,bg:(O=C.labelColorBg)!=null?O:"#000000"})},{label:o("header.settings.procedures.masterManager.label"),type:"input",value:(v=C.label)!=null?v:o("panel.details.nodes.master.undefined"),onChange:w=>p(C,w),hidden:!C.randomId},{label:o("header.settings.procedures.masterManager.label"),type:"output",value:(N=C.label)!=null?N:o("panel.details.nodes.master.undefined"),hidden:!!C.randomId},{label:o("header.settings.procedures.masterManager.type"),type:"custom",component:a.jsx(nn,{name:o("header.settings.procedures.masterManager.types.".concat(C.nodeType)),fg:W.white,bg:C.nodeType==="MiscNode"?"#FF8651":"#51BC00"})}];return a.jsxs(Dt,{width:"100%",direction:"row",children:[a.jsx(L,{fields:y,minW:"120px"}),a.jsxs(Dt,{direction:"row",mr:"auto",children:[a.jsx(ue,{onClick:()=>l(C.randomId),children:a.jsx(Ga,{})}),a.jsx(ue,{onClick:()=>h(C),isDisabled:!C.randomId,children:a.jsx(Za,{})}),a.jsx(ue,{onClick:()=>u(C.randomId),children:a.jsx(_t,{})})]})]})});return a.jsxs(fa,{isOpen:t,onClose:e,size:"xl",scrollBehavior:"inside",children:[a.jsx(ha,{}),a.jsxs(ua,{children:[a.jsx(pa,{children:o("header.settings.procedures.masterManager.title")}),a.jsx(ga,{}),a.jsxs(xa,{width:"100%",children:[...g,a.jsx(el,{isOpen:!!r,onClose:()=>l(void 0),onSubmit:f})]}),a.jsx(Ca,{children:a.jsx(ue,{colorScheme:"blue",variant:"outline",mr:"1",onClick:e,children:o("close")})})]})]})};export{Tt as F,ul as L,xl as M,pl as S,ms as a,cl as b,rl as c,ds as d,dl as e,rs as f,I as g,oe as h,il as i,hl as j,el as k,as as l,ml as m,ol as n,gl as s,ll as t,fl as u}; +import{b as x,u as D,r as $}from"./react-D-_si4LB.js";import{i as L,S as k,av as K,r as ma,C as B,M as W,aS as Re,L as Ra,e as Wa,aU as Da,aV as V,aW as G,aX as T,c as it,d as lt,aY as jn,aZ as Ee,P as pe,V as Ht,W as Ut,a_ as On,a$ as _t,b0 as Xa,aR as vn,q as Ct,v as yt,b1 as Bn,b2 as La,Q as Ya,R as nn,w as Ha,b3 as Ua,b4 as Fa,aT as Va,D as Ga,a as Za}from"./index-KpXBwNUP.js";import{j as a,aK as Ke,a4 as _n,af as Ne,ax as et,B as wn,a6 as qa,ad as Ft,O as ue,g as Dt,b0 as In,b1 as Pn,aL as Qa,at as fa,$ as ha,au as ua,a1 as pa,a2 as ga,a3 as xa,Q as Ja,a5 as Ca,al as Ka}from"./chakra-xNcrfRXW.js";var ya=(s=>(s.Airport="airport",s.Airport2024="airport_2024",s.Maglev="maglev",s.Disney="disney",s.Railway="railway",s.Railway2024="railway_2024",s.HSR="hsr",s.AirportHK="airport_hk",s.DisneyHK="disney_hk",s.NgongPing360="ngong_ping_360",s.Tiananmen="tiananmen",s.AirportBJ="airport_bj",s.BusTerminalSuzhou="bus_terminal_suzhou",s.RailwaySuzhou="railway_suzhou",s.BusInterchange="bus_interchange",s.AirportSG="airport_sg",s.CruiseCentre="cruise_centre",s.SentosaExpress="sentosa_express",s.CableCar="cable_car",s.Merlion="merlion",s.MarinaBaySands="marina_bay_sands",s.GardensByTheBay="gardens_by_the_bay",s.SingaporeFlyer="singapore_flyer",s.Esplanade="esplanade",s.AirportQingdao="airport_qingdao",s.CoachStationQingdao="coach_station_qingdao",s.CruiseTerminalQingdao="cruise_terminal_qingdao",s.RailwayQingdao="railway_qingdao",s.TramQingdao="tram_qingdao",s.AirportGuangzhou="airport_guangzhou",s.RailwayGuangzhou="railway_guangzhou",s.IntercityGuangzhou="intercity_guangzhou",s.RiverCraftLondon="river_craft",s.AirportLondon="airport_london",s.CoachStationLondon="coach_station_london",s))(ya||{});const es=s=>{const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{type:d=an.type}=n!=null?n:an,r=x.useRef(null),[l,f]=x.useState({width:25,height:25});x.useEffect(()=>f(r.current.getBBox()),[d,f,r]);const h=x.useCallback(g=>c(t,g),[t,c]),u=x.useCallback(g=>i(t,g),[t,i]),p=x.useCallback(g=>m(t,g),[t,m]);return a.jsx("g",{id:t,transform:"translate(".concat(e-l.width/2,", ").concat(o-l.height/2,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:a.jsx("image",{ref:r,href:"/rmp/images/facilities/".concat(d,".svg"),onLoad:()=>f(r.current.getBBox())})})},an={type:"airport"},ts=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"select",label:n("panel.details.nodes.facilities.type"),value:e.type,options:{airport:"Airport",airport_2024:"Airport 2024",maglev:"Maglev",disney:"Disney",railway:"Railway",railway_2024:"Railway 2024",hsr:"HSR",airport_hk:"Airport Hongkong",disney_hk:"Disney Hongkong",ngong_ping_360:"Ngong Ping 360",tiananmen:"Tiananmen",airport_bj:"Airport Beijing",bus_terminal_suzhou:"Bus Terminal Suzhou",railway_suzhou:"Railway Suzhou",bus_interchange:"Bus Interchange",airport_sg:"Changi Airport",cruise_centre:"Cruise Centre",sentosa_express:"Sentosa Express",cable_car:"Cable Car",merlion:"Merlion",marina_bay_sands:"Marina Bay Sands",gardens_by_the_bay:"Gardens by the Bay",singapore_flyer:"Singapore Flyer",esplanade:"Esplanade",airport_qingdao:"Airport Qingdao",railway_qingdao:"Railway Qingdao",coach_station_qingdao:"Coach Station Qingdao",cruise_terminal_qingdao:"Cruise Terminal Qingdao",tram_qingdao:"Tram Qingdao",airport_guangzhou:"Airport Guangzhou",railway_guangzhou:"Railway Guangzhou",intercity_guangzhou:"Intercity Guangzhou",river_craft:"River services interchange",airport_london:"Airport London",coach_station_london:"Victoria Coach Station"},onChange:i=>{e.type=i,o(t,e)}}];return a.jsx(L,{fields:c,minW:"full"})},ns=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(12, 0)scale(0.4)",children:[a.jsx("circle",{cx:"0",cy:"29.33899",r:"29.33899",fill:"currentColor"}),a.jsx("path",{id:"airport",d:"M28.9769,6.60134c1.711.013,3.111,2.53205,3.111,4.241v10.337s17.106,15.435,17.358,15.666a1.145,1.145,0,0,1,.488,1.152v2.833c0,.651-.451.61-.695.467-.334-.119-17.151-8.863-17.151-8.863-.004,1.458-.797,9.006-1.326,13.304,0,0,4.61,2.457,4.699,2.521.334.268.352.359.352.852v2.001c0,.477-.352.428-.51.324-.183-.062-5.693-1.921-5.693-1.921a2.56018,2.56018,0,0,0-.633-.127,2.31654,2.31654,0,0,0-.666.127s-5.477,1.859-5.672,1.921c-.185.104-.523.153-.523-.324v-2.001c0-.493.029-.584.367-.852.086-.064,4.678-2.521,4.678-2.521-.524-4.298-1.307-11.846-1.325-13.304,0,0-16.822,8.744-17.148,8.863-.217.143-.69.184-.69-.467v-2.833a1.16206,1.16206,0,0,1,.473-1.152c.276-.231,17.365-15.666,17.365-15.666v-10.337c0-1.709,1.403-4.228,3.14105-4.241",transform:"translate(-28.9697,0.14347)",fill:"white"})]})}),ol={component:es,icon:ns,defaultAttrs:an,attrsComponent:ts,metadata:{displayName:"panel.details.nodes.facilities.displayName",tags:[]}},il=()=>navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome"),Bt={source:'url("./fonts/LTAIdentity-Medium.woff")',descriptors:{display:"swap"}},ct={source:'url("./fonts/Mplus2-Medium.otf")',descriptors:{display:"swap"}},Tn={source:'url("./fonts/Roboto-Bold.ttf")',descriptors:{display:"swap"}},$n={source:'url("./fonts/MontaguSlab.ttf")',descriptors:{display:"swap"}},En={source:'url("./fonts/Railway-PlyE.otf")',descriptors:{display:"swap"}},Tt={[k.MTR]:{className:[".rmp-name__mtr__zh",".rmp-name__mtr__en"],cssFont:{"MyriadPro-Semibold":void 0,"Vegur-Bold":void 0,"GenYoMinTW-SB":void 0},cssName:"fonts_mtr"},[k.MRTBasic]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.MRTInt]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.JREastBasic]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ct},cssName:"fonts_jreast"},[k.JREastImportant]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ct},cssName:"fonts_jreast"},[K.BerlinSBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:Tn},cssName:"fonts_berlin"},[K.BerlinUBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:Tn},cssName:"fonts_berlin"},[K.JREastLineBadge]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{'"M PLUS 2"':ct},cssName:"fonts_jreast"},[K.MRTDestinationNumbers]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[K.MRTLineBadge]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:Bt},cssName:"fonts_mrt"},[k.TokyoMetroBasic]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:$n,"M PLUS 2":ct},cssName:"fonts_tokyo"},[k.TokyoMetroInt]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:$n,"M PLUS 2":ct},cssName:"fonts_tokyo"},[k.LondonTubeBasic]:{className:[".rmp-name__tube"],cssFont:{Railway:En},cssName:"fonts_tube"},[k.LondonTubeInt]:{className:[".rmp-name__tube"],cssFont:{Railway:En},cssName:"fonts_tube"}},Rn=[],as=async s=>{const t=Tt[s];if(!t)return;const{cssFont:e,cssName:o}=t;if(Rn.includes(o))return;Rn.push(o),await Promise.all(Object.entries(e).map(([c,i])=>ma.loadFont(c,i&&{configs:[i]})));const n=document.createElement("link");n.rel="stylesheet",n.id=o,n.href="/rmp/styles/".concat(o,".css"),document.head.append(n)},ss=async(s,t)=>{var c;const e=document.createElement("style");for(let i=document.styleSheets.length-1;i>=0;i=i-1)if((c=document.styleSheets[i].href)!=null&&c.endsWith("styles/".concat(t,".css"))){e.textContent=[...document.styleSheets[i].cssRules].map(m=>m.cssText).filter(m=>!m.startsWith("@font-face")).join("\n");break}e.textContent+="\n";const n=(await Promise.allSettled(Object.keys(s).map(ma.getFontCSS))).filter(i=>i.status==="fulfilled").map(i=>i.value);return e.textContent+=n.join("\n"),e},I=x.forwardRef((s,t)=>{const{text:e,lineHeight:o,grow:n,dominantBaseline:c=n==="up"?"auto":n==="down"?"hanging":"middle",baseOffset:i=2,funcDX:m=l=>0,...d}=s,r=n==="bidirectional"?-((e.length-1)*o)/2:0;return a.jsx("g",{ref:t,children:(n==="up"?[...e].reverse():e).map((l,f,h)=>a.jsx("text",{dy:(f*o+i)*(n==="up"?-1:1)+r,dx:m(f),dominantBaseline:c,...d,children:l},"".concat(l).concat(f)))})});I.displayName="MultilineText";const Wn={zh:16,en:10},ee={top:{namesPos:1,lineHeight:Wn.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:Wn.zh,polarity:1}},ba={zh:k.ShmetroBasic,en:k.ShmetroBasic,mtr__zh:k.MTR,mtr__en:k.MTR,berlin:K.BerlinSBahnLineBadge,mrt:k.MRTBasic,jreast_ja:k.JREastBasic,jreast_en:k.JREastBasic,tokyo_en:k.TokyoMetroBasic,tube:k.LondonTubeBasic},os=s=>{const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{content:d=oe.content,fontSize:r=oe.fontSize,lineHeight:l=oe.lineHeight,textAnchor:f=oe.textAnchor,dominantBaseline:h=oe.dominantBaseline,language:u=oe.language,color:p=oe.color,rotate:g=oe.rotate,italic:C=oe.italic,bold:y=oe.bold}=n!=null?n:oe,b=x.useRef(null),[j,O]=x.useState({x:0,y:0,width:32,height:16});x.useEffect(()=>O(b.current.getBBox()),[d,r,l,f,h,u,g,C,y,O,b]),x.useEffect(()=>{const _=ba[u];_&&as(_)},[u]);const v=x.useCallback(_=>c(t,_),[t,c]),N=x.useCallback(_=>i(t,_),[t,i]),w=x.useCallback(_=>m(t,_),[t,m]);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(g,")"),onPointerDown:v,onPointerMove:N,onPointerUp:w,style:{cursor:"move"},children:[a.jsx("rect",{className:"removeMe",fill:"gray",fillOpacity:"0.1",x:j.x-1.5,y:j.y-1.5,width:j.width+3,height:j.height+3}),a.jsx(I,{ref:b,text:d.split("\n"),lineHeight:l,grow:"down",className:"rmp-name__".concat(u),fontSize:r,textAnchor:f,dominantBaseline:h,fill:p[2],fontStyle:C,fontWeight:y})]})},oe={content:"Enter your text here",fontSize:16,lineHeight:16,textAnchor:"middle",dominantBaseline:"middle",language:"en",color:[B.Shanghai,"jsr","#000000",W.white],rotate:0,italic:"normal",bold:"normal"},is=s=>{var i,m,d,r,l,f,h;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.nodes.text.content"),value:(i=e.content)!=null?i:oe.content,onChange:u=>{e.content=u.toString(),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.nodes.text.fontSize"),value:((m=e.fontSize)!=null?m:oe.fontSize).toString(),validator:u=>Number.isInteger(u)&&Number(u)>0,onChange:u=>{e.fontSize=Number(u),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.nodes.text.lineHeight"),value:((d=e.lineHeight)!=null?d:oe.lineHeight).toString(),validator:u=>Number.isInteger(u)&&Number(u)>0,onChange:u=>{e.lineHeight=Number(u),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.textAnchor"),value:(r=e.textAnchor)!=null?r:oe.textAnchor,options:{start:n("panel.details.nodes.text.start"),middle:n("panel.details.nodes.text.middle"),end:n("panel.details.nodes.text.end")},onChange:u=>{e.textAnchor=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.dominantBaseline"),value:(l=e.dominantBaseline)!=null?l:oe.dominantBaseline,options:{auto:n("panel.details.nodes.text.auto"),middle:n("panel.details.nodes.text.middle"),hanging:n("panel.details.nodes.text.hanging")},onChange:u=>{e.dominantBaseline=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.language"),value:(f=e.language)!=null?f:oe.language,options:{zh:n("panel.details.nodes.text.zh"),en:n("panel.details.nodes.text.en"),mtr__zh:n("panel.details.nodes.text.mtr__zh"),mtr__en:n("panel.details.nodes.text.mtr__en"),berlin:n("panel.details.nodes.text.berlin"),mrt:n("panel.details.nodes.text.mrt"),jreast_ja:n("panel.details.nodes.text.jreast_ja"),jreast_en:n("panel.details.nodes.text.jreast_en"),tokyo_en:n("panel.details.nodes.text.tokyo_en"),tube:n("panel.details.nodes.text.tube")},onChange:u=>{e.language=u.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.nodes.text.rotate"),value:(h=e.rotate)!=null?h:oe.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:u=>{e.rotate=Number(u),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.nodes.text.italic"),isChecked:e.italic==="italic",onChange:u=>{e.italic=u?"italic":"normal",o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.nodes.text.bold"),isChecked:e.bold==="bold",onChange:u=>{e.bold=u?"bold":"normal",o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:K.Text,defaultTheme:oe.color})}];return a.jsx(L,{fields:c})},ls=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"10",children:"Text"})}),ll={component:os,icon:ls,defaultAttrs:oe,attrsComponent:is,metadata:{displayName:"panel.details.nodes.text.displayName",tags:[]}},rl=(s,t)=>s.filterEdges((e,o,n,c,i,m,d)=>t.has(n)&&t.has(c)),rs=s=>{const t=Object.fromEntries([...Object.values(k),Object.values(K)].map(e=>[e,!1]));return s.forEachNode(e=>{const o=s.getNodeAttribute(e,"type");t[o]=!0}),t},cs=(s,t,e,o,n,c)=>s<=n&&n<=e&&t<=c&&c<=o,cl=(s,t,e,o,n)=>{const c=t<=o?t:o,i=e<=n?e:n,m=t<=o?o:t,d=e<=n?n:e;return s.filterNodes((r,l)=>cs(c,i,m,d,l.x,l.y))},dl=(s,t,e)=>{const o=[],n=new Set;return t.forEach(c=>{const i=s.getNodeAttributes(c).type,m=s.getNodeAttribute(c,i);if(m.color!==void 0){const d=m.color;n.has(d.toString())||(o.push(d),n.add(d.toString()))}}),e.filter(c=>Ra.includes(s.getEdgeAttribute(c,"style"))).forEach(c=>{const i=s.getEdgeAttributes(c),m=i[i.style].color;n.has(m.toString())||(o.push(m),n.add(m.toString()))}),o},ja=s=>{const t=[],e=new Set;return s.filterNodes(o=>s.getNodeAttribute(o,"type")===K.Master).forEach(o=>{const n=s.getNodeAttributes(o)[K.Master];e.has(n.randomId)||(e.add(n.randomId),t.push(n))}),t},ds=(s,t,e)=>{const o=new Blob([e],{type:t});ms(s,o)},ms=(s,t)=>{const e=window.URL.createObjectURL(t),o=document.createElement("a");o.href=e,o.download=s,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(e)},ml=async(s,t,e,o)=>{const{xMin:n,yMin:c,xMax:i,yMax:m}=Wa(s),[d,r]=[i-n,m-c],l=document.getElementById("canvas").cloneNode(!0);t||l.appendChild(await us(i-400,m-120)),l.setAttribute("viewBox","".concat(n," ").concat(c," ").concat(d," ").concat(r)),l.setAttribute("width",d.toString()),l.setAttribute("height",r.toString()),Object.entries({".rmp-name-outline":["paint-order","stroke","stroke-linejoin"]}).forEach(([h,u])=>{const p=document.querySelector(h);if(p===null)return;const g=window.getComputedStyle(p);l.querySelectorAll(h).forEach(C=>{if(h===".rmp-name-outline"&&o===1.1){const y=C.insertAdjacentElement("afterend",C.cloneNode(!0));y&&(y.classList.remove(h.slice(1)),y.classList.length===0&&C.removeAttribute("class"),y.removeAttribute("stroke-width"))}u.forEach(y=>{C.setAttribute(y,g.getPropertyValue(y))}),C.classList.remove(h.slice(1)),C.classList.length===0&&C.removeAttribute("class")})}),l.querySelectorAll('[fill="url(#opaque)"]').forEach(h=>{h.remove()}),l.querySelectorAll(".removeMe").forEach(h=>{h.remove()});const f=rs(s);return await fs(l,s,f,e),await hs(l,s,f),{elem:l,width:d,height:r}},fs=async(s,t,e,o)=>{var c;const n=new Set;if(Object.keys(Tt).filter(i=>e[i]).forEach(i=>n.add(i)),t.filterNodes((i,m)=>i.startsWith("misc_node_")&&m.type===K.Text).map(i=>t.getNodeAttribute(i,K.Text).language).map(i=>ba[i]).filter(i=>i!==k.ShmetroBasic).forEach(i=>n.add(i)),o)[".rmp-name__zh",".rmp-name__en"].forEach(i=>{s.querySelectorAll(i).forEach(m=>{m.classList.remove(i.slice(1)),m.classList.length===0&&m.removeAttribute("class")})}),n.forEach(i=>{Tt[i].className.forEach(m=>{s.querySelectorAll(m).forEach(d=>{d.classList.remove(m.slice(1)),d.classList.length===0&&d.removeAttribute("class")})})});else{const i=document.createElement("style");for(let m=0;md.cssText).join("\n");break}s.prepend(i),await Promise.all([...n.values()].map(m=>Tt[m]).map(async({cssName:m,cssFont:d})=>{try{s.prepend(await ss(d,m))}catch(r){alert("Failed to load fonts. Fonts in the exported PNG will be missing."),console.error(r)}}))}},hs=async(s,t,e)=>{if(e[K.Facilities]){const o=t.filterNodes((m,d)=>d.type===K.Facilities),n=Object.fromEntries(Object.values(ya).map(m=>[m,[]]));o.forEach(m=>{var r;const d=(r=t.getNodeAttribute(m,K.Facilities))==null?void 0:r.type;d&&n[d].push(m)});const c=Object.entries(n).filter(([m,d])=>d.length>0).map(([m,d])=>m),i=await Promise.all((await Promise.all(c.map(async m=>await fetch("/rmp//images/facilities/".concat(m,".svg"))))).map(m=>m.text()));c.forEach((m,d)=>{const r=document.createElement("div");r.innerHTML=i[d];const l=r.querySelector("svg"),f=document.createElementNS("http://www.w3.org/2000/svg","symbol");for(const h of l.attributes)f.setAttribute(h.name,h.value);for(;l.firstChild;)f.appendChild(l.firstChild);l.replaceWith(f),f.id=m,s.appendChild(f),n[m].forEach(h=>{const u=s.querySelector("#".concat(h)),p=u==null?void 0:u.querySelector("image");if(p){u.removeChild(p);const g=document.createElementNS("http://www.w3.org/2000/svg","use");g.setAttribute("href","#".concat(m)),g.setAttribute("height",f.getAttribute("height")),g.setAttribute("width",f.getAttribute("width")),u.appendChild(g)}}),r.remove()})}},us=async(s,t)=>{const e=document.createElementNS("http://www.w3.org/2000/svg","g");e.setAttribute("transform","translate(".concat(s,", ").concat(t,")scale(2)"));const n=await(await fetch("/rmp//logo.svg")).text(),c=document.createElement("div");c.innerHTML=n;const i=c.querySelector("svg"),m=document.createElement("g");m.setAttribute("transform","translate(-60, -25)scale(0.1)"),m.setAttribute("font-family","Arial, sans-serif"),m.innerHTML=i.innerHTML,e.appendChild(m);const d=document.createElementNS("http://www.w3.org/2000/svg","text");d.setAttribute("font-family","Arial, sans-serif"),d.setAttribute("font-size","16");const r=Da.t("Rail Map Painter");d.appendChild(document.createTextNode(r));const l=document.createElementNS("http://www.w3.org/2000/svg","text");l.setAttribute("font-family","Arial, sans-serif"),l.setAttribute("font-size","10"),l.setAttribute("y","10");const f=window.location.origin;let h="https://railmapgen.org/";return f.includes("github")?h="https://railmapgen.github.io/":f.includes("gitlab")&&(h="https://railmapgen.gitlab.io/"),h+="?app=rmp",l.appendChild(document.createTextNode(h)),e.appendChild(m),e.appendChild(d),e.appendChild(l),e},fl=()=>{const[s,t]=$.useState({width:void 0,height:void 0});return $.useEffect(()=>{function e(){t({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),s};function hl(){const{i18n:s}=D();return t=>{var e,o;return(o=(e=s.languages.map(n=>t[n]).find(n=>n!==void 0))!=null?e:t.en)!=null?o:"(Translation Error)"}}const st={top:{lineHeight:6.67,offset:3.5+1.5+5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1+5}},ps=s=>{var y;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=$t.nameOffsetX,nameOffsetY:l=$t.nameOffsetY}=(y=n[k.ShmetroBasic])!=null?y:$t,f=x.useCallback(b=>c(t,b),[t,c]),h=x.useCallback(b=>i(t,b),[t,i]),u=x.useCallback(b=>m(t,b),[t,m]),p=r==="left"?-13.33:r==="right"?13.33:0,g=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,C=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:5,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(p,", ").concat(g,")"),textAnchor:C,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u])},$t={...T,nameOffsetX:"right",nameOffsetY:"top"},gs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},xs=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",fill:"none"})}),Cs={component:ps,icon:xs,defaultAttrs:$t,attrsComponent:gs,metadata:{displayName:"panel.details.stations.shmetroBasic.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ye={0:{textDx:0,textDy:-17.5,textAnchor:"middle",namesPos:1,lineHeight:6.67,polarity:-1},45:{textDx:1,textDy:-16.25,textAnchor:"start",namesPos:1,lineHeight:6.67,polarity:-1},90:{textDx:12,textDy:0,textAnchor:"start",namesPos:0,lineHeight:0,polarity:0},135:{textDx:5,textDy:21,textAnchor:"start",namesPos:0,lineHeight:12.67,polarity:1},180:{textDx:0,textDy:22.5,textAnchor:"middle",namesPos:0,lineHeight:12.67,polarity:1},225:{textDx:-5,textDy:21,textAnchor:"end",namesPos:0,lineHeight:12.67,polarity:1},270:{textDx:-12,textDy:0,textAnchor:"end",namesPos:0,lineHeight:0,polarity:0},315:{textDx:-1,textDy:-16.25,textAnchor:"end",namesPos:1,lineHeight:6.67,polarity:-1}},ys=s=>{var g;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=bt.color,rotate:l=bt.rotate}=(g=n[k.ShmetroBasic2020])!=null?g:bt,f=ye[l].textDy+(d[ye[l].namesPos].split("\n").length-1)*ye[l].lineHeight*ye[l].polarity,h=x.useCallback(C=>c(t,C),[t,c]),u=x.useCallback(C=>i(t,C),[t,i]),p=x.useCallback(C=>m(t,C),[t,m]);return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(l,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:r[2],onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"}})}),a.jsxs("g",{transform:"translate(".concat(e+ye[l].textDx,", ").concat(o+f,")"),textAnchor:ye[l].textAnchor,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:l>=45&&l<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,l,r,h,u,p])},bt={...T,rotate:0,color:[B.Shanghai,"sh1","#E4002B",W.white]},bs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.ShmetroBasic2020,defaultTheme:bt.color})}];return a.jsx(L,{fields:c})},js=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Os={component:ys,icon:js,defaultAttrs:bt,attrsComponent:bs,metadata:{displayName:"panel.details.stations.shmetroBasic2020.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Dn={top:{lineHeight:6.67,offset:3.5+1.5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1}},vs=s=>{var _;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ge.nameOffsetX,nameOffsetY:l=Ge.nameOffsetY,rotate:f=Ge.rotate,width:h=Ge.width,height:u=Ge.height}=(_=n[k.ShmetroInt])!=null?_:Ge,p=x.useCallback(A=>c(t,A),[t,c]),g=x.useCallback(A=>i(t,A),[t,i]),C=x.useCallback(A=>m(t,A),[t,m]),y=f===0||f===180?h:f===90||f===270?u:h*Math.SQRT1_2,b=f===0||f===180?u:f===90||f===270?h:h*Math.SQRT1_2,j=r==="left"?-6.83:r==="right"?6.83:0,O=(Math.abs(j)+y/2)*Math.sign(j),v=(d[ee[l].namesPos].split("\n").length*Dn[l].lineHeight+Dn[l].offset)*ee[l].polarity,N=(Math.abs(v)+b/2)*Math.sign(v),w=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(f,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),x:-h/2,y:-u/2,height:u,width:h,ry:u/2,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:p,onPointerMove:g,onPointerUp:C,style:{cursor:"move"}})}),a.jsxs("g",{transform:"translate(".concat(e+O,", ").concat(o+N,")"),textAnchor:w,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p,g,C])},Ge={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,height:10,width:13},_s=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.shmetroInt.height"),value:e.height.toString(),validator:i=>Number.isInteger(i),onChange:i=>{e.height=Number(i),o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.shmetroInt.width"),value:e.width.toString(),validator:i=>Number.isInteger(i),onChange:i=>{e.width=Number(i),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},ws=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"4.5",y:"7",height:"10",width:"15",ry:"5",stroke:"currentColor",fill:"none"})}),Ss={component:vs,icon:ws,defaultAttrs:Ge,attrsComponent:_s,metadata:{displayName:"panel.details.stations.shmetroInt.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},Ns=s=>{var y;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Et.nameOffsetX,nameOffsetY:l=Et.nameOffsetY}=(y=n[k.ShmetroOutOfSystemInt])!=null?y:Et,f=x.useCallback(b=>c(t,b),[t,c]),h=x.useCallback(b=>i(t,b),[t,i]),u=x.useCallback(b=>m(t,b),[t,m]),p=r==="left"?-13.33:r==="right"?13.33:0,g=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,C=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{r:5,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),a.jsx("circle",{r:2.3,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),a.jsx("circle",{id:"stn_core_".concat(t),r:5+1.33/2,fill:"white",fillOpacity:"0",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(p,", ").concat(g,")"),textAnchor:C,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u])},Et={...T,nameOffsetX:"right",nameOffsetY:"top"},ks=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Ms=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.67",fill:"white"}),a.jsx("circle",{cx:"12",cy:"12",r:"4.6",stroke:"currentColor",strokeWidth:"2.67",fill:"white"})]}),As={component:Ns,icon:Ms,defaultAttrs:Et,attrsComponent:ks,metadata:{displayName:"panel.details.stations.shmetroOsysi.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},zs=s=>{var p;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,rotate:r=sn.rotate}=(p=n[k.ShanghaiSuburbanRailway])!=null?p:sn,l=ye[r].textDy+(d[ye[r].namesPos].split("\n").length-1)*ye[r].lineHeight*ye[r].polarity,f=x.useCallback(g=>c(t,g),[t,c]),h=x.useCallback(g=>i(t,g),[t,i]),u=x.useCallback(g=>m(t,g),[t,m]);return x.useMemo(()=>a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(r,")"),children:[a.jsx("rect",{x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:"#898989"}),a.jsx("rect",{x:"-3.5",y:"-1",width:"7",height:"2",stroke:"none",fill:"white"}),a.jsx("rect",{x:-2+1.1675,y:-7.83+1.5,width:4*2/5,height:7.83-1.5,stroke:"none",fill:"white"}),a.jsx("rect",{id:"stn_core_".concat(t),x:"-2",y:"-7.83",width:"4",height:7.83+1.25,stroke:"none",fill:"white",fillOpacity:"0",onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{transform:"translate(".concat(e+ye[r].textDx,", ").concat(o+l,")"),textAnchor:ye[r].textAnchor,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r>=45&&r<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,f,h,u])},sn={...T,rotate:0},Bs=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Is=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Ps={component:zs,icon:Is,defaultAttrs:sn,attrsComponent:Bs,metadata:{displayName:"panel.details.stations.shanghaiSuburbanRailway.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};var Xe=1.3,Oa=1.7,Vt=18.5,Ts=Vt+Xe,Sn=Vt*2+Xe;var Rt=45,ze=Rt-3,va=function(s,t){var e=[s,t].map(function(o){return o.match(/^(\w+).+$/)});if(e[0]&&e[1]&&e[0][1]===e[1][1])return e[0][1]},Nn=function(s){var t=s.match(/^(\d+)\D+$/);return t==null?void 0:t[1]},on=function(){return on=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},Ws=function(s,t){var e=Nn(s);if(e)return{isDigit:!0,spanningPart:e};var o=va(s,t);return o?{isDigit:!1,spanningPart:o}:{isDigit:!1,spanningPart:""}};function Xn(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Es(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=Ws(t,e),f=l.isDigit,h=l.spanningPart,u=$.useRef(null),p=Rs($.useState({x:0,height:0,width:0}),2),g=p[0],C=p[1];$.useEffect(function(){u.current&&C(u.current.getBBox())},[t,e]);var y=ze/Math.max(ze,g.width),b=(-g.x-g.width/2)*y,j=g.height*(1-y)/2;return a.jsxs("g",ln({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{fill:m?"#aaa":n}),a.jsx("g",{ref:u,transform:"translate(".concat(b,",").concat(j,")scale(").concat(y,")"),children:a.jsxs("text",{className:c,fontSize:21,x:-1,y:12,textAnchor:"end",dominantBaseline:"central",children:[h,a.jsx("tspan",{className:c,fontSize:10,x:0,dy:-4,textAnchor:"start",dominantBaseline:"central",children:t.slice(h.length).trim()}),a.jsx("tspan",{className:i,fontSize:6.5,letterSpacing:-.1,x:0,dy:10,textAnchor:"start",dominantBaseline:"middle",children:f?e:e.slice(h.length).trim()})]})}),d]}))}var rn=function(){return rn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Xs(s){var t,e=s.zhName,o=s.enName,n=s.foregroundColour,c=s.backgroundColour,i=s.zhClassName,m=s.enClassName,d=s.passed,r=s.children,l=Ds(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=(t=Nn(e))!==null&&t!==void 0?t:"",h=$.useRef(null),u=$.useRef(null),p=Ln($.useState({width:0}),2),g=p[0],C=p[1],y=Ln($.useState({width:0}),2),b=y[0],j=y[1];$.useEffect(function(){h.current&&C(h.current.getBBox()),u.current&&j(u.current.getBBox())},[e,o]);var O=ze/Math.max(ze,g.width),v=ze/Math.max(ze,b.width),N={nameZh:{y:7.3+13.5*(1-O)*O/2},nameEn:{y:19.5-9*(1-v)*v/2}};return a.jsxs("g",rn({textAnchor:"middle",fill:d?W.white:n},l,{children:[a.jsx(Gt,{fill:d?"#aaa":c}),a.jsxs("text",{ref:h,className:i,fontSize:12,transform:"translate(0,".concat(N.nameZh.y,")scale(").concat(O,")"),dominantBaseline:"central",children:[a.jsx("tspan",{fontSize:16,dy:.7,dominantBaseline:"central",children:f}),a.jsx("tspan",{dy:-.7,dominantBaseline:"central",children:e.slice(f.length)})]}),a.jsx("text",{ref:u,className:m,fontSize:8,transform:"translate(0,".concat(N.nameEn.y,")scale(").concat(v,")"),dominantBaseline:"middle",children:o}),r]}))}var cn=function(){return cn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Hs(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Ls(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=$.useRef(null),f=Ys($.useState({width:0}),2),h=f[0],u=f[1];$.useEffect(function(){l.current&&u(l.current.getBBox())},[t,e]);var p=Math.max(45,h.width+4);return a.jsxs("g",cn({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{customWidth:p,fill:m?"#aaa":n}),a.jsxs("g",{ref:l,children:[a.jsx("text",{className:c,fontSize:8.5,y:8,dominantBaseline:"central",children:t}),a.jsx("text",{className:i,fontSize:5.5,y:18,dominantBaseline:"middle",children:e})]}),d]}))}var dn=function(){return dn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function Fs(s){var t=s.zhName,e=s.enName,o=s.foregroundColour,n=s.backgroundColour,c=s.zhClassName,i=s.enClassName,m=s.passed,d=s.children,r=Us(s,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),l=$.useRef(null),f=$.useRef(null),h=Yn($.useState({width:0}),2),u=h[0],p=h[1],g=Yn($.useState({width:0}),2),C=g[0],y=g[1];$.useEffect(function(){l.current&&p(l.current.getBBox()),f.current&&y(f.current.getBBox())},[t,e]);var b=ze/Math.max(ze,u.width),j=ze/Math.max(ze,C.width),O={nameZh:{y:7.3+13.5*(1-b)*b/2},nameEn:{y:19.5-9*(1-j)*j/2}};return a.jsxs("g",dn({textAnchor:"middle",fill:m?W.white:o},r,{children:[a.jsx(Gt,{fill:m?"#aaa":n}),a.jsx("text",{ref:l,className:c,fontSize:12,transform:"translate(0,".concat(O.nameZh.y,")scale(").concat(b,")"),dominantBaseline:"central",children:t}),a.jsx("text",{ref:f,className:i,fontSize:8,transform:"translate(0,".concat(O.nameEn.y,")scale(").concat(j,")"),dominantBaseline:"middle",children:e}),d]}))}var qe=function(){return qe=Object.assign||function(s){for(var t,e=1,o=arguments.length;e=5?a.jsx(Hs,qe({},t)):a.jsx(Fs,qe({},t))}});var Vs=function(s,t){var e=Nn(s);if(e!==void 0)return 1;var o=va(s,t);return o!==void 0?2:3},mn=function(){return mn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},It=17,Sa=$.forwardRef(function(t,e){var o=t.Icon,n=t.lineNum,c=t.stnNum,i=t.strokeColour,m=t.passed,d=t.size,r=t.textClassName,l=t.bolderBorder,f=t.useSameScale,h=t.children,u=Qs(t,["Icon","lineNum","stnNum","strokeColour","passed","size","textClassName","bolderBorder","useSameScale","children"]),p=$.useContext(kn).updateId,g=$.useRef(null),C=$.useRef(null),y=Fn($.useState({width:0}),2),b=y[0],j=y[1],O=Fn($.useState({width:0}),2),v=O[0],N=O[1];$.useEffect(function(){g.current&&j(g.current.getBBox()),C.current&&N(C.current.getBBox())},[n,c,p]);var w=n&&n.length>2;$.useEffect(function(){f&&w&&console.warn("GenericStationNumber(), useSameScale props does not work when lineNum has more than 2 characters")},[f,w]);var _=It/Math.max(It,b.width),A=f&&(n==null?void 0:n.length)===2?_:It/Math.max(It,v.width),M=d==="sm"?"0.7":d==="lg"?"1.4":1;return a.jsxs("g",hn({ref:e},u,{children:[a.jsxs("g",{transform:"scale(".concat(M,")"),children:[a.jsx(o,{stroke:m?"#aaa":i,filled:!n&&!c,bolder:l}),(n||c)&&a.jsxs("g",{textAnchor:"middle",fontSize:13.5,fill:m?"#aaa":"#000",children:[a.jsx("g",{transform:"translate(-9.25,0)scale(".concat(_,")"),children:a.jsx("text",{ref:g,className:r,dominantBaseline:"central",x:.5,children:n})}),a.jsx("g",{transform:"translate(9.25,0)scale(".concat(A,")"),children:a.jsx("text",{ref:C,className:r,dominantBaseline:"central",children:c})})]})]}),h]}))}),un=function(){return un=Object.assign||function(s){for(var t,e=1,o=arguments.length;e0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c},Qt=function(s,t){return Array.from(Array(s).keys()).map(function(e){return(e-(s-1)/2)*t})},Ks=function(s,t,e){if(s<=0)return[];if(s===1)return[[0,0]];for(var o=t>s?s:t,n=Sn,c=Ts,i=Qt(o,n),m=Math.ceil(s/o),d=Qt(m,c),r=s%o,l=[],f=0;f=h.length)return console.warn(", anchor index ".concat(d," is out of bound")),[0,0];var j=Zn(h[d],2),O=j[0],v=j[1];return[-O,-v]},[h,d]),2),p=u[0],g=u[1],C=$.useRef(null),y=$.useRef([]);$.useEffect(function(){y.current=y.current.slice(0,o.length)},[o.length]);var b=o.length===2&&i===1&&!!r;return $.useImperativeHandle(e,function(){return{target:C.current,children:y.current,getCoordinates:function(){return h},getCorrectedBBox:function(){var j,O,v=(O=(j=C.current)===null||j===void 0?void 0:j.getBBox())!==null&&O!==void 0?O:{x:0,y:0,width:0,height:0};return v.y-=Fe/2,v.height+=Fe,b?(r==="left"?v.x-=Jt/2:v.x-=Fe/2,v.width+=Jt/2+Fe/2):(v.x-=Fe/2,v.width+=Fe),v},getTranslate:function(){return[p,g]}}},[h,p,g,C.current,y.current,r]),a.jsxs("g",Xt({ref:C,transform:"translate(".concat(p,",").concat(g,")")},f,{children:[o.map(function(j,O){var v=j.style,N=qn(v);return a.jsx(N,{stroke:"#aaa",filled:!0,strokeWidth:Fe,transform:"translate(".concat(h[O][0],",").concat(h[O][1],")")},O)}),b&&a.jsx(Vn,{position:r,r:Sn/2.9,strokeWidth:Jt,strokeDasharray:void 0}),o.map(function(j,O){var v=j.style,N=qn(v);return a.jsx(N,{stroke:"white",filled:!0,strokeWidth:Xe*2.6,transform:"translate(".concat(h[O][0],",").concat(h[O][1],")")},O)}),b&&a.jsx(Vn,{position:r}),o.length&&a.jsx("rect",{fill:"white",x:-12,y:h[0][1],width:24,height:-h[0][1]*2}),o.map(function(j,O){var v=j.style,N=Gn(j,["style"]),w=v==="fmetro"?Zt:ot;return a.jsx(w,Xt({ref:function(_){return y.current[O]=_},transform:"translate(".concat(h[O][0],",").concat(h[O][1],")"),textClassName:n},N),O)}),l]}))}),xn=function(){return xn=Object.assign||function(s){for(var t,e=1,o=arguments.length;e{var ie,E,H;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=ve.nameOffsetX,nameOffsetY:l=ve.nameOffsetY,color:f=ve.color,lineCode:h=ve.lineCode,stationCode:u=ve.stationCode,open:p=ve.open,secondaryNames:g=ve.secondaryNames,tram:C=ve.tram}=(ie=n[k.GzmtrBasic])!=null?ie:ve,y=x.useCallback(R=>c(t,R),[t,c]),b=x.useCallback(R=>i(t,R),[t,i]),j=x.useCallback(R=>m(t,R),[t,m]),O=x.useRef(null);(H=(E=O.current)==null?void 0:E.querySelector("path"))==null||H.setAttribute("id","stn_core_".concat(t));const v={en:C?5.08:6.56,zh:C?7.29:13.13},N={top:{namesPos:1,lineHeight:v.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:v.zh,polarity:1}},w=C?11:15,_=r==="left"?-w:r==="right"?w:0,A=C?8:10,M=(d[N[l].namesPos].split("\n").length*N[l].lineHeight+A)*N[l].polarity,S=r==="left"?"end":r==="right"?"start":!p&&r==="middle"&&g.join("")===""?"end":"middle",z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var R,Z;return Y((Z=(R=z.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...g,C]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var R,Z;return X((Z=(R=U.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...d,C]);const se=r==="middle"?q/2+(P+12*2)/2:(q+(P+12*2)/2)*(r==="left"?-1:1),ae=r==="middle"&&g.join("")!==""?q/2+(P+12*2):(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"?1:0);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"scale(".concat(.57915*(C?.729:1),")"),onPointerDown:y,onPointerMove:b,onPointerUp:j,style:{cursor:"move"},ref:O,children:a.jsx(ot,{id:"stn_core_".concat(t),strokeColour:f[2],lineNum:h===""?void 0:h,stnNum:u===""?void 0:u,textClassName:"rmp-name__zh"})}),a.jsxs("g",{ref:U,transform:"translate(".concat(_,", ").concat(M,")"),textAnchor:S,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:v.zh,lineHeight:v.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:v.en,lineHeight:v.en,grow:"down",className:"rmp-name__en"})]}),g.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(_+se,", ").concat(M,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:g[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:g[1]})]})]}),!p&&a.jsxs("g",{transform:"translate(".concat(_+ae,", ").concat(M,")"),textAnchor:r==="middle"?"start":S,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},ve={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Guangzhou,"gz1","#F3D03E",W.black],lineCode:"1",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},oo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.GzmtrBasic,defaultTheme:ve.color})},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.open"),oneLine:!0,isChecked:e.open,onChange:i=>{e.open=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrBasic.secondaryNameZh"),value:e.secondaryNames[0],onChange:i=>{e.secondaryNames[0]=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrBasic.secondaryNameEn"),value:e.secondaryNames[1],onChange:i=>{e.secondaryNames[1]=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:i=>{e.tram=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},io=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("g",{transform:"translate(12,12)scale(0.45)",children:a.jsx(ot,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),lo={component:so,icon:io,defaultAttrs:ve,attrsComponent:oo,metadata:{displayName:"panel.details.stations.gzmtrBasic.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},vt=[B.Guangzhou,"","#AAAAAA",W.white,"","","gz"];function Ma(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(h=>h.runtime),{t:m}=D(),[d,r]=x.useState();x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4],t[d][5],t[d][6]]),r(void 0))},[i==null?void 0:i.toString()]);const l=t.map((h,u)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:h[4],minW:"80px",onChange:p=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],p,h[5],h[6]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:h[5],minW:"80px",onChange:p=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],h[4],p,h[6]])}]),f=(h,u,p)=>n==null?void 0:n(u,[h[0],h[1],h[2],h[3],h[4],h[5],p?"fs":"gz"]);return a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e(vt),icon:a.jsx(Ee,{})})]}),t.map((h,u)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(u),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:u!==0,children:a.jsx(Ht,{theme:[h[0],h[1],h[2],h[3]],onClick:()=>{r(u),c(Ut([h[0],h[1],h[2],h[3]]))}})}),a.jsx(L,{fields:l[u],noLabel:u!==0}),a.jsxs(et,{children:[e&&u===l.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>e==null?void 0:e(t.slice(-1)[0]),icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(u),icon:a.jsx(_t,{})}),a.jsx(L,{fields:[{type:"switch",label:m("panel.details.stations.gzmtrInt.foshan"),isChecked:h[6]==="fs",onChange:p=>f(h,u,p)}]})]})]},u))]})}const Jn=[[[0,0]],[[0,0]],[[-21,0],[21,0]],[[-21.65,-12.5],[21.65,-12.5],[0,25]],[[-23,-18],[22,-16],[23,18],[-22,16]]],ro=s=>{var E,H,R,Z,ge,he,Le,be,xe,Ye,He,Ue,te,je,tt,St,Nt,kt,Mt,rt,ce,At,An,zn;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Pe.nameOffsetX,nameOffsetY:l=Pe.nameOffsetY,transfer:f=Pe.transfer,open:h=Pe.open,secondaryNames:u=Pe.secondaryNames,tram:p=Pe.tram}=(E=n[k.GzmtrInt])!=null?E:Pe,g=x.useCallback(F=>c(t,F),[t,c]),C=x.useCallback(F=>i(t,F),[t,i]),y=x.useCallback(F=>m(t,F),[t,m]),b=qa("white","var(--chakra-colors-gray-800)"),j={en:p?5.08:6.56,zh:p?7.29:13.13},O={top:{namesPos:1,lineHeight:j.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:j.zh,polarity:1}},v=p?18:25,N=(r==="left"?-v:r==="right"?v:0)*(l==="middle"?1.1:1),w=p?14:18,_=(d[O[l].namesPos].split("\n").length*O[l].lineHeight+w*(r==="middle"?1.1:1))*O[l].polarity,A=r==="left"?"end":r==="right"?"start":!h&&r==="middle"&&u.join("")===""?"end":"middle",M=f.flat().slice(0,4),S=[["black","black"],[(R=(H=M.at(0))==null?void 0:H.at(2))!=null?R:"black",(ge=(Z=M.at(0))==null?void 0:Z.at(2))!=null?ge:"black"],[(Le=(he=M.at(0))==null?void 0:he.at(2))!=null?Le:"black",(xe=(be=M.at(1))==null?void 0:be.at(2))!=null?xe:"black"],[(He=(Ye=M.at(0))==null?void 0:Ye.at(2))!=null?He:"black",(te=(Ue=M.at(1))==null?void 0:Ue.at(2))!=null?te:"black",(tt=(je=M.at(2))==null?void 0:je.at(2))!=null?tt:"black"],[(Nt=(St=M.at(0))==null?void 0:St.at(2))!=null?Nt:"black",(Mt=(kt=M.at(1))==null?void 0:kt.at(2))!=null?Mt:"black",(ce=(rt=M.at(2))==null?void 0:rt.at(2))!=null?ce:"black",(An=(At=M.at(3))==null?void 0:At.at(2))!=null?An:"black"]],z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var F,Oe;return Y((Oe=(F=z.current)==null?void 0:F.getBBox().width)!=null?Oe:0)},[...u]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var F,Oe;return X((Oe=(F=U.current)==null?void 0:F.getBBox().width)!=null?Oe:0)},[...d]);const se=(q+(P+12*2)/2)*(r==="left"?-1:1),ae=(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"||P!==0?1:0),ie=r==="middle"?"start":A;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[M.map(F=>F[2]).filter((F,Oe,zt)=>zt.indexOf(F)===Oe).map(F=>a.jsx("marker",{id:"gzmtr_int_arrow_".concat(F),markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:a.jsx("polygon",{points:"0.25,0 0.25,2.5 2.25,1.25",fill:F})},"gzmtr_int_arrow_".concat(F))),a.jsxs("g",{transform:"scale(".concat(.57915*(p?.729:1),")"),children:[M.length<=2&&a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15 L 21,15 A 28 28 0 0 1 -21,15 Z",fill:b}),a.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 21,15 A 28 28 0 0 1 -21,15",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")})]}),M.length===3&&a.jsxs(a.Fragment,{children:[a.jsx("circle",{r:"25",fill:b}),a.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 21.65,12.5 A 25 25 0 0 1 -21.65,12.5",fill:"none",stroke:S[M.length][2],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")}),a.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")})]}),M.length>=4&&a.jsxs(a.Fragment,{children:[a.jsx("circle",{r:"25",fill:b}),a.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",stroke:S[M.length][0],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",stroke:S[M.length][1],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",stroke:S[M.length][2],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")}),a.jsx("path",{d:"M 0,25 A 25 25 0 0 1 -25,0",fill:"none",stroke:S[M.length][3],strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][3],")")}),a.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][0],")")}),a.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][1],")")}),a.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:"url(#gzmtr_int_arrow_".concat(S[M.length][2],")")})]}),(zn=f[0])==null?void 0:zn.map((F,Oe,zt)=>a.jsx("g",{transform:"translate(".concat(Jn[zt.length][Oe][0],",").concat(Jn[zt.length][Oe][1],")"),children:F[6]==="gz"?a.jsx(ot,{strokeColour:F[2],lineNum:F[4],stnNum:F[5],textClassName:"rmp-name__zh"}):a.jsx(Zt,{strokeColour:F[2],lineNum:F[4],stnNum:F[5],textClassName:"rmp-name__zh"})},"gzmtr_int_".concat(t,"_stn_").concat(Oe))),a.jsx("circle",{id:"stn_core_".concat(t),r:"25",fill:"white",fillOpacity:"0",onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{ref:U,transform:"translate(".concat(N,", ").concat(_,")"),textAnchor:A,children:[a.jsx(I,{text:d[0].split("\\"),fontSize:j.zh,lineHeight:j.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\\"),fontSize:j.en,lineHeight:j.en,grow:"down",className:"rmp-name__en"})]}),u.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(N+se,", ").concat(_,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:u[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:u[1]})]})]}),!h&&a.jsxs("g",{transform:"translate(".concat(N+ae,", ").concat(_,")"),textAnchor:ie,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},Pe={...T,nameOffsetX:"right",nameOffsetY:"top",transfer:[[],[]],open:!0,secondaryNames:["",""],tram:!1},co=s=>{var h;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:u=>{e.names[0]=u,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:u=>{e.names[1]=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:u=>{e.nameOffsetX=u,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:u=>{e.nameOffsetY=u,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:e.open,onChange:u=>{e.open=u,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameZh"),value:e.secondaryNames[0],onChange:u=>{e.secondaryNames[0]=u,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameEn"),value:e.secondaryNames[1],onChange:u=>{e.secondaryNames[1]=u.toString(),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:u=>{e.tram=u,o(t,e)},minW:"full"}],i=[4,4,0],m=(h=e.transfer)!=null?h:Pe.transfer,d=u=>p=>{const g=structuredClone(m);if(g.length<=u)for(let C=g.length;C<=u;C++)g[C]=[vt];g[u].push(p),e.transfer=g,o(t,e)},r=u=>p=>{if(m.length>u&&m[u].length>p){const g=m.map((C,y)=>y===u?C.filter((b,j)=>j!==p):C);e.transfer=g,o(t,e)}},l=u=>(p,g)=>{if(m.length>u&&m[u].length>p){const C=m.map((y,b)=>b===u?y.map((j,O)=>O===p?[0,1,2,3,4,5,6].map(v=>g[v]===void 0?j[v]:g[v]):j):y);e.transfer=C,o(t,e)}},f=()=>d(m.length)(vt);return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[m.map((u,p)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(p===0?"panel.details.stations.interchange.within":p===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Ma,{interchangeList:u,onAdd:i[p]>u.length?d(p):void 0,onDelete:r(p),onUpdate:l(p)})]},p)),i[m.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:f,children:n("panel.details.stations.interchange.addGroup")})]})})]})},mo=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("g",{transform:"translate(6,12)scale(0.3)",children:a.jsx(ot,{strokeColour:"currentColor",lineNum:"1",stnNum:"09"})}),a.jsx("g",{transform:"translate(18,12)scale(0.3)",children:a.jsx(ot,{strokeColour:"currentColor",lineNum:"2",stnNum:"13"})}),a.jsx("marker",{id:"arrow",markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:a.jsx("polygon",{points:"0,0 0,3 2,1.5"})}),a.jsx("path",{d:"M 6,6 A 8 8 0 0 1 18,6",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"}),a.jsx("path",{d:"M 18,18 A 8 8 0 0 1 6,18",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"})]}),fo={component:ro,icon:mo,defaultAttrs:Pe,attrsComponent:co,metadata:{displayName:"panel.details.stations.gzmtrInt.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};var ho=function(s,t){var e=typeof Symbol=="function"&&s[Symbol.iterator];if(!e)return s;var o=e.call(s),n,c=[],i;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)c.push(n.value)}catch(m){i={error:m}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return c};function pl(s){var t=s.children,e=ho($.useState(Math.random()),2),o=e[0],n=e[1];return a.jsx(kn.Provider,{value:{updateId:o,update:function(){return n(Math.random())}},children:t})}const Aa={en:6.56,zh:13.13},Ot=structuredClone(ee);Ot.top.lineHeight=Aa.en;Ot.bottom.lineHeight=Aa.zh;const uo=.56,Kn=.6,po=s=>{var he,Le,be,xe,Ye,He,Ue;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ce.nameOffsetX,nameOffsetY:l=Ce.nameOffsetY,transfer:f=Ce.transfer,open:h=Ce.open,secondaryNames:u=Ce.secondaryNames,columns:p=Ce.columns,topHeavy:g=Ce.topHeavy,anchorAt:C=Ce.anchorAt,osiPosition:y=Ce.osiPosition}=(he=n[k.GzmtrInt2024])!=null?he:Ce,b=x.useCallback(te=>c(t,te),[t,c]),j=x.useCallback(te=>i(t,te),[t,i]),O=x.useCallback(te=>m(t,te),[t,m]),v=f.flat().slice(0,5),N=v.map(te=>({style:te[6]==="gz"?"gzmtr":"fmetro",lineNum:te[4],stnNum:te[5],strokeColour:te[2]})),[w,_]=x.useState(),[A,M]=x.useState([0,0]),S=x.useRef(null);x.useEffect(()=>{S.current&&(_(S.current.getCorrectedBBox()),M(S.current.getTranslate()))},[S.current,v.length,p,g,C]);const z={x1:((Le=w==null?void 0:w.x)!=null?Le:0)+A[0],y1:((be=w==null?void 0:w.y)!=null?be:0)+A[1],x2:((xe=w==null?void 0:w.x)!=null?xe:0)+((Ye=w==null?void 0:w.width)!=null?Ye:0)+A[0],y2:((He=w==null?void 0:w.y)!=null?He:0)+((Ue=w==null?void 0:w.height)!=null?Ue:0)+A[1]},{update:P}=x.useContext(kn);x.useEffect(()=>{document.fonts.load("12px Arial","ABCDEFG123456").finally(()=>setTimeout(P,100))},[]);const Y=(r==="left"?z.x1:r==="right"?z.x2:0)*Kn,U=d[Ot[l].namesPos].split("\n").length*Ot[l].lineHeight*Ot[l].polarity+(l==="top"?z.y1:l==="bottom"?z.y2:0)*Kn,q=r==="left"?"end":r==="right"?"start":!h&&r==="middle"&&u.join("")===""?"end":"middle",X=x.useRef(null),[se,ae]=x.useState(0);x.useEffect(()=>{var te,je;return ae((je=(te=X.current)==null?void 0:te.getBBox().width)!=null?je:0)},[...u]);const ie=x.useRef(null),[E,H]=x.useState(0);x.useEffect(()=>{var te,je;return H((je=(te=ie.current)==null?void 0:te.getBBox().width)!=null?je:0)},[...d]);const R=(E+(se+12*2)/2)*(r==="left"?-1:1),Z=(E+se+(se!==0?12*2:0))*(r==="left"?-1:r==="right"||se!==0?1:0),ge=r==="middle"?"start":q;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"scale(".concat(uo,")"),children:[a.jsx(Na,{ref:S,stations:N,textClassName:"rmp-name__zh",columns:p,topHeavy:g,anchorAt:C>=0?C:void 0,osiPosition:f.flat().length===2&&p===1&&y!=="none"?y:void 0}),a.jsx("rect",{id:"stn_core_".concat(t),x:z.x1,y:z.y1,width:z.x2-z.x1,height:z.y2-z.y1,fill:"white",fillOpacity:"0",onPointerDown:b,onPointerMove:j,onPointerUp:O,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{ref:ie,transform:"translate(".concat(Y,", ").concat(U,")"),textAnchor:q,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:6.56,lineHeight:6.56,grow:"down",className:"rmp-name__en"})]}),u.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(Y+R,", ").concat(U,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(se+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(se+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:X,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:u[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:u[1]})]})]}),!h&&a.jsxs("g",{transform:"translate(".concat(Y+Z,", ").concat(U,")"),textAnchor:ge,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},Ce={...T,nameOffsetX:"right",nameOffsetY:"top",transfer:[[[B.Guangzhou,"gz1","#F3D03E",W.white,"1","14","gz"],[B.Guangzhou,"gz3","#ECA154",W.white,"3","11","gz"]]],open:!0,secondaryNames:["",""],columns:2,topHeavy:!1,anchorAt:-1,osiPosition:"none"},go=s=>{var h,u;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:p=>{e.names[0]=p,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:p=>{e.names[1]=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:p=>{e.nameOffsetX=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:p=>{e.nameOffsetY=p,o(t,e)},minW:"full"},{type:"slider",label:n("panel.details.stations.gzmtrInt2024.columns"),value:e.columns,min:1,max:Math.min(5,e.transfer.flat().length),step:1,onChange:p=>{e.columns=p,o(t,e)},leftIcon:a.jsx(Xa,{}),rightIcon:a.jsx(Ee,{}),minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt2024.topHeavy"),oneLine:!0,isChecked:e.topHeavy,onChange:p=>{e.topHeavy=p,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.gzmtrInt2024.anchorAt"),value:(h=e.anchorAt)!=null?h:"-1",options:{"-1":n("panel.details.stations.gzmtrInt2024.anchorAtNone"),...Object.fromEntries(Array.from({length:Math.min(e.transfer.flat().length,4)},(p,g)=>[g.toString(),g]))},onChange:p=>{e.anchorAt=Number(p),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.gzmtrInt2024.osiPosition"),value:e.osiPosition,options:{none:n("panel.details.stations.gzmtrInt2024.osiPositionNone"),left:n("panel.details.stations.gzmtrInt2024.osiPositionLeft"),right:n("panel.details.stations.gzmtrInt2024.osiPositionRight")},onChange:p=>{e.osiPosition=p,o(t,e)},hidden:!(e.transfer.flat().length===2&&e.columns===1),minW:"full"},{type:"switch",label:n("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:e.open,onChange:p=>{e.open=p,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameZh"),value:e.secondaryNames[0],onChange:p=>{e.secondaryNames[0]=p,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.gzmtrInt.secondaryNameEn"),value:e.secondaryNames[1],onChange:p=>{e.secondaryNames[1]=p.toString(),o(t,e)},minW:"full"}],i=[5,5,0],m=(u=e.transfer)!=null?u:Ce.transfer,d=p=>g=>{const C=structuredClone(m);if(C.length<=p)for(let y=C.length;y<=p;y++)C[y]=[vt];C[p].push(g),e.transfer=C,o(t,e)},r=p=>g=>{if(m.length>p&&m[p].length>g){const C=m.map((y,b)=>b===p?y.filter((j,O)=>O!==g):y);e.transfer=C,e.anchorAt=-1,o(t,e)}},l=p=>(g,C)=>{if(m.length>p&&m[p].length>g){const y=m.map((b,j)=>j===p?b.map((O,v)=>v===g?[0,1,2,3,4,5,6].map(N=>C[N]===void 0?O[N]:C[N]):O):b);e.transfer=y,o(t,e)}},f=()=>d(m.length)(vt);return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[m.map((p,g)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(g===0?"panel.details.stations.interchange.within":g===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Ma,{interchangeList:p,onAdd:i[g]>p.length?d(g):void 0,onDelete:r(g),onUpdate:l(g)})]},g)),i[m.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:f,children:n("panel.details.stations.interchange.addGroup")})]})})]})},xo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx(Na,{stations:[{strokeColour:"currentColor",lineNum:"3",stnNum:"03"},{strokeColour:"currentColor",lineNum:"7",stnNum:"05"}],textClassName:"rmp-name__zh",columns:1,transform:"translate(12,12)scale(0.3)"})}),Co={component:po,icon:xo,defaultAttrs:Ce,attrsComponent:go,metadata:{displayName:"panel.details.stations.gzmtrInt2024.displayName",cities:[B.Guangzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ne={zh:9,en:6.2,top:6.2+1,middle:0,bottom:10},yo=s=>{var j;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=me.nameOffsetX,nameOffsetY:l=me.nameOffsetY,open:f=me.open}=(j=n[k.BjsubwayBasic])!=null?j:me,h=x.useCallback(O=>c(t,O),[t,c]),u=x.useCallback(O=>i(t,O),[t,i]),p=x.useCallback(O=>m(t,O),[t,m]),g=(O,v)=>O==="left"&&v==="top"?[-4,-(d[1].split("\n").length+(f?0:1))*ne[v]-1]:O==="middle"&&v==="top"?[0,-(d[1].split("\n").length+(f?0:1))*ne[v]-4]:O==="right"&&v==="top"?[4,-(d[1].split("\n").length+(f?0:1))*ne[v]-1]:O==="left"&&v==="bottom"?[-4,d[0].split("\n").length*ne[v]+1]:O==="middle"&&v==="bottom"?[0,d[0].split("\n").length*ne[v]+4]:O==="right"&&v==="bottom"?[4,d[0].split("\n").length*ne[v]+1]:O==="left"&&v==="middle"?[-5,0]:O==="right"&&v==="middle"?[5,0]:[0,0],[C,y]=g(r,l),b=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"4",stroke:"black",strokeWidth:"0.5",strokeDasharray:f?void 0:"1.5",fill:"white",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(C,", ").concat(y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:ne.zh,lineHeight:ne.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),a.jsx(I,{text:d[1].split("\n"),fontSize:ne.en,lineHeight:ne.en,grow:"down",className:"rmp-name__en",baseOffset:1}),!f&&a.jsx("text",{dy:d[1].split("\n").length*ne.en+2,fontSize:ne.en,dominantBaseline:"hanging",className:"rmp-name__zh",children:"(暂缓开通)"})]})]})},me={...T,nameOffsetX:"right",nameOffsetY:"top",open:!0},bo=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:me).names[0],onChange:(s,t)=>{const e=t!=null?t:me;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:me).names[1],onChange:(s,t)=>{const e=t!=null?t:me;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:me).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:me;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:me).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:me;return e.nameOffsetY=s,e}},{type:"switch",label:"panel.details.stations.bjsubwayBasic.open",oneLine:!0,isChecked:s=>(s!=null?s:me).open,onChange:(s,t)=>{const e=t!=null?t:me;return e.open=s,e}}],jo=()=>a.jsx(vn,{fields:bo}),Oo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})}),vo={component:yo,icon:Oo,defaultAttrs:me,attrsComponent:jo,metadata:{displayName:"panel.details.stations.bjsubwayBasic.displayName",cities:[B.Beijing],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},za="M 8.359893 4.159288 C 8.368828 4.168825 8.460953 4.26852 8.57038 4.386985 C 8.679807 4.505449 8.860802 4.701382 8.972592 4.822389 C 9.084381 4.943397 9.238666 5.110407 9.315445 5.193521 C 9.392224 5.276636 9.519867 5.414817 9.599094 5.500589 C 9.678323 5.58636 9.801023 5.719209 9.871761 5.795812 C 9.942499 5.872413 10.000208 5.935256 9.999999 5.935465 C 9.999792 5.935671 9.975513 5.928466 9.946045 5.919453 C 9.916577 5.910439 9.831826 5.88438 9.757708 5.861543 C 9.683591 5.838706 9.532284 5.791997 9.421472 5.757746 C 9.310658 5.723495 9.190374 5.686309 9.154173 5.675113 C 9.11797 5.663918 9.048485 5.642428 8.99976 5.627359 C 8.951035 5.612291 8.910275 5.599729 8.909181 5.599446 C 8.907193 5.59893 8.907193 5.59893 8.907135 5.798288 C 8.907103 5.907935 8.906695 6.128369 8.906229 6.288144 C 8.905446 6.555825 8.905249 6.580968 8.903705 6.608245 C 8.902784 6.624527 8.90139 6.647987 8.900606 6.660379 C 8.899822 6.672773 8.898192 6.695836 8.896983 6.711632 C 8.895774 6.727427 8.893582 6.753074 8.892114 6.768627 C 8.890645 6.784179 8.888061 6.80923 8.88637 6.824296 C 8.884679 6.839362 8.88172 6.864065 8.879793 6.879189 C 8.877868 6.894315 8.874691 6.917777 8.872734 6.931325 C 8.870777 6.944874 8.867386 6.967292 8.865197 6.981143 C 8.863009 6.994995 8.859045 7.018654 8.856388 7.03372 C 8.853731 7.048786 8.849344 7.072617 8.84664 7.086676 C 8.843935 7.100736 8.839338 7.1236 8.836424 7.137486 C 8.833509 7.151371 8.828584 7.174065 8.825479 7.187916 C 8.822371 7.201767 8.817014 7.224831 8.81357 7.239167 C 8.810127 7.253505 8.80431 7.276767 8.800644 7.29086 C 8.796978 7.304955 8.791035 7.327222 8.787437 7.340344 C 8.78384 7.353467 8.77752 7.375735 8.773395 7.389829 C 8.769268 7.403923 8.762319 7.426986 8.757952 7.441081 C 8.753583 7.455174 8.746363 7.47784 8.741903 7.491448 C 8.737446 7.505056 8.729829 7.527523 8.724978 7.541374 C 8.720126 7.555225 8.712182 7.577493 8.707321 7.590858 C 8.702462 7.604224 8.6948 7.624901 8.690294 7.636807 C 8.68579 7.648715 8.677304 7.670452 8.671437 7.685113 C 8.665571 7.699773 8.656536 7.721842 8.651362 7.734155 C 8.646187 7.746468 8.63796 7.765688 8.63308 7.776865 C 8.628201 7.788043 8.620145 7.806136 8.615178 7.817071 C 8.610211 7.828006 8.60083 7.848286 8.594332 7.862138 C 8.587832 7.875988 8.573873 7.904618 8.563307 7.92576 C 8.552743 7.946901 8.537873 7.975929 8.530265 7.990266 C 8.522656 8.004602 8.511053 8.026075 8.504479 8.037983 C 8.497905 8.04989 8.486739 8.069772 8.479666 8.082165 C 8.472593 8.094558 8.460988 8.11444 8.453878 8.126348 C 8.446768 8.138254 8.435438 8.156944 8.428702 8.167879 C 8.421966 8.178814 8.410628 8.196906 8.403507 8.208085 C 8.396386 8.219262 8.384013 8.238349 8.37601 8.2505 C 8.36801 8.26265 8.354345 8.282929 8.345645 8.295566 C 8.336946 8.308201 8.322885 8.328276 8.314397 8.340175 C 8.305909 8.352074 8.292209 8.37096 8.283951 8.382147 C 8.275693 8.393333 8.261178 8.41259 8.251695 8.42494 C 8.242211 8.437289 8.225837 8.458165 8.215304 8.471332 C 8.204773 8.484497 8.189062 8.503819 8.18039 8.514267 C 8.17172 8.524716 8.157459 8.541616 8.148703 8.551823 C 8.139945 8.562029 8.125004 8.579116 8.115499 8.589793 C 8.105992 8.600471 8.091457 8.616575 8.083197 8.625581 C 8.074937 8.634586 8.060843 8.649709 8.05188 8.659185 C 8.042916 8.668662 8.018659 8.69335 7.997974 8.714046 C 7.977291 8.734741 7.953162 8.758432 7.944355 8.766693 C 7.935549 8.774953 7.920821 8.788638 7.911628 8.797104 C 7.902433 8.805571 7.887569 8.819082 7.878597 8.827129 C 7.869623 8.835177 7.853733 8.849096 7.843284 8.858062 C 7.832834 8.867027 7.816133 8.881153 7.806171 8.889453 C 7.796208 8.897753 7.779904 8.911098 7.769942 8.919111 C 7.759978 8.927123 7.743874 8.939848 7.734154 8.947388 C 7.724434 8.954926 7.708329 8.96721 7.698366 8.974683 C 7.688403 8.982156 7.673093 8.993497 7.664346 8.999885 C 7.655598 9.006271 7.637505 9.019163 7.62414 9.02853 C 7.610775 9.037899 7.588109 9.053377 7.573772 9.062926 C 7.559434 9.072475 7.538474 9.086151 7.527194 9.093318 C 7.515913 9.100485 7.497422 9.112045 7.486104 9.119009 C 7.474786 9.125973 7.454846 9.137918 7.441793 9.145553 C 7.428741 9.153188 7.405677 9.166317 7.390542 9.174728 C 7.375406 9.18314 7.352087 9.19579 7.338722 9.20284 C 7.325357 9.209889 7.303686 9.221025 7.290564 9.227587 C 7.277442 9.234147 7.256366 9.2444 7.243731 9.250369 C 7.231095 9.256339 7.211213 9.265569 7.199549 9.27088 C 7.187884 9.27619 7.168797 9.28464 7.157134 9.289659 C 7.145469 9.294676 7.124792 9.303333 7.111184 9.308895 C 7.097576 9.31446 7.075367 9.323255 7.061831 9.328442 C 7.048295 9.333629 7.027816 9.341289 7.016323 9.345462 C 7.00483 9.349636 6.978328 9.358748 6.95743 9.365711 C 6.936532 9.372675 6.906311 9.382359 6.890272 9.38723 C 6.874235 9.392101 6.849581 9.399302 6.835486 9.403231 C 6.821393 9.40716 6.796739 9.413705 6.7807 9.417776 C 6.764662 9.421847 6.740208 9.427785 6.726356 9.430971 C 6.712505 9.434157 6.689641 9.439174 6.675548 9.442118 C 6.661452 9.445063 6.639384 9.449434 6.626504 9.451833 C 6.613625 9.454231 6.591038 9.458187 6.57631 9.460623 C 6.561581 9.463058 6.538518 9.46664 6.525058 9.468584 C 6.511598 9.470528 6.487662 9.473704 6.471867 9.475644 C 6.456071 9.477583 6.433207 9.480169 6.421057 9.481392 C 6.408907 9.482615 6.387236 9.4846 6.372898 9.485805 C 6.358561 9.487008 6.333112 9.488794 6.316345 9.489771 C 6.299578 9.490749 6.276316 9.491956 6.264652 9.492452 C 6.252987 9.492949 6.216803 9.493517 6.18424 9.493716 C 6.151678 9.493916 6.114499 9.493756 6.10162 9.493363 C 6.088739 9.49297 6.06866 9.492202 6.056995 9.491656 C 6.045331 9.491112 6.026046 9.490059 6.014138 9.489319 C 6.002231 9.488579 5.982548 9.487186 5.970398 9.486226 C 5.958248 9.485266 5.939956 9.483668 5.92975 9.482677 C 5.919544 9.481687 5.902445 9.479897 5.891753 9.478702 C 5.881061 9.477505 5.864443 9.475529 5.854823 9.47431 C 5.845204 9.47309 5.827708 9.470707 5.815943 9.469012 C 5.804178 9.467319 5.784412 9.464314 5.77202 9.462336 C 5.759627 9.460358 5.745908 9.458071 5.741535 9.457253 C 5.733583 9.455767 5.733583 9.455767 5.750813 9.451963 C 5.76029 9.449871 5.778183 9.445793 5.790576 9.442902 C 5.802969 9.440009 5.82305 9.435088 5.8352 9.431966 C 5.847351 9.428843 5.867067 9.423503 5.879014 9.420099 C 5.890961 9.416695 5.911639 9.410524 5.924964 9.406386 C 5.938288 9.402248 5.960324 9.395124 5.973932 9.390556 C 5.98754 9.385988 6.008053 9.378835 6.019516 9.374659 C 6.030978 9.370483 6.050462 9.363131 6.062815 9.358321 C 6.075166 9.353508 6.094417 9.34577 6.105595 9.341125 C 6.116774 9.336478 6.135264 9.328524 6.146685 9.323448 C 6.158106 9.318373 6.177591 9.309499 6.189984 9.303728 C 6.202377 9.297957 6.224247 9.287379 6.238585 9.280221 C 6.252921 9.273063 6.273399 9.262563 6.284092 9.256887 C 6.294784 9.251213 6.314865 9.240225 6.328716 9.232468 C 6.342567 9.224712 6.361654 9.213777 6.371131 9.208166 C 6.380608 9.202557 6.396514 9.192982 6.406477 9.18689 C 6.41644 9.180798 6.432345 9.170843 6.441822 9.164769 C 6.4513 9.158695 6.467404 9.14816 6.47761 9.141357 C 6.487816 9.134555 6.50392 9.123611 6.513398 9.117039 C 6.522875 9.110467 6.539177 9.098936 6.549627 9.091415 C 6.560077 9.083895 6.577971 9.070704 6.589391 9.062101 C 6.600812 9.053498 6.618895 9.039583 6.629575 9.031179 C 6.640255 9.022773 6.656757 9.009534 6.666247 9.001758 C 6.675736 8.993981 6.692227 8.980227 6.702893 8.971191 C 6.713559 8.962157 6.730458 8.94742 6.740448 8.938442 C 6.750437 8.929464 6.766562 8.914768 6.776282 8.905784 C 6.786003 8.896801 6.803698 8.880239 6.815604 8.868983 C 6.827512 8.857727 6.843456 8.842402 6.851037 8.834927 C 6.858617 8.827451 6.873728 8.812176 6.884615 8.800982 C 6.895503 8.789788 6.912683 8.77174 6.922792 8.760878 C 6.932902 8.750012 6.949699 8.731606 6.960117 8.719973 C 6.970537 8.70834 6.986147 8.690599 6.994807 8.68055 C 7.003467 8.670501 7.017852 8.65353 7.026772 8.642838 C 7.035693 8.632146 7.053 8.610872 7.065231 8.595562 C 7.077464 8.580254 7.09533 8.557407 7.104936 8.544792 C 7.114541 8.532177 7.129989 8.511499 7.139265 8.498842 C 7.14854 8.486185 7.164221 8.464337 7.174109 8.450293 C 7.183999 8.436249 7.199718 8.413383 7.209044 8.399484 C 7.218369 8.385583 7.232209 8.364666 7.2398 8.353003 C 7.247391 8.341338 7.260236 8.321177 7.268346 8.3082 C 7.276455 8.295223 7.289493 8.27395 7.297318 8.260925 C 7.305143 8.247901 7.317313 8.227304 7.32436 8.215153 C 7.331408 8.203004 7.344023 8.180735 7.352394 8.165669 C 7.360765 8.150602 7.372812 8.128534 7.379167 8.116627 C 7.385522 8.104719 7.396764 8.083248 7.404151 8.06891 C 7.411537 8.054573 7.422352 8.0331 7.428184 8.021194 C 7.434016 8.009287 7.443347 7.990001 7.448918 7.978336 C 7.45449 7.966672 7.463351 7.947784 7.468609 7.936364 C 7.473868 7.924943 7.482234 7.906453 7.4872 7.895274 C 7.492166 7.884096 7.500586 7.86481 7.505909 7.852417 C 7.511233 7.840024 7.519759 7.819808 7.524855 7.807493 C 7.529951 7.795179 7.538242 7.7747 7.543279 7.761986 C 7.548316 7.749271 7.556671 7.727735 7.561847 7.714127 C 7.567022 7.700519 7.57545 7.677853 7.580575 7.663759 C 7.585701 7.649664 7.594637 7.624414 7.600433 7.607646 C 7.60623 7.59088 7.615365 7.563642 7.620735 7.547118 C 7.626104 7.530593 7.634661 7.503554 7.63975 7.48703 C 7.644838 7.470506 7.653173 7.442472 7.658273 7.424733 C 7.663371 7.406994 7.671309 7.378562 7.675913 7.361553 C 7.680518 7.344542 7.688414 7.314123 7.69346 7.293953 C 7.698508 7.273784 7.705483 7.244955 7.708961 7.229889 C 7.712439 7.214823 7.717614 7.19176 7.720461 7.178638 C 7.723308 7.165516 7.728016 7.143247 7.730923 7.129154 C 7.733829 7.115059 7.738621 7.090804 7.74157 7.075251 C 7.74452 7.0597 7.749294 7.033455 7.752179 7.016931 C 7.755066 7.000407 7.759431 6.974154 7.761884 6.958592 C 7.764333 6.94303 7.768123 6.917978 7.770304 6.902922 C 7.772485 6.887866 7.775877 6.86322 7.777843 6.848155 C 7.779809 6.833088 7.783001 6.807043 7.784938 6.790275 C 7.786876 6.773509 7.789651 6.74806 7.791106 6.733722 C 7.792561 6.719385 7.794953 6.693936 7.796421 6.677169 C 7.797888 6.660402 7.800071 6.632964 7.801272 6.616198 C 7.802474 6.599431 7.804076 6.575174 7.804832 6.562295 C 7.80559 6.549416 7.806592 6.532119 7.807061 6.523856 C 7.807529 6.515595 7.80835 6.421553 7.808886 6.314875 C 7.809421 6.208197 7.809724 6.003942 7.80956 5.860975 C 7.809398 5.718009 7.809015 5.600789 7.808712 5.600486 C 7.808408 5.600182 7.68663 5.63752 7.538092 5.68346 C 7.389553 5.7294 7.213946 5.783698 7.147853 5.804122 C 7.08176 5.824546 6.974794 5.857548 6.910151 5.877461 C 6.845508 5.897371 6.776261 5.918652 6.75627 5.924749 C 6.736279 5.930848 6.719744 5.935658 6.719525 5.93544 C 6.719306 5.935221 6.790938 5.857274 6.878708 5.762224 C 6.966477 5.667175 7.110461 5.511271 7.198671 5.415771 C 7.286881 5.320272 7.433807 5.161213 7.525173 5.062309 C 7.616539 4.963404 7.76605 4.801562 7.857421 4.702663 C 7.948792 4.603762 8.093983 4.446596 8.180069 4.353404 C 8.266154 4.260212 8.341831 4.178411 8.34824 4.171626 L 8.359893 4.159288 Z M 3.639928 8.15987 C 3.639606 8.15984 3.567056 8.081517 3.478708 7.985821 C 3.390359 7.890125 3.197014 7.680786 3.049051 7.520623 C 2.901089 7.36046 2.662314 7.101986 2.518441 6.946236 C 2.374568 6.790486 2.198977 6.60038 2.128238 6.523779 C 2.0575 6.447177 1.999793 6.384333 2 6.384126 C 2.000208 6.383919 2.024487 6.391125 2.053954 6.40014 C 2.083422 6.409154 2.157237 6.431839 2.217988 6.450549 C 2.278738 6.469259 2.375968 6.499262 2.434052 6.517222 C 2.492137 6.535182 2.553174 6.55407 2.569692 6.559195 C 2.586209 6.564321 2.709718 6.602509 2.844157 6.644057 C 2.978595 6.685606 3.089538 6.719839 3.090698 6.72013 C 3.092807 6.72066 3.092807 6.72066 3.092866 6.520418 C 3.092898 6.410285 3.093306 6.18985 3.093772 6.030562 C 3.094553 5.763748 3.094752 5.738617 3.096295 5.711344 C 3.097217 5.695064 3.098611 5.671603 3.099395 5.659211 C 3.100178 5.646816 3.101808 5.623754 3.103017 5.607958 C 3.104227 5.592164 3.106418 5.566515 3.107887 5.550963 C 3.109355 5.535411 3.111941 5.51036 3.113633 5.495295 C 3.115324 5.480227 3.118114 5.456767 3.119833 5.443159 C 3.121551 5.429551 3.124544 5.407283 3.126484 5.393674 C 3.128424 5.380066 3.13179 5.357599 3.133963 5.343748 C 3.136135 5.329897 3.139918 5.307034 3.142369 5.292939 C 3.144819 5.278845 3.149205 5.254788 3.152116 5.239479 C 3.155027 5.224168 3.159971 5.199397 3.163101 5.184428 C 3.16623 5.169459 3.171352 5.145801 3.174481 5.131851 C 3.17761 5.117902 3.182986 5.094759 3.18643 5.080422 C 3.189873 5.066085 3.19569 5.042824 3.199356 5.028729 C 3.203022 5.014635 3.208965 4.992367 3.212563 4.979245 C 3.21616 4.966123 3.222479 4.943855 3.226605 4.929761 C 3.230732 4.915667 3.237681 4.892604 3.242049 4.878509 C 3.246417 4.864415 3.253638 4.84175 3.258096 4.828142 C 3.262555 4.814533 3.270171 4.792067 3.275023 4.778216 C 3.279873 4.764364 3.287818 4.742096 3.292678 4.728731 C 3.297538 4.715366 3.3052 4.694689 3.309704 4.682783 C 3.31421 4.670875 3.322696 4.649137 3.328563 4.634478 C 3.33443 4.619817 3.343463 4.597748 3.348639 4.585434 C 3.353813 4.573122 3.36204 4.553902 3.36692 4.542725 C 3.371799 4.531547 3.379856 4.513454 3.384823 4.502518 C 3.389789 4.491583 3.39917 4.471303 3.405668 4.457452 C 3.412167 4.443601 3.426129 4.414971 3.436694 4.39383 C 3.44726 4.372689 3.461914 4.344058 3.469262 4.330207 C 3.476608 4.316357 3.488427 4.294487 3.495524 4.281607 C 3.502622 4.268728 3.514584 4.247454 3.522105 4.234332 C 3.529628 4.22121 3.541034 4.201699 3.547455 4.190976 C 3.553874 4.180251 3.564621 4.162556 3.571336 4.151653 C 3.578052 4.14075 3.589372 4.122683 3.596493 4.111505 C 3.603614 4.100327 3.615987 4.081241 3.623989 4.069091 C 3.631991 4.056941 3.645655 4.036661 3.654354 4.024024 C 3.663054 4.011388 3.677115 3.991314 3.685603 3.979416 C 3.694091 3.967517 3.707792 3.948628 3.716049 3.937443 C 3.724308 3.926256 3.738823 3.906999 3.748305 3.89465 C 3.757787 3.882301 3.774164 3.861424 3.784696 3.848259 C 3.795227 3.835093 3.810939 3.815771 3.81961 3.805323 C 3.828281 3.794872 3.84254 3.777973 3.851297 3.767766 C 3.860054 3.757562 3.874996 3.740475 3.884502 3.729796 C 3.894008 3.719119 3.908543 3.703013 3.916803 3.694009 C 3.925064 3.685003 3.939156 3.669882 3.94812 3.660404 C 3.957083 3.650928 3.981341 3.626241 4.002025 3.605544 C 4.02271 3.584848 4.046838 3.561157 4.055645 3.552897 C 4.064451 3.544637 4.079179 3.530951 4.088373 3.522486 C 4.097566 3.514019 4.11243 3.500508 4.121404 3.49246 C 4.130376 3.484412 4.146267 3.470493 4.156716 3.461528 C 4.167165 3.452562 4.183867 3.438437 4.19383 3.430137 C 4.203792 3.421837 4.220096 3.408491 4.230059 3.400478 C 4.240022 3.392467 4.256126 3.379735 4.265846 3.372187 C 4.275566 3.364638 4.294852 3.349997 4.308703 3.33965 C 4.322554 3.329302 4.342636 3.314602 4.353327 3.306981 C 4.364019 3.299361 4.382311 3.28654 4.393975 3.27849 C 4.405639 3.270441 4.42466 3.257609 4.436245 3.249977 C 4.447829 3.242345 4.465922 3.230637 4.476451 3.223961 C 4.486979 3.217284 4.504342 3.206445 4.515034 3.199872 C 4.525727 3.193299 4.545155 3.181674 4.558207 3.174039 C 4.571259 3.166403 4.594323 3.153273 4.609458 3.14486 C 4.624594 3.13645 4.647913 3.123799 4.661278 3.11675 C 4.674643 3.1097 4.696314 3.098564 4.709436 3.092004 C 4.722558 3.085442 4.74403 3.075004 4.757153 3.068806 C 4.770275 3.062607 4.791488 3.052789 4.804292 3.046986 C 4.817096 3.041182 4.837177 3.03234 4.848916 3.027336 C 4.860656 3.022333 4.879611 3.014428 4.89104 3.009769 C 4.902469 3.00511 4.923146 2.996942 4.93699 2.991619 C 4.950833 2.986296 4.971702 2.978476 4.983366 2.97424 C 4.99503 2.970004 5.021672 2.960841 5.042571 2.953878 C 5.063468 2.946914 5.093689 2.937231 5.109727 2.93236 C 5.125765 2.927489 5.150419 2.920288 5.164514 2.916359 C 5.178607 2.912431 5.203261 2.905885 5.219299 2.901814 C 5.235338 2.897742 5.259793 2.891805 5.273643 2.888619 C 5.287495 2.885432 5.310359 2.880417 5.324453 2.877472 C 5.338548 2.874528 5.360616 2.870155 5.373496 2.867757 C 5.386374 2.865358 5.408962 2.861403 5.42369 2.858968 C 5.438418 2.856532 5.461482 2.85295 5.474941 2.851007 C 5.488403 2.849062 5.512338 2.845885 5.528134 2.843946 C 5.543929 2.842007 5.566793 2.83942 5.578943 2.838198 C 5.591094 2.836976 5.612764 2.83499 5.627101 2.833786 C 5.641439 2.832582 5.666887 2.830797 5.683655 2.829821 C 5.700423 2.828844 5.724281 2.827635 5.736673 2.827131 C 5.749067 2.826628 5.779487 2.825963 5.804273 2.825654 C 5.831717 2.825312 5.864715 2.825499 5.888661 2.826133 C 5.910288 2.826705 5.935936 2.827562 5.945656 2.828037 C 5.955376 2.828513 5.97327 2.829513 5.98542 2.830258 C 5.99757 2.831004 6.017452 2.832401 6.029602 2.833363 C 6.041752 2.834323 6.060044 2.83592 6.07025 2.836912 C 6.080456 2.837903 6.097554 2.839693 6.108246 2.840889 C 6.118938 2.842084 6.135557 2.84406 6.145177 2.84528 C 6.154796 2.846498 6.172292 2.848883 6.184057 2.850577 C 6.195822 2.852271 6.215388 2.855248 6.227539 2.857194 C 6.239688 2.859139 6.253395 2.861429 6.257997 2.862283 C 6.266363 2.863834 6.266363 2.863834 6.249159 2.867633 C 6.239698 2.869721 6.221817 2.873796 6.209424 2.876689 C 6.197031 2.87958 6.17695 2.884501 6.1648 2.887624 C 6.152649 2.890747 6.132933 2.896087 6.120986 2.899491 C 6.109038 2.902895 6.088361 2.909066 6.075037 2.913204 C 6.061712 2.917341 6.039675 2.924465 6.026067 2.929032 C 6.012459 2.933601 5.991946 2.940756 5.980484 2.944931 C 5.969021 2.949106 5.949537 2.95646 5.937186 2.961273 C 5.924834 2.966085 5.905422 2.973896 5.894048 2.978628 C 5.882673 2.983361 5.864182 2.991314 5.852958 2.996302 C 5.841733 3.001288 5.822409 3.010091 5.810017 3.015862 C 5.797623 3.021632 5.775753 3.032209 5.761416 3.039369 C 5.747078 3.046527 5.726601 3.057027 5.715909 3.062701 C 5.705216 3.068377 5.685135 3.079366 5.671284 3.087121 C 5.657433 3.094877 5.638347 3.105814 5.628869 3.111423 C 5.619392 3.117034 5.603487 3.126609 5.593524 3.1327 C 5.58356 3.138793 5.567655 3.148746 5.558177 3.15482 C 5.5487 3.160895 5.532596 3.171429 5.522389 3.178233 C 5.512184 3.185035 5.496079 3.195978 5.486602 3.202551 C 5.477125 3.209123 5.460822 3.220655 5.450372 3.228179 C 5.439923 3.235703 5.423421 3.247832 5.413702 3.255136 C 5.403981 3.262436 5.386883 3.27556 5.375705 3.284297 C 5.364527 3.293035 5.346831 3.307168 5.336382 3.315704 C 5.325933 3.32424 5.308455 3.338784 5.297544 3.348024 C 5.286631 3.357265 5.269532 3.372169 5.259547 3.381148 C 5.249561 3.390125 5.233438 3.404821 5.223718 3.413807 C 5.213998 3.422791 5.196302 3.439351 5.184396 3.450605 C 5.172488 3.461862 5.156544 3.477188 5.148963 3.484664 C 5.141382 3.492139 5.126272 3.507414 5.115385 3.518608 C 5.104497 3.529801 5.087317 3.547848 5.077208 3.558713 C 5.067098 3.569577 5.050301 3.587983 5.039882 3.599617 C 5.029463 3.61125 5.013853 3.62899 5.005193 3.639039 C 4.996532 3.649089 4.982148 3.666059 4.973228 3.676752 C 4.964307 3.687445 4.947 3.708717 4.934769 3.724027 C 4.922537 3.739336 4.90467 3.762184 4.895064 3.774798 C 4.885458 3.787414 4.870011 3.808089 4.860735 3.820748 C 4.85146 3.833405 4.835779 3.855252 4.825891 3.869297 C 4.816002 3.883342 4.800281 3.906206 4.790956 3.920107 C 4.781631 3.934007 4.767791 3.954923 4.760201 3.966587 C 4.75261 3.978251 4.739764 3.998412 4.731654 4.01139 C 4.723545 4.024366 4.710507 4.04564 4.702682 4.058664 C 4.694856 4.071689 4.682687 4.092286 4.67564 4.104437 C 4.668592 4.116586 4.655977 4.138854 4.647606 4.15392 C 4.639235 4.168986 4.627187 4.191055 4.620833 4.202963 C 4.614478 4.214869 4.603237 4.236342 4.59585 4.250679 C 4.588463 4.265017 4.577648 4.286489 4.571816 4.298396 C 4.565984 4.310304 4.556654 4.329589 4.551082 4.341253 C 4.54551 4.352918 4.536649 4.371806 4.53139 4.383226 C 4.526132 4.394647 4.517766 4.413137 4.512801 4.424315 C 4.507834 4.435493 4.499414 4.45478 4.494091 4.467174 C 4.488767 4.479566 4.480241 4.499781 4.475145 4.512096 C 4.470048 4.524411 4.461758 4.544889 4.456721 4.557603 C 4.451684 4.570319 4.443329 4.591855 4.438153 4.605463 C 4.432978 4.619071 4.42455 4.641737 4.419425 4.65583 C 4.414299 4.669925 4.405364 4.695175 4.399567 4.711941 C 4.393771 4.72871 4.384635 4.755947 4.379265 4.772473 C 4.373896 4.788996 4.365339 4.816035 4.36025 4.83256 C 4.355162 4.849085 4.346827 4.877117 4.341728 4.894857 C 4.336629 4.912596 4.328691 4.941027 4.324087 4.958037 C 4.319483 4.975048 4.311586 5.005467 4.30654 5.025636 C 4.301492 5.045806 4.294517 5.074635 4.291039 5.0897 C 4.287562 5.104767 4.282386 5.12783 4.279539 5.140952 C 4.276692 5.154074 4.271984 5.176342 4.269077 5.190436 C 4.266171 5.20453 4.261379 5.228786 4.25843 5.244339 C 4.25548 5.259891 4.250707 5.286135 4.24782 5.302659 C 4.244935 5.319183 4.240569 5.345436 4.238118 5.360997 C 4.235666 5.37656 4.231877 5.40161 4.229696 5.416667 C 4.227515 5.431724 4.224122 5.456368 4.222157 5.471435 C 4.220191 5.486501 4.216998 5.512547 4.215061 5.529314 C 4.213124 5.546082 4.210349 5.571529 4.208893 5.585867 C 4.207439 5.600204 4.205048 5.625653 4.20358 5.642421 C 4.202112 5.659187 4.199928 5.686625 4.198727 5.703393 C 4.197526 5.720159 4.195924 5.744415 4.195167 5.757294 C 4.194409 5.770174 4.193407 5.787471 4.192938 5.795733 C 4.192471 5.803995 4.19165 5.898036 4.191115 6.004715 C 4.19058 6.111393 4.190277 6.315648 4.190439 6.458614 C 4.190602 6.601581 4.190984 6.718802 4.191288 6.719105 C 4.191591 6.719408 4.313371 6.682069 4.461908 6.636129 C 4.610447 6.590189 4.786054 6.535892 4.852147 6.515468 C 4.91824 6.495043 5.025205 6.462041 5.089849 6.442131 C 5.154491 6.422219 5.223739 6.400939 5.243729 6.39484 C 5.263721 6.388742 5.280256 6.383932 5.280475 6.38415 C 5.280694 6.384369 5.209062 6.462315 5.121291 6.557364 C 5.033521 6.652413 4.889537 6.808317 4.801327 6.903816 C 4.713117 6.999316 4.56619 7.158374 4.474826 7.25728 C 4.383461 7.356185 4.23395 7.518026 4.14258 7.616927 C 4.051209 7.715828 3.906015 7.872994 3.819926 7.966186 C 3.733837 8.059378 3.658251 8.141094 3.651957 8.147776 C 3.645663 8.154458 3.64025 8.159901 3.639928 8.15987 Z",_o=s=>{var j;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=fe.nameOffsetX,nameOffsetY:l=fe.nameOffsetY,outOfStation:f=fe.outOfStation}=(j=n[k.BjsubwayInt])!=null?j:fe,h=x.useCallback(O=>c(t,O),[t,c]),u=x.useCallback(O=>i(t,O),[t,i]),p=x.useCallback(O=>m(t,O),[t,m]),g=(O,v)=>O==="left"&&v==="top"?[-5,-d[1].split("\n").length*ne[v]-4]:O==="middle"&&v==="top"?[0,-d[1].split("\n").length*ne[v]-7]:O==="right"&&v==="top"?[5,-d[1].split("\n").length*ne[v]-4]:O==="left"&&v==="bottom"?[-5,d[0].split("\n").length*ne[v]+4]:O==="middle"&&v==="bottom"?[0,d[0].split("\n").length*ne[v]+7]:O==="right"&&v==="bottom"?[5,d[0].split("\n").length*ne[v]+4]:O==="left"&&v==="middle"?[-8,0]:O==="right"&&v==="middle"?[8,0]:[0,0],[C,y]=g(r,l),b=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e-6,", ").concat(o-6,")"),children:[a.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),a.jsx("path",{d:za,fill:f?"#898989":"black",stroke:f?"#898989":"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("circle",{id:"stn_core_".concat(t),cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",strokeOpacity:"0",fill:"white",fillOpacity:"0",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},className:"removeMe"})]}),a.jsxs("g",{transform:"translate(".concat(e+C,", ").concat(o+y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:ne.zh,lineHeight:ne.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),a.jsx(I,{text:d[1].split("\n"),fontSize:ne.en,lineHeight:ne.en,grow:"down",className:"rmp-name__en",baseOffset:1})]})]})},fe={...T,nameOffsetX:"right",nameOffsetY:"top",outOfStation:!1},wo=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:fe).names[0],onChange:(s,t)=>{const e=t!=null?t:fe;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:fe).names[1],onChange:(s,t)=>{const e=t!=null?t:fe;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:fe).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:fe;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:fe).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:fe;return e.nameOffsetY=s,e}},{type:"switch",label:"panel.details.stations.bjsubwayInt.outOfStation",oneLine:!0,isChecked:s=>(s!=null?s:fe).outOfStation,onChange:(s,t)=>{const e=t!=null?t:fe;return e.outOfStation=s,e}}],So=()=>a.jsx(vn,{fields:wo}),No=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(6, 6)",children:[a.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),a.jsx("path",{d:za,stroke:"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"})]})}),ko={component:_o,icon:No,defaultAttrs:fe,attrsComponent:So,metadata:{displayName:"panel.details.stations.bjsubwayInt.displayName",cities:[B.Beijing],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}};function Mo(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(f=>f.runtime),{t:m}=D(),[d,r]=x.useState();x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4],t[d][5]]),r(void 0))},[i==null?void 0:i.toString()]);const l=t.map((f,h)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:f[4],minW:"80px",onChange:u=>n==null?void 0:n(h,[f[0],f[1],f[2],f[3],u,f[5]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:f[5],minW:"80px",onChange:u=>n==null?void 0:n(h,[f[0],f[1],f[2],f[3],f[4],u])}]);return a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e([B.Shanghai,"","#aaaaaa",W.white,"",""]),icon:a.jsx(Ee,{})})]}),t.map((f,h)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(h),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:h!==0,children:a.jsx(Ht,{theme:[f[0],f[1],f[2],f[3]],onClick:()=>{r(h),c(Ut([f[0],f[1],f[2],f[3]]))}})}),a.jsx(L,{fields:l[h],noLabel:h!==0}),e&&h===l.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>e==null?void 0:e(t.slice(-1)[0]),icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(h),icon:a.jsx(_t,{})})]},h))]})}const qt=s=>{var C;const{stationType:t,defaultAttrs:e,maximumTransfers:o}=s,{t:n}=D(),c=it(),i=x.useCallback(()=>{c(Ct()),c(yt(r.current.export()))},[c,Ct,yt]),{selected:m}=lt(y=>y.runtime),[d]=m,r=x.useRef(window.graph),l=d&&r.current.hasNode(d)&&r.current.getNodeAttribute(d,"type")===t?r.current.getNodeAttribute(d,t):e,f=(C=l.transfer)!=null?C:e.transfer,h=y=>b=>{const j=structuredClone(f);if(j.length<=y)for(let O=j.length;O<=y;O++)j[O]=[];j[y].push(b),l.transfer=j,r.current.mergeNodeAttributes(d,{[t]:l}),i()},u=y=>b=>{if(f.length>y&&f[y].length>b){const j=f.map((O,v)=>v===y?O.filter((N,w)=>w!==b):O);l.transfer=j,r.current.mergeNodeAttributes(d,{[t]:l}),i()}},p=y=>(b,j)=>{if(f.length>y&&f[y].length>b){const O=f.map((v,N)=>N===y?v.map((w,_)=>_===b?[0,1,2,3,4,5].map(A=>j[A]===void 0?w[A]:j[A]):w):v);l.transfer=O,r.current.mergeNodeAttributes(d,{[t]:l}),i()}},g=()=>h(l.transfer.length)([B.Guangzhou,"","#AAAAAA",W.white,"",""]);return a.jsxs(et,{align:"flex-start",children:[l.transfer.map((y,b)=>a.jsxs(x.Fragment,{children:[a.jsx(Ft,{size:"xs",children:n(b===0?"panel.details.stations.interchange.within":b===1?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),a.jsx(Mo,{interchangeList:y,onAdd:o[b]>y.length?h(b):void 0,onDelete:u(b),onUpdate:p(b)})]},b)),o[l.transfer.length]>0&&a.jsx(ue,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:a.jsx(Ee,{}),onClick:g,children:n("panel.details.stations.interchange.addGroup")})]})},pt=5,Kt=5,Ao={top:7.5+1,middle:0,bottom:11},zo=(s,t=pt,e=[])=>{const o=Math.sqrt(s*s-t*t/4),n=e.length<2?e.length+1:e.length;let c="M -5,0 A ".concat(s,",").concat(s,",0,0,1,").concat(-t/2,",-").concat(o," ");for(let i=0;i=0;i=i-1)c+="A ".concat(s,",").concat(s,",0,0,1,").concat(i*t-t/2,",").concat(o," ");return c+="A ".concat(s,",").concat(s,",0,0,1,-5,0 Z"),c},Bo=s=>{var M;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=re.nameOffsetX,nameOffsetY:l=re.nameOffsetY,transfer:f=re.transfer,rotate:h=re.rotate}=(M=n[k.MTR])!=null?M:re,u=x.useCallback(S=>c(t,S),[t,c]),p=x.useCallback(S=>i(t,S),[t,i]),g=x.useCallback(S=>m(t,S),[t,m]),C=f.at(0),y=zo(Kt,pt,C),b=C.length===0?0:C.length<=2?1:C.length-1,j=Math.cos(h*Math.PI/180)*b*Kt,O=Math.sin(h*Math.PI/180)*b*Kt,v=r==="left"?-8:r==="right"?8:0,N=Math.sign(j)===Math.sign(v)?j+v:v,w=(d[ee[l].namesPos].split("\n").length*Ao[l]+6)*ee[l].polarity,_=Math.sign(O)===Math.sign(w)?O+w:w,A=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("path",{transform:"rotate(".concat(h,")"),d:y,stroke:"#001f50",strokeWidth:"1.5",fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),f.at(0).length>1&&f.at(0).map(S=>S[2]).map((S,z)=>a.jsx("line",{transform:"rotate(".concat(h,")"),x1:-5/2+z*pt,x2:pt/2+z*pt,stroke:S,strokeWidth:"2"},"".concat(z,"_").concat(S))),a.jsx("path",{id:"stn_core_".concat(t),transform:"rotate(".concat(h,")"),d:y,fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(N,", ").concat(_,")"),textAnchor:A,className:"rmp-name-outline",strokeWidth:"1.25",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:7.5,lineHeight:7.5,grow:"down",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__en"})]})]}),[t,e,o,...d,h,JSON.stringify(f),r,l,u,p,g])},re={names:["車站","Stn"],nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[]]},Io=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:s=>(s!=null?s:re).names[0],onChange:(s,t)=>{const e=t!=null?t:re;return e.names[0]=s.toString(),e}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:s=>(s!=null?s:re).names[1],onChange:(s,t)=>{const e=t!=null?t:re;return e.names[1]=s.toString(),e}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:s=>(s!=null?s:re).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:s=>(s==null?void 0:s.nameOffsetY)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:re;return e.nameOffsetX=s,e}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:s=>(s!=null?s:re).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:s=>(s==null?void 0:s.nameOffsetX)==="middle"?["middle"]:[],onChange:(s,t)=>{const e=t!=null?t:re;return e.nameOffsetY=s,e}},{type:"select",label:"panel.details.stations.common.rotate",value:s=>{var t;return(t=s==null?void 0:s.rotate)!=null?t:re.rotate},hidden:s=>{var t,e,o;return((o=(e=(t=s==null?void 0:s.transfer)==null?void 0:t.flat())==null?void 0:e.length)!=null?o:0)===0},options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:(s,t)=>{const e=t!=null?t:re;return e.rotate=Number(s),e}},{type:"custom",label:"panel.details.stations.interchange.title",component:a.jsx(qt,{stationType:k.MTR,defaultAttrs:re,maximumTransfers:[99,0,0]})}],Po=()=>a.jsx(vn,{fields:Io}),To=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),$o={component:Bo,icon:To,defaultAttrs:re,attrsComponent:Po,metadata:{displayName:"panel.details.stations.mtr.displayName",cities:[B.Hongkong],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},wt=x.forwardRef((s,t)=>{const{text:e,lineWidth:o,grow:n,dominantBaseline:c=n==="left"?"hanging":n==="right"?"auto":"central",baseOffset:i=2,baseDY:m=0,...d}=s,r=n==="bidirectional"?-((e.length-1)*o)/2:0;return a.jsx("g",{ref:t,children:[...e].reverse().map((l,f,h)=>a.jsx("text",{x:(f*o+i)*(n==="left"?-1:1)+r,dy:(f-(h.length-1)/2)*m,writingMode:"vertical-rl",dominantBaseline:c,...d,children:l},"".concat(l).concat(f)))})});wt.displayName="MultilineTextVertical";const le={zh:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},en={top:{lineHeight:5,offset:1+le.en.baseOffset+2.5,polarity:-1},middle:{lineHeight:0,offset:le.zh.size/2,polarity:1},bottom:{lineHeight:10,offset:0+le.zh.baseOffset+2.5,polarity:1}},Eo=s=>{var N;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=Me.color,nameOffsetX:l=Me.nameOffsetX,nameOffsetY:f=Me.nameOffsetY,textVertical:h=Me.textVertical}=(N=n[k.SuzhouRTBasic])!=null?N:Me,u=x.useCallback(w=>c(t,w),[t,c]),p=x.useCallback(w=>i(t,w),[t,i]),g=x.useCallback(w=>m(t,w),[t,m]),C=l==="left"?-5:l==="right"?5:0,y=(d[ee[f].namesPos].split("\n").length*en[f].lineHeight+en[f].offset)*en[f].polarity,b=l==="left"?"end":l==="right"?"start":"middle",j=f==="top"?-2.5-2:2.5+2,O=f==="top"?"end":"start",v=d[0].split("\n").length*le.zh.size/2+le.en.baseOffset;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:3,stroke:r[2],strokeWidth:"1",fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),h?a.jsxs(a.Fragment,{children:[a.jsx("g",{transform:"translate(-1, ".concat(j,")"),textAnchor:O,children:a.jsx(wt,{text:d[0].split("\n"),fontSize:le.zh.size,lineWidth:le.zh.size,grow:"bidirectional",baseOffset:le.zh.baseOffset,dominantBaseline:"central",className:"rmp-name__zh"})}),a.jsx("g",{transform:"translate(".concat(v,", ").concat(j,")rotate(90)"),textAnchor:O,children:a.jsx(I,{text:d[1].split("\n"),fontSize:le.en.size,lineHeight:le.en.size,grow:"up",baseOffset:le.en.baseOffset,className:"rmp-name__en",dominantBaseline:"central",fill:"gray"})})]}):a.jsxs("g",{transform:"translate(".concat(C,", ").concat(y,")"),textAnchor:b,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:le.zh.size,lineHeight:le.zh.size,grow:"up",baseOffset:le.zh.baseOffset,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:le.en.size,lineHeight:le.en.size,grow:"down",baseOffset:le.en.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},Me={...T,color:[B.Suzhou,"sz1","#78BA25",W.white],nameOffsetX:"right",nameOffsetY:"top",textVertical:!1},Ro=s=>{var i,m,d;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:r=>{e.names[0]=r,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:r=>{e.names[1]=r,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(i=e.nameOffsetX)!=null?i:Me.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:r=>{e.nameOffsetX=r,e.nameOffsetX!=="middle"&&(e.textVertical=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(m=e.nameOffsetY)!=null?m:Me.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:r=>{e.nameOffsetY=r,e.nameOffsetY==="middle"&&(e.textVertical=!1),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.suzhouRTBasic.textVertical"),isChecked:(d=e.textVertical)!=null?d:Me.textVertical,isDisabled:e.nameOffsetY==="middle"||e.nameOffsetX!=="middle",onChange:r=>{e.textVertical=r,o(t,e)},oneLine:!0,minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.SuzhouRTBasic,defaultTheme:Me.color})}];return a.jsx(L,{fields:c})},Wo=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",fill:"none"})}),Do={component:Eo,icon:Wo,defaultAttrs:Me,attrsComponent:Ro,metadata:{displayName:"panel.details.stations.suzhouRTBasic.displayName",cities:[B.Suzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},dt=6,we={zh:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},tn={top:{lineHeight:we.en.size,offset:0+we.en.baseOffset+3,polarity:-1},middle:{lineHeight:0,offset:we.zh.size/2,polarity:1},bottom:{lineHeight:we.zh.size,offset:0+we.zh.baseOffset+3,polarity:1}},Xo=s=>{var w,_;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ae.nameOffsetX,nameOffsetY:l=Ae.nameOffsetY,rotate:f=Ae.rotate,transfer:h=Ae.transfer}=(w=n[k.SuzhouRTInt])!=null?w:Ae,u=x.useCallback(A=>c(t,A),[t,c]),p=x.useCallback(A=>i(t,A),[t,i]),g=x.useCallback(A=>m(t,A),[t,m]),C=(dt-1)*h.at(0).length+1,y=Math.abs(Math.cos(f*Math.PI/180)*C),b=Math.abs(Math.sin(f*Math.PI/180)*C),j=r==="left"?-1:r==="right"?1:0,O=(y/2+5)*j,v=(d[ee[l].namesPos].split("\n").length*tn[l].lineHeight+tn[l].offset+(l==="middle"?0:b/2))*tn[l].polarity,N=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"rotate(".concat(f,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[a.jsx("rect",{x:-C/2,y:-6/2,width:C,height:dt,ry:dt/2,stroke:"#616161",strokeWidth:"1",fill:"white"}),((_=h.at(0))!=null?_:[]).length>0&&h.at(0).map(A=>A[2]).map((A,M)=>a.jsx("circle",{r:2,cx:-C/2+3+M*5,fill:A},"".concat(M,"_").concat(A))),a.jsx("rect",{id:"stn_core_".concat(t),x:-C/2-.5,y:-6/2-.5,width:C+1,height:dt+1,ry:dt/2,fill:"white",opacity:"0"})]}),a.jsxs("g",{transform:"translate(".concat(O,", ").concat(v,")"),textAnchor:N,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:we.zh.size,lineHeight:we.zh.size,grow:"up",baseOffset:we.zh.baseOffset,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:we.en.size,lineHeight:we.en.size,grow:"down",baseOffset:we.en.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},Ae={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[B.Suzhou,"sz1","#78BA25",W.white,"",""],[B.Suzhou,"sz2","#ED3240",W.white,"",""]]]},Lo=s=>{var i,m,d,r,l,f;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:h=>{e.names[0]=h,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:h=>{e.names[1]=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(i=e.nameOffsetX)!=null?i:Ae.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:h=>{e.nameOffsetX=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(m=e.nameOffsetY)!=null?m:Ae.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:h=>{e.nameOffsetY=h,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:(d=e.rotate)!=null?d:Ae.rotate,hidden:((f=(l=(r=e==null?void 0:e.transfer)==null?void 0:r.flat())==null?void 0:l.length)!=null?f:0)===0,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:h=>{e.rotate=Number(h),o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.SuzhouRTInt,defaultAttrs:Ae,maximumTransfers:[99,0,0]})}];return a.jsx(L,{fields:c})},Yo=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",ry:"3",stroke:"currentColor",fill:"none"}),a.jsx("circle",{r:"2",cx:"9.5",cy:"12",fill:"currentColor"}),a.jsx("circle",{r:"2",cx:"14.5",cy:"12",fill:"currentColor"})]}),Ho={component:Xo,icon:Yo,defaultAttrs:Ae,attrsComponent:Lo,metadata:{displayName:"panel.details.stations.suzhouRTInt.displayName",cities:[B.Suzhou],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},ea={top:{lineHeight:6.67,offset:3.5+1.5+5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1+5}},Uo=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=nt.nameOffsetX,nameOffsetY:l=nt.nameOffsetY,color:f=nt.color}=(b=n[k.KunmingRTBasic])!=null?b:nt,h=x.useCallback(j=>c(t,j),[t,c]),u=x.useCallback(j=>i(t,j),[t,i]),p=x.useCallback(j=>m(t,j),[t,m]),g=r==="left"?-13.33:r==="right"?13.33:0,C=(d[ee[l].namesPos].split("\n").length*ea[l].lineHeight+ea[l].offset)*ee[l].polarity,y=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"5",stroke:f[2],strokeWidth:"1.33",fill:"white"}),a.jsxs("g",{transform:"translate(".concat(g,", ").concat(C,")"),textAnchor:y,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p])},nt={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Kunming,"km1","#ea3222",W.white]},Fo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.KunmingRTBasic,defaultTheme:nt.color})}];return a.jsx(L,{fields:c})},Vo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{r:"5",cx:"12",cy:"12",stroke:"currentColor",strokeWidth:"1.33",fill:"none"})}),Go={component:Uo,icon:Vo,defaultAttrs:nt,attrsComponent:Fo,metadata:{displayName:"panel.details.stations.kunmingRTBasic.displayName",cities:[B.Kunming],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},[Pt,ta]=[15,9],na={top:{lineHeight:6.67,offset:3.5+1.5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:-.17+1}},Zo=s=>{var w,_,A,M,S;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Qe.nameOffsetX,nameOffsetY:l=Qe.nameOffsetY,rotate:f=Qe.rotate,transfer:h=Qe.transfer}=(w=n[k.KunmingRTInt])!=null?w:Qe,u=x.useCallback(z=>c(t,z),[t,c]),p=x.useCallback(z=>i(t,z),[t,i]),g=x.useCallback(z=>m(t,z),[t,m]),C=f===0||f===180?Pt:f===90||f===270?ta:Pt*Math.SQRT1_2,y=f===0||f===180?ta:f===90||f===270?Pt:Pt*Math.SQRT1_2,b=r==="left"?-6.83:r==="right"?6.83:0,j=(Math.abs(b)+C/2)*Math.sign(b),O=(d[ee[l].namesPos].split("\n").length*na[l].lineHeight+na[l].offset)*ee[l].polarity,v=(Math.abs(O)+y/2)*Math.sign(O),N=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(f,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:h.at(0).length<=2?a.jsxs("g",{transform:"translate(-7.5,-4.5)",children:[a.jsx("rect",{id:"stn_core_".concat(t),height:"9",width:"15",ry:"4",stroke:"#393332",strokeWidth:"1",fill:"white"}),a.jsx("path",{fill:(A=(_=h.at(0).at(0))==null?void 0:_.at(2))!=null?A:"#ea3222",fillRule:"evenodd",stroke:"none",d:"M 3.833333 6.375 C 2.820813 6.375 2 5.535532 2 4.5 C 2 3.464468 2.820813 2.625 3.833333 2.625 L 4.444445 2.625 L 4.444445 2 L 6.888889 2.9375 L 4.444445 3.875 L 4.444445 3.25 L 3.833333 3.25 C 3.158321 3.25 2.611111 3.809647 2.611111 4.5 C 2.611111 5.190353 3.158321 5.75 3.833333 5.75 L 7.5 5.75 L 7.5 6.375 L 3.833333 6.375 Z"}),a.jsx("path",{fill:(S=(M=h.at(0).at(1))==null?void 0:M.at(2))!=null?S:"#03619e",fillRule:"evenodd",stroke:"none",d:"M 11.166667 2.625 C 12.179187 2.625 13 3.464468 13 4.5 C 13 5.535532 12.179187 6.375 11.166667 6.375 L 10.555555 6.375 L 10.555555 7 L 8.111111 6.0625 L 10.555555 5.125 L 10.555555 5.75 L 11.166667 5.75 C 11.841679 5.75 12.388889 5.190353 12.388889 4.5 C 12.388889 3.809647 11.841679 3.25 11.166667 3.25 L 7.5 3.25 L 7.5 2.625 L 11.166667 2.625 Z"})]}):a.jsxs("g",{transform:"translate(-8.5,-8.5)",children:[a.jsx("circle",{id:"stn_core_".concat(t),r:"8.5",cx:"8.5",cy:"8.5",stroke:"#000000",strokeWidth:"1",fill:"white"}),a.jsx("path",{fill:h.at(0).at(0).at(2),fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),a.jsx("path",{fill:h.at(0).at(1).at(2),fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),a.jsx("path",{fill:h.at(0).at(2).at(2),fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),a.jsxs("g",{transform:"translate(".concat(e+j,", ").concat(o+v,")"),textAnchor:N,className:"rmp-name-outline",strokeWidth:"2.5",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},Qe={...T,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[B.Kunming,"km1","#ea3222",W.white,"",""],[B.Kunming,"km2","#03619e",W.white,"",""],[B.Kunming,"km3","#a13187",W.white,"",""]]]},qo=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:i=>{e.rotate=Number(i),o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.KunmingRTInt,defaultAttrs:Qe,maximumTransfers:[3,0,0]})}];return a.jsx(L,{fields:c})},Qo=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsxs("g",{transform:"translate(3.5, 3.5)",children:[a.jsx("circle",{r:"8.5",cx:"8.5",cy:"8.5",stroke:"currentColor",strokeWidth:"1",fill:"none"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),a.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),Jo={component:Zo,icon:Qo,defaultAttrs:Qe,attrsComponent:qo,metadata:{displayName:"panel.details.stations.kunmingRTInt.displayName",cities:[B.Kunming],canvas:[V.RailMap],categories:[G.Metro],tags:["interchange"]}},aa=5.2,Lt=8.2628,yn=0,sa={top:{offset:Lt+yn,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:Lt+yn,polarity:1}},Ko=s=>{var _;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Te.nameOffsetX,nameOffsetY:l=Te.nameOffsetY,color:f=Te.color,lineCode:h=Te.lineCode,stationCode:u=Te.stationCode,isTram:p=Te.isTram}=(_=n[k.MRTBasic])!=null?_:Te,g=x.useCallback(A=>c(t,A),[t,c]),C=x.useCallback(A=>i(t,A),[t,i]),y=x.useCallback(A=>m(t,A),[t,m]),b=22.85,j=12.935,O=r==="left"?-1:r==="right"?1:0,v=(b/2+5)*O,N=sa[l].offset*sa[l].polarity,w=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,") ").concat(p?"scale(0.81)":""),children:[a.jsxs("g",{onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"},children:[a.jsx("rect",{x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:b,height:j,fill:f[2],stroke:"white",strokeWidth:"1"}),a.jsx("text",{fontSize:aa,dx:"-4",dy:"0.5",className:"rmp-name__mrt",fill:f[3],textAnchor:"middle",dominantBaseline:"middle",children:h}),a.jsx("text",{fontSize:aa,dx:"4",dy:"0.5",className:"rmp-name__mrt",fill:f[3],textAnchor:"middle",dominantBaseline:"middle",children:u}),a.jsx("rect",{id:"stn_core_".concat(t),x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:b,height:j,fill:"white",opacity:"0"})]}),a.jsx("g",{transform:"translate(".concat(v,", ").concat(N,")"),textAnchor:w,children:a.jsx(I,{text:d[0].split("\n"),fontSize:Lt,lineHeight:Lt,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:yn,className:"rmp-name__mrt"})})]}),[t,e,o,...d,r,l,f,h,u,p,g,C,y])},Te={names:["Marina South Pier"],nameOffsetX:"right",nameOffsetY:"top",lineCode:"NS",stationCode:"28",isTram:!1,color:[B.Singapore,"nsl","#DA291C",W.white]},ei=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.MRTBasic.isTram"),isChecked:e.isTram,onChange:i=>{e.isTram=i,o(t,e)},minW:"full",oneLine:!0},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.MRTBasic,defaultTheme:Te.color})}];return a.jsx(L,{fields:c})},ti=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6",y:"8.6035",rx:"1.575",ry:"3.151",width:"12",height:"6.793",fill:"currentColor"}),a.jsx("text",{fontSize:"3.5",dx:"10",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NS"}),a.jsx("text",{fontSize:"3.5",dx:"15",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"28"})]}),ni={component:Ko,icon:ti,defaultAttrs:Te,attrsComponent:ei,metadata:{displayName:"panel.details.stations.MRTBasic.displayName",cities:[B.Singapore],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},oa=6.9,Yt=8.2628,ia=2.5,la={top:{offset:Yt+ia,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:Yt+ia,polarity:1}},ai=s=>{var w;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=at.nameOffsetX,nameOffsetY:l=at.nameOffsetY,transfer:f=at.transfer}=(w=n[k.MRTInt])!=null?w:at,h=x.useCallback(_=>c(t,_),[t,c]),u=x.useCallback(_=>i(t,_),[t,i]),p=x.useCallback(_=>m(t,_),[t,m]),g=f.at(0),C=(g.length-2)*29.625+57.8,y=16.77,b=[];for(let _=1;_a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:f.map(_=>({info:_,width:(_.length-2)*29.625+57.8})).map(({info:_,width:A},M)=>a.jsxs(x.Fragment,{children:[a.jsx("rect",{x:-A/2,y:-16.77/2,rx:"4.5",ry:"8",width:A,height:y,fill:"url(#".concat(t,"_grad_").concat(M,")"),stroke:"white",strokeWidth:"1"}),a.jsx("linearGradient",{id:"".concat(t,"_grad_").concat(M),y1:"0%",y2:"0%",x1:"0%",x2:"100%",children:_.map((S,z)=>a.jsxs(x.Fragment,{children:[a.jsx("stop",{offset:"".concat(100/_.length*z,"%"),stopColor:S[2]}),a.jsx("stop",{offset:"".concat(100/_.length*(z+1),"%"),stopColor:S[2]})]},S[2]))}),b.map(S=>a.jsx("line",{x1:S/_.length*A-A/2,x2:S/_.length*A-A/2,y1:-16.77/2,y2:y/2,stroke:"white",strokeWidth:"1"},S)),_.map((S,z,P)=>a.jsxs(x.Fragment,{children:[a.jsx("text",{fontSize:oa,dx:(S[5]!==""?-5:-2)+A/P.length/2*(z*2+1)-A/2+1,dy:"0.5",className:"rmp-name__mrt",fill:S[3],textAnchor:"middle",dominantBaseline:"middle",children:S[4]}),a.jsx("text",{fontSize:oa,dx:5+A/P.length/2*(z*2+1)-A/2+1,dy:"0.5",className:"rmp-name__mrt",fill:S[3],textAnchor:"middle",dominantBaseline:"middle",children:S[5]})]},S[2])),a.jsx("rect",{id:"stn_core_".concat(t),x:-A/2,y:-16.77/2,rx:"4.5",ry:"8",width:A,height:y,fill:"white",opacity:"0"})]},_.map(S=>S[2]).join("_")))}),a.jsx("g",{transform:"translate(".concat(O,", ").concat(v,")"),textAnchor:N,children:a.jsx(I,{text:d[0].split("\n"),fontSize:Yt,lineHeight:Yt,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]}),[t,e,o,...d,r,l,JSON.stringify(f),h,u,p])},at={names:["Chinatown"],nameOffsetX:"right",nameOffsetY:"top",transfer:[[[B.Singapore,"nel","#9B26B6",W.white,"NE","4"],[B.Singapore,"dtl","#0057B7",W.white,"DT","19"]]]},si=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("panel.details.stations.interchange.title"),component:a.jsx(qt,{stationType:k.MRTInt,defaultAttrs:at,maximumTransfers:[1/0,0,0]})}];return a.jsx(L,{fields:c})},oi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"2",y:"9.0985",rx:"1.038",ry:"2.076",width:"20",height:"5.803",fill:"currentColor"}),a.jsx("text",{fontSize:"3",dx:"5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NE"}),a.jsx("text",{fontSize:"3",dx:"9.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"4"}),a.jsx("text",{fontSize:"3",dx:"14.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"DT"}),a.jsx("text",{fontSize:"3",dx:"19",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"19"})]}),ii={component:ai,icon:oi,defaultAttrs:at,attrsComponent:si,metadata:{displayName:"panel.details.stations.MRTInt.displayName",cities:[B.Singapore],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Q={ja:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},de=5,li=s=>{var rt;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Be.nameOffsetX,nameOffsetY:l=Be.nameOffsetY,rotate:f=Be.rotate,textOneLine:h=Be.textOneLine,textVertical:u=Be.textVertical,important:p=Be.important,lines:g=Be.lines}=(rt=n[k.JREastBasic])!=null?rt:Be,C=x.useCallback(ce=>c(t,ce),[t,c]),y=x.useCallback(ce=>i(t,ce),[t,i]),b=x.useCallback(ce=>m(t,ce),[t,m]),j=(Math.max(...g)-Math.min(...g)+1)*de,O=(Math.min(...g)-.5)*de,v=Math.abs(Math.cos(f*Math.PI/180))*de*Math.min(...g)-de/2-1,N=Math.abs(Math.cos(f*Math.PI/180))*de*Math.max(...g)+de/2+1,w=Math.abs(Math.sin(f*Math.PI/180))*de*Math.min(...g)-de/2,_=Math.abs(Math.sin(f*Math.PI/180))*de*Math.max(...g)+de/2,A=r==="left"?v:r==="right"?N:0,M=d[0].split("\n").length*(l==="middle"?0:Q.ja.size),S=(l==="middle"?0:l==="top"?2:1)+Q.ja.baseOffset,z=(M+S)*ee[l].polarity+(l==="middle"?0:l==="top"?w:_),P=r==="left"?"end":r==="right"?"start":"middle",Y={ja:l==="top"?"down":l==="bottom"?"up":"bidirectional",en:l==="top"||h?"up":"down"},U={ja:Q.ja.baseOffset,en:(l==="middle"?h?-d[0].split("\n").length*Q.ja.size/2-1:d[0].split("\n").length*Q.ja.size/2:0)+(p&&!h?2:0)+Q.en.baseOffset},q=x.useRef(null),[X,se]=x.useState({width:0});x.useEffect(()=>se(q.current.getBBox()),[d[0],u,se,q]);const ae=(u?.2:.7)*Q.ja.size,ie={left:-ae/2,middle:0,right:ae/2}[r],E={top:-2,middle:0,bottom:2}[l],H=f%90!==0&&r!=="middle"?(r==="left"?v:N)*Math.SQRT2:0,R=(p&&r!=="middle"?ie:0)+H,Z={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[f],ge=Z*Q.ja.size,he=h?(Math.abs(R)+X.width+1+(p?ae:0))*(r==="left"?-1:1):f%90!==0&&r!=="middle"?d[0].split("\n").length/2*Z*Q.ja.size+(r==="left"?-1:1)*Q.ja.size:0,Le=(p?2:0)*ee[l].polarity,be=X.width,xe=X.height,Ye={left:-(be+ae)+H,middle:-(be+ae)/2,right:H}[r],He={top:-2-U.ja,middle:-xe/2,bottom:-xe+3+U.ja}[l],Ue={top:-xe+3-U.ja,middle:0,bottom:-3+U.ja}[l],te=(l==="top"?w-Q.en.baseOffset:_+Q.en.baseOffset)+((p?ae:0)+(f%90!==0?Q.ja.size/2:0))*ee[l].polarity,je={ja:l==="top"?"end":"start",en:l==="top"?"start":"end"},tt={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[f],St=tt*Q.ja.size,Nt=d[0].split("\n").length*Q.ja.size/2+Q.en.baseOffset,kt=(p?1:0)*ee[l].polarity*-1,Mt=(d[0].split("\n").length-0)/2*(l==="top"?-1:1)*tt*Q.ja.size+(p?2:0)*ee[l].polarity*-1;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"rotate(".concat(f,")"),children:g.map((ce,At)=>a.jsx("circle",{cx:de*ce,cy:"0",r:"1.5",stroke:"black",strokeWidth:"0.2",fill:"white"},"stn_core_".concat(t,"_").concat(At)))}),u?a.jsxs(a.Fragment,{children:[a.jsxs("g",{transform:"translate(0, ".concat(te,")"),textAnchor:je.ja,children:[p&&a.jsx("rect",{x:-(be-8)/2,y:Ue,width:be-8,height:xe,rx:(be-8)/2,fill:"black"}),a.jsx(wt,{ref:q,text:d[0].split("\n"),fontSize:Q.ja.size,lineWidth:Q.ja.size,grow:"bidirectional",baseOffset:0,baseDY:St,y:p?2.75*ee[l].polarity:0,className:"rmp-name__jreast_ja",fill:p?"white":"black"})]}),a.jsx("g",{transform:"translate(".concat(kt,", ").concat(te+Mt,")rotate(270)"),textAnchor:je.en,children:a.jsx(I,{text:d[1].split("\n"),fontSize:Q.en.size,lineHeight:Q.en.size,grow:l==="top"?"down":"up",baseOffset:Nt,funcDX:ce=>ce*de*Math.SQRT1_2*tt*(l==="top"?-1:1),className:"rmp-name__jreast_en"})})]}):a.jsxs("g",{transform:"translate(".concat(A,", ").concat(z,")"),textAnchor:P,children:[p&&a.jsx("rect",{x:Ye,y:He+1.75,width:X.width+ae,height:xe-3.5,ry:(xe-3.5)/2,fill:"black"}),a.jsx(I,{ref:q,x:R,y:p&&l!=="middle"?E:0,text:d[0].split("\n"),fontSize:Q.ja.size,lineHeight:Q.ja.size,grow:Y.ja,baseOffset:U.ja,funcDX:ce=>(ce-(d[0].split("\n").length-1)/2)*ge,className:"rmp-name__jreast_ja",fill:p?"white":"black"}),a.jsx(I,{text:d[1].split("\n"),x:he,y:Le,fontSize:Q.en.size,lineHeight:Q.en.size,grow:Y.en,baseOffset:U.en,funcDX:ce=>ce*de*Math.SQRT1_2*Z,className:"rmp-name__jreast_en"})]}),a.jsx("g",{transform:"rotate(".concat(f,")"),children:a.jsx("rect",{id:"stn_core_".concat(t),fill:"url(#opaque)",fillOpacity:"50%",x:O,y:-5/2,rx:de/2,width:j,height:de,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})})]})},Be={names:["新宿","Shinjuku"],nameOffsetX:"right",nameOffsetY:"middle",rotate:0,textOneLine:!1,textVertical:!1,important:!1,lines:[-1,0,1]},ri=s=>{var r;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:l=>{e.names[0]=l.toString(),e.names[0].length>1&&(e.textOneLine=!1,e.important=!1),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:l=>{e.names[1]=l.toString(),e.names[1].length>1&&(e.textOneLine=!1,e.important=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.jrEastBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:n("panel.details.stations.common.left"),right:n("panel.details.stations.common.right"),top:n("panel.details.stations.common.top"),bottom:n("panel.details.stations.common.bottom")},onChange:l=>{l==="left"||l==="right"?(e.nameOffsetX=l,e.nameOffsetY="middle",e.textVertical=!1):(e.nameOffsetX="middle",e.nameOffsetY=l,e.textOneLine=!1),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:l=>{e.rotate=Number(l),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.textOneLine"),isChecked:e.textOneLine,isDisabled:e.nameOffsetY!=="middle"||e.names.some(l=>l.split("\n").length>1),onChange:l=>{e.textOneLine=l,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:l=>{e.textVertical=l,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastBasic.important"),isChecked:(r=e.important)!=null?r:!1,isDisabled:e.names.some(l=>l.split("\n").length>1),onChange:l=>{e.important=l,o(t,e)},oneLine:!0,minW:"full"}],i=l=>{const f=l==="-"?-1:Number(l);Number.isNaN(f)||(e.lines.push(f),o(t,e))},m=(l,f)=>{if((l===""||l==="-")&&e.lines.length>1)e.lines.splice(f,1);else{const h=Number(l);if(Number.isNaN(h))return;e.lines[f]=h}o(t,e)},d=l=>{l.key==="Backspace"&&e.lines.length>1&&(e.lines.pop(),o(t,e))};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.jrEastBasic.lines"),children:a.jsxs(Dt,{flexWrap:"wrap",flexDirection:"row",pt:"1",children:[e.lines.map((l,f)=>a.jsx(In,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:l,onChange:h=>m(h,f),children:a.jsx(Pn,{})},f)),a.jsx(In,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:"",onChange:l=>i(l),onKeyDown:l=>d(l),children:a.jsx(Pn,{})})]})})]})},ci=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("circle",{cx:"6",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),a.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),a.jsx("circle",{cx:"18",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})]}),di={component:li,icon:ci,defaultAttrs:Be,attrsComponent:ri,metadata:{displayName:"panel.details.stations.jrEastBasic.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.NationalRail],tags:[]}},Ve={ja:{size:10,baseOffset:1},en:{size:5,baseOffset:1.5}},ra=1,mi=s=>{var P;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ze.nameOffsetX,nameOffsetY:l=Ze.nameOffsetY,textVertical:f=Ze.textVertical,mostImportant:h=Ze.mostImportant,minLength:u=Ze.minLength}=(P=n[k.JREastImportant])!=null?P:Ze,p=x.useCallback(Y=>c(t,Y),[t,c]),g=x.useCallback(Y=>i(t,Y),[t,i]),C=x.useCallback(Y=>m(t,Y),[t,m]),y=x.useRef(null),[b,j]=x.useState({height:0,width:0});x.useEffect(()=>j(y.current.getBBox()),[d[0],f,j,y]);const O=Math.max(b.width,b.height),v=(f?.1:.7)*Ve.ja.size,N=Math.max(O+v,u),w=f?Ve.ja.size+ra:N,_=f?N-5:Ve.ja.size+ra,A={left:-w/2-1,middle:0,right:w/2+1}[r],M={top:-_/2-1,middle:0,bottom:_/2+1}[l],S={left:"end",middle:"middle",right:"start"}[r],z=h?1.5:1;return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsxs("g",{transform:"scale(".concat(z,")"),children:[a.jsx("rect",{fill:"black",x:-w/2,y:-_/2,rx:f?void 0:_/2,ry:f?w/2:void 0,width:w,height:_}),f?a.jsx("text",{ref:y,className:"rmp-name__jreast_ja",textAnchor:"middle",writingMode:"vertical-rl",fontSize:Ve.ja.size,fill:"white",dominantBaseline:"central",children:d[0]}):a.jsx("text",{ref:y,y:"-1",className:"rmp-name__jreast_ja",textAnchor:"middle",fontSize:Ve.ja.size,fill:"white",dominantBaseline:"central",children:d[0]}),a.jsx("rect",{id:"stn_core_".concat(t),fill:"black",fillOpacity:"0",x:-w/2,y:-_/2,rx:f?void 0:w/2,ry:f?_/2:void 0,width:w,height:_,onPointerDown:p,onPointerMove:g,onPointerUp:C,style:{cursor:"move"},className:"removeMe"})]}),a.jsx("g",{transform:"translate(".concat(A*z,", ").concat(M*z,")"),textAnchor:S,children:a.jsx(I,{text:d[1].split("\n"),fontSize:Ve.en.size,lineHeight:Ve.en.size,grow:l==="top"?"up":l==="middle"?"bidirectional":"down",baseOffset:0,className:"rmp-name__jreast_en"})})]})},Ze={names:["東京","Tōkyō"],nameOffsetX:"left",nameOffsetY:"middle",textVertical:!1,mostImportant:!1,minLength:0},fi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"input",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastImportant.textVertical"),isChecked:e.textVertical,onChange:i=>{e.textVertical=i,o(t,e)},oneLine:!0,minW:"full"},{type:"switch",label:n("panel.details.stations.jrEastImportant.mostImportant"),isChecked:e.mostImportant,onChange:i=>{e.mostImportant=i,o(t,e)},oneLine:!0,minW:"full"},{type:"input",label:n("panel.details.stations.jrEastImportant.minLength"),value:e.minLength.toString(),onChange:i=>{Number.isNaN(i)?e.minLength=0:e.minLength=Number(i),o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},hi=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("rect",{x:"3",y:"7.5",rx:"4.5",width:"18",height:"9",stroke:"currentColor",fill:"currentColor"}),a.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"6",fill:"white",children:"東京"}),a.jsx("text",{x:"12",y:"20.25",textAnchor:"middle",dominantBaseline:"middle",fontSize:"3",children:"Tōkyō"})]}),ui={component:mi,icon:hi,defaultAttrs:Ze,attrsComponent:fi,metadata:{displayName:"panel.details.stations.jrEastImportant.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.NationalRail],tags:[]}},pi=s=>{var ie,E,H;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=_e.nameOffsetX,nameOffsetY:l=_e.nameOffsetY,color:f=_e.color,lineCode:h=_e.lineCode,stationCode:u=_e.stationCode,open:p=_e.open,secondaryNames:g=_e.secondaryNames,tram:C=_e.tram}=(ie=n[k.FoshanMetroBasic])!=null?ie:_e,y=x.useCallback(R=>c(t,R),[t,c]),b=x.useCallback(R=>i(t,R),[t,i]),j=x.useCallback(R=>m(t,R),[t,m]),O=x.useRef(null);(H=(E=O.current)==null?void 0:E.querySelector("path"))==null||H.setAttribute("id","stn_core_".concat(t));const v={en:C?5.08:6.56,zh:C?7.29:13.13},N={top:{namesPos:1,lineHeight:v.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:v.zh,polarity:1}},w=C?11:15,_=r==="left"?-w:r==="right"?w:0,A=C?8:10,M=(d[N[l].namesPos].split("\n").length*N[l].lineHeight+A)*N[l].polarity,S=r==="left"?"end":r==="right"?"start":!p&&r==="middle"&&g.join("")===""?"end":"middle",z=x.useRef(null),[P,Y]=x.useState(0);x.useEffect(()=>{var R,Z;return Y((Z=(R=z.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...g]);const U=x.useRef(null),[q,X]=x.useState(0);x.useEffect(()=>{var R,Z;return X((Z=(R=U.current)==null?void 0:R.getBBox().width)!=null?Z:0)},[...d]);const se=r==="middle"?q/2+(P+12*2)/2:(q+(P+12*2)/2)*(r==="left"?-1:1),ae=r==="middle"&&g.join("")!==""?q/2+(P+12*2):(q+P+(P!==0?12*2:0))*(r==="left"?-1:r==="right"?1:0);return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("g",{transform:"scale(".concat(.57915*(C?.729:1),")"),onPointerDown:y,onPointerMove:b,onPointerUp:j,style:{cursor:"move"},ref:O,children:a.jsx(Zt,{id:"stn_core_".concat(t),strokeColour:f[2],lineNum:h===""?void 0:h,stnNum:u===""?void 0:u,textClassName:"rmp-name__zh"})}),a.jsxs("g",{ref:U,transform:"translate(".concat(_,", ").concat(M,")"),textAnchor:S,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:v.zh,lineHeight:v.zh,grow:"up",className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:v.en,lineHeight:v.en,grow:"down",className:"rmp-name__en"})]}),g.join("")!==""&&a.jsxs("g",{transform:"translate(".concat(_+se,", ").concat(M,")"),textAnchor:"middle",children:[a.jsx("text",{fontSize:"13.13",dx:-(P+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),a.jsx("text",{fontSize:"13.13",dx:(P+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),a.jsxs("g",{ref:z,children:[a.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:g[0]}),a.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:g[1]})]})]}),!p&&a.jsxs("g",{transform:"translate(".concat(_+ae,", ").concat(M,")"),textAnchor:r==="middle"?"start":S,children:[a.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),a.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},_e={...T,nameOffsetX:"right",nameOffsetY:"top",color:[B.Foshan,"fs1","#C4D600",W.black],lineCode:"GF",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},gi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i,o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.FoshanMetroBasic,defaultTheme:_e.color})},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.foshanMetroBasic.open"),oneLine:!0,isChecked:e.open,onChange:i=>{e.open=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.foshanMetroBasic.secondaryNameZh"),value:e.secondaryNames[0],onChange:i=>{e.secondaryNames[0]=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.foshanMetroBasic.secondaryNameEn"),value:e.secondaryNames[1],onChange:i=>{e.secondaryNames[1]=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.foshanMetroBasic.tram"),oneLine:!0,isChecked:e.tram,onChange:i=>{e.tram=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},xi=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("g",{transform:"translate(12,12)scale(0.45)",children:a.jsx(Zt,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),Ci={component:pi,icon:xi,defaultAttrs:_e,attrsComponent:gi,metadata:{displayName:"panel.details.stations.foshanMetroBasic.displayName",cities:[B.Foshan],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},We={top:3.75,middle:0,bottom:8},yi=s=>{var v;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,color:r=Se.color,nameOffsetX:l=Se.nameOffsetX,nameOffsetY:f=Se.nameOffsetY,isInt:h=Se.isInt}=(v=n[k.QingdaoMetroStation])!=null?v:Se,u=x.useCallback(N=>c(t,N),[t,c]),p=x.useCallback(N=>i(t,N),[t,i]),g=x.useCallback(N=>m(t,N),[t,m]),C=(N,w)=>{const _=N==="left"?-6:N==="right"?6:0;return w==="top"?[_,-d[1].split("\n").length*We[w]-5.5]:w==="bottom"?[_,d[0].split("\n").length*We[w]+4]:[_,2]},y=(N,w)=>N==="left"&&w==="top"?[-6,-d[1].split("\n").length*We[w]-6]:N==="middle"&&w==="top"?[0,-d[1].split("\n").length*We[w]-10]:N==="right"&&w==="top"?[6,-d[1].split("\n").length*We[w]-6]:N==="left"&&w==="bottom"?[-6,d[0].split("\n").length*We[w]+6]:N==="middle"&&w==="bottom"?[0,d[0].split("\n").length*We[w]+7]:N==="right"&&w==="bottom"?[6,d[0].split("\n").length*We[w]+6]:N==="left"&&w==="middle"?[-8,2]:N==="right"&&w==="middle"?[8,2]:[0,0],[b,j]=h?y(l,f):C(l,f),O=l==="left"?"end":l==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{id:"stn_core_".concat(t),r:h?6:2.7,stroke:h?"black":r[2],strokeWidth:h?1.5:.2,fill:"white",onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"}}),a.jsxs("g",{transform:"translate(".concat(b,", ").concat(j,")"),textAnchor:O,children:[a.jsx(I,{text:d[0].split("\n"),fontSize:8,lineHeight:8,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),fontSize:3.75,lineHeight:3.75,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},Se={...T,color:[B.Qingdao,"qd1","#f7b000",W.white],nameOffsetX:"right",nameOffsetY:"top",isInt:!1},bi=s=>{var i,m,d,r;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:(i=e.names[0])!=null?i:Se.names[0],onChange:l=>{e.names[0]=l.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:(m=e.names[1])!=null?m:Se.names[1],onChange:l=>{e.names[1]=l.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:(d=e.nameOffsetX)!=null?d:Se.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:l=>{e.nameOffsetX=l,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:(r=e.nameOffsetY)!=null?r:Se.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:l=>{e.nameOffsetY=l,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.QingdaoMetroStation,defaultTheme:Se.color}),minW:"full"},{type:"switch",label:n("panel.details.stations.qingdaoMetro.isInt"),isChecked:e.isInt,oneLine:!0,onChange:l=>{e.isInt=l,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},ji=a.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",strokeWidth:"0.6",fill:"none"})}),Oi={component:yi,icon:ji,defaultAttrs:Se,attrsComponent:bi,metadata:{displayName:"panel.details.stations.qingdaoMetro.displayName",cities:[B.Qingdao],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},bn=s=>{const{lineCode:t,stationCode:e,color:o,stroke:n}=s,[c,i,m]=[10,15,.8];return a.jsxs(a.Fragment,{children:[n&&a.jsx("rect",{x:-c/2-m,y:-i/2-m,width:c+2*m,height:i+2*m,rx:2.5,strokeWidth:m,stroke:"white",fill:"white"}),a.jsx("rect",{x:-c/2,y:-i/2,width:c,height:i,rx:2,strokeWidth:1.5,stroke:o[2],fill:"white"}),a.jsx("text",{x:0,y:t.length===1?-.75:-1.5,textAnchor:"middle",className:"rmp-name__tokyo_en",fontSize:t.length===1?7:4.5,fill:"black",children:t}),a.jsx("text",{x:e.length===1?0:-.4/e.length,y:5.5,textAnchor:"middle",className:"rmp-name__en",fontSize:7,fontWeight:"bold",letterSpacing:"-0.4",fill:"black",children:e})]})},vi=s=>{var A;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=$e.nameOffsetX,nameOffsetY:l=$e.nameOffsetY,textVertical:f=$e.textVertical,lineCode:h=$e.lineCode,stationCode:u=$e.stationCode,color:p=$e.color}=(A=n[k.TokyoMetroBasic])!=null?A:$e,g=x.useCallback(M=>c(t,M),[t,c]),C=x.useCallback(M=>i(t,M),[t,i]),y=x.useCallback(M=>m(t,M),[t,m]),[b,j]=x.useState(0);x.useEffect(()=>{let M=0;d[0].split("\n").forEach(S=>{M=Math.max(M,S.length)}),j(M)},[d[0]]);const O=r==="left"?-7:r==="right"?7:0,v=r==="left"?-12:r==="right"?12:0,N=l==="bottom"?20:l==="top"?-9:5.5,w=l==="bottom"?9+b*5:l==="top"?-9-b*5:-5,_=r==="left"?"end":r==="right"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx(bn,{lineCode:h,stationCode:u,color:p}),a.jsx("rect",{id:"stn_core_".concat(t),x:-5.8,y:-8.2,width:11.6,height:16.4,rx:2.5,opacity:0,onPointerDown:g,onPointerMove:C,onPointerUp:y,style:{cursor:"move"}}),a.jsx("g",{textAnchor:_,className:"rmp-name-outline",strokeWidth:"1",children:f?a.jsx("g",{transform:"translate(".concat(v,", ").concat(w,")"),textAnchor:_,children:a.jsx(wt,{text:d[0].split("\n"),fontSize:10,lineWidth:10,grow:"bidirectional",baseOffset:0,baseDY:0,className:"rmp-name__jreast_ja",fill:"black"})}):a.jsx("g",{transform:"translate(".concat(O,", ").concat(N,")"),textAnchor:_,children:a.jsx(I,{text:d[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",funcDX:M=>(M-(d[0].split("\n").length-1)/2)*10,className:"rmp-name__jreast_ja",fill:"black"})})})]})},$e={names:["京橋"],nameOffsetX:"right",nameOffsetY:"middle",textVertical:!1,lineCode:"G",stationCode:"10",color:[B.Tokyo,"g","#f9a328",W.white]},_i=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameJa"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.tokyoMetroBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:n("panel.details.stations.common.left"),right:n("panel.details.stations.common.right"),top:n("panel.details.stations.common.top"),bottom:n("panel.details.stations.common.bottom")},onChange:i=>{i==="left"||i==="right"?(e.nameOffsetX=i,e.nameOffsetY="middle",e.textVertical=!1):(e.nameOffsetX="middle",e.nameOffsetY=i),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:i=>{e.textVertical=i,o(t,e)},oneLine:!0,minW:"full"},{type:"input",label:n("panel.details.stations.common.lineCode"),value:e.lineCode,onChange:i=>{e.lineCode=i,o(t,e)},minW:"full"},{type:"input",label:n("panel.details.stations.common.stationCode"),value:e.stationCode,onChange:i=>{e.stationCode=i,o(t,e)},minW:"full"},{type:"custom",label:n("color"),component:a.jsx(Re,{type:k.TokyoMetroBasic,defaultTheme:$e.color}),minW:"full"}];return a.jsx(L,{fields:c})},wi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"6.5",y:"4.5",rx:"1.5",width:"10",height:"15",stroke:"currentColor",fill:"none"}),a.jsx("text",{x:"9",y:"11",fontSize:"7",fill:"currentColor",children:"G"}),a.jsx("text",{x:"7.75",y:"18",fontSize:"7",letterSpacing:"-0.8",fill:"currentColor",children:"10"})]}),Si={component:vi,icon:wi,defaultAttrs:$e,attrsComponent:_i,metadata:{displayName:"panel.details.stations.tokyoMetroBasic.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Ni=s=>{var ie;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Ie.nameOffsetX,nameOffsetY:l=Ie.nameOffsetY,textVertical:f=Ie.textVertical,interchanges:h=Ie.interchanges,align:u=Ie.align,importance:p=Ie.importance,mereOffset:g=Ie.mereOffset}=(ie=n[k.TokyoMetroInt])!=null?ie:Ie,C=x.useCallback(E=>c(t,E),[t,c]),y=x.useCallback(E=>i(t,E),[t,i]),b=x.useCallback(E=>m(t,E),[t,m]),[j,O]=x.useState(0);x.useEffect(()=>{let E=0;d[0].split("\n").forEach(H=>{E=Math.max(E,H.length)}),O(E)},[d[0]]);const v=13,N=18,w=u==="horizontal"?h.length*v:0,_=u==="vertical"?h.length*N:0,S=r==="left"?-(u==="horizontal"?4:10)-w/2:r==="right"?(u==="horizontal"?2:9)+w/2:g==="left2"?-5:g==="right2"?5:0,z=()=>{const E=u==="vertical"?1:10,H=u==="vertical"?3:12,R=u==="vertical"?1:13,Z=u==="vertical"?3:12,ge=g==="left1"?-4:g==="left2"?-10:g==="right1"?4:g==="right2"?10:0,he=g==="up"?3:g==="down"?10:0;return{fontSize:10,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?E+_/2:l==="top"?-H-_/2:-7.5+he,textYVer:l==="bottom"?Z+_/2+j*5:l==="top"?-R-_/2-j*5:-5}},P=()=>{const E=u==="vertical"?1:10,H=u==="vertical"?3:13,R=u==="vertical"?4:13,Z=u==="vertical"?3:13,ge=g==="left1"?-8:g==="left2"?-13:g==="right1"?8:g==="right2"?13:0,he=g==="up"?4:g==="down"?12:0;return{fontSize:15,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?E+_/2:l==="top"?-H-_/2:-10+he,textYVer:l==="bottom"?Z+_/2+j*7.5:l==="top"?-R-_/2-j*7.5:-5}},Y=()=>{const E=u==="vertical"?1:13,H=u==="vertical"?3:10,R=u==="vertical"?5:13,Z=u==="vertical"?4:13,ge=g==="left1"?-10:g==="left2"?-16:g==="right1"?10:g==="right2"?16:0,he=g==="up"?6:g==="down"?15:0;return{fontSize:20,textXVer:(r==="left"?-12:r==="right"?12:-2)+ge,textY:l==="bottom"?H+_/2:l==="top"?-E-_/2:-13+he,textYVer:l==="bottom"?Z+_/2+j*10:l==="top"?-R-_/2-j*10:-5}},{fontSize:U,textXVer:q,textY:X,textYVer:se}=p==="default"?z():p==="high"?Y():P(),ae=r==="left"||g==="left1"||g==="left2"?"end":r==="right"||g==="right1"||g==="right2"?"start":"middle";return a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[u==="horizontal"?a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:-(w+3)/2,y:-10.5,width:w+3,height:21,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),h.map((E,H)=>a.jsx("g",{transform:"translate(".concat(H*v-(w-v)/2,", 0)"),children:a.jsx(bn,{lineCode:E.lineCode,stationCode:E.stationCode,color:E.color,stroke:!0})},H)),a.jsx("rect",{id:"stn_core_".concat(t),x:-(w+3)/2,y:-10.5,width:w+3,height:21,rx:3,opacity:0,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})]}):a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:-8,y:-(_+3)/2,width:16,height:_+3,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),h.map((E,H)=>a.jsx("g",{transform:"translate(0, ".concat(H*N-(_-N)/2,")"),children:a.jsx(bn,{lineCode:E.lineCode,stationCode:E.stationCode,color:E.color,stroke:!0})},H)),a.jsx("rect",{id:"stn_core_".concat(t),x:-8,y:-(_+3)/2,width:16,height:_+3,rx:3,opacity:0,onPointerDown:C,onPointerMove:y,onPointerUp:b,style:{cursor:"move"}})]}),a.jsx("g",{textAnchor:ae,className:"rmp-name-outline",strokeWidth:"1",children:f?a.jsx("g",{transform:"translate(".concat(q,", ").concat(se,")"),textAnchor:"middle",children:a.jsx(wt,{text:d[0].split("\n"),fontSize:U,lineWidth:U,grow:"bidirectional",className:"rmp-name__jreast_ja",fill:"black",fontWeight:p!=="default"?"bold":"normal"})}):a.jsx("g",{transform:"translate(".concat(S,", ").concat(X,")"),textAnchor:ae,children:a.jsx(I,{text:d[0].split("\n"),fontSize:U,lineHeight:U,grow:l==="top"||g==="up"?"up":"down",className:"rmp-name__jreast_ja",fill:"black",fontWeight:p!=="default"?"bold":"normal"})})})]})},Ie={names:["日本橋"],nameOffsetX:"right",nameOffsetY:"middle",mereOffset:"none",textVertical:!1,interchanges:[{lineCode:"G",stationCode:"11",color:[B.Tokyo,"g","#f9a328",W.white]},{lineCode:"T",stationCode:"10",color:[B.Tokyo,"t","#00a4db",W.white]},{lineCode:"A",stationCode:"13",color:[B.Tokyo,"a","#dd4231",W.white]}],align:"horizontal",importance:"default"},ca={lineCode:"",stationCode:"",color:[B.Tokyo,"","#AAAAAA",W.white]},ki=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,n=it(),{paletteAppClip:{output:c}}=lt(p=>p.runtime),{t:i}=D(),m=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:e.names[0],onChange:p=>{e.names[0]=p.toString(),o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroBasic.nameOffset"),value:e.nameOffsetX!=="middle"?e.nameOffsetX:e.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:p=>{p==="left"||p==="right"?(e.nameOffsetX=p,e.nameOffsetY="middle",e.textVertical=!1,(e.mereOffset==="left1"||e.mereOffset==="left2"||e.mereOffset==="right1"||e.mereOffset==="right2")&&(e.mereOffset="none")):(e.nameOffsetX="middle",e.nameOffsetY=p,(e.mereOffset==="up"||e.mereOffset==="down")&&(e.mereOffset="none")),o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.mereOffset.displayName"),value:e.mereOffset,options:{none:i("panel.details.stations.tokyoMetroInt.mereOffset.none"),...e.nameOffsetX==="middle"?{left1:i("panel.details.stations.tokyoMetroInt.mereOffset.left1"),left2:i("panel.details.stations.tokyoMetroInt.mereOffset.left2"),right1:i("panel.details.stations.tokyoMetroInt.mereOffset.right1"),right2:i("panel.details.stations.tokyoMetroInt.mereOffset.right2")}:{up:i("panel.details.stations.tokyoMetroInt.mereOffset.up"),down:i("panel.details.stations.tokyoMetroInt.mereOffset.down")}},onChange:p=>{e.mereOffset=p,o(t,e)},minW:"full"},{type:"switch",label:i("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:e.textVertical,isDisabled:e.nameOffsetX!=="middle",onChange:p=>{e.textVertical=p,o(t,e)},oneLine:!0,minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.importance.displayName"),value:e.importance,options:{default:i("panel.details.stations.tokyoMetroInt.importance.default"),middle:i("panel.details.stations.tokyoMetroInt.importance.middle"),high:i("panel.details.stations.tokyoMetroInt.importance.high")},onChange:p=>{e.importance=p,o(t,e)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroInt.align.displayName"),value:e.align,options:{horizontal:i("panel.details.stations.tokyoMetroInt.align.horizontal"),vertical:i("panel.details.stations.tokyoMetroInt.align.vertical")},onChange:p=>{e.align=p,o(t,e)},minW:"full"}],[d,r]=x.useState(void 0);x.useEffect(()=>{d!==void 0&&c&&(e.interchanges[d].color=c,o(t,e),r(void 0))},[c==null?void 0:c.toString()]);const l=p=>{const g=structuredClone(e.interchanges);g.push(ca);for(let C=g.length-1;C>p;C--)g[C]=structuredClone(g[C-1]);g[p]=ca,o(t,{...e,interchanges:g})},f=p=>{const g=e.interchanges.filter((C,y)=>y!==p);o(t,{...e,interchanges:g})},h=(p,g)=>{e.interchanges[g].lineCode=p,o(t,e)},u=(p,g)=>{e.interchanges[g].stationCode=p,o(t,e)};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:m}),a.jsx(pe,{label:i("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[e.interchanges.map((p,g)=>a.jsxs(Ke,{children:[a.jsx(Ht,{theme:p.color,onClick:()=>{r(g),n(Ut(p.color))}}),a.jsx(pe,{label:i("panel.details.stations.common.lineCode"),children:a.jsx(Bn,{defaultValue:p.lineCode,onDebouncedChange:C=>h(C,g)})}),a.jsx(pe,{label:i("panel.details.stations.common.stationCode"),children:a.jsx(Bn,{defaultValue:p.stationCode,onDebouncedChange:C=>u(C,g)})}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":i("panel.details.stations.interchange.add"),icon:a.jsx(Ee,{}),onClick:()=>l(g)}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":i("panel.details.stations.interchange.add"),icon:a.jsx(_t,{}),onClick:()=>f(g),isDisabled:e.interchanges.length===1})]},g)),a.jsx(ue,{size:"sm",width:"100%",variant:"outline",leftIcon:a.jsx(Ee,{}),onClick:()=>l(e.interchanges.length),children:i("panel.details.stations.interchange.title")})]})})]})},Mi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("rect",{x:"4",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),a.jsx("rect",{x:"12.5",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),a.jsx("text",{x:"5.5",y:"12.5",fontSize:"4",fill:"currentColor",children:"G"}),a.jsx("text",{x:"5",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"16"}),a.jsx("text",{x:"14.25",y:"12.5",fontSize:"4",fill:"currentColor",children:"H"}),a.jsx("text",{x:"13.75",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"18"})]}),Ai={component:Ni,icon:Mi,defaultAttrs:Ie,attrsComponent:ki,metadata:{displayName:"panel.details.stations.tokyoMetroInt.displayName",cities:[B.Tokyo],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},J=5,Ba=2*J,zi=.85*Ba,mt={0:{textDx:0,textDy:-9.15,textAnchor:"middle",dominantBaseline:"auto",polarity:-1,grow:"up"},45:{textDx:(J/2+J*1.33)*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"auto",polarity:-1,grow:"up"},90:{textDx:J/2+J*1.33,textDy:0,textAnchor:"start",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},135:{textDx:(J/2+J*1.33)*Math.SQRT1_2,textDy:(J/2+J*1.33)*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"hanging",polarity:1,grow:"down"},180:{textDx:0,textDy:J/2+J*1.33,textAnchor:"middle",dominantBaseline:"hanging",polarity:1,grow:"down"},225:{textDx:-9.15*Math.SQRT1_2,textDy:(J/2+J*1.33)*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"hanging",polarity:1,grow:"down"},270:{textDx:-9.15,textDy:0,textAnchor:"end",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},315:{textDx:-9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"auto",polarity:-1,grow:"up"}},Mn=[B.London,"central","#DC241F",W.white,0],Ia=x.memo(s=>{const{id:t,stepFreeAccess:e,...o}=s;return a.jsxs("g",{...o,children:[a.jsx("path",{fill:e==="train"?"#1C3E93":"white",stroke:"#1C3E93",strokeWidth:.5*J,d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31"}),a.jsx("path",{fill:e==="train"?"white":"#1C3E93",d:"M-10.5,9c1.4,4.9,6,8.4,11.3,8.4c6.5,0,11.8-5.3,11.8-11.8c0-3.4-1.5-6.5-3.8-8.7l0.7-5.1\n c4.6,2.9,7.6,8,7.6,13.8c0,9-7.3,16.3-16.3,16.3c-5.9,0-11-3.1-13.9-7.7L-10.5,9z"}),a.jsx("path",{fill:s.stepFreeAccess==="train"?"white":"#1C3E93",d:"M0.5-20.5c0,2.5,2,4.6,4.6,4.6c2.5,0,4.6-2.1,4.6-4.6s-2.1-4.6-4.6-4.6S0.5-23,0.5-20.5"}),a.jsx("path",{fill:e==="train"?"white":"#1C3E93",d:"M3-12.4L2.5-9.2h-9.9c0,0-2.1,0.2-2.1,2.2s2.1,2.2,2.1,2.2h9.3l-0.5,3h-12.5c0,0-0.9,0-1.3,0.5\n C-12.8-1-13.2,0-13.2,0l-7,14.2c0,0-0.8,1.8,1.2,2.9c2,1.1,3.3-1,3.3-1l5.5-11.3c0,0,0.5-0.7,1-1c0.6-0.3,1.1-0.3,1.1-0.3H3.4\n c0,0,1.2,0,2.2-0.9c0.9-0.9,1.1-2,1.1-2l1.7-12.4c0,0,0-2.6-2.7-2.7C3.6-14.5,3-12.4,3-12.4"}),a.jsx("path",{id:"stn_core_".concat(t),fill:e==="train"?"#1C3E93":"white",fillOpacity:"0",stroke:"#1C3E93",strokeWidth:.5*J,strokeOpacity:"0",d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31",className:"removeMe"})]})},(s,t)=>JSON.stringify(s)===JSON.stringify(t)),Bi=s=>{var w;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,transfer:r=Je.transfer,rotate:l=Je.rotate,terminal:f=Je.terminal,stepFreeAccess:h=Je.stepFreeAccess}=(w=n[k.LondonTubeBasic])!=null?w:Je,u=x.useCallback(_=>c(t,_),[t,c]),p=x.useCallback(_=>i(t,_),[t,i]),g=x.useCallback(_=>m(t,_),[t,m]),C=(l-90)*Math.PI/180,y=f?2*(.66*J+J/2):.66*J+.5,b=mt[l].textDx+Math.cos(C)*Math.max(...r[0].map(_=>_[4]))*J,j=mt[l].textDy+Math.sin(C)*Math.max(...r[0].map(_=>_[4]))*J,O=-((Math.max(...r[0].map(_=>_[4]))+Math.min(...r[0].map(_=>_[4])))/2)*J,v=Math.sin(l*Math.PI/180)*O,N=Math.cos(l*Math.PI/180)*O;return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")rotate(").concat(l,")"),onPointerDown:u,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:h==="none"?r[0].map(_=>a.jsx("rect",{id:"stn_core_".concat(t),x:-5*.66/2,y:-5*.66-J/2-J*_[4],width:J*.66,height:y,stroke:"none",fill:_[2]},"".concat(t,"_").concat(_[2],"_").concat(_[4]))):a.jsx(Ia,{id:t,stepFreeAccess:h,transform:"translate(".concat(v,",").concat(N,")rotate(").concat(-l,")scale(0.2333)")},"stn_core_".concat(t))}),a.jsx("g",{transform:"translate(".concat(e+b,", ").concat(o+j,")"),textAnchor:mt[l].textAnchor,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Ba,lineHeight:zi,dominantBaseline:mt[l].dominantBaseline,grow:mt[l].grow,baseOffset:0,className:"rmp-name__tube"})})]})},Je={names:["Station"],transfer:[[Mn]],rotate:0,terminal:!1,stepFreeAccess:"none"},Ii=s=>{var l;const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:f=>{e.names[0]=f.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.rotate"),value:e.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:f=>{e.rotate=Number(f),o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.londonTubeBasic.terminal"),isChecked:e.terminal,isDisabled:e.transfer[0].length>1,onChange:f=>{e.terminal=f,o(t,e)},oneLine:!0,minW:"full"},{type:"select",label:n("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:e.stepFreeAccess,options:{none:n("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:n("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:n("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:f=>{e.stepFreeAccess=f,o(t,e)},minW:"full"}],i=(l=e.transfer)!=null?l:Je.transfer,m=f=>h=>{const u=structuredClone(i);if(u.length<=f)for(let p=u.length;p<=f;p++)u[p]=[Mn];u[f].push(h),e.transfer=u,o(t,e)},d=f=>h=>{if(i.length>f&&i[f].length>h){const u=i.map((p,g)=>g===f?p.filter((C,y)=>y!==h):p);e.transfer=u,o(t,e)}},r=f=>(h,u)=>{if(i.length>f&&i[f].length>h){const p=i.map((g,C)=>C===f?g.map((y,b)=>b===h?[0,1,2,3,4,5,6].map(j=>u[j]===void 0?y[j]:u[j]):y):g);e.transfer=p,o(t,e)}};return a.jsxs(a.Fragment,{children:[a.jsx(L,{fields:c}),a.jsx(pe,{label:n("panel.details.stations.interchange.title"),children:a.jsxs(et,{align:"flex-start",children:[a.jsx(Ft,{size:"xs",children:n("panel.details.stations.londonTubeBasic.shareTracks")}),a.jsx($i,{interchangeList:i[0],onAdd:m(0),onDelete:d(0),onUpdate:r(0)})]})})]})},Pi=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),Ti={component:Bi,icon:Pi,defaultAttrs:Je,attrsComponent:Ii,metadata:{displayName:"panel.details.stations.londonTubeBasic.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}};function $i(s){const{interchangeList:t,onAdd:e,onDelete:o,onUpdate:n}=s,c=it(),{paletteAppClip:{output:i}}=lt(l=>l.runtime),{t:m}=D(),[d,r]=x.useState();return x.useEffect(()=>{d!==void 0&&i&&(n==null||n(d,[...i,t[d][4]]),r(void 0))},[i==null?void 0:i.toString()]),a.jsxs(jn,{direction:"column",children:[t.length===0&&a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack",children:[a.jsx(_n,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noTrackShare")}),a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>e==null?void 0:e(Mn),icon:a.jsx(Ee,{})})]}),t.map((l,f)=>a.jsxs(Ke,{spacing:.5,"data-testid":"interchange-card-stack-".concat(f),children:[a.jsx(pe,{label:m("color"),minW:"40px",noLabel:f!==0,children:a.jsx(Ht,{theme:[l[0],l[1],l[2],l[3]],onClick:()=>{r(f),c(Ut([l[0],l[1],l[2],l[3]]))}})}),a.jsx(pe,{label:m("panel.details.stations.londonTubeBasic.shareTracksIndex"),children:a.jsx(La,{defaultValue:l[4],min:-5,max:5,step:1,onThrottledChange:h=>n==null?void 0:n(f,[l[0],l[1],l[2],l[3],h])})}),a.jsxs(et,{children:[e&&f===t.length-1?a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>{const h=structuredClone(t.slice(-1)[0]);h[4]=Math.max(...t.map(u=>u[4]))+1,e==null||e(h)},icon:a.jsx(On,{})}):a.jsx(wn,{minW:8}),o&&f!==0&&a.jsx(Ne,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>o==null?void 0:o(f),icon:a.jsx(_t,{})})]})]},f))]})}const ke=5,Pa=2*ke,Ei=.85*Pa,Ri=s=>{var O;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=gt.nameOffsetX,nameOffsetY:l=gt.nameOffsetY,stepFreeAccess:f=gt.stepFreeAccess}=(O=n[k.LondonTubeInt])!=null?O:gt,h=x.useCallback(v=>c(t,v),[t,c]),u=x.useCallback(v=>i(t,v),[t,i]),p=x.useCallback(v=>m(t,v),[t,m]),g=.66*ke+ke/2,C=r==="left"?-9.15:r==="right"?ke/2+ke*1.33:0,y=l==="top"?-9.15:l==="bottom"?ke/2+ke*1.33:0,b=r==="left"?"end":r==="right"?"start":"middle",j=l==="top"?"auto":l==="bottom"?"hanging":"middle";return a.jsxs("g",{id:t,children:[a.jsx("g",{transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},children:f==="none"?a.jsx("circle",{id:"stn_core_".concat(t),r:1.25*ke,width:ke*.66,height:g,stroke:"black",strokeWidth:.5*ke,fill:"white"}):a.jsx(Ia,{id:t,stepFreeAccess:f,transform:"scale(0.2333)"})}),a.jsx("g",{transform:"translate(".concat(e+C,", ").concat(o+y,")"),textAnchor:b,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Pa,lineHeight:Ei,dominantBaseline:j,grow:l==="top"?"up":l==="bottom"?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},gt={names:["Station"],nameOffsetX:"right",nameOffsetY:"top",stepFreeAccess:"none"},Wi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:e.stepFreeAccess,options:{none:n("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:n("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:n("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:i=>{e.stepFreeAccess=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Di=a.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:a.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",strokeWidth:"2.5",fill:"white"})}),Xi={component:Ri,icon:Di,defaultAttrs:gt,attrsComponent:Wi,metadata:{displayName:"panel.details.stations.londonTubeInt.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},De=5,Ta=2*De,Li=.85*Ta,$a="M-18.2,12.6c2.4-0.6,5.8-1.6,11.5-0.4c2.9,0.6,5.6,1.3,8.3,1.3c3.5,0,5.4-0.6,8.1-1.2c2.4-0.6,5.2-1.2,7.4-1.1c3.8,0.1,6.6,0.7,8.2,1.4l-1.2-3.1C21,8.3,15.8,7.7,9.7,9.5c-2.6,0.7-5.2,1.3-7.9,1.2c-2.5,0-4.8-0.4-7.2-1C-13,8-15.9,9.3-19.8,10.3L-18.2,12.6z",Ea="M23.8-2h-4.1l-1.8-4.8c0,0-0.1-0.6-1-1.3c-0.6-0.5-1.6-0.5-1.6-0.5H4v-2h-6.9l-1.1-1.5l0.8-1.9h-1.9l-1.5,3.5h-2.6v2h-5.8c0,0-0.8,0.1-1.2,0.3c-0.4,0.3-0.6,0.5-0.6,0.5l-4.4,5.8h-7.3l7.3,10c1.6-0.7,6.6-2,9.7-1.9c4.1,0.1,9.5,1.9,13.1,1.9c6.6,0,8.8-2,14.6-2.3c7.1-0.4,11.6,2.3,11.6,2.3L23.8-2z M-11.1-2h-7.1l1.9-2.5c0,0,0.8-1.1,1.2-1.3c0.7-0.4,1.2-0.5,1.2-0.5h2.8V-2z M-9.2-2v-4.3h7.4v4.4L-9.2-2z M7.4-2H0v-4.3h7.4V-2z M9.3-2v-4.3h5.1c0,0,0.4,0,0.8,0.4c0.3,0.2,0.5,0.7,0.5,0.7l1.2,3.3L9.3-2z",Yi=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=Wt.nameOffsetX,nameOffsetY:l=Wt.nameOffsetY}=(b=n[k.LondonRiverServicesInt])!=null?b:Wt,f=x.useCallback(j=>c(t,j),[t,c]),h=x.useCallback(j=>i(t,j),[t,i]),u=x.useCallback(j=>m(t,j),[t,m]),p=r==="left"?-9.15:r==="right"?De/2+De*1.33:0,g=l==="top"?-9.15:l==="bottom"?De/2+De*1.33:0,C=r==="left"?"end":r==="right"?"start":"middle",y=l==="top"?"auto":l==="bottom"?"hanging":"middle";return a.jsxs("g",{id:t,children:[a.jsxs("g",{transform:"translate(".concat(e,", ").concat(o,")"),onPointerDown:f,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[a.jsx("circle",{r:1.45*De,stroke:"#003888",strokeWidth:.1*De,fill:"white"}),a.jsxs("g",{fill:"#003888",transform:"scale(0.222)",children:[a.jsx("path",{d:$a}),a.jsx("path",{d:Ea})]}),a.jsx("circle",{id:"stn_core_".concat(t),r:1.5*De,fill:"white",fillOpacity:"0",className:"removeMe"})]}),a.jsx("g",{transform:"translate(".concat(e+p,", ").concat(o+g,")"),textAnchor:C,fill:"#003888",children:a.jsx(I,{text:d[0].split("\n"),fontSize:Ta,lineHeight:Li,dominantBaseline:y,grow:l==="top"?"up":l==="bottom"?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},Wt={names:["Station"],nameOffsetX:"right",nameOffsetY:"top"},Hi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Ui=a.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"white"}),a.jsxs("g",{transform:"translate(12, 12)scale(0.18)",children:[a.jsx("path",{stroke:"currentColor",d:$a}),a.jsx("path",{stroke:"currentColor",d:Ea})]})]}),Fi={component:Yi,icon:Ui,defaultAttrs:Wt,attrsComponent:Hi,metadata:{displayName:"panel.details.stations.londonRiverServicesInt.displayName",cities:[B.London],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},Vi=s=>{var b;const{id:t,x:e,y:o,attrs:n,handlePointerDown:c,handlePointerMove:i,handlePointerUp:m}=s,{names:d=T.names,nameOffsetX:r=xt.nameOffsetX,nameOffsetY:l=xt.nameOffsetY,interchange:f=xt.interchange}=(b=n[k.GuangdongIntercityRailway])!=null?b:xt,h=x.useCallback(j=>c(t,j),[t,c]),u=x.useCallback(j=>i(t,j),[t,i]),p=x.useCallback(j=>m(t,j),[t,m]),g=r==="left"?-13.33:r==="right"?13.33:0,C=(d[ee[l].namesPos].split("\n").length*st[l].lineHeight+st[l].offset)*ee[l].polarity,y=r==="left"?"end":r==="right"?"start":"middle";return x.useMemo(()=>a.jsxs("g",{id:t,transform:"translate(".concat(e,", ").concat(o,")"),children:[a.jsx("circle",{r:5,stroke:"#2559a8",strokeWidth:"1.5",fill:"white"}),f&&a.jsx("circle",{r:2.5,stroke:"#2559a8",strokeWidth:"1",fill:"white"}),a.jsx("circle",{id:"stn_core_".concat(t),r:5+1.33/2,fill:"white",fillOpacity:"0",onPointerDown:h,onPointerMove:u,onPointerUp:p,style:{cursor:"move"},className:"removeMe"}),a.jsxs("g",{transform:"translate(".concat(g,", ").concat(C,")"),textAnchor:y,className:"rmp-name-outline",strokeWidth:"1",children:[a.jsx(I,{text:d[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",baseOffset:1,className:"rmp-name__zh"}),a.jsx(I,{text:d[1].split("\n"),dx:r==="right"?1.67:0,fontSize:5.83,lineHeight:5.83,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]}),[t,e,o,...d,r,l,f,h,u,p])},xt={...T,nameOffsetX:"right",nameOffsetY:"top",interchange:!1},Gi=s=>{const{id:t,attrs:e,handleAttrsUpdate:o}=s,{t:n}=D(),c=[{type:"textarea",label:n("panel.details.stations.common.nameZh"),value:e.names[0],onChange:i=>{e.names[0]=i.toString(),o(t,e)},minW:"full"},{type:"textarea",label:n("panel.details.stations.common.nameEn"),value:e.names[1],onChange:i=>{e.names[1]=i.toString(),o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetX"),value:e.nameOffsetX,options:{left:n("panel.details.stations.common.left"),middle:n("panel.details.stations.common.middle"),right:n("panel.details.stations.common.right")},disabledOptions:e.nameOffsetY==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetX=i,o(t,e)},minW:"full"},{type:"select",label:n("panel.details.stations.common.nameOffsetY"),value:e.nameOffsetY,options:{top:n("panel.details.stations.common.top"),middle:n("panel.details.stations.common.middle"),bottom:n("panel.details.stations.common.bottom")},disabledOptions:e.nameOffsetX==="middle"?["middle"]:[],onChange:i=>{e.nameOffsetY=i,o(t,e)},minW:"full"},{type:"switch",label:n("panel.details.stations.interchange.title"),oneLine:!0,isChecked:e.interchange,onChange:i=>{e.interchange=i,o(t,e)},minW:"full"}];return a.jsx(L,{fields:c})},Zi=a.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[a.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2.25",fill:"white"}),a.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"1.5",fill:"white"})]}),qi={component:Vi,icon:Zi,defaultAttrs:xt,attrsComponent:Gi,metadata:{displayName:"panel.details.stations.guangdongIntercityRailway.displayName",cities:[B.Shanghai],canvas:[V.RailMap],categories:[G.Metro],tags:[]}},gl={[k.ShmetroBasic]:Cs,[k.ShmetroBasic2020]:Os,[k.ShmetroInt]:Ss,[k.ShmetroOutOfSystemInt]:As,[k.ShanghaiSuburbanRailway]:Ps,[k.GzmtrBasic]:lo,[k.GzmtrInt]:fo,[k.GzmtrInt2024]:Co,[k.BjsubwayBasic]:vo,[k.BjsubwayInt]:ko,[k.MTR]:$o,[k.SuzhouRTBasic]:Do,[k.SuzhouRTInt]:Ho,[k.KunmingRTBasic]:Go,[k.KunmingRTInt]:Jo,[k.MRTBasic]:ni,[k.MRTInt]:ii,[k.JREastBasic]:di,[k.JREastImportant]:ui,[k.FoshanMetroBasic]:Ci,[k.QingdaoMetroStation]:Oi,[k.TokyoMetroBasic]:Si,[k.TokyoMetroInt]:Ai,[k.LondonTubeBasic]:Ti,[k.LondonTubeInt]:Xi,[k.LondonRiverServicesInt]:Fi,[k.GuangdongIntercityRailway]:qi},Qi="RMP_MASTER_CHANNEL",Ji="MASTER_POST",da=new BroadcastChannel(Qi),ft={id:"null",value:"",param:null,bg:"#000000",fg:W.white},Ki={h:"80%",w:"80%","& iframe":{h:"100%",w:"100%"},"& div":{h:"100%",w:"100%"}},el=s=>{const{isOpen:t,onClose:e,onSubmit:o}=s,{t:n}=D(),c=x.useRef(window.graph),i=Qa(),[m,d]=x.useState([]),[r,l]=x.useState(ft),[f,h]=x.useState(""),[u,p]=x.useState(!1),[g,C]=x.useState(!1);x.useEffect(()=>{t&&(h(""),l(ft),p(!1),d(ja(c.current).filter(S=>S.randomId).map(S=>{var z,P,Y;return{id:S.randomId,value:(z=S.label)!=null?z:S.randomId,param:S,bg:(P=S.labelColorBg)!=null?P:ft.bg,fg:(Y=S.labelColorFg)!=null?Y:ft.fg}})))},[t]);const y=S=>{var z,P,Y,U,q;try{const X=(z=r.param)!=null?z:JSON.parse(S),se=X.id?X.id:X.randomId,ae=(P=X.labelColorBg)!=null?P:Ua(),ie={randomId:se,label:(Y=X.label)!=null?Y:se,labelColorBg:ae,labelColorFg:Fa(ae),nodeType:(U=X.nodeType)!=null?U:X.type,transform:(q=X.transform)!=null?q:Va,svgs:X.svgs,components:X.components,color:X.color,core:X.core,version:X.version};if(!ie.version||ie.version<2){i({title:"Outdated configuration!",status:"error",duration:9e3,isClosable:!0});return}o(ie)}catch(X){C(!0);return}e()},b=x.useRef(t),[j,O]=x.useState("DESIGNER"),[v,N]=x.useState(!1);x.useEffect(()=>{b.current=t},[t]),x.useEffect(()=>{const S=z=>{const{event:P,data:Y}=z.data;P===Ji&&b.current&&(N(!1),y(Y))};return da.addEventListener("message",S),()=>{da.removeEventListener("message",S)}},[]);const w=async()=>{O("DESIGNER"),N(!0)},_=()=>{O("GALLERY"),N(!0)},A=S=>{C(!1),h(S.target.value),l(ft)},M=S=>{l(S),p(!1),h("")};return a.jsxs(a.Fragment,{children:[a.jsxs(fa,{isOpen:t,onClose:e,size:"sm",scrollBehavior:"inside",children:[a.jsx(ha,{}),a.jsxs(ua,{children:[a.jsx(pa,{children:n("header.settings.procedures.masterManager.importTitle")}),a.jsx(ga,{}),a.jsxs(xa,{children:[a.jsx(pe,{label:n("header.settings.procedures.masterManager.importFrom"),children:a.jsx(Ya,{data:m,displayHandler:S=>a.jsx(nn,{name:S.value,fg:S.fg,bg:S.bg,title:S.value,sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(S,z)=>z.id.toLowerCase().includes(S.toLowerCase())||Object.values(z.id).some(P=>P.toLowerCase().includes(S.toLowerCase())),value:r.value,onChange:M})}),a.jsxs(pe,{label:n("header.settings.procedures.masterManager.importOther"),children:[a.jsxs(Dt,{direction:"row",width:"100%",children:[a.jsx(ue,{m:1,width:"100%",onClick:w,children:n("RMP Designer")}),a.jsx(ue,{m:1,width:"100%",onClick:_,children:n("RMP Gallery")})]}),a.jsx(ue,{m:1,onClick:()=>p(!0),children:n("header.settings.procedures.masterManager.importParam")}),a.jsx(Ja,{width:"100%",placeholder:"qwq",fontSize:"sm",fontFamily:"monospace",hidden:!u,onChange:A,isInvalid:g})]})]}),a.jsxs(Ca,{children:[a.jsx(ue,{colorScheme:"blue",variant:"outline",mr:"1",onClick:e,children:n("cancel")}),a.jsx(ue,{colorScheme:"blue",variant:"solid",mr:"1",onClick:()=>y(f),isDisabled:r.id==="null"&&f==="",children:n("apply")})]})]})]}),a.jsx(tl,{isOpen:v,onClose:()=>N(!1),source:j})]})},tl=s=>{const{isOpen:t,onClose:e,source:o}=s,n=o==="DESIGNER"?"/rmp-designer/#/export":"/rmp-gallery/?tabId=2&master=true";return a.jsxs(Ha,{isOpen:t,onClose:e,size:"full",sx:Ki,children:[a.jsx("iframe",{src:n,loading:"lazy"}),a.jsx(Ka,{onClick:e,position:"fixed",top:"5px",right:"15px"})]})},xl=s=>{const{isOpen:t,onClose:e}=s,{t:o}=D(),{refresh:{nodes:n}}=lt(C=>C.runtime),c=x.useRef(window.graph),i=it(),[m,d]=x.useState([]);x.useEffect(()=>{t&&d(ja(c.current))},[t,n]);const[r,l]=x.useState(void 0),f=C=>{c.current.filterNodes(y=>c.current.getNodeAttribute(y,"type")===K.Master&&c.current.getNodeAttributes(y)[K.Master].randomId===r).forEach(y=>{const b=structuredClone(C),j=c.current.getNodeAttributes(y),O=structuredClone(j[K.Master]),v=N=>{O.components.forEach(w=>{var _;if(w.id===N)return(_=w.value)!=null?_:w.defaultValue})};b.components.forEach((N,w)=>{var _;b.components[w].value=(_=v(N.id))!=null?_:N.defaultValue}),b.color!==void 0&&(b.color.value=O.color?b.color.value:b.color.defaultValue),c.current.mergeNodeAttributes(y,{[K.Master]:b})}),i(Ct()),i(yt(c.current.export()))},h=C=>{const y={id:C.randomId,type:C.nodeType,label:C.label,svgs:C.svgs,components:C.components,color:C.color,core:C.core,transform:C.transform,version:C.version};y.components.forEach((b,j)=>{y.components[j].value=b.defaultValue}),ds("RMP_Master_Node_".concat(new Date().valueOf(),".json"),"application/json",JSON.stringify(y))},u=C=>{c.current.filterNodes(y=>c.current.getNodeAttribute(y,"type")===K.Master&&c.current.getNodeAttributes(y)[K.Master].randomId===C).forEach(y=>{c.current.dropNode(y)}),i(Ct()),i(yt(c.current.export()))},p=(C,y)=>{c.current.filterNodes(b=>c.current.getNodeAttribute(b,"type")===K.Master&&c.current.getNodeAttributes(b)[K.Master].randomId===C.randomId).forEach(b=>{c.current.mergeNodeAttributes(b,{[K.Master]:{...C,label:y}})}),i(Ct()),i(yt(c.current.export()))},g=m.map(C=>{var b,j,O,v,N;const y=[{label:o("header.settings.procedures.masterManager.id"),type:"custom",component:a.jsx(nn,{name:(b=C.randomId)!=null?b:"undefined",fg:(j=C.labelColorFg)!=null?j:W.white,bg:(O=C.labelColorBg)!=null?O:"#000000"})},{label:o("header.settings.procedures.masterManager.label"),type:"input",value:(v=C.label)!=null?v:o("panel.details.nodes.master.undefined"),onChange:w=>p(C,w),hidden:!C.randomId},{label:o("header.settings.procedures.masterManager.label"),type:"output",value:(N=C.label)!=null?N:o("panel.details.nodes.master.undefined"),hidden:!!C.randomId},{label:o("header.settings.procedures.masterManager.type"),type:"custom",component:a.jsx(nn,{name:o("header.settings.procedures.masterManager.types.".concat(C.nodeType)),fg:W.white,bg:C.nodeType==="MiscNode"?"#FF8651":"#51BC00"})}];return a.jsxs(Dt,{width:"100%",direction:"row",children:[a.jsx(L,{fields:y,minW:"120px"}),a.jsxs(Dt,{direction:"row",mr:"auto",children:[a.jsx(ue,{onClick:()=>l(C.randomId),children:a.jsx(Ga,{})}),a.jsx(ue,{onClick:()=>h(C),isDisabled:!C.randomId,children:a.jsx(Za,{})}),a.jsx(ue,{onClick:()=>u(C.randomId),children:a.jsx(_t,{})})]})]})});return a.jsxs(fa,{isOpen:t,onClose:e,size:"xl",scrollBehavior:"inside",children:[a.jsx(ha,{}),a.jsxs(ua,{children:[a.jsx(pa,{children:o("header.settings.procedures.masterManager.title")}),a.jsx(ga,{}),a.jsxs(xa,{width:"100%",children:[...g,a.jsx(el,{isOpen:!!r,onClose:()=>l(void 0),onSubmit:f})]}),a.jsx(Ca,{children:a.jsx(ue,{colorScheme:"blue",variant:"outline",mr:"1",onClick:e,children:o("close")})})]})]})};export{Tt as F,ul as L,xl as M,pl as S,ms as a,cl as b,rl as c,ds as d,dl as e,rs as f,I as g,oe as h,il as i,hl as j,el as k,as as l,ml as m,ol as n,gl as s,ll as t,fl as u}; diff --git a/assets/master-manager-legacy-Cv1g7wby.js b/assets/master-manager-legacy-DBszGOWt.js similarity index 99% rename from assets/master-manager-legacy-Cv1g7wby.js rename to assets/master-manager-legacy-DBszGOWt.js index 5eab808d..b3468a35 100644 --- a/assets/master-manager-legacy-Cv1g7wby.js +++ b/assets/master-manager-legacy-DBszGOWt.js @@ -1 +1 @@ -System.register(["./react-legacy-S3BmMPiz.js","./index-legacy-BGd0L8oF.js","./chakra-legacy-DsJcG_7N.js"],(function(e,t){"use strict";var n,a,s,o,l,i,r,d,m,c,f,h,p,u,g,x,y,C,b,v,j,O,w,_,k,S,N,z,M,A,P,B,$,W,E,X,Y,R,I,L,T,D,H,U,F,V,G,Z,Q,q,J,K,ee,te,ne,ae,se,oe,le,ie,re;return{setters:[e=>{n=e.b,a=e.u,s=e.r},e=>{o=e.i,l=e.S,i=e.av,r=e.r,d=e.C,m=e.M,c=e.aS,f=e.L,h=e.e,p=e.aU,u=e.aV,g=e.aW,x=e.aX,y=e.c,C=e.d,b=e.aY,v=e.aZ,j=e.P,O=e.V,w=e.W,_=e.a_,k=e.a$,S=e.b0,N=e.aR,z=e.q,M=e.v,A=e.b1,P=e.b2,B=e.Q,$=e.R,W=e.w,E=e.b3,X=e.b4,Y=e.aT,R=e.D,I=e.a},e=>{L=e.j,T=e.aK,D=e.a4,H=e.af,U=e.ax,F=e.B,V=e.a6,G=e.ad,Z=e.O,Q=e.g,q=e.b0,J=e.b1,K=e.aL,ee=e.at,te=e.$,ne=e.au,ae=e.a1,se=e.a2,oe=e.a3,le=e.Q,ie=e.a5,re=e.al}],execute:function(){e({S:function(e){var t=e.children,n=nn(s.useState(Math.random()),2),a=n[0],o=n[1];return L.jsx(vt.Provider,{value:{updateId:a,update:function(){return o(Math.random())}},children:t})},j:function(){const{i18n:e}=a();return t=>{var n,a;return null!==(n=null!==(a=e.languages.map((e=>t[e])).find((e=>void 0!==e)))&&void 0!==a?a:t.en)&&void 0!==n?n:"(Translation Error)"}}});var t=(e=>(e.Airport="airport",e.Airport2024="airport_2024",e.Maglev="maglev",e.Disney="disney",e.Railway="railway",e.Railway2024="railway_2024",e.HSR="hsr",e.AirportHK="airport_hk",e.DisneyHK="disney_hk",e.NgongPing360="ngong_ping_360",e.Tiananmen="tiananmen",e.AirportBJ="airport_bj",e.BusTerminalSuzhou="bus_terminal_suzhou",e.RailwaySuzhou="railway_suzhou",e.BusInterchange="bus_interchange",e.AirportSG="airport_sg",e.CruiseCentre="cruise_centre",e.SentosaExpress="sentosa_express",e.CableCar="cable_car",e.Merlion="merlion",e.MarinaBaySands="marina_bay_sands",e.GardensByTheBay="gardens_by_the_bay",e.SingaporeFlyer="singapore_flyer",e.Esplanade="esplanade",e.AirportQingdao="airport_qingdao",e.CoachStationQingdao="coach_station_qingdao",e.CruiseTerminalQingdao="cruise_terminal_qingdao",e.RailwayQingdao="railway_qingdao",e.TramQingdao="tram_qingdao",e.AirportGuangzhou="airport_guangzhou",e.RailwayGuangzhou="railway_guangzhou",e.IntercityGuangzhou="intercity_guangzhou",e.RiverCraftLondon="river_craft",e.AirportLondon="airport_london",e.CoachStationLondon="coach_station_london",e))(t||{});const de={type:"airport"},me=(e("n",{component:e=>{const{id:t,x:a,y:s,attrs:o,handlePointerDown:l,handlePointerMove:i,handlePointerUp:r}=e,{type:d=de.type}=null!=o?o:de,m=n.useRef(null),[c,f]=n.useState({width:25,height:25});n.useEffect((()=>f(m.current.getBBox())),[d,f,m]);const h=n.useCallback((e=>l(t,e)),[t,l]),p=n.useCallback((e=>i(t,e)),[t,i]),u=n.useCallback((e=>r(t,e)),[t,r]);return L.jsx("g",{id:t,transform:`translate(${a-c.width/2}, ${s-c.height/2})`,onPointerDown:h,onPointerMove:p,onPointerUp:u,style:{cursor:"move"},children:L.jsx("image",{ref:m,href:`/rmp/images/facilities/${d}.svg`,onLoad:()=>f(m.current.getBBox())})})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(12, 0)scale(0.4)",children:[L.jsx("circle",{cx:"0",cy:"29.33899",r:"29.33899",fill:"currentColor"}),L.jsx("path",{id:"airport",d:"M28.9769,6.60134c1.711.013,3.111,2.53205,3.111,4.241v10.337s17.106,15.435,17.358,15.666a1.145,1.145,0,0,1,.488,1.152v2.833c0,.651-.451.61-.695.467-.334-.119-17.151-8.863-17.151-8.863-.004,1.458-.797,9.006-1.326,13.304,0,0,4.61,2.457,4.699,2.521.334.268.352.359.352.852v2.001c0,.477-.352.428-.51.324-.183-.062-5.693-1.921-5.693-1.921a2.56018,2.56018,0,0,0-.633-.127,2.31654,2.31654,0,0,0-.666.127s-5.477,1.859-5.672,1.921c-.185.104-.523.153-.523-.324v-2.001c0-.493.029-.584.367-.852.086-.064,4.678-2.521,4.678-2.521-.524-4.298-1.307-11.846-1.325-13.304,0,0-16.822,8.744-17.148,8.863-.217.143-.69.184-.69-.467v-2.833a1.16206,1.16206,0,0,1,.473-1.152c.276-.231,17.365-15.666,17.365-15.666v-10.337c0-1.709,1.403-4.228,3.14105-4.241",transform:"translate(-28.9697,0.14347)",fill:"white"})]})}),defaultAttrs:de,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"select",label:l("panel.details.nodes.facilities.type"),value:n.type,options:{airport:"Airport",airport_2024:"Airport 2024",maglev:"Maglev",disney:"Disney",railway:"Railway",railway_2024:"Railway 2024",hsr:"HSR",airport_hk:"Airport Hongkong",disney_hk:"Disney Hongkong",ngong_ping_360:"Ngong Ping 360",tiananmen:"Tiananmen",airport_bj:"Airport Beijing",bus_terminal_suzhou:"Bus Terminal Suzhou",railway_suzhou:"Railway Suzhou",bus_interchange:"Bus Interchange",airport_sg:"Changi Airport",cruise_centre:"Cruise Centre",sentosa_express:"Sentosa Express",cable_car:"Cable Car",merlion:"Merlion",marina_bay_sands:"Marina Bay Sands",gardens_by_the_bay:"Gardens by the Bay",singapore_flyer:"Singapore Flyer",esplanade:"Esplanade",airport_qingdao:"Airport Qingdao",railway_qingdao:"Railway Qingdao",coach_station_qingdao:"Coach Station Qingdao",cruise_terminal_qingdao:"Cruise Terminal Qingdao",tram_qingdao:"Tram Qingdao",airport_guangzhou:"Airport Guangzhou",railway_guangzhou:"Railway Guangzhou",intercity_guangzhou:"Intercity Guangzhou",river_craft:"River services interchange",airport_london:"Airport London",coach_station_london:"Victoria Coach Station"},onChange:e=>{n.type=e,s(t,n)}}];return L.jsx(o,{fields:i,minW:"full"})},metadata:{displayName:"panel.details.nodes.facilities.displayName",tags:[]}}),e("i",(()=>navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome"))),{source:'url("./fonts/LTAIdentity-Medium.woff")',descriptors:{display:"swap"}}),ce={source:'url("./fonts/Mplus2-Medium.otf")',descriptors:{display:"swap"}},fe={source:'url("./fonts/Roboto-Bold.ttf")',descriptors:{display:"swap"}},he={source:'url("./fonts/MontaguSlab.ttf")',descriptors:{display:"swap"}},pe={source:'url("./fonts/Railway-PlyE.otf")',descriptors:{display:"swap"}},ue=e("F",{[l.MTR]:{className:[".rmp-name__mtr__zh",".rmp-name__mtr__en"],cssFont:{"MyriadPro-Semibold":void 0,"Vegur-Bold":void 0,"GenYoMinTW-SB":void 0},cssName:"fonts_mtr"},[l.MRTBasic]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.MRTInt]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.JREastBasic]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ce},cssName:"fonts_jreast"},[l.JREastImportant]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ce},cssName:"fonts_jreast"},[i.BerlinSBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:fe},cssName:"fonts_berlin"},[i.BerlinUBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:fe},cssName:"fonts_berlin"},[i.JREastLineBadge]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{'"M PLUS 2"':ce},cssName:"fonts_jreast"},[i.MRTDestinationNumbers]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[i.MRTLineBadge]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.TokyoMetroBasic]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:he,"M PLUS 2":ce},cssName:"fonts_tokyo"},[l.TokyoMetroInt]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:he,"M PLUS 2":ce},cssName:"fonts_tokyo"},[l.LondonTubeBasic]:{className:[".rmp-name__tube"],cssFont:{Railway:pe},cssName:"fonts_tube"},[l.LondonTubeInt]:{className:[".rmp-name__tube"],cssFont:{Railway:pe},cssName:"fonts_tube"}}),ge=[],xe=e("l",(async e=>{const t=ue[e];if(!t)return;const{cssFont:n,cssName:a}=t;if(ge.includes(a))return;ge.push(a),await Promise.all(Object.entries(n).map((([e,t])=>r.loadFont(e,t&&{configs:[t]}))));const s=document.createElement("link");s.rel="stylesheet",s.id=a,s.href=`/rmp/styles/${a}.css`,document.head.append(s)})),ye=e("g",n.forwardRef(((e,t)=>{const{text:n,lineHeight:a,grow:s,dominantBaseline:o=("up"===s?"auto":"down"===s?"hanging":"middle"),baseOffset:l=2,funcDX:i=(e=>0),...r}=e,d="bidirectional"===s?-(n.length-1)*a/2:0;return L.jsx("g",{ref:t,children:("up"===s?[...n].reverse():n).map(((e,t,n)=>L.jsx("text",{dy:(t*a+l)*("up"===s?-1:1)+d,dx:i(t),dominantBaseline:o,...r,children:e},`${e}${t}`)))})})));ye.displayName="MultilineText";const Ce={top:{namesPos:1,lineHeight:10,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:16,polarity:1}},be={zh:l.ShmetroBasic,en:l.ShmetroBasic,mtr__zh:l.MTR,mtr__en:l.MTR,berlin:i.BerlinSBahnLineBadge,mrt:l.MRTBasic,jreast_ja:l.JREastBasic,jreast_en:l.JREastBasic,tokyo_en:l.TokyoMetroBasic,tube:l.LondonTubeBasic},ve=e("h",{content:"Enter your text here",fontSize:16,lineHeight:16,textAnchor:"middle",dominantBaseline:"middle",language:"en",color:[d.Shanghai,"jsr","#000000",m.white],rotate:0,italic:"normal",bold:"normal"}),je=(e("t",{component:e=>{const{id:t,x:a,y:s,attrs:o,handlePointerDown:l,handlePointerMove:i,handlePointerUp:r}=e,{content:d=ve.content,fontSize:m=ve.fontSize,lineHeight:c=ve.lineHeight,textAnchor:f=ve.textAnchor,dominantBaseline:h=ve.dominantBaseline,language:p=ve.language,color:u=ve.color,rotate:g=ve.rotate,italic:x=ve.italic,bold:y=ve.bold}=null!=o?o:ve,C=n.useRef(null),[b,v]=n.useState({x:0,y:0,width:32,height:16});n.useEffect((()=>v(C.current.getBBox())),[d,m,c,f,h,p,g,x,y,v,C]),n.useEffect((()=>{const e=be[p];e&&xe(e)}),[p]);const j=n.useCallback((e=>l(t,e)),[t,l]),O=n.useCallback((e=>i(t,e)),[t,i]),w=n.useCallback((e=>r(t,e)),[t,r]);return L.jsxs("g",{id:t,transform:`translate(${a}, ${s})rotate(${g})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},children:[L.jsx("rect",{className:"removeMe",fill:"gray",fillOpacity:"0.1",x:b.x-1.5,y:b.y-1.5,width:b.width+3,height:b.height+3}),L.jsx(ye,{ref:C,text:d.split("\n"),lineHeight:c,grow:"down",className:`rmp-name__${p}`,fontSize:m,textAnchor:f,dominantBaseline:h,fill:u[2],fontStyle:x,fontWeight:y})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"10",children:"Text"})}),defaultAttrs:ve,attrsComponent:e=>{var t,n,s,l,r,d,m;const{id:f,attrs:h,handleAttrsUpdate:p}=e,{t:u}=a(),g=[{type:"textarea",label:u("panel.details.nodes.text.content"),value:null!==(t=h.content)&&void 0!==t?t:ve.content,onChange:e=>{h.content=e.toString(),p(f,h)},minW:"full"},{type:"input",label:u("panel.details.nodes.text.fontSize"),value:(null!==(n=h.fontSize)&&void 0!==n?n:ve.fontSize).toString(),validator:e=>Number.isInteger(e)&&Number(e)>0,onChange:e=>{h.fontSize=Number(e),p(f,h)},minW:"full"},{type:"input",label:u("panel.details.nodes.text.lineHeight"),value:(null!==(s=h.lineHeight)&&void 0!==s?s:ve.lineHeight).toString(),validator:e=>Number.isInteger(e)&&Number(e)>0,onChange:e=>{h.lineHeight=Number(e),p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.textAnchor"),value:null!==(l=h.textAnchor)&&void 0!==l?l:ve.textAnchor,options:{start:u("panel.details.nodes.text.start"),middle:u("panel.details.nodes.text.middle"),end:u("panel.details.nodes.text.end")},onChange:e=>{h.textAnchor=e,p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.dominantBaseline"),value:null!==(r=h.dominantBaseline)&&void 0!==r?r:ve.dominantBaseline,options:{auto:u("panel.details.nodes.text.auto"),middle:u("panel.details.nodes.text.middle"),hanging:u("panel.details.nodes.text.hanging")},onChange:e=>{h.dominantBaseline=e,p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.language"),value:null!==(d=h.language)&&void 0!==d?d:ve.language,options:{zh:u("panel.details.nodes.text.zh"),en:u("panel.details.nodes.text.en"),mtr__zh:u("panel.details.nodes.text.mtr__zh"),mtr__en:u("panel.details.nodes.text.mtr__en"),berlin:u("panel.details.nodes.text.berlin"),mrt:u("panel.details.nodes.text.mrt"),jreast_ja:u("panel.details.nodes.text.jreast_ja"),jreast_en:u("panel.details.nodes.text.jreast_en"),tokyo_en:u("panel.details.nodes.text.tokyo_en"),tube:u("panel.details.nodes.text.tube")},onChange:e=>{h.language=e.toString(),p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.rotate"),value:null!==(m=h.rotate)&&void 0!==m?m:ve.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{h.rotate=Number(e),p(f,h)},minW:"full"},{type:"switch",label:u("panel.details.nodes.text.italic"),isChecked:"italic"===h.italic,onChange:e=>{h.italic=e?"italic":"normal",p(f,h)},minW:"full"},{type:"switch",label:u("panel.details.nodes.text.bold"),isChecked:"bold"===h.bold,onChange:e=>{h.bold=e?"bold":"normal",p(f,h)},minW:"full"},{type:"custom",label:u("color"),component:L.jsx(c,{type:i.Text,defaultTheme:ve.color})}];return L.jsx(o,{fields:g})},metadata:{displayName:"panel.details.nodes.text.displayName",tags:[]}}),e("c",((e,t)=>e.filterEdges(((e,n,a,s,o,l,i)=>t.has(a)&&t.has(s))))),e("f",(e=>{const t=Object.fromEntries([...Object.values(l),Object.values(i)].map((e=>[e,!1])));return e.forEachNode((n=>{const a=e.getNodeAttribute(n,"type");t[a]=!0})),t}))),Oe=(e("b",((e,t,n,a,s)=>{const o=t<=a?t:a,l=n<=s?n:s,i=t<=a?a:t,r=n<=s?s:n;return e.filterNodes(((e,t)=>((e,t,n,a,s,o)=>e<=s&&s<=n&&t<=o&&o<=a)(o,l,i,r,t.x,t.y)))})),e("e",((e,t,n)=>{const a=[],s=new Set;return t.forEach((t=>{const n=e.getNodeAttributes(t).type,o=e.getNodeAttribute(t,n);if(void 0!==o.color){const e=o.color;s.has(e.toString())||(a.push(e),s.add(e.toString()))}})),n.filter((t=>f.includes(e.getEdgeAttribute(t,"style")))).forEach((t=>{const n=e.getEdgeAttributes(t),o=n[n.style].color;s.has(o.toString())||(a.push(o),s.add(o.toString()))})),a})),e=>{const t=[],n=new Set;return e.filterNodes((t=>e.getNodeAttribute(t,"type")===i.Master)).forEach((a=>{const s=e.getNodeAttributes(a)[i.Master];n.has(s.randomId)||(n.add(s.randomId),t.push(s))})),t}),we=e("d",((e,t,n)=>{const a=new Blob([n],{type:t});_e(e,a)})),_e=e("a",((e,t)=>{const n=window.URL.createObjectURL(t),a=document.createElement("a");a.href=n,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(n)})),ke=(e("m",(async(e,t,n,a)=>{const{xMin:s,yMin:o,xMax:l,yMax:i}=h(e),[r,d]=[l-s,i-o],m=document.getElementById("canvas").cloneNode(!0);t||m.appendChild(await Ne(l-400,i-120)),m.setAttribute("viewBox",`${s} ${o} ${r} ${d}`),m.setAttribute("width",r.toString()),m.setAttribute("height",d.toString()),Object.entries({".rmp-name-outline":["paint-order","stroke","stroke-linejoin"]}).forEach((([e,t])=>{const n=document.querySelector(e);if(null===n)return;const s=window.getComputedStyle(n);m.querySelectorAll(e).forEach((n=>{if(".rmp-name-outline"===e&&1.1===a){const t=n.insertAdjacentElement("afterend",n.cloneNode(!0));t&&(t.classList.remove(e.slice(1)),0===t.classList.length&&n.removeAttribute("class"),t.removeAttribute("stroke-width"))}t.forEach((e=>{n.setAttribute(e,s.getPropertyValue(e))})),n.classList.remove(e.slice(1)),0===n.classList.length&&n.removeAttribute("class")}))})),m.querySelectorAll('[fill="url(#opaque)"]').forEach((e=>{e.remove()})),m.querySelectorAll(".removeMe").forEach((e=>{e.remove()}));const c=je(e);return await ke(m,e,c,n),await Se(m,e,c),{elem:m,width:r,height:d}})),async(e,t,n,a)=>{const s=new Set;if(Object.keys(ue).filter((e=>n[e])).forEach((e=>s.add(e))),t.filterNodes(((e,t)=>e.startsWith("misc_node_")&&t.type===i.Text)).map((e=>t.getNodeAttribute(e,i.Text).language)).map((e=>be[e])).filter((e=>e!==l.ShmetroBasic)).forEach((e=>s.add(e))),a)[".rmp-name__zh",".rmp-name__en"].forEach((t=>{e.querySelectorAll(t).forEach((e=>{e.classList.remove(t.slice(1)),0===e.classList.length&&e.removeAttribute("class")}))})),s.forEach((t=>{ue[t].className.forEach((t=>{e.querySelectorAll(t).forEach((e=>{e.classList.remove(t.slice(1)),0===e.classList.length&&e.removeAttribute("class")}))}))}));else{const t=document.createElement("style");for(let e=0;ee.cssText)).join("\n");break}}e.prepend(t),await Promise.all([...s.values()].map((e=>ue[e])).map((async({cssName:t,cssFont:n})=>{try{e.prepend(await(async(e,t)=>{const n=document.createElement("style");for(let o=document.styleSheets.length-1;o>=0;o-=1){var a;if(null!==(a=document.styleSheets[o].href)&&void 0!==a&&a.endsWith(`styles/${t}.css`)){n.textContent=[...document.styleSheets[o].cssRules].map((e=>e.cssText)).filter((e=>!e.startsWith("@font-face"))).join("\n");break}}n.textContent+="\n";const s=(await Promise.allSettled(Object.keys(e).map(r.getFontCSS))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));return n.textContent+=s.join("\n"),n})(n,t))}catch(a){alert("Failed to load fonts. Fonts in the exported PNG will be missing."),console.error(a)}})))}}),Se=async(e,n,a)=>{if(a[i.Facilities]){const a=n.filterNodes(((e,t)=>t.type===i.Facilities)),s=Object.fromEntries(Object.values(t).map((e=>[e,[]])));a.forEach((e=>{var t;const a=null===(t=n.getNodeAttribute(e,i.Facilities))||void 0===t?void 0:t.type;a&&s[a].push(e)}));const o=Object.entries(s).filter((([e,t])=>t.length>0)).map((([e,t])=>e)),l=await Promise.all((await Promise.all(o.map((async e=>await fetch(`/rmp//images/facilities/${e}.svg`))))).map((e=>e.text())));o.forEach(((t,n)=>{const a=document.createElement("div");a.innerHTML=l[n];const o=a.querySelector("svg"),i=document.createElementNS("http://www.w3.org/2000/svg","symbol");for(const e of o.attributes)i.setAttribute(e.name,e.value);for(;o.firstChild;)i.appendChild(o.firstChild);o.replaceWith(i),i.id=t,e.appendChild(i),s[t].forEach((n=>{const a=e.querySelector(`#${n}`),s=null==a?void 0:a.querySelector("image");if(s){a.removeChild(s);const e=document.createElementNS("http://www.w3.org/2000/svg","use");e.setAttribute("href",`#${t}`),e.setAttribute("height",i.getAttribute("height")),e.setAttribute("width",i.getAttribute("width")),a.appendChild(e)}})),a.remove()}))}},Ne=async(e,t)=>{const n=document.createElementNS("http://www.w3.org/2000/svg","g");n.setAttribute("transform",`translate(${e}, ${t})scale(2)`);const a=await fetch("/rmp//logo.svg"),s=await a.text(),o=document.createElement("div");o.innerHTML=s;const l=o.querySelector("svg"),i=document.createElement("g");i.setAttribute("transform","translate(-60, -25)scale(0.1)"),i.setAttribute("font-family","Arial, sans-serif"),i.innerHTML=l.innerHTML,n.appendChild(i);const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("font-family","Arial, sans-serif"),r.setAttribute("font-size","16");const d=p.t("Rail Map Painter");r.appendChild(document.createTextNode(d));const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("font-family","Arial, sans-serif"),m.setAttribute("font-size","10"),m.setAttribute("y","10");const c=window.location.origin;let f="https://railmapgen.org/";return c.includes("github")?f="https://railmapgen.github.io/":c.includes("gitlab")&&(f="https://railmapgen.gitlab.io/"),f+="?app=rmp",m.appendChild(document.createTextNode(f)),n.appendChild(i),n.appendChild(r),n.appendChild(m),n};e("u",(()=>{const[e,t]=s.useState({width:void 0,height:void 0});return s.useEffect((()=>{function e(){t({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)}),[]),e}));const ze={top:{lineHeight:6.67,offset:10},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:5.83}},Me={...x,nameOffsetX:"right",nameOffsetY:"top"},Ae={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Me.nameOffsetX,nameOffsetY:h=Me.nameOffsetY}=null!==(t=i[l.ShmetroBasic])&&void 0!==t?t:Me,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-13.33:"right"===f?13.33:0,C=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,b="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:5,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${y}, ${C})`,textAnchor:b,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",fill:"none"})}),defaultAttrs:Me,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroBasic.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Pe={0:{textDx:0,textDy:-17.5,textAnchor:"middle",namesPos:1,lineHeight:6.67,polarity:-1},45:{textDx:1,textDy:-16.25,textAnchor:"start",namesPos:1,lineHeight:6.67,polarity:-1},90:{textDx:12,textDy:0,textAnchor:"start",namesPos:0,lineHeight:0,polarity:0},135:{textDx:5,textDy:21,textAnchor:"start",namesPos:0,lineHeight:12.67,polarity:1},180:{textDx:0,textDy:22.5,textAnchor:"middle",namesPos:0,lineHeight:12.67,polarity:1},225:{textDx:-5,textDy:21,textAnchor:"end",namesPos:0,lineHeight:12.67,polarity:1},270:{textDx:-12,textDy:0,textAnchor:"end",namesPos:0,lineHeight:0,polarity:0},315:{textDx:-1,textDy:-16.25,textAnchor:"end",namesPos:1,lineHeight:6.67,polarity:-1}},Be={...x,rotate:0,color:[d.Shanghai,"sh1","#E4002B",m.white]},$e={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=Be.color,rotate:h=Be.rotate}=null!==(t=i[l.ShmetroBasic2020])&&void 0!==t?t:Be,p=Pe[h].textDy+(c[Pe[h].namesPos].split("\n").length-1)*Pe[h].lineHeight*Pe[h].polarity,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]);return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${h})`,children:L.jsx("rect",{id:`stn_core_${a}`,x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:f[2],onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"}})}),L.jsxs("g",{transform:`translate(${s+Pe[h].textDx}, ${o+p})`,textAnchor:Pe[h].textAnchor,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:h>=45&&h<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,h,f,u,g,y])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:Be,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.ShmetroBasic2020,defaultTheme:Be.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.shmetroBasic2020.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},We={top:{lineHeight:6.67,offset:5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:.83}},Ee={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,height:10,width:13},Xe={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Ee.nameOffsetX,nameOffsetY:h=Ee.nameOffsetY,rotate:p=Ee.rotate,width:u=Ee.width,height:g=Ee.height}=null!==(t=i[l.ShmetroInt])&&void 0!==t?t:Ee,y=n.useCallback((e=>r(a,e)),[a,r]),C=n.useCallback((e=>d(a,e)),[a,d]),b=n.useCallback((e=>m(a,e)),[a,m]),v=0===p||180===p?u:90===p||270===p?g:u*Math.SQRT1_2,j=0===p||180===p?g:90===p||270===p?u:u*Math.SQRT1_2,O="left"===f?-6.83:"right"===f?6.83:0,w=(Math.abs(O)+v/2)*Math.sign(O),_=(c[Ce[h].namesPos].split("\n").length*We[h].lineHeight+We[h].offset)*Ce[h].polarity,k=(Math.abs(_)+j/2)*Math.sign(_),S="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${p})`,children:L.jsx("rect",{id:`stn_core_${a}`,x:-u/2,y:-g/2,height:g,width:u,ry:g/2,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"}})}),L.jsxs("g",{transform:`translate(${s+w}, ${o+k})`,textAnchor:S,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y,C,b])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"4.5",y:"7",height:"10",width:"15",ry:"5",stroke:"currentColor",fill:"none"})}),defaultAttrs:Ee,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"input",label:l("panel.details.stations.shmetroInt.height"),value:n.height.toString(),validator:e=>Number.isInteger(e),onChange:e=>{n.height=Number(e),s(t,n)},minW:"full"},{type:"input",label:l("panel.details.stations.shmetroInt.width"),value:n.width.toString(),validator:e=>Number.isInteger(e),onChange:e=>{n.width=Number(e),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroInt.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},Ye={...x,nameOffsetX:"right",nameOffsetY:"top"},Re={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Ye.nameOffsetX,nameOffsetY:h=Ye.nameOffsetY}=null!==(t=i[l.ShmetroOutOfSystemInt])&&void 0!==t?t:Ye,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-13.33:"right"===f?13.33:0,C=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,b="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{r:5,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),L.jsx("circle",{r:2.3,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),L.jsx("circle",{id:`stn_core_${a}`,r:5.665,fill:"white",fillOpacity:"0",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${y}, ${C})`,textAnchor:b,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.67",fill:"white"}),L.jsx("circle",{cx:"12",cy:"12",r:"4.6",stroke:"currentColor",strokeWidth:"2.67",fill:"white"})]}),defaultAttrs:Ye,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroOsysi.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Ie={...x,rotate:0},Le={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,rotate:f=Ie.rotate}=null!==(t=i[l.ShanghaiSuburbanRailway])&&void 0!==t?t:Ie,h=Pe[f].textDy+(c[Pe[f].namesPos].split("\n").length-1)*Pe[f].lineHeight*Pe[f].polarity,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]);return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s}, ${o})rotate(${f})`,children:[L.jsx("rect",{x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:"#898989"}),L.jsx("rect",{x:"-3.5",y:"-1",width:"7",height:"2",stroke:"none",fill:"white"}),L.jsx("rect",{x:-.8325,y:-6.33,width:1.6,height:6.33,stroke:"none",fill:"white"}),L.jsx("rect",{id:`stn_core_${a}`,x:"-2",y:"-7.83",width:"4",height:9.08,stroke:"none",fill:"white",fillOpacity:"0",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{transform:`translate(${s+Pe[f].textDx}, ${o+h})`,textAnchor:Pe[f].textAnchor,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:f>=45&&f<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,p,u,g])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:Ie,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shanghaiSuburbanRailway.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};var Te=1.3,De=45,He=De-3,Ue=function(e,t){var n=[e,t].map((function(e){return e.match(/^(\w+).+$/)}));if(n[0]&&n[1]&&n[0][1]===n[1][1])return n[0][1]},Fe=function(e){var t=e.match(/^(\d+)\D+$/);return null==t?void 0:t[1]},Ve=function(){return Ve=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function Ke(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=qe(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=function(e,t){var n=Fe(e);if(n)return{isDigit:!0,spanningPart:n};var a=Ue(e,t);return a?{isDigit:!1,spanningPart:a}:{isDigit:!1,spanningPart:""}}(t,n),h=f.isDigit,p=f.spanningPart,u=s.useRef(null),g=Je(s.useState({x:0,height:0,width:0}),2),x=g[0],y=g[1];s.useEffect((function(){u.current&&y(u.current.getBBox())}),[t,n]);var C=He/Math.max(He,x.width),b=(-x.x-x.width/2)*C,v=x.height*(1-C)/2;return L.jsxs("g",Qe({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{fill:r?"#aaa":o}),L.jsx("g",{ref:u,transform:"translate(".concat(b,",").concat(v,")scale(").concat(C,")"),children:L.jsxs("text",{className:l,fontSize:21,x:-1,y:12,textAnchor:"end",dominantBaseline:"central",children:[p,L.jsx("tspan",{className:l,fontSize:10,x:0,dy:-4,textAnchor:"start",dominantBaseline:"central",children:t.slice(p.length).trim()}),L.jsx("tspan",{className:i,fontSize:6.5,letterSpacing:-.1,x:0,dy:10,textAnchor:"start",dominantBaseline:"middle",children:h?n:n.slice(p.length).trim()})]})}),d]}))}var et=function(){return et=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function at(e){var t,n=e.zhName,a=e.enName,o=e.foregroundColour,l=e.backgroundColour,i=e.zhClassName,r=e.enClassName,d=e.passed,c=e.children,f=tt(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),h=null!==(t=Fe(n))&&void 0!==t?t:"",p=s.useRef(null),u=s.useRef(null),g=nt(s.useState({width:0}),2),x=g[0],y=g[1],C=nt(s.useState({width:0}),2),b=C[0],v=C[1];s.useEffect((function(){p.current&&y(p.current.getBBox()),u.current&&v(u.current.getBBox())}),[n,a]);var j=He/Math.max(He,x.width),O=He/Math.max(He,b.width),w={nameZh:{y:7.3+13.5*(1-j)*j/2},nameEn:{y:19.5-9*(1-O)*O/2}};return L.jsxs("g",et({textAnchor:"middle",fill:d?m.white:o},f,{children:[L.jsx(Ze,{fill:d?"#aaa":l}),L.jsxs("text",{ref:p,className:i,fontSize:12,transform:"translate(0,".concat(w.nameZh.y,")scale(").concat(j,")"),dominantBaseline:"central",children:[L.jsx("tspan",{fontSize:16,dy:.7,dominantBaseline:"central",children:h}),L.jsx("tspan",{dy:-.7,dominantBaseline:"central",children:n.slice(h.length)})]}),L.jsx("text",{ref:u,className:r,fontSize:8,transform:"translate(0,".concat(w.nameEn.y,")scale(").concat(O,")"),dominantBaseline:"middle",children:a}),c]}))}var st=function(){return st=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function it(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=ot(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=s.useRef(null),h=lt(s.useState({width:0}),2),p=h[0],u=h[1];s.useEffect((function(){f.current&&u(f.current.getBBox())}),[t,n]);var g=Math.max(45,p.width+4);return L.jsxs("g",st({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{customWidth:g,fill:r?"#aaa":o}),L.jsxs("g",{ref:f,children:[L.jsx("text",{className:l,fontSize:8.5,y:8,dominantBaseline:"central",children:t}),L.jsx("text",{className:i,fontSize:5.5,y:18,dominantBaseline:"middle",children:n})]}),d]}))}var rt=function(){return rt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function ct(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=dt(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=s.useRef(null),h=s.useRef(null),p=mt(s.useState({width:0}),2),u=p[0],g=p[1],x=mt(s.useState({width:0}),2),y=x[0],C=x[1];s.useEffect((function(){f.current&&g(f.current.getBBox()),h.current&&C(h.current.getBBox())}),[t,n]);var b=He/Math.max(He,u.width),v=He/Math.max(He,y.width),j={nameZh:{y:7.3+13.5*(1-b)*b/2},nameEn:{y:19.5-9*(1-v)*v/2}};return L.jsxs("g",rt({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{fill:r?"#aaa":o}),L.jsx("text",{ref:f,className:l,fontSize:12,transform:"translate(0,".concat(j.nameZh.y,")scale(").concat(b,")"),dominantBaseline:"central",children:t}),L.jsx("text",{ref:h,className:i,fontSize:8,transform:"translate(0,".concat(j.nameEn.y,")scale(").concat(v,")"),dominantBaseline:"middle",children:n}),d]}))}var ft=function(){return ft=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=5?L.jsx(it,ft({},e)):L.jsx(ct,ft({},e))}})));var ht=function(e,t){return void 0!==Fe(e)?1:void 0!==Ue(e,t)?2:3},pt=function(){return pt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l},_t=s.forwardRef((function(e,t){var n=e.Icon,a=e.lineNum,o=e.stnNum,l=e.strokeColour,i=e.passed,r=e.size,d=e.textClassName,m=e.bolderBorder,c=e.useSameScale,f=e.children,h=Ot(e,["Icon","lineNum","stnNum","strokeColour","passed","size","textClassName","bolderBorder","useSameScale","children"]),p=s.useContext(vt).updateId,u=s.useRef(null),g=s.useRef(null),x=wt(s.useState({width:0}),2),y=x[0],C=x[1],b=wt(s.useState({width:0}),2),v=b[0],j=b[1];s.useEffect((function(){u.current&&C(u.current.getBBox()),g.current&&j(g.current.getBBox())}),[a,o,p]);var O=a&&a.length>2;s.useEffect((function(){c&&O&&console.warn("GenericStationNumber(), useSameScale props does not work when lineNum has more than 2 characters")}),[c,O]);var w=17/Math.max(17,y.width),_=c&&2===(null==a?void 0:a.length)?w:17/Math.max(17,v.width),k="sm"===r?"0.7":"lg"===r?"1.4":1;return L.jsxs("g",jt({ref:t},h,{children:[L.jsxs("g",{transform:"scale(".concat(k,")"),children:[L.jsx(n,{stroke:i?"#aaa":l,filled:!a&&!o,bolder:m}),(a||o)&&L.jsxs("g",{textAnchor:"middle",fontSize:13.5,fill:i?"#aaa":"#000",children:[L.jsx("g",{transform:"translate(-9.25,0)scale(".concat(w,")"),children:L.jsx("text",{ref:u,className:d,dominantBaseline:"central",x:.5,children:a})}),L.jsx("g",{transform:"translate(9.25,0)scale(".concat(_,")"),children:L.jsx("text",{ref:g,className:d,dominantBaseline:"central",children:o})})]})]}),f]}))})),kt=function(){return kt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l},Et=function(e,t){return Array.from(Array(e).keys()).map((function(n){return(n-(e-1)/2)*t}))},Xt=function(e){return"fmetro"===e?xt:bt},Yt=9.1,Rt=2.8600000000000003,It=s.forwardRef((function(e,t){var n=e.stations,a=e.textClassName,o=e.columns,l=void 0===o?2:o,i=e.topHeavy,r=e.anchorAt,d=e.osiPosition,m=e.children,c=$t(e,["stations","textClassName","columns","topHeavy","anchorAt","osiPosition","children"]),f=s.useMemo((function(){return function(e,t,n){if(e<=0)return[];if(1===e)return[[0,0]];for(var a=t>e?e:t,s=Et(a,38.3),o=Math.ceil(e/a),l=Et(o,19.8),i=e%a,r=[],d=0;d=f.length)return console.warn(", anchor index ".concat(r," is out of bound")),[0,0];var e=Wt(f[r],2);return[-e[0],-e[1]]}),[f,r]),2),p=h[0],u=h[1],g=s.useRef(null),x=s.useRef([]);s.useEffect((function(){x.current=x.current.slice(0,n.length)}),[n.length]);var y=2===n.length&&1===l&&!!d;return s.useImperativeHandle(t,(function(){return{target:g.current,children:x.current,getCoordinates:function(){return f},getCorrectedBBox:function(){var e,t,n=null!==(t=null===(e=g.current)||void 0===e?void 0:e.getBBox())&&void 0!==t?t:{x:0,y:0,width:0,height:0};return n.y-=4.55,n.height+=Yt,y?(n.x-="left"===d?1.4300000000000002:4.55,n.width+=5.98):(n.x-=4.55,n.width+=Yt),n},getTranslate:function(){return[p,u]}}}),[f,p,u,g.current,x.current,d]),L.jsxs("g",Bt({ref:g,transform:"translate(".concat(p,",").concat(u,")")},c,{children:[n.map((function(e,t){var n=e.style,a=Xt(n);return L.jsx(a,{stroke:"#aaa",filled:!0,strokeWidth:Yt,transform:"translate(".concat(f[t][0],",").concat(f[t][1],")")},t)})),y&&L.jsx(Pt,{position:d,r:13.206896551724137,strokeWidth:Rt,strokeDasharray:void 0}),n.map((function(e,t){var n=e.style,a=Xt(n);return L.jsx(a,{stroke:"white",filled:!0,strokeWidth:3.3800000000000003,transform:"translate(".concat(f[t][0],",").concat(f[t][1],")")},t)})),y&&L.jsx(Pt,{position:d}),n.length&&L.jsx("rect",{fill:"white",x:-12,y:f[0][1],width:24,height:2*-f[0][1]}),n.map((function(e,t){var n=e.style,s=$t(e,["style"]),o="fmetro"===n?St:zt;return L.jsx(o,Bt({ref:function(e){return x.current[t]=e},transform:"translate(".concat(f[t][0],",").concat(f[t][1],")"),textClassName:a},s),t)})),m]}))})),Lt=function(){return Lt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=Zt.nameOffsetX,nameOffsetY:p=Zt.nameOffsetY,color:u=Zt.color,lineCode:g=Zt.lineCode,stationCode:y=Zt.stationCode,open:C=Zt.open,secondaryNames:b=Zt.secondaryNames,tram:v=Zt.tram}=null!==(t=r[l.GzmtrBasic])&&void 0!==t?t:Zt,j=n.useCallback((e=>d(s,e)),[s,d]),O=n.useCallback((e=>m(s,e)),[s,m]),w=n.useCallback((e=>c(s,e)),[s,c]),_=n.useRef(null);null===(a=_.current)||void 0===a||null===(a=a.querySelector("path"))||void 0===a||a.setAttribute("id",`stn_core_${s}`);const k={en:v?5.08:6.56,zh:v?7.29:13.13},S={top:{namesPos:1,lineHeight:k.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:k.zh,polarity:1}},N=v?11:15,z="left"===h?-N:"right"===h?N:0,M=v?8:10,A=(f[S[p].namesPos].split("\n").length*S[p].lineHeight+M)*S[p].polarity,P="left"===h?"end":"right"===h?"start":C||"middle"!==h||""!==b.join("")?"middle":"end",B=n.useRef(null),[$,W]=n.useState(0);n.useEffect((()=>{var e,t;return W(null!==(e=null===(t=B.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...b,v]);const E=n.useRef(null),[X,Y]=n.useState(0);n.useEffect((()=>{var e,t;return Y(null!==(e=null===(t=E.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...f,v]);const R="middle"===h?X/2+($+24)/2:(X+($+24)/2)*("left"===h?-1:1),I="middle"===h&&""!==b.join("")?X/2+($+24):(X+$+(0!==$?24:0))*("left"===h?-1:"right"===h?1:0);return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsx("g",{transform:`scale(${.57915*(v?.729:1)})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},ref:_,children:L.jsx(zt,{id:`stn_core_${s}`,strokeColour:u[2],lineNum:""===g?void 0:g,stnNum:""===y?void 0:y,textClassName:"rmp-name__zh"})}),L.jsxs("g",{ref:E,transform:`translate(${z}, ${A})`,textAnchor:P,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:k.zh,lineHeight:k.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:k.en,lineHeight:k.en,grow:"down",className:"rmp-name__en"})]}),""!==b.join("")&&L.jsxs("g",{transform:`translate(${z+R}, ${A})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-($+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:($+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:B,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:b[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:b[1]})]})]}),!C&&L.jsxs("g",{transform:`translate(${z+I}, ${A})`,textAnchor:"middle"===h?"start":P,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("g",{transform:"translate(12,12)scale(0.45)",children:L.jsx(zt,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),defaultAttrs:Zt,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.GzmtrBasic,defaultTheme:Zt.color})},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.gzmtrBasic.open"),oneLine:!0,isChecked:n.open,onChange:e=>{n.open=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.gzmtrBasic.secondaryNameZh"),value:n.secondaryNames[0],onChange:e=>{n.secondaryNames[0]=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.gzmtrBasic.secondaryNameEn"),value:n.secondaryNames[1],onChange:e=>{n.secondaryNames[1]=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:n.tram,onChange:e=>{n.tram=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.gzmtrBasic.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},qt=[d.Guangzhou,"","#AAAAAA",m.white,"","","gz"];function Jt(e){const{interchangeList:t,onAdd:s,onDelete:l,onUpdate:i}=e,r=y(),{paletteAppClip:{output:d}}=C((e=>e.runtime)),{t:m}=a(),[c,f]=n.useState();n.useEffect((()=>{void 0!==c&&d&&(null==i||i(c,[...d,t[c][4],t[c][5],t[c][6]]),f(void 0))}),[null==d?void 0:d.toString()]);const h=t.map(((e,t)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:e[4],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],n,e[5],e[6]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:e[5],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],n,e[6]])}]));return L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s(qt),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:m("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{f(n),r(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(o,{fields:h[n],noLabel:0!==n}),L.jsxs(U,{children:[s&&n===h.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>null==s?void 0:s(t.slice(-1)[0]),icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),l&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>null==l?void 0:l(n),icon:L.jsx(k,{})}),L.jsx(o,{fields:[{type:"switch",label:m("panel.details.stations.gzmtrInt.foshan"),isChecked:"fs"===e[6],onChange:t=>((e,t,n)=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],e[5],n?"fs":"gz"]))(e,n,t)}]})]})]},n)))]})}const Kt=[[[0,0]],[[0,0]],[[-21,0],[21,0]],[[-21.65,-12.5],[21.65,-12.5],[0,25]],[[-23,-18],[22,-16],[23,18],[-22,16]]],en={...x,nameOffsetX:"right",nameOffsetY:"top",transfer:[[],[]],open:!0,secondaryNames:["",""],tram:!1},tn={component:e=>{var t,a,s,o,i,r,d,m,c,f,h,p,u,g,y,C,b,v,j,O,w,_,k,S;const{id:N,x:z,y:M,attrs:A,handlePointerDown:P,handlePointerMove:B,handlePointerUp:$}=e,{names:W=x.names,nameOffsetX:E=en.nameOffsetX,nameOffsetY:X=en.nameOffsetY,transfer:Y=en.transfer,open:R=en.open,secondaryNames:I=en.secondaryNames,tram:T=en.tram}=null!==(t=A[l.GzmtrInt])&&void 0!==t?t:en,D=n.useCallback((e=>P(N,e)),[N,P]),H=n.useCallback((e=>B(N,e)),[N,B]),U=n.useCallback((e=>$(N,e)),[N,$]),F=V("white","var(--chakra-colors-gray-800)"),G={en:T?5.08:6.56,zh:T?7.29:13.13},Z={top:{namesPos:1,lineHeight:G.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:G.zh,polarity:1}},Q=T?18:25,q=("left"===E?-Q:"right"===E?Q:0)*("middle"===X?1.1:1),J=T?14:18,K=(W[Z[X].namesPos].split("\n").length*Z[X].lineHeight+J*("middle"===E?1.1:1))*Z[X].polarity,ee="left"===E?"end":"right"===E?"start":R||"middle"!==E||""!==I.join("")?"middle":"end",te=Y.flat().slice(0,4),ne=[["black","black"],[null!==(a=null===(s=te.at(0))||void 0===s?void 0:s.at(2))&&void 0!==a?a:"black",null!==(o=null===(i=te.at(0))||void 0===i?void 0:i.at(2))&&void 0!==o?o:"black"],[null!==(r=null===(d=te.at(0))||void 0===d?void 0:d.at(2))&&void 0!==r?r:"black",null!==(m=null===(c=te.at(1))||void 0===c?void 0:c.at(2))&&void 0!==m?m:"black"],[null!==(f=null===(h=te.at(0))||void 0===h?void 0:h.at(2))&&void 0!==f?f:"black",null!==(p=null===(u=te.at(1))||void 0===u?void 0:u.at(2))&&void 0!==p?p:"black",null!==(g=null===(y=te.at(2))||void 0===y?void 0:y.at(2))&&void 0!==g?g:"black"],[null!==(C=null===(b=te.at(0))||void 0===b?void 0:b.at(2))&&void 0!==C?C:"black",null!==(v=null===(j=te.at(1))||void 0===j?void 0:j.at(2))&&void 0!==v?v:"black",null!==(O=null===(w=te.at(2))||void 0===w?void 0:w.at(2))&&void 0!==O?O:"black",null!==(_=null===(k=te.at(3))||void 0===k?void 0:k.at(2))&&void 0!==_?_:"black"]],ae=n.useRef(null),[se,oe]=n.useState(0);n.useEffect((()=>{var e,t;return oe(null!==(e=null===(t=ae.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...I]);const le=n.useRef(null),[ie,re]=n.useState(0);n.useEffect((()=>{var e,t;return re(null!==(e=null===(t=le.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...W]);const de=(ie+(se+24)/2)*("left"===E?-1:1),me=(ie+se+(0!==se?24:0))*("left"===E?-1:"right"===E||0!==se?1:0),ce="middle"===E?"start":ee;return L.jsxs("g",{id:N,transform:`translate(${z}, ${M})`,children:[te.map((e=>e[2])).filter(((e,t,n)=>n.indexOf(e)===t)).map((e=>L.jsx("marker",{id:`gzmtr_int_arrow_${e}`,markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:L.jsx("polygon",{points:"0.25,0 0.25,2.5 2.25,1.25",fill:e})},`gzmtr_int_arrow_${e}`))),L.jsxs("g",{transform:`scale(${.57915*(T?.729:1)})`,children:[te.length<=2&&L.jsxs(L.Fragment,{children:[L.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15 L 21,15 A 28 28 0 0 1 -21,15 Z",fill:F}),L.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 21,15 A 28 28 0 0 1 -21,15",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`})]}),3===te.length&&L.jsxs(L.Fragment,{children:[L.jsx("circle",{r:"25",fill:F}),L.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 21.65,12.5 A 25 25 0 0 1 -21.65,12.5",fill:"none",stroke:ne[te.length][2],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`}),L.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`})]}),te.length>=4&&L.jsxs(L.Fragment,{children:[L.jsx("circle",{r:"25",fill:F}),L.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",stroke:ne[te.length][2],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`}),L.jsx("path",{d:"M 0,25 A 25 25 0 0 1 -25,0",fill:"none",stroke:ne[te.length][3],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][3]})`}),L.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`})]}),null===(S=Y[0])||void 0===S?void 0:S.map(((e,t,n)=>L.jsx("g",{transform:`translate(${Kt[n.length][t][0]},${Kt[n.length][t][1]})`,children:"gz"===e[6]?L.jsx(zt,{strokeColour:e[2],lineNum:e[4],stnNum:e[5],textClassName:"rmp-name__zh"}):L.jsx(St,{strokeColour:e[2],lineNum:e[4],stnNum:e[5],textClassName:"rmp-name__zh"})},`gzmtr_int_${N}_stn_${t}`))),L.jsx("circle",{id:`stn_core_${N}`,r:"25",fill:"white",fillOpacity:"0",onPointerDown:D,onPointerMove:H,onPointerUp:U,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{ref:le,transform:`translate(${q}, ${K})`,textAnchor:ee,children:[L.jsx(ye,{text:W[0].split("\\"),fontSize:G.zh,lineHeight:G.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:W[1].split("\\"),fontSize:G.en,lineHeight:G.en,grow:"down",className:"rmp-name__en"})]}),""!==I.join("")&&L.jsxs("g",{transform:`translate(${q+de}, ${K})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-(se+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:(se+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:ae,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:I[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:I[1]})]})]}),!R&&L.jsxs("g",{transform:`translate(${q+me}, ${K})`,textAnchor:ce,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("g",{transform:"translate(6,12)scale(0.3)",children:L.jsx(zt,{strokeColour:"currentColor",lineNum:"1",stnNum:"09"})}),L.jsx("g",{transform:"translate(18,12)scale(0.3)",children:L.jsx(zt,{strokeColour:"currentColor",lineNum:"2",stnNum:"13"})}),L.jsx("marker",{id:"arrow",markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:L.jsx("polygon",{points:"0,0 0,3 2,1.5"})}),L.jsx("path",{d:"M 6,6 A 8 8 0 0 1 18,6",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"}),L.jsx("path",{d:"M 18,18 A 8 8 0 0 1 6,18",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"})]}),defaultAttrs:en,attrsComponent:e=>{var t;const{id:s,attrs:l,handleAttrsUpdate:i}=e,{t:r}=a(),d=[{type:"textarea",label:r("panel.details.stations.common.nameZh"),value:l.names[0],onChange:e=>{l.names[0]=e,i(s,l)},minW:"full"},{type:"textarea",label:r("panel.details.stations.common.nameEn"),value:l.names[1],onChange:e=>{l.names[1]=e,i(s,l)},minW:"full"},{type:"select",label:r("panel.details.stations.common.nameOffsetX"),value:l.nameOffsetX,options:{left:r("panel.details.stations.common.left"),middle:r("panel.details.stations.common.middle"),right:r("panel.details.stations.common.right")},disabledOptions:"middle"===l.nameOffsetY?["middle"]:[],onChange:e=>{l.nameOffsetX=e,i(s,l)},minW:"full"},{type:"select",label:r("panel.details.stations.common.nameOffsetY"),value:l.nameOffsetY,options:{top:r("panel.details.stations.common.top"),middle:r("panel.details.stations.common.middle"),bottom:r("panel.details.stations.common.bottom")},disabledOptions:"middle"===l.nameOffsetX?["middle"]:[],onChange:e=>{l.nameOffsetY=e,i(s,l)},minW:"full"},{type:"switch",label:r("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:l.open,onChange:e=>{l.open=e,i(s,l)},minW:"full"},{type:"input",label:r("panel.details.stations.gzmtrInt.secondaryNameZh"),value:l.secondaryNames[0],onChange:e=>{l.secondaryNames[0]=e,i(s,l)},minW:"full"},{type:"input",label:r("panel.details.stations.gzmtrInt.secondaryNameEn"),value:l.secondaryNames[1],onChange:e=>{l.secondaryNames[1]=e.toString(),i(s,l)},minW:"full"},{type:"switch",label:r("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:l.tram,onChange:e=>{l.tram=e,i(s,l)},minW:"full"}],m=[4,4,0],c=null!==(t=l.transfer)&&void 0!==t?t:en.transfer,f=e=>t=>{const n=structuredClone(c);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[qt];n[e].push(t),l.transfer=n,i(s,l)},h=e=>(t,n)=>{if(c.length>e&&c[e].length>t){const a=c.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5,6].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));l.transfer=a,i(s,l)}};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:d}),L.jsx(j,{label:r("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[c.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:r(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(Jt,{interchangeList:e,onAdd:m[t]>e.length?f(t):void 0,onDelete:(a=t,e=>{if(c.length>a&&c[a].length>e){const t=c.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));l.transfer=t,i(s,l)}}),onUpdate:h(t)})]},t);var a})),m[c.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>f(c.length)(qt),children:r("panel.details.stations.interchange.addGroup")})]})})]})},metadata:{displayName:"panel.details.stations.gzmtrInt.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};var nn=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,s,o=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};const an=6.56,sn=13.13,on=structuredClone(Ce);on.top.lineHeight=an,on.bottom.lineHeight=sn;const ln={...x,nameOffsetX:"right",nameOffsetY:"top",transfer:[[[d.Guangzhou,"gz1","#F3D03E",m.white,"1","14","gz"],[d.Guangzhou,"gz3","#ECA154",m.white,"3","11","gz"]]],open:!0,secondaryNames:["",""],columns:2,topHeavy:!1,anchorAt:-1,osiPosition:"none"},rn={component:e=>{var t,a,s,o,i,r,d;const{id:m,x:c,y:f,attrs:h,handlePointerDown:p,handlePointerMove:u,handlePointerUp:g}=e,{names:y=x.names,nameOffsetX:C=ln.nameOffsetX,nameOffsetY:b=ln.nameOffsetY,transfer:v=ln.transfer,open:j=ln.open,secondaryNames:O=ln.secondaryNames,columns:w=ln.columns,topHeavy:_=ln.topHeavy,anchorAt:k=ln.anchorAt,osiPosition:S=ln.osiPosition}=null!==(t=h[l.GzmtrInt2024])&&void 0!==t?t:ln,N=n.useCallback((e=>p(m,e)),[m,p]),z=n.useCallback((e=>u(m,e)),[m,u]),M=n.useCallback((e=>g(m,e)),[m,g]),A=v.flat().slice(0,5),P=A.map((e=>({style:"gz"===e[6]?"gzmtr":"fmetro",lineNum:e[4],stnNum:e[5],strokeColour:e[2]}))),[B,$]=n.useState(),[W,E]=n.useState([0,0]),X=n.useRef(null);n.useEffect((()=>{X.current&&($(X.current.getCorrectedBBox()),E(X.current.getTranslate()))}),[X.current,A.length,w,_,k]);const Y={x1:(null!==(a=null==B?void 0:B.x)&&void 0!==a?a:0)+W[0],y1:(null!==(s=null==B?void 0:B.y)&&void 0!==s?s:0)+W[1],x2:(null!==(o=null==B?void 0:B.x)&&void 0!==o?o:0)+(null!==(i=null==B?void 0:B.width)&&void 0!==i?i:0)+W[0],y2:(null!==(r=null==B?void 0:B.y)&&void 0!==r?r:0)+(null!==(d=null==B?void 0:B.height)&&void 0!==d?d:0)+W[1]},{update:R}=n.useContext(vt);n.useEffect((()=>{document.fonts.load("12px Arial","ABCDEFG123456").finally((()=>setTimeout(R,100)))}),[]);const I=.6*("left"===C?Y.x1:"right"===C?Y.x2:0),T=y[on[b].namesPos].split("\n").length*on[b].lineHeight*on[b].polarity+.6*("top"===b?Y.y1:"bottom"===b?Y.y2:0),D="left"===C?"end":"right"===C?"start":j||"middle"!==C||""!==O.join("")?"middle":"end",H=n.useRef(null),[U,F]=n.useState(0);n.useEffect((()=>{var e,t;return F(null!==(e=null===(t=H.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...O]);const V=n.useRef(null),[G,Z]=n.useState(0);n.useEffect((()=>{var e,t;return Z(null!==(e=null===(t=V.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...y]);const Q=(G+(U+24)/2)*("left"===C?-1:1),q=(G+U+(0!==U?24:0))*("left"===C?-1:"right"===C||0!==U?1:0),J="middle"===C?"start":D;return L.jsxs("g",{id:m,transform:`translate(${c}, ${f})`,children:[L.jsxs("g",{transform:"scale(0.56)",children:[L.jsx(It,{ref:X,stations:P,textClassName:"rmp-name__zh",columns:w,topHeavy:_,anchorAt:k>=0?k:void 0,osiPosition:2===v.flat().length&&1===w&&"none"!==S?S:void 0}),L.jsx("rect",{id:`stn_core_${m}`,x:Y.x1,y:Y.y1,width:Y.x2-Y.x1,height:Y.y2-Y.y1,fill:"white",fillOpacity:"0",onPointerDown:N,onPointerMove:z,onPointerUp:M,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{ref:V,transform:`translate(${I}, ${T})`,textAnchor:D,children:[L.jsx(ye,{text:y[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:y[1].split("\n"),fontSize:6.56,lineHeight:6.56,grow:"down",className:"rmp-name__en"})]}),""!==O.join("")&&L.jsxs("g",{transform:`translate(${I+Q}, ${T})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-(U+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:(U+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:H,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:O[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:O[1]})]})]}),!j&&L.jsxs("g",{transform:`translate(${I+q}, ${T})`,textAnchor:J,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx(It,{stations:[{strokeColour:"currentColor",lineNum:"3",stnNum:"03"},{strokeColour:"currentColor",lineNum:"7",stnNum:"05"}],textClassName:"rmp-name__zh",columns:1,transform:"translate(12,12)scale(0.3)"})}),defaultAttrs:ln,attrsComponent:e=>{var t,s;const{id:l,attrs:i,handleAttrsUpdate:r}=e,{t:d}=a(),m=[{type:"textarea",label:d("panel.details.stations.common.nameZh"),value:i.names[0],onChange:e=>{i.names[0]=e,r(l,i)},minW:"full"},{type:"textarea",label:d("panel.details.stations.common.nameEn"),value:i.names[1],onChange:e=>{i.names[1]=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.common.nameOffsetX"),value:i.nameOffsetX,options:{left:d("panel.details.stations.common.left"),middle:d("panel.details.stations.common.middle"),right:d("panel.details.stations.common.right")},disabledOptions:"middle"===i.nameOffsetY?["middle"]:[],onChange:e=>{i.nameOffsetX=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.common.nameOffsetY"),value:i.nameOffsetY,options:{top:d("panel.details.stations.common.top"),middle:d("panel.details.stations.common.middle"),bottom:d("panel.details.stations.common.bottom")},disabledOptions:"middle"===i.nameOffsetX?["middle"]:[],onChange:e=>{i.nameOffsetY=e,r(l,i)},minW:"full"},{type:"slider",label:d("panel.details.stations.gzmtrInt2024.columns"),value:i.columns,min:1,max:Math.min(5,i.transfer.flat().length),step:1,onChange:e=>{i.columns=e,r(l,i)},leftIcon:L.jsx(S,{}),rightIcon:L.jsx(v,{}),minW:"full"},{type:"switch",label:d("panel.details.stations.gzmtrInt2024.topHeavy"),oneLine:!0,isChecked:i.topHeavy,onChange:e=>{i.topHeavy=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.gzmtrInt2024.anchorAt"),value:null!==(t=i.anchorAt)&&void 0!==t?t:"-1",options:{"-1":d("panel.details.stations.gzmtrInt2024.anchorAtNone"),...Object.fromEntries(Array.from({length:Math.min(i.transfer.flat().length,4)},((e,t)=>[t.toString(),t])))},onChange:e=>{i.anchorAt=Number(e),r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.gzmtrInt2024.osiPosition"),value:i.osiPosition,options:{none:d("panel.details.stations.gzmtrInt2024.osiPositionNone"),left:d("panel.details.stations.gzmtrInt2024.osiPositionLeft"),right:d("panel.details.stations.gzmtrInt2024.osiPositionRight")},onChange:e=>{i.osiPosition=e,r(l,i)},hidden:!(2===i.transfer.flat().length&&1===i.columns),minW:"full"},{type:"switch",label:d("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:i.open,onChange:e=>{i.open=e,r(l,i)},minW:"full"},{type:"input",label:d("panel.details.stations.gzmtrInt.secondaryNameZh"),value:i.secondaryNames[0],onChange:e=>{i.secondaryNames[0]=e,r(l,i)},minW:"full"},{type:"input",label:d("panel.details.stations.gzmtrInt.secondaryNameEn"),value:i.secondaryNames[1],onChange:e=>{i.secondaryNames[1]=e.toString(),r(l,i)},minW:"full"}],c=[5,5,0],f=null!==(s=i.transfer)&&void 0!==s?s:ln.transfer,h=e=>t=>{const n=structuredClone(f);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[qt];n[e].push(t),i.transfer=n,r(l,i)},p=e=>(t,n)=>{if(f.length>e&&f[e].length>t){const a=f.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5,6].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));i.transfer=a,r(l,i)}};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:m}),L.jsx(j,{label:d("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[f.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:d(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(Jt,{interchangeList:e,onAdd:c[t]>e.length?h(t):void 0,onDelete:(a=t,e=>{if(f.length>a&&f[a].length>e){const t=f.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));i.transfer=t,i.anchorAt=-1,r(l,i)}}),onUpdate:p(t)})]},t);var a})),c[f.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>h(f.length)(qt),children:d("panel.details.stations.interchange.addGroup")})]})})]})},metadata:{displayName:"panel.details.stations.gzmtrInt2024.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},dn={zh:9,en:6.2,top:7.2,middle:0,bottom:10},mn={...x,nameOffsetX:"right",nameOffsetY:"top",open:!0},cn=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:mn).names[0],onChange:(e,t)=>{const n=null!=t?t:mn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:mn).names[1],onChange:(e,t)=>{const n=null!=t?t:mn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:mn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:mn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:mn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:mn;return n.nameOffsetY=e,n}},{type:"switch",label:"panel.details.stations.bjsubwayBasic.open",oneLine:!0,isChecked:e=>(null!=e?e:mn).open,onChange:(e,t)=>{const n=null!=t?t:mn;return n.open=e,n}}],fn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=mn.nameOffsetX,nameOffsetY:h=mn.nameOffsetY,open:p=mn.open}=null!==(t=i[l.BjsubwayBasic])&&void 0!==t?t:mn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),[C,b]=(j=h,"left"===(v=f)&&"top"===j?[-4,-(c[1].split("\n").length+(p?0:1))*dn[j]-1]:"middle"===v&&"top"===j?[0,-(c[1].split("\n").length+(p?0:1))*dn[j]-4]:"right"===v&&"top"===j?[4,-(c[1].split("\n").length+(p?0:1))*dn[j]-1]:"left"===v&&"bottom"===j?[-4,c[0].split("\n").length*dn[j]+1]:"middle"===v&&"bottom"===j?[0,c[0].split("\n").length*dn[j]+4]:"right"===v&&"bottom"===j?[4,c[0].split("\n").length*dn[j]+1]:"left"===v&&"middle"===j?[-5,0]:"right"===v&&"middle"===j?[5,0]:[0,0]);var v,j;const O="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:"4",stroke:"black",strokeWidth:"0.5",strokeDasharray:p?void 0:"1.5",fill:"white",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:O,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:dn.zh,lineHeight:dn.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),L.jsx(ye,{text:c[1].split("\n"),fontSize:dn.en,lineHeight:dn.en,grow:"down",className:"rmp-name__en",baseOffset:1}),!p&&L.jsx("text",{dy:c[1].split("\n").length*dn.en+2,fontSize:dn.en,dominantBaseline:"hanging",className:"rmp-name__zh",children:"(暂缓开通)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})}),defaultAttrs:mn,attrsComponent:()=>L.jsx(N,{fields:cn}),metadata:{displayName:"panel.details.stations.bjsubwayBasic.displayName",cities:[d.Beijing],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},hn="M 8.359893 4.159288 C 8.368828 4.168825 8.460953 4.26852 8.57038 4.386985 C 8.679807 4.505449 8.860802 4.701382 8.972592 4.822389 C 9.084381 4.943397 9.238666 5.110407 9.315445 5.193521 C 9.392224 5.276636 9.519867 5.414817 9.599094 5.500589 C 9.678323 5.58636 9.801023 5.719209 9.871761 5.795812 C 9.942499 5.872413 10.000208 5.935256 9.999999 5.935465 C 9.999792 5.935671 9.975513 5.928466 9.946045 5.919453 C 9.916577 5.910439 9.831826 5.88438 9.757708 5.861543 C 9.683591 5.838706 9.532284 5.791997 9.421472 5.757746 C 9.310658 5.723495 9.190374 5.686309 9.154173 5.675113 C 9.11797 5.663918 9.048485 5.642428 8.99976 5.627359 C 8.951035 5.612291 8.910275 5.599729 8.909181 5.599446 C 8.907193 5.59893 8.907193 5.59893 8.907135 5.798288 C 8.907103 5.907935 8.906695 6.128369 8.906229 6.288144 C 8.905446 6.555825 8.905249 6.580968 8.903705 6.608245 C 8.902784 6.624527 8.90139 6.647987 8.900606 6.660379 C 8.899822 6.672773 8.898192 6.695836 8.896983 6.711632 C 8.895774 6.727427 8.893582 6.753074 8.892114 6.768627 C 8.890645 6.784179 8.888061 6.80923 8.88637 6.824296 C 8.884679 6.839362 8.88172 6.864065 8.879793 6.879189 C 8.877868 6.894315 8.874691 6.917777 8.872734 6.931325 C 8.870777 6.944874 8.867386 6.967292 8.865197 6.981143 C 8.863009 6.994995 8.859045 7.018654 8.856388 7.03372 C 8.853731 7.048786 8.849344 7.072617 8.84664 7.086676 C 8.843935 7.100736 8.839338 7.1236 8.836424 7.137486 C 8.833509 7.151371 8.828584 7.174065 8.825479 7.187916 C 8.822371 7.201767 8.817014 7.224831 8.81357 7.239167 C 8.810127 7.253505 8.80431 7.276767 8.800644 7.29086 C 8.796978 7.304955 8.791035 7.327222 8.787437 7.340344 C 8.78384 7.353467 8.77752 7.375735 8.773395 7.389829 C 8.769268 7.403923 8.762319 7.426986 8.757952 7.441081 C 8.753583 7.455174 8.746363 7.47784 8.741903 7.491448 C 8.737446 7.505056 8.729829 7.527523 8.724978 7.541374 C 8.720126 7.555225 8.712182 7.577493 8.707321 7.590858 C 8.702462 7.604224 8.6948 7.624901 8.690294 7.636807 C 8.68579 7.648715 8.677304 7.670452 8.671437 7.685113 C 8.665571 7.699773 8.656536 7.721842 8.651362 7.734155 C 8.646187 7.746468 8.63796 7.765688 8.63308 7.776865 C 8.628201 7.788043 8.620145 7.806136 8.615178 7.817071 C 8.610211 7.828006 8.60083 7.848286 8.594332 7.862138 C 8.587832 7.875988 8.573873 7.904618 8.563307 7.92576 C 8.552743 7.946901 8.537873 7.975929 8.530265 7.990266 C 8.522656 8.004602 8.511053 8.026075 8.504479 8.037983 C 8.497905 8.04989 8.486739 8.069772 8.479666 8.082165 C 8.472593 8.094558 8.460988 8.11444 8.453878 8.126348 C 8.446768 8.138254 8.435438 8.156944 8.428702 8.167879 C 8.421966 8.178814 8.410628 8.196906 8.403507 8.208085 C 8.396386 8.219262 8.384013 8.238349 8.37601 8.2505 C 8.36801 8.26265 8.354345 8.282929 8.345645 8.295566 C 8.336946 8.308201 8.322885 8.328276 8.314397 8.340175 C 8.305909 8.352074 8.292209 8.37096 8.283951 8.382147 C 8.275693 8.393333 8.261178 8.41259 8.251695 8.42494 C 8.242211 8.437289 8.225837 8.458165 8.215304 8.471332 C 8.204773 8.484497 8.189062 8.503819 8.18039 8.514267 C 8.17172 8.524716 8.157459 8.541616 8.148703 8.551823 C 8.139945 8.562029 8.125004 8.579116 8.115499 8.589793 C 8.105992 8.600471 8.091457 8.616575 8.083197 8.625581 C 8.074937 8.634586 8.060843 8.649709 8.05188 8.659185 C 8.042916 8.668662 8.018659 8.69335 7.997974 8.714046 C 7.977291 8.734741 7.953162 8.758432 7.944355 8.766693 C 7.935549 8.774953 7.920821 8.788638 7.911628 8.797104 C 7.902433 8.805571 7.887569 8.819082 7.878597 8.827129 C 7.869623 8.835177 7.853733 8.849096 7.843284 8.858062 C 7.832834 8.867027 7.816133 8.881153 7.806171 8.889453 C 7.796208 8.897753 7.779904 8.911098 7.769942 8.919111 C 7.759978 8.927123 7.743874 8.939848 7.734154 8.947388 C 7.724434 8.954926 7.708329 8.96721 7.698366 8.974683 C 7.688403 8.982156 7.673093 8.993497 7.664346 8.999885 C 7.655598 9.006271 7.637505 9.019163 7.62414 9.02853 C 7.610775 9.037899 7.588109 9.053377 7.573772 9.062926 C 7.559434 9.072475 7.538474 9.086151 7.527194 9.093318 C 7.515913 9.100485 7.497422 9.112045 7.486104 9.119009 C 7.474786 9.125973 7.454846 9.137918 7.441793 9.145553 C 7.428741 9.153188 7.405677 9.166317 7.390542 9.174728 C 7.375406 9.18314 7.352087 9.19579 7.338722 9.20284 C 7.325357 9.209889 7.303686 9.221025 7.290564 9.227587 C 7.277442 9.234147 7.256366 9.2444 7.243731 9.250369 C 7.231095 9.256339 7.211213 9.265569 7.199549 9.27088 C 7.187884 9.27619 7.168797 9.28464 7.157134 9.289659 C 7.145469 9.294676 7.124792 9.303333 7.111184 9.308895 C 7.097576 9.31446 7.075367 9.323255 7.061831 9.328442 C 7.048295 9.333629 7.027816 9.341289 7.016323 9.345462 C 7.00483 9.349636 6.978328 9.358748 6.95743 9.365711 C 6.936532 9.372675 6.906311 9.382359 6.890272 9.38723 C 6.874235 9.392101 6.849581 9.399302 6.835486 9.403231 C 6.821393 9.40716 6.796739 9.413705 6.7807 9.417776 C 6.764662 9.421847 6.740208 9.427785 6.726356 9.430971 C 6.712505 9.434157 6.689641 9.439174 6.675548 9.442118 C 6.661452 9.445063 6.639384 9.449434 6.626504 9.451833 C 6.613625 9.454231 6.591038 9.458187 6.57631 9.460623 C 6.561581 9.463058 6.538518 9.46664 6.525058 9.468584 C 6.511598 9.470528 6.487662 9.473704 6.471867 9.475644 C 6.456071 9.477583 6.433207 9.480169 6.421057 9.481392 C 6.408907 9.482615 6.387236 9.4846 6.372898 9.485805 C 6.358561 9.487008 6.333112 9.488794 6.316345 9.489771 C 6.299578 9.490749 6.276316 9.491956 6.264652 9.492452 C 6.252987 9.492949 6.216803 9.493517 6.18424 9.493716 C 6.151678 9.493916 6.114499 9.493756 6.10162 9.493363 C 6.088739 9.49297 6.06866 9.492202 6.056995 9.491656 C 6.045331 9.491112 6.026046 9.490059 6.014138 9.489319 C 6.002231 9.488579 5.982548 9.487186 5.970398 9.486226 C 5.958248 9.485266 5.939956 9.483668 5.92975 9.482677 C 5.919544 9.481687 5.902445 9.479897 5.891753 9.478702 C 5.881061 9.477505 5.864443 9.475529 5.854823 9.47431 C 5.845204 9.47309 5.827708 9.470707 5.815943 9.469012 C 5.804178 9.467319 5.784412 9.464314 5.77202 9.462336 C 5.759627 9.460358 5.745908 9.458071 5.741535 9.457253 C 5.733583 9.455767 5.733583 9.455767 5.750813 9.451963 C 5.76029 9.449871 5.778183 9.445793 5.790576 9.442902 C 5.802969 9.440009 5.82305 9.435088 5.8352 9.431966 C 5.847351 9.428843 5.867067 9.423503 5.879014 9.420099 C 5.890961 9.416695 5.911639 9.410524 5.924964 9.406386 C 5.938288 9.402248 5.960324 9.395124 5.973932 9.390556 C 5.98754 9.385988 6.008053 9.378835 6.019516 9.374659 C 6.030978 9.370483 6.050462 9.363131 6.062815 9.358321 C 6.075166 9.353508 6.094417 9.34577 6.105595 9.341125 C 6.116774 9.336478 6.135264 9.328524 6.146685 9.323448 C 6.158106 9.318373 6.177591 9.309499 6.189984 9.303728 C 6.202377 9.297957 6.224247 9.287379 6.238585 9.280221 C 6.252921 9.273063 6.273399 9.262563 6.284092 9.256887 C 6.294784 9.251213 6.314865 9.240225 6.328716 9.232468 C 6.342567 9.224712 6.361654 9.213777 6.371131 9.208166 C 6.380608 9.202557 6.396514 9.192982 6.406477 9.18689 C 6.41644 9.180798 6.432345 9.170843 6.441822 9.164769 C 6.4513 9.158695 6.467404 9.14816 6.47761 9.141357 C 6.487816 9.134555 6.50392 9.123611 6.513398 9.117039 C 6.522875 9.110467 6.539177 9.098936 6.549627 9.091415 C 6.560077 9.083895 6.577971 9.070704 6.589391 9.062101 C 6.600812 9.053498 6.618895 9.039583 6.629575 9.031179 C 6.640255 9.022773 6.656757 9.009534 6.666247 9.001758 C 6.675736 8.993981 6.692227 8.980227 6.702893 8.971191 C 6.713559 8.962157 6.730458 8.94742 6.740448 8.938442 C 6.750437 8.929464 6.766562 8.914768 6.776282 8.905784 C 6.786003 8.896801 6.803698 8.880239 6.815604 8.868983 C 6.827512 8.857727 6.843456 8.842402 6.851037 8.834927 C 6.858617 8.827451 6.873728 8.812176 6.884615 8.800982 C 6.895503 8.789788 6.912683 8.77174 6.922792 8.760878 C 6.932902 8.750012 6.949699 8.731606 6.960117 8.719973 C 6.970537 8.70834 6.986147 8.690599 6.994807 8.68055 C 7.003467 8.670501 7.017852 8.65353 7.026772 8.642838 C 7.035693 8.632146 7.053 8.610872 7.065231 8.595562 C 7.077464 8.580254 7.09533 8.557407 7.104936 8.544792 C 7.114541 8.532177 7.129989 8.511499 7.139265 8.498842 C 7.14854 8.486185 7.164221 8.464337 7.174109 8.450293 C 7.183999 8.436249 7.199718 8.413383 7.209044 8.399484 C 7.218369 8.385583 7.232209 8.364666 7.2398 8.353003 C 7.247391 8.341338 7.260236 8.321177 7.268346 8.3082 C 7.276455 8.295223 7.289493 8.27395 7.297318 8.260925 C 7.305143 8.247901 7.317313 8.227304 7.32436 8.215153 C 7.331408 8.203004 7.344023 8.180735 7.352394 8.165669 C 7.360765 8.150602 7.372812 8.128534 7.379167 8.116627 C 7.385522 8.104719 7.396764 8.083248 7.404151 8.06891 C 7.411537 8.054573 7.422352 8.0331 7.428184 8.021194 C 7.434016 8.009287 7.443347 7.990001 7.448918 7.978336 C 7.45449 7.966672 7.463351 7.947784 7.468609 7.936364 C 7.473868 7.924943 7.482234 7.906453 7.4872 7.895274 C 7.492166 7.884096 7.500586 7.86481 7.505909 7.852417 C 7.511233 7.840024 7.519759 7.819808 7.524855 7.807493 C 7.529951 7.795179 7.538242 7.7747 7.543279 7.761986 C 7.548316 7.749271 7.556671 7.727735 7.561847 7.714127 C 7.567022 7.700519 7.57545 7.677853 7.580575 7.663759 C 7.585701 7.649664 7.594637 7.624414 7.600433 7.607646 C 7.60623 7.59088 7.615365 7.563642 7.620735 7.547118 C 7.626104 7.530593 7.634661 7.503554 7.63975 7.48703 C 7.644838 7.470506 7.653173 7.442472 7.658273 7.424733 C 7.663371 7.406994 7.671309 7.378562 7.675913 7.361553 C 7.680518 7.344542 7.688414 7.314123 7.69346 7.293953 C 7.698508 7.273784 7.705483 7.244955 7.708961 7.229889 C 7.712439 7.214823 7.717614 7.19176 7.720461 7.178638 C 7.723308 7.165516 7.728016 7.143247 7.730923 7.129154 C 7.733829 7.115059 7.738621 7.090804 7.74157 7.075251 C 7.74452 7.0597 7.749294 7.033455 7.752179 7.016931 C 7.755066 7.000407 7.759431 6.974154 7.761884 6.958592 C 7.764333 6.94303 7.768123 6.917978 7.770304 6.902922 C 7.772485 6.887866 7.775877 6.86322 7.777843 6.848155 C 7.779809 6.833088 7.783001 6.807043 7.784938 6.790275 C 7.786876 6.773509 7.789651 6.74806 7.791106 6.733722 C 7.792561 6.719385 7.794953 6.693936 7.796421 6.677169 C 7.797888 6.660402 7.800071 6.632964 7.801272 6.616198 C 7.802474 6.599431 7.804076 6.575174 7.804832 6.562295 C 7.80559 6.549416 7.806592 6.532119 7.807061 6.523856 C 7.807529 6.515595 7.80835 6.421553 7.808886 6.314875 C 7.809421 6.208197 7.809724 6.003942 7.80956 5.860975 C 7.809398 5.718009 7.809015 5.600789 7.808712 5.600486 C 7.808408 5.600182 7.68663 5.63752 7.538092 5.68346 C 7.389553 5.7294 7.213946 5.783698 7.147853 5.804122 C 7.08176 5.824546 6.974794 5.857548 6.910151 5.877461 C 6.845508 5.897371 6.776261 5.918652 6.75627 5.924749 C 6.736279 5.930848 6.719744 5.935658 6.719525 5.93544 C 6.719306 5.935221 6.790938 5.857274 6.878708 5.762224 C 6.966477 5.667175 7.110461 5.511271 7.198671 5.415771 C 7.286881 5.320272 7.433807 5.161213 7.525173 5.062309 C 7.616539 4.963404 7.76605 4.801562 7.857421 4.702663 C 7.948792 4.603762 8.093983 4.446596 8.180069 4.353404 C 8.266154 4.260212 8.341831 4.178411 8.34824 4.171626 L 8.359893 4.159288 Z M 3.639928 8.15987 C 3.639606 8.15984 3.567056 8.081517 3.478708 7.985821 C 3.390359 7.890125 3.197014 7.680786 3.049051 7.520623 C 2.901089 7.36046 2.662314 7.101986 2.518441 6.946236 C 2.374568 6.790486 2.198977 6.60038 2.128238 6.523779 C 2.0575 6.447177 1.999793 6.384333 2 6.384126 C 2.000208 6.383919 2.024487 6.391125 2.053954 6.40014 C 2.083422 6.409154 2.157237 6.431839 2.217988 6.450549 C 2.278738 6.469259 2.375968 6.499262 2.434052 6.517222 C 2.492137 6.535182 2.553174 6.55407 2.569692 6.559195 C 2.586209 6.564321 2.709718 6.602509 2.844157 6.644057 C 2.978595 6.685606 3.089538 6.719839 3.090698 6.72013 C 3.092807 6.72066 3.092807 6.72066 3.092866 6.520418 C 3.092898 6.410285 3.093306 6.18985 3.093772 6.030562 C 3.094553 5.763748 3.094752 5.738617 3.096295 5.711344 C 3.097217 5.695064 3.098611 5.671603 3.099395 5.659211 C 3.100178 5.646816 3.101808 5.623754 3.103017 5.607958 C 3.104227 5.592164 3.106418 5.566515 3.107887 5.550963 C 3.109355 5.535411 3.111941 5.51036 3.113633 5.495295 C 3.115324 5.480227 3.118114 5.456767 3.119833 5.443159 C 3.121551 5.429551 3.124544 5.407283 3.126484 5.393674 C 3.128424 5.380066 3.13179 5.357599 3.133963 5.343748 C 3.136135 5.329897 3.139918 5.307034 3.142369 5.292939 C 3.144819 5.278845 3.149205 5.254788 3.152116 5.239479 C 3.155027 5.224168 3.159971 5.199397 3.163101 5.184428 C 3.16623 5.169459 3.171352 5.145801 3.174481 5.131851 C 3.17761 5.117902 3.182986 5.094759 3.18643 5.080422 C 3.189873 5.066085 3.19569 5.042824 3.199356 5.028729 C 3.203022 5.014635 3.208965 4.992367 3.212563 4.979245 C 3.21616 4.966123 3.222479 4.943855 3.226605 4.929761 C 3.230732 4.915667 3.237681 4.892604 3.242049 4.878509 C 3.246417 4.864415 3.253638 4.84175 3.258096 4.828142 C 3.262555 4.814533 3.270171 4.792067 3.275023 4.778216 C 3.279873 4.764364 3.287818 4.742096 3.292678 4.728731 C 3.297538 4.715366 3.3052 4.694689 3.309704 4.682783 C 3.31421 4.670875 3.322696 4.649137 3.328563 4.634478 C 3.33443 4.619817 3.343463 4.597748 3.348639 4.585434 C 3.353813 4.573122 3.36204 4.553902 3.36692 4.542725 C 3.371799 4.531547 3.379856 4.513454 3.384823 4.502518 C 3.389789 4.491583 3.39917 4.471303 3.405668 4.457452 C 3.412167 4.443601 3.426129 4.414971 3.436694 4.39383 C 3.44726 4.372689 3.461914 4.344058 3.469262 4.330207 C 3.476608 4.316357 3.488427 4.294487 3.495524 4.281607 C 3.502622 4.268728 3.514584 4.247454 3.522105 4.234332 C 3.529628 4.22121 3.541034 4.201699 3.547455 4.190976 C 3.553874 4.180251 3.564621 4.162556 3.571336 4.151653 C 3.578052 4.14075 3.589372 4.122683 3.596493 4.111505 C 3.603614 4.100327 3.615987 4.081241 3.623989 4.069091 C 3.631991 4.056941 3.645655 4.036661 3.654354 4.024024 C 3.663054 4.011388 3.677115 3.991314 3.685603 3.979416 C 3.694091 3.967517 3.707792 3.948628 3.716049 3.937443 C 3.724308 3.926256 3.738823 3.906999 3.748305 3.89465 C 3.757787 3.882301 3.774164 3.861424 3.784696 3.848259 C 3.795227 3.835093 3.810939 3.815771 3.81961 3.805323 C 3.828281 3.794872 3.84254 3.777973 3.851297 3.767766 C 3.860054 3.757562 3.874996 3.740475 3.884502 3.729796 C 3.894008 3.719119 3.908543 3.703013 3.916803 3.694009 C 3.925064 3.685003 3.939156 3.669882 3.94812 3.660404 C 3.957083 3.650928 3.981341 3.626241 4.002025 3.605544 C 4.02271 3.584848 4.046838 3.561157 4.055645 3.552897 C 4.064451 3.544637 4.079179 3.530951 4.088373 3.522486 C 4.097566 3.514019 4.11243 3.500508 4.121404 3.49246 C 4.130376 3.484412 4.146267 3.470493 4.156716 3.461528 C 4.167165 3.452562 4.183867 3.438437 4.19383 3.430137 C 4.203792 3.421837 4.220096 3.408491 4.230059 3.400478 C 4.240022 3.392467 4.256126 3.379735 4.265846 3.372187 C 4.275566 3.364638 4.294852 3.349997 4.308703 3.33965 C 4.322554 3.329302 4.342636 3.314602 4.353327 3.306981 C 4.364019 3.299361 4.382311 3.28654 4.393975 3.27849 C 4.405639 3.270441 4.42466 3.257609 4.436245 3.249977 C 4.447829 3.242345 4.465922 3.230637 4.476451 3.223961 C 4.486979 3.217284 4.504342 3.206445 4.515034 3.199872 C 4.525727 3.193299 4.545155 3.181674 4.558207 3.174039 C 4.571259 3.166403 4.594323 3.153273 4.609458 3.14486 C 4.624594 3.13645 4.647913 3.123799 4.661278 3.11675 C 4.674643 3.1097 4.696314 3.098564 4.709436 3.092004 C 4.722558 3.085442 4.74403 3.075004 4.757153 3.068806 C 4.770275 3.062607 4.791488 3.052789 4.804292 3.046986 C 4.817096 3.041182 4.837177 3.03234 4.848916 3.027336 C 4.860656 3.022333 4.879611 3.014428 4.89104 3.009769 C 4.902469 3.00511 4.923146 2.996942 4.93699 2.991619 C 4.950833 2.986296 4.971702 2.978476 4.983366 2.97424 C 4.99503 2.970004 5.021672 2.960841 5.042571 2.953878 C 5.063468 2.946914 5.093689 2.937231 5.109727 2.93236 C 5.125765 2.927489 5.150419 2.920288 5.164514 2.916359 C 5.178607 2.912431 5.203261 2.905885 5.219299 2.901814 C 5.235338 2.897742 5.259793 2.891805 5.273643 2.888619 C 5.287495 2.885432 5.310359 2.880417 5.324453 2.877472 C 5.338548 2.874528 5.360616 2.870155 5.373496 2.867757 C 5.386374 2.865358 5.408962 2.861403 5.42369 2.858968 C 5.438418 2.856532 5.461482 2.85295 5.474941 2.851007 C 5.488403 2.849062 5.512338 2.845885 5.528134 2.843946 C 5.543929 2.842007 5.566793 2.83942 5.578943 2.838198 C 5.591094 2.836976 5.612764 2.83499 5.627101 2.833786 C 5.641439 2.832582 5.666887 2.830797 5.683655 2.829821 C 5.700423 2.828844 5.724281 2.827635 5.736673 2.827131 C 5.749067 2.826628 5.779487 2.825963 5.804273 2.825654 C 5.831717 2.825312 5.864715 2.825499 5.888661 2.826133 C 5.910288 2.826705 5.935936 2.827562 5.945656 2.828037 C 5.955376 2.828513 5.97327 2.829513 5.98542 2.830258 C 5.99757 2.831004 6.017452 2.832401 6.029602 2.833363 C 6.041752 2.834323 6.060044 2.83592 6.07025 2.836912 C 6.080456 2.837903 6.097554 2.839693 6.108246 2.840889 C 6.118938 2.842084 6.135557 2.84406 6.145177 2.84528 C 6.154796 2.846498 6.172292 2.848883 6.184057 2.850577 C 6.195822 2.852271 6.215388 2.855248 6.227539 2.857194 C 6.239688 2.859139 6.253395 2.861429 6.257997 2.862283 C 6.266363 2.863834 6.266363 2.863834 6.249159 2.867633 C 6.239698 2.869721 6.221817 2.873796 6.209424 2.876689 C 6.197031 2.87958 6.17695 2.884501 6.1648 2.887624 C 6.152649 2.890747 6.132933 2.896087 6.120986 2.899491 C 6.109038 2.902895 6.088361 2.909066 6.075037 2.913204 C 6.061712 2.917341 6.039675 2.924465 6.026067 2.929032 C 6.012459 2.933601 5.991946 2.940756 5.980484 2.944931 C 5.969021 2.949106 5.949537 2.95646 5.937186 2.961273 C 5.924834 2.966085 5.905422 2.973896 5.894048 2.978628 C 5.882673 2.983361 5.864182 2.991314 5.852958 2.996302 C 5.841733 3.001288 5.822409 3.010091 5.810017 3.015862 C 5.797623 3.021632 5.775753 3.032209 5.761416 3.039369 C 5.747078 3.046527 5.726601 3.057027 5.715909 3.062701 C 5.705216 3.068377 5.685135 3.079366 5.671284 3.087121 C 5.657433 3.094877 5.638347 3.105814 5.628869 3.111423 C 5.619392 3.117034 5.603487 3.126609 5.593524 3.1327 C 5.58356 3.138793 5.567655 3.148746 5.558177 3.15482 C 5.5487 3.160895 5.532596 3.171429 5.522389 3.178233 C 5.512184 3.185035 5.496079 3.195978 5.486602 3.202551 C 5.477125 3.209123 5.460822 3.220655 5.450372 3.228179 C 5.439923 3.235703 5.423421 3.247832 5.413702 3.255136 C 5.403981 3.262436 5.386883 3.27556 5.375705 3.284297 C 5.364527 3.293035 5.346831 3.307168 5.336382 3.315704 C 5.325933 3.32424 5.308455 3.338784 5.297544 3.348024 C 5.286631 3.357265 5.269532 3.372169 5.259547 3.381148 C 5.249561 3.390125 5.233438 3.404821 5.223718 3.413807 C 5.213998 3.422791 5.196302 3.439351 5.184396 3.450605 C 5.172488 3.461862 5.156544 3.477188 5.148963 3.484664 C 5.141382 3.492139 5.126272 3.507414 5.115385 3.518608 C 5.104497 3.529801 5.087317 3.547848 5.077208 3.558713 C 5.067098 3.569577 5.050301 3.587983 5.039882 3.599617 C 5.029463 3.61125 5.013853 3.62899 5.005193 3.639039 C 4.996532 3.649089 4.982148 3.666059 4.973228 3.676752 C 4.964307 3.687445 4.947 3.708717 4.934769 3.724027 C 4.922537 3.739336 4.90467 3.762184 4.895064 3.774798 C 4.885458 3.787414 4.870011 3.808089 4.860735 3.820748 C 4.85146 3.833405 4.835779 3.855252 4.825891 3.869297 C 4.816002 3.883342 4.800281 3.906206 4.790956 3.920107 C 4.781631 3.934007 4.767791 3.954923 4.760201 3.966587 C 4.75261 3.978251 4.739764 3.998412 4.731654 4.01139 C 4.723545 4.024366 4.710507 4.04564 4.702682 4.058664 C 4.694856 4.071689 4.682687 4.092286 4.67564 4.104437 C 4.668592 4.116586 4.655977 4.138854 4.647606 4.15392 C 4.639235 4.168986 4.627187 4.191055 4.620833 4.202963 C 4.614478 4.214869 4.603237 4.236342 4.59585 4.250679 C 4.588463 4.265017 4.577648 4.286489 4.571816 4.298396 C 4.565984 4.310304 4.556654 4.329589 4.551082 4.341253 C 4.54551 4.352918 4.536649 4.371806 4.53139 4.383226 C 4.526132 4.394647 4.517766 4.413137 4.512801 4.424315 C 4.507834 4.435493 4.499414 4.45478 4.494091 4.467174 C 4.488767 4.479566 4.480241 4.499781 4.475145 4.512096 C 4.470048 4.524411 4.461758 4.544889 4.456721 4.557603 C 4.451684 4.570319 4.443329 4.591855 4.438153 4.605463 C 4.432978 4.619071 4.42455 4.641737 4.419425 4.65583 C 4.414299 4.669925 4.405364 4.695175 4.399567 4.711941 C 4.393771 4.72871 4.384635 4.755947 4.379265 4.772473 C 4.373896 4.788996 4.365339 4.816035 4.36025 4.83256 C 4.355162 4.849085 4.346827 4.877117 4.341728 4.894857 C 4.336629 4.912596 4.328691 4.941027 4.324087 4.958037 C 4.319483 4.975048 4.311586 5.005467 4.30654 5.025636 C 4.301492 5.045806 4.294517 5.074635 4.291039 5.0897 C 4.287562 5.104767 4.282386 5.12783 4.279539 5.140952 C 4.276692 5.154074 4.271984 5.176342 4.269077 5.190436 C 4.266171 5.20453 4.261379 5.228786 4.25843 5.244339 C 4.25548 5.259891 4.250707 5.286135 4.24782 5.302659 C 4.244935 5.319183 4.240569 5.345436 4.238118 5.360997 C 4.235666 5.37656 4.231877 5.40161 4.229696 5.416667 C 4.227515 5.431724 4.224122 5.456368 4.222157 5.471435 C 4.220191 5.486501 4.216998 5.512547 4.215061 5.529314 C 4.213124 5.546082 4.210349 5.571529 4.208893 5.585867 C 4.207439 5.600204 4.205048 5.625653 4.20358 5.642421 C 4.202112 5.659187 4.199928 5.686625 4.198727 5.703393 C 4.197526 5.720159 4.195924 5.744415 4.195167 5.757294 C 4.194409 5.770174 4.193407 5.787471 4.192938 5.795733 C 4.192471 5.803995 4.19165 5.898036 4.191115 6.004715 C 4.19058 6.111393 4.190277 6.315648 4.190439 6.458614 C 4.190602 6.601581 4.190984 6.718802 4.191288 6.719105 C 4.191591 6.719408 4.313371 6.682069 4.461908 6.636129 C 4.610447 6.590189 4.786054 6.535892 4.852147 6.515468 C 4.91824 6.495043 5.025205 6.462041 5.089849 6.442131 C 5.154491 6.422219 5.223739 6.400939 5.243729 6.39484 C 5.263721 6.388742 5.280256 6.383932 5.280475 6.38415 C 5.280694 6.384369 5.209062 6.462315 5.121291 6.557364 C 5.033521 6.652413 4.889537 6.808317 4.801327 6.903816 C 4.713117 6.999316 4.56619 7.158374 4.474826 7.25728 C 4.383461 7.356185 4.23395 7.518026 4.14258 7.616927 C 4.051209 7.715828 3.906015 7.872994 3.819926 7.966186 C 3.733837 8.059378 3.658251 8.141094 3.651957 8.147776 C 3.645663 8.154458 3.64025 8.159901 3.639928 8.15987 Z",pn={...x,nameOffsetX:"right",nameOffsetY:"top",outOfStation:!1},un=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:pn).names[0],onChange:(e,t)=>{const n=null!=t?t:pn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:pn).names[1],onChange:(e,t)=>{const n=null!=t?t:pn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:pn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:pn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:pn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:pn;return n.nameOffsetY=e,n}},{type:"switch",label:"panel.details.stations.bjsubwayInt.outOfStation",oneLine:!0,isChecked:e=>(null!=e?e:pn).outOfStation,onChange:(e,t)=>{const n=null!=t?t:pn;return n.outOfStation=e,n}}],gn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=pn.nameOffsetX,nameOffsetY:h=pn.nameOffsetY,outOfStation:p=pn.outOfStation}=null!==(t=i[l.BjsubwayInt])&&void 0!==t?t:pn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),[C,b]=(j=h,"left"===(v=f)&&"top"===j?[-5,-c[1].split("\n").length*dn[j]-4]:"middle"===v&&"top"===j?[0,-c[1].split("\n").length*dn[j]-7]:"right"===v&&"top"===j?[5,-c[1].split("\n").length*dn[j]-4]:"left"===v&&"bottom"===j?[-5,c[0].split("\n").length*dn[j]+4]:"middle"===v&&"bottom"===j?[0,c[0].split("\n").length*dn[j]+7]:"right"===v&&"bottom"===j?[5,c[0].split("\n").length*dn[j]+4]:"left"===v&&"middle"===j?[-8,0]:"right"===v&&"middle"===j?[8,0]:[0,0]);var v,j;const O="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s-6}, ${o-6})`,children:[L.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),L.jsx("path",{d:hn,fill:p?"#898989":"black",stroke:p?"#898989":"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"}),L.jsx("circle",{id:`stn_core_${a}`,cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",strokeOpacity:"0",fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{transform:`translate(${s+C}, ${o+b})`,textAnchor:O,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:dn.zh,lineHeight:dn.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),L.jsx(ye,{text:c[1].split("\n"),fontSize:dn.en,lineHeight:dn.en,grow:"down",className:"rmp-name__en",baseOffset:1})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(6, 6)",children:[L.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),L.jsx("path",{d:hn,stroke:"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"})]})}),defaultAttrs:pn,attrsComponent:()=>L.jsx(N,{fields:un}),metadata:{displayName:"panel.details.stations.bjsubwayInt.displayName",cities:[d.Beijing],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}};function xn(e){const{interchangeList:t,onAdd:s,onDelete:l,onUpdate:i}=e,r=y(),{paletteAppClip:{output:c}}=C((e=>e.runtime)),{t:f}=a(),[h,p]=n.useState();n.useEffect((()=>{void 0!==h&&c&&(null==i||i(h,[...c,t[h][4],t[h][5]]),p(void 0))}),[null==c?void 0:c.toString()]);const u=t.map(((e,t)=>[{type:"input",label:f("panel.details.stations.common.lineCode"),value:e[4],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],n,e[5]])},{type:"input",label:f("panel.details.stations.common.stationCode"),value:e[5],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],n])}]));return L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:f("panel.details.stations.interchange.noInterchanges")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s([d.Shanghai,"","#aaaaaa",m.white,"",""]),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:f("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{p(n),r(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(o,{fields:u[n],noLabel:0!==n}),s&&n===u.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.copy"),onClick:()=>null==s?void 0:s(t.slice(-1)[0]),icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),l&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.remove"),onClick:()=>null==l?void 0:l(n),icon:L.jsx(k,{})})]},n)))]})}const yn=e=>{var t;const{stationType:s,defaultAttrs:o,maximumTransfers:l}=e,{t:i}=a(),r=y(),c=n.useCallback((()=>{r(z()),r(M(p.current.export()))}),[r,z,M]),{selected:f}=C((e=>e.runtime)),[h]=f,p=n.useRef(window.graph),u=h&&p.current.hasNode(h)&&p.current.getNodeAttribute(h,"type")===s?p.current.getNodeAttribute(h,s):o,g=null!==(t=u.transfer)&&void 0!==t?t:o.transfer,x=e=>t=>{const n=structuredClone(g);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[];n[e].push(t),u.transfer=n,p.current.mergeNodeAttributes(h,{[s]:u}),c()},b=e=>(t,n)=>{if(g.length>e&&g[e].length>t){const a=g.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));u.transfer=a,p.current.mergeNodeAttributes(h,{[s]:u}),c()}};return L.jsxs(U,{align:"flex-start",children:[u.transfer.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:i(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(xn,{interchangeList:e,onAdd:l[t]>e.length?x(t):void 0,onDelete:(a=t,e=>{if(g.length>a&&g[a].length>e){const t=g.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));u.transfer=t,p.current.mergeNodeAttributes(h,{[s]:u}),c()}}),onUpdate:b(t)})]},t);var a})),l[u.transfer.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>x(u.transfer.length)([d.Guangzhou,"","#AAAAAA",m.white,"",""]),children:i("panel.details.stations.interchange.addGroup")})]})},Cn={top:8.5,middle:0,bottom:11},bn={names:["車站","Stn"],nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[]]},vn=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:bn).names[0],onChange:(e,t)=>{const n=null!=t?t:bn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:bn).names[1],onChange:(e,t)=>{const n=null!=t?t:bn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:bn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:bn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:bn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:bn;return n.nameOffsetY=e,n}},{type:"select",label:"panel.details.stations.common.rotate",value:e=>{var t;return null!==(t=null==e?void 0:e.rotate)&&void 0!==t?t:bn.rotate},hidden:e=>{var t,n;return 0===(null!==(t=null==e||null===(n=e.transfer)||void 0===n||null===(n=n.flat())||void 0===n?void 0:n.length)&&void 0!==t?t:0)},options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:(e,t)=>{const n=null!=t?t:bn;return n.rotate=Number(e),n}},{type:"custom",label:"panel.details.stations.interchange.title",component:L.jsx(yn,{stationType:l.MTR,defaultAttrs:bn,maximumTransfers:[99,0,0]})}],jn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=bn.nameOffsetX,nameOffsetY:h=bn.nameOffsetY,transfer:p=bn.transfer,rotate:u=bn.rotate}=null!==(t=i[l.MTR])&&void 0!==t?t:bn,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b=p.at(0),v=((e,t=5,n=[])=>{const a=Math.sqrt(e*e-t*t/4),s=n.length<2?n.length+1:n.length;let o=`M -5,0 A ${e},${e},0,0,1,${-t/2},-${a} `;for(let l=0;l=0;l-=1)o+=`A ${e},${e},0,0,1,${l*t-t/2},${a} `;return o+=`A ${e},${e},0,0,1,-5,0 Z`,o})(5,5,b),j=0===b.length?0:b.length<=2?1:b.length-1,O=Math.cos(u*Math.PI/180)*j*5,w=Math.sin(u*Math.PI/180)*j*5,_="left"===f?-8:"right"===f?8:0,k=Math.sign(O)===Math.sign(_)?O+_:_,S=(c[Ce[h].namesPos].split("\n").length*Cn[h]+6)*Ce[h].polarity,N=Math.sign(w)===Math.sign(S)?w+S:S,z="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("path",{transform:`rotate(${u})`,d:v,stroke:"#001f50",strokeWidth:"1.5",fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),p.at(0).length>1&&p.at(0).map((e=>e[2])).map(((e,t)=>L.jsx("line",{transform:`rotate(${u})`,x1:5*t-2.5,x2:2.5+5*t,stroke:e,strokeWidth:"2"},`${t}_${e}`))),L.jsx("path",{id:`stn_core_${a}`,transform:`rotate(${u})`,d:v,fill:"white",fillOpacity:"0",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${k}, ${N})`,textAnchor:z,className:"rmp-name-outline",strokeWidth:"1.25",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:7.5,lineHeight:7.5,grow:"down",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__en"})]})]})),[a,s,o,...c,u,JSON.stringify(p),f,h,g,y,C])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),defaultAttrs:bn,attrsComponent:()=>L.jsx(N,{fields:vn}),metadata:{displayName:"panel.details.stations.mtr.displayName",cities:[d.Hongkong],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},On=n.forwardRef(((e,t)=>{const{text:n,lineWidth:a,grow:s,dominantBaseline:o=("left"===s?"hanging":"right"===s?"auto":"central"),baseOffset:l=2,baseDY:i=0,...r}=e,d="bidirectional"===s?-(n.length-1)*a/2:0;return L.jsx("g",{ref:t,children:[...n].reverse().map(((e,t,n)=>L.jsx("text",{x:(t*a+l)*("left"===s?-1:1)+d,dy:(t-(n.length-1)/2)*i,writingMode:"vertical-rl",dominantBaseline:o,...r,children:e},`${e}${t}`)))})}));On.displayName="MultilineTextVertical";const wn={size:10,baseOffset:1},_n={size:5,baseOffset:1.5},kn={top:{lineHeight:5,offset:1+_n.baseOffset+2.5,polarity:-1},middle:{lineHeight:0,offset:wn.size/2,polarity:1},bottom:{lineHeight:10,offset:0+wn.baseOffset+2.5,polarity:1}},Sn={...x,color:[d.Suzhou,"sz1","#78BA25",m.white],nameOffsetX:"right",nameOffsetY:"top",textVertical:!1},Nn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=Sn.color,nameOffsetX:h=Sn.nameOffsetX,nameOffsetY:p=Sn.nameOffsetY,textVertical:u=Sn.textVertical}=null!==(t=i[l.SuzhouRTBasic])&&void 0!==t?t:Sn,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b="left"===h?-5:"right"===h?5:0,v=(c[Ce[p].namesPos].split("\n").length*kn[p].lineHeight+kn[p].offset)*kn[p].polarity,j="left"===h?"end":"right"===h?"start":"middle",O="top"===p?-4.5:4.5,w="top"===p?"end":"start",_=c[0].split("\n").length*wn.size/2+_n.baseOffset;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:3,stroke:f[2],strokeWidth:"1",fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),u?L.jsxs(L.Fragment,{children:[L.jsx("g",{transform:`translate(-1, ${O})`,textAnchor:w,children:L.jsx(On,{text:c[0].split("\n"),fontSize:wn.size,lineWidth:wn.size,grow:"bidirectional",baseOffset:wn.baseOffset,dominantBaseline:"central",className:"rmp-name__zh"})}),L.jsx("g",{transform:`translate(${_}, ${O})rotate(90)`,textAnchor:w,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:_n.size,lineHeight:_n.size,grow:"up",baseOffset:_n.baseOffset,className:"rmp-name__en",dominantBaseline:"central",fill:"gray"})})]}):L.jsxs("g",{transform:`translate(${b}, ${v})`,textAnchor:j,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:wn.size,lineHeight:wn.size,grow:"up",baseOffset:wn.baseOffset,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:_n.size,lineHeight:_n.size,grow:"down",baseOffset:_n.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",fill:"none"})}),defaultAttrs:Sn,attrsComponent:e=>{var t,n,s;const{id:i,attrs:r,handleAttrsUpdate:d}=e,{t:m}=a(),f=[{type:"textarea",label:m("panel.details.stations.common.nameZh"),value:r.names[0],onChange:e=>{r.names[0]=e,d(i,r)},minW:"full"},{type:"textarea",label:m("panel.details.stations.common.nameEn"),value:r.names[1],onChange:e=>{r.names[1]=e,d(i,r)},minW:"full"},{type:"select",label:m("panel.details.stations.common.nameOffsetX"),value:null!==(t=r.nameOffsetX)&&void 0!==t?t:Sn.nameOffsetX,options:{left:m("panel.details.stations.common.left"),middle:m("panel.details.stations.common.middle"),right:m("panel.details.stations.common.right")},disabledOptions:"middle"===r.nameOffsetY?["middle"]:[],onChange:e=>{r.nameOffsetX=e,"middle"!==r.nameOffsetX&&(r.textVertical=!1),d(i,r)},minW:"full"},{type:"select",label:m("panel.details.stations.common.nameOffsetY"),value:null!==(n=r.nameOffsetY)&&void 0!==n?n:Sn.nameOffsetY,options:{top:m("panel.details.stations.common.top"),middle:m("panel.details.stations.common.middle"),bottom:m("panel.details.stations.common.bottom")},disabledOptions:"middle"===r.nameOffsetX?["middle"]:[],onChange:e=>{r.nameOffsetY=e,"middle"===r.nameOffsetY&&(r.textVertical=!1),d(i,r)},minW:"full"},{type:"switch",label:m("panel.details.stations.suzhouRTBasic.textVertical"),isChecked:null!==(s=r.textVertical)&&void 0!==s?s:Sn.textVertical,isDisabled:"middle"===r.nameOffsetY||"middle"!==r.nameOffsetX,onChange:e=>{r.textVertical=e,d(i,r)},oneLine:!0,minW:"full"},{type:"custom",label:m("color"),component:L.jsx(c,{type:l.SuzhouRTBasic,defaultTheme:Sn.color})}];return L.jsx(o,{fields:f})},metadata:{displayName:"panel.details.stations.suzhouRTBasic.displayName",cities:[d.Suzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},zn={size:10,baseOffset:1},Mn={size:5,baseOffset:1.5},An={top:{lineHeight:Mn.size,offset:0+Mn.baseOffset+3,polarity:-1},middle:{lineHeight:0,offset:zn.size/2,polarity:1},bottom:{lineHeight:zn.size,offset:0+zn.baseOffset+3,polarity:1}},Pn={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[d.Suzhou,"sz1","#78BA25",m.white,"",""],[d.Suzhou,"sz2","#ED3240",m.white,"",""]]]},Bn={component:e=>{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=Pn.nameOffsetX,nameOffsetY:p=Pn.nameOffsetY,rotate:u=Pn.rotate,transfer:g=Pn.transfer}=null!==(t=r[l.SuzhouRTInt])&&void 0!==t?t:Pn,y=n.useCallback((e=>d(s,e)),[s,d]),C=n.useCallback((e=>m(s,e)),[s,m]),b=n.useCallback((e=>c(s,e)),[s,c]),v=5*g.at(0).length+1,j=Math.abs(Math.cos(u*Math.PI/180)*v),O=Math.abs(Math.sin(u*Math.PI/180)*v),w=(j/2+5)*("left"===h?-1:"right"===h?1:0),_=(f[Ce[p].namesPos].split("\n").length*An[p].lineHeight+An[p].offset+("middle"===p?0:O/2))*An[p].polarity,k="left"===h?"end":"right"===h?"start":"middle";return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsxs("g",{transform:`rotate(${u})`,onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"},children:[L.jsx("rect",{x:-v/2,y:-3,width:v,height:6,ry:3,stroke:"#616161",strokeWidth:"1",fill:"white"}),(null!==(a=g.at(0))&&void 0!==a?a:[]).length>0&&g.at(0).map((e=>e[2])).map(((e,t)=>L.jsx("circle",{r:2,cx:-v/2+3+5*t,fill:e},`${t}_${e}`))),L.jsx("rect",{id:`stn_core_${s}`,x:-v/2-.5,y:-3.5,width:v+1,height:7,ry:3,fill:"white",opacity:"0"})]}),L.jsxs("g",{transform:`translate(${w}, ${_})`,textAnchor:k,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:zn.size,lineHeight:zn.size,grow:"up",baseOffset:zn.baseOffset,className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:Mn.size,lineHeight:Mn.size,grow:"down",baseOffset:Mn.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",ry:"3",stroke:"currentColor",fill:"none"}),L.jsx("circle",{r:"2",cx:"9.5",cy:"12",fill:"currentColor"}),L.jsx("circle",{r:"2",cx:"14.5",cy:"12",fill:"currentColor"})]}),defaultAttrs:Pn,attrsComponent:e=>{var t,n,s,i,r;const{id:d,attrs:m,handleAttrsUpdate:c}=e,{t:f}=a(),h=[{type:"textarea",label:f("panel.details.stations.common.nameZh"),value:m.names[0],onChange:e=>{m.names[0]=e,c(d,m)},minW:"full"},{type:"textarea",label:f("panel.details.stations.common.nameEn"),value:m.names[1],onChange:e=>{m.names[1]=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetX"),value:null!==(t=m.nameOffsetX)&&void 0!==t?t:Pn.nameOffsetX,options:{left:f("panel.details.stations.common.left"),middle:f("panel.details.stations.common.middle"),right:f("panel.details.stations.common.right")},disabledOptions:"middle"===m.nameOffsetY?["middle"]:[],onChange:e=>{m.nameOffsetX=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetY"),value:null!==(n=m.nameOffsetY)&&void 0!==n?n:Pn.nameOffsetY,options:{top:f("panel.details.stations.common.top"),middle:f("panel.details.stations.common.middle"),bottom:f("panel.details.stations.common.bottom")},disabledOptions:"middle"===m.nameOffsetX?["middle"]:[],onChange:e=>{m.nameOffsetY=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.rotate"),value:null!==(s=m.rotate)&&void 0!==s?s:Pn.rotate,hidden:0===(null!==(i=null==m||null===(r=m.transfer)||void 0===r||null===(r=r.flat())||void 0===r?void 0:r.length)&&void 0!==i?i:0),options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{m.rotate=Number(e),c(d,m)},minW:"full"},{type:"custom",label:f("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.SuzhouRTInt,defaultAttrs:Pn,maximumTransfers:[99,0,0]})}];return L.jsx(o,{fields:h})},metadata:{displayName:"panel.details.stations.suzhouRTInt.displayName",cities:[d.Suzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},$n={top:{lineHeight:6.67,offset:10},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:5.83}},Wn={...x,nameOffsetX:"right",nameOffsetY:"top",color:[d.Kunming,"km1","#ea3222",m.white]},En={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Wn.nameOffsetX,nameOffsetY:h=Wn.nameOffsetY,color:p=Wn.color}=null!==(t=i[l.KunmingRTBasic])&&void 0!==t?t:Wn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-13.33:"right"===f?13.33:0,b=(c[Ce[h].namesPos].split("\n").length*$n[h].lineHeight+$n[h].offset)*Ce[h].polarity,v="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:[L.jsx("circle",{id:`stn_core_${a}`,r:"5",stroke:p[2],strokeWidth:"1.33",fill:"white"}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:v,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{r:"5",cx:"12",cy:"12",stroke:"currentColor",strokeWidth:"1.33",fill:"none"})}),defaultAttrs:Wn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.KunmingRTBasic,defaultTheme:Wn.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.kunmingRTBasic.displayName",cities:[d.Kunming],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},[Xn,Yn]=[15,9],Rn={top:{lineHeight:6.67,offset:5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:.83}},In={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[d.Kunming,"km1","#ea3222",m.white,"",""],[d.Kunming,"km2","#03619e",m.white,"",""],[d.Kunming,"km3","#a13187",m.white,"",""]]]},Ln={component:e=>{var t,a,s,o,i;const{id:r,x:d,y:m,attrs:c,handlePointerDown:f,handlePointerMove:h,handlePointerUp:p}=e,{names:u=x.names,nameOffsetX:g=In.nameOffsetX,nameOffsetY:y=In.nameOffsetY,rotate:C=In.rotate,transfer:b=In.transfer}=null!==(t=c[l.KunmingRTInt])&&void 0!==t?t:In,v=n.useCallback((e=>f(r,e)),[r,f]),j=n.useCallback((e=>h(r,e)),[r,h]),O=n.useCallback((e=>p(r,e)),[r,p]),w=0===C||180===C?Xn:90===C||270===C?Yn:Xn*Math.SQRT1_2,_=0===C||180===C?Yn:90===C||270===C?Xn:Xn*Math.SQRT1_2,k="left"===g?-6.83:"right"===g?6.83:0,S=(Math.abs(k)+w/2)*Math.sign(k),N=(u[Ce[y].namesPos].split("\n").length*Rn[y].lineHeight+Rn[y].offset)*Ce[y].polarity,z=(Math.abs(N)+_/2)*Math.sign(N),M="left"===g?"end":"right"===g?"start":"middle";return L.jsxs("g",{id:r,children:[L.jsx("g",{transform:`translate(${d}, ${m})rotate(${C})`,onPointerDown:v,onPointerMove:j,onPointerUp:O,style:{cursor:"move"},children:b.at(0).length<=2?L.jsxs("g",{transform:"translate(-7.5,-4.5)",children:[L.jsx("rect",{id:`stn_core_${r}`,height:"9",width:"15",ry:"4",stroke:"#393332",strokeWidth:"1",fill:"white"}),L.jsx("path",{fill:null!==(a=null===(s=b.at(0).at(0))||void 0===s?void 0:s.at(2))&&void 0!==a?a:"#ea3222",fillRule:"evenodd",stroke:"none",d:"M 3.833333 6.375 C 2.820813 6.375 2 5.535532 2 4.5 C 2 3.464468 2.820813 2.625 3.833333 2.625 L 4.444445 2.625 L 4.444445 2 L 6.888889 2.9375 L 4.444445 3.875 L 4.444445 3.25 L 3.833333 3.25 C 3.158321 3.25 2.611111 3.809647 2.611111 4.5 C 2.611111 5.190353 3.158321 5.75 3.833333 5.75 L 7.5 5.75 L 7.5 6.375 L 3.833333 6.375 Z"}),L.jsx("path",{fill:null!==(o=null===(i=b.at(0).at(1))||void 0===i?void 0:i.at(2))&&void 0!==o?o:"#03619e",fillRule:"evenodd",stroke:"none",d:"M 11.166667 2.625 C 12.179187 2.625 13 3.464468 13 4.5 C 13 5.535532 12.179187 6.375 11.166667 6.375 L 10.555555 6.375 L 10.555555 7 L 8.111111 6.0625 L 10.555555 5.125 L 10.555555 5.75 L 11.166667 5.75 C 11.841679 5.75 12.388889 5.190353 12.388889 4.5 C 12.388889 3.809647 11.841679 3.25 11.166667 3.25 L 7.5 3.25 L 7.5 2.625 L 11.166667 2.625 Z"})]}):L.jsxs("g",{transform:"translate(-8.5,-8.5)",children:[L.jsx("circle",{id:`stn_core_${r}`,r:"8.5",cx:"8.5",cy:"8.5",stroke:"#000000",strokeWidth:"1",fill:"white"}),L.jsx("path",{fill:b.at(0).at(0).at(2),fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),L.jsx("path",{fill:b.at(0).at(1).at(2),fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),L.jsx("path",{fill:b.at(0).at(2).at(2),fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),L.jsxs("g",{transform:`translate(${d+S}, ${m+z})`,textAnchor:M,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:u[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:u[1].split("\n"),dx:"right"===g?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(3.5, 3.5)",children:[L.jsx("circle",{r:"8.5",cx:"8.5",cy:"8.5",stroke:"currentColor",strokeWidth:"1",fill:"none"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),defaultAttrs:In,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"},{type:"custom",label:i("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.KunmingRTInt,defaultAttrs:In,maximumTransfers:[3,0,0]})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.kunmingRTInt.displayName",cities:[d.Kunming],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},Tn=8.2628,Dn={top:{offset:8.2628,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:8.2628,polarity:1}},Hn={names:["Marina South Pier"],nameOffsetX:"right",nameOffsetY:"top",lineCode:"NS",stationCode:"28",isTram:!1,color:[d.Singapore,"nsl","#DA291C",m.white]},Un={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Hn.nameOffsetX,nameOffsetY:h=Hn.nameOffsetY,color:p=Hn.color,lineCode:u=Hn.lineCode,stationCode:g=Hn.stationCode,isTram:y=Hn.isTram}=null!==(t=i[l.MRTBasic])&&void 0!==t?t:Hn,C=n.useCallback((e=>r(a,e)),[a,r]),b=n.useCallback((e=>d(a,e)),[a,d]),v=n.useCallback((e=>m(a,e)),[a,m]),j=22.85,O=12.935,w=16.425*("left"===f?-1:"right"===f?1:0),_=Dn[h].offset*Dn[h].polarity,k="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o}) ${y?"scale(0.81)":""}`,children:[L.jsxs("g",{onPointerDown:C,onPointerMove:b,onPointerUp:v,style:{cursor:"move"},children:[L.jsx("rect",{x:-11.425,y:-6.4675,rx:"3",ry:"6",width:j,height:O,fill:p[2],stroke:"white",strokeWidth:"1"}),L.jsx("text",{fontSize:5.2,dx:"-4",dy:"0.5",className:"rmp-name__mrt",fill:p[3],textAnchor:"middle",dominantBaseline:"middle",children:u}),L.jsx("text",{fontSize:5.2,dx:"4",dy:"0.5",className:"rmp-name__mrt",fill:p[3],textAnchor:"middle",dominantBaseline:"middle",children:g}),L.jsx("rect",{id:`stn_core_${a}`,x:-11.425,y:-6.4675,rx:"3",ry:"6",width:j,height:O,fill:"white",opacity:"0"})]}),L.jsx("g",{transform:`translate(${w}, ${_})`,textAnchor:k,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:Tn,lineHeight:Tn,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]})),[a,s,o,...c,f,h,p,u,g,y,C,b,v])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6",y:"8.6035",rx:"1.575",ry:"3.151",width:"12",height:"6.793",fill:"currentColor"}),L.jsx("text",{fontSize:"3.5",dx:"10",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NS"}),L.jsx("text",{fontSize:"3.5",dx:"15",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"28"})]}),defaultAttrs:Hn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.MRTBasic.isTram"),isChecked:n.isTram,onChange:e=>{n.isTram=e,s(t,n)},minW:"full",oneLine:!0},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.MRTBasic,defaultTheme:Hn.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.MRTBasic.displayName",cities:[d.Singapore],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Fn=8.2628,Vn={top:{offset:10.7628,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:10.7628,polarity:1}},Gn={names:["Chinatown"],nameOffsetX:"right",nameOffsetY:"top",transfer:[[[d.Singapore,"nel","#9B26B6",m.white,"NE","4"],[d.Singapore,"dtl","#0057B7",m.white,"DT","19"]]]},Zn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Gn.nameOffsetX,nameOffsetY:h=Gn.nameOffsetY,transfer:p=Gn.transfer}=null!==(t=i[l.MRTInt])&&void 0!==t?t:Gn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C=p.at(0),b=29.625*(C.length-2)+57.8,v=16.77,j=[];for(let n=1;nL.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("g",{onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:p.map((e=>({info:e,width:29.625*(e.length-2)+57.8}))).map((({info:e,width:t},s)=>L.jsxs(n.Fragment,{children:[L.jsx("rect",{x:-t/2,y:-8.385,rx:"4.5",ry:"8",width:t,height:v,fill:`url(#${a}_grad_${s})`,stroke:"white",strokeWidth:"1"}),L.jsx("linearGradient",{id:`${a}_grad_${s}`,y1:"0%",y2:"0%",x1:"0%",x2:"100%",children:e.map(((t,a)=>L.jsxs(n.Fragment,{children:[L.jsx("stop",{offset:100/e.length*a+"%",stopColor:t[2]}),L.jsx("stop",{offset:100/e.length*(a+1)+"%",stopColor:t[2]})]},t[2])))}),j.map((n=>L.jsx("line",{x1:n/e.length*t-t/2,x2:n/e.length*t-t/2,y1:-8.385,y2:8.385,stroke:"white",strokeWidth:"1"},n))),e.map(((e,a,s)=>L.jsxs(n.Fragment,{children:[L.jsx("text",{fontSize:6.9,dx:(""!==e[5]?-5:-2)+t/s.length/2*(2*a+1)-t/2+1,dy:"0.5",className:"rmp-name__mrt",fill:e[3],textAnchor:"middle",dominantBaseline:"middle",children:e[4]}),L.jsx("text",{fontSize:6.9,dx:5+t/s.length/2*(2*a+1)-t/2+1,dy:"0.5",className:"rmp-name__mrt",fill:e[3],textAnchor:"middle",dominantBaseline:"middle",children:e[5]})]},e[2]))),L.jsx("rect",{id:`stn_core_${a}`,x:-t/2,y:-8.385,rx:"4.5",ry:"8",width:t,height:v,fill:"white",opacity:"0"})]},e.map((e=>e[2])).join("_"))))}),L.jsx("g",{transform:`translate(${O}, ${w})`,textAnchor:_,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:Fn,lineHeight:Fn,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]})),[a,s,o,...c,f,h,JSON.stringify(p),u,g,y])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"2",y:"9.0985",rx:"1.038",ry:"2.076",width:"20",height:"5.803",fill:"currentColor"}),L.jsx("text",{fontSize:"3",dx:"5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NE"}),L.jsx("text",{fontSize:"3",dx:"9.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"4"}),L.jsx("text",{fontSize:"3",dx:"14.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"DT"}),L.jsx("text",{fontSize:"3",dx:"19",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"19"})]}),defaultAttrs:Gn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.MRTInt,defaultAttrs:Gn,maximumTransfers:[1/0,0,0]})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.MRTInt.displayName",cities:[d.Singapore],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Qn={size:10,baseOffset:1},qn={size:5,baseOffset:1.5},Jn={names:["新宿","Shinjuku"],nameOffsetX:"right",nameOffsetY:"middle",rotate:0,textOneLine:!1,textVertical:!1,important:!1,lines:[-1,0,1]},Kn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Jn.nameOffsetX,nameOffsetY:h=Jn.nameOffsetY,rotate:p=Jn.rotate,textOneLine:u=Jn.textOneLine,textVertical:g=Jn.textVertical,important:y=Jn.important,lines:C=Jn.lines}=null!==(t=i[l.JREastBasic])&&void 0!==t?t:Jn,b=n.useCallback((e=>r(a,e)),[a,r]),v=n.useCallback((e=>d(a,e)),[a,d]),j=n.useCallback((e=>m(a,e)),[a,m]),O=5*(Math.max(...C)-Math.min(...C)+1),w=5*(Math.min(...C)-.5),_=5*Math.abs(Math.cos(p*Math.PI/180))*Math.min(...C)-2.5-1,k=5*Math.abs(Math.cos(p*Math.PI/180))*Math.max(...C)+2.5+1,S=5*Math.abs(Math.sin(p*Math.PI/180))*Math.min(...C)-2.5,N=5*Math.abs(Math.sin(p*Math.PI/180))*Math.max(...C)+2.5,z="left"===f?_:"right"===f?k:0,M=(c[0].split("\n").length*("middle"===h?0:Qn.size)+(("middle"===h?0:"top"===h?2:1)+Qn.baseOffset))*Ce[h].polarity+("middle"===h?0:"top"===h?S:N),A="left"===f?"end":"right"===f?"start":"middle",P={ja:"top"===h?"down":"bottom"===h?"up":"bidirectional",en:"top"===h||u?"up":"down"},B={ja:Qn.baseOffset,en:("middle"===h?u?-c[0].split("\n").length*Qn.size/2-1:c[0].split("\n").length*Qn.size/2:0)+(y&&!u?2:0)+qn.baseOffset},$=n.useRef(null),[W,E]=n.useState({width:0});n.useEffect((()=>E($.current.getBBox())),[c[0],g,E,$]);const X=(g?.2:.7)*Qn.size,Y={left:-X/2,middle:0,right:X/2}[f],R={top:-2,middle:0,bottom:2}[h],I=p%90!=0&&"middle"!==f?("left"===f?_:k)*Math.SQRT2:0,T=(y&&"middle"!==f?Y:0)+I,D={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[p],H=D*Qn.size,U=u?(Math.abs(T)+W.width+1+(y?X:0))*("left"===f?-1:1):p%90!=0&&"middle"!==f?c[0].split("\n").length/2*D*Qn.size+("left"===f?-1:1)*Qn.size:0,F=(y?2:0)*Ce[h].polarity,V=W.width,G=W.height,Z={left:-(V+X)+I,middle:-(V+X)/2,right:I}[f],Q={top:-2-B.ja,middle:-G/2,bottom:3-G+B.ja}[h],q={top:3-G-B.ja,middle:0,bottom:-3+B.ja}[h],J=("top"===h?S-qn.baseOffset:N+qn.baseOffset)+((y?X:0)+(p%90!=0?Qn.size/2:0))*Ce[h].polarity,K={ja:"top"===h?"end":"start",en:"top"===h?"start":"end"},ee={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[p],te=ee*Qn.size,ne=c[0].split("\n").length*Qn.size/2+qn.baseOffset,ae=(y?1:0)*Ce[h].polarity*-1,se=(c[0].split("\n").length-0)/2*("top"===h?-1:1)*ee*Qn.size+(y?2:0)*Ce[h].polarity*-1;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("g",{transform:`rotate(${p})`,children:C.map(((e,t)=>L.jsx("circle",{cx:5*e,cy:"0",r:"1.5",stroke:"black",strokeWidth:"0.2",fill:"white"},`stn_core_${a}_${t}`)))}),g?L.jsxs(L.Fragment,{children:[L.jsxs("g",{transform:`translate(0, ${J})`,textAnchor:K.ja,children:[y&&L.jsx("rect",{x:-(V-8)/2,y:q,width:V-8,height:G,rx:(V-8)/2,fill:"black"}),L.jsx(On,{ref:$,text:c[0].split("\n"),fontSize:Qn.size,lineWidth:Qn.size,grow:"bidirectional",baseOffset:0,baseDY:te,y:y?2.75*Ce[h].polarity:0,className:"rmp-name__jreast_ja",fill:y?"white":"black"})]}),L.jsx("g",{transform:`translate(${ae}, ${J+se})rotate(270)`,textAnchor:K.en,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:qn.size,lineHeight:qn.size,grow:"top"===h?"down":"up",baseOffset:ne,funcDX:e=>5*e*Math.SQRT1_2*ee*("top"===h?-1:1),className:"rmp-name__jreast_en"})})]}):L.jsxs("g",{transform:`translate(${z}, ${M})`,textAnchor:A,children:[y&&L.jsx("rect",{x:Z,y:Q+1.75,width:W.width+X,height:G-3.5,ry:(G-3.5)/2,fill:"black"}),L.jsx(ye,{ref:$,x:T,y:y&&"middle"!==h?R:0,text:c[0].split("\n"),fontSize:Qn.size,lineHeight:Qn.size,grow:P.ja,baseOffset:B.ja,funcDX:e=>(e-(c[0].split("\n").length-1)/2)*H,className:"rmp-name__jreast_ja",fill:y?"white":"black"}),L.jsx(ye,{text:c[1].split("\n"),x:U,y:F,fontSize:qn.size,lineHeight:qn.size,grow:P.en,baseOffset:B.en,funcDX:e=>5*e*Math.SQRT1_2*D,className:"rmp-name__jreast_en"})]}),L.jsx("g",{transform:`rotate(${p})`,children:L.jsx("rect",{id:`stn_core_${a}`,fill:"url(#opaque)",fillOpacity:"50%",x:w,y:-2.5,rx:2.5,width:O,height:5,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("circle",{cx:"6",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),L.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),L.jsx("circle",{cx:"18",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})]}),defaultAttrs:Jn,attrsComponent:e=>{var t;const{id:n,attrs:s,handleAttrsUpdate:l}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),s.names[0].length>1&&(s.textOneLine=!1,s.important=!1),l(n,s)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:s.names[1],onChange:e=>{s.names[1]=e.toString(),s.names[1].length>1&&(s.textOneLine=!1,s.important=!1),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.jrEastBasic.nameOffset"),value:"middle"!==s.nameOffsetX?s.nameOffsetX:s.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(s.nameOffsetX=e,s.nameOffsetY="middle",s.textVertical=!1):(s.nameOffsetX="middle",s.nameOffsetY=e,s.textOneLine=!1),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:s.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{s.rotate=Number(e),l(n,s)},minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.textOneLine"),isChecked:s.textOneLine,isDisabled:"middle"!==s.nameOffsetY||s.names.some((e=>e.split("\n").length>1)),onChange:e=>{s.textOneLine=e,l(n,s)},oneLine:!0,minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.textVertical"),isChecked:s.textVertical,isDisabled:"middle"!==s.nameOffsetX,onChange:e=>{s.textVertical=e,l(n,s)},oneLine:!0,minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.important"),isChecked:null!==(t=s.important)&&void 0!==t&&t,isDisabled:s.names.some((e=>e.split("\n").length>1)),onChange:e=>{s.important=e,l(n,s)},oneLine:!0,minW:"full"}];return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:r}),L.jsx(j,{label:i("panel.details.stations.jrEastBasic.lines"),children:L.jsxs(Q,{flexWrap:"wrap",flexDirection:"row",pt:"1",children:[s.lines.map(((e,t)=>L.jsx(q,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:e,onChange:e=>((e,t)=>{if((""===e||"-"===e)&&s.lines.length>1)s.lines.splice(t,1);else{const n=Number(e);if(Number.isNaN(n))return;s.lines[t]=n}l(n,s)})(e,t),children:L.jsx(J,{})},t))),L.jsx(q,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:"",onChange:e=>(e=>{const t="-"===e?-1:Number(e);Number.isNaN(t)||(s.lines.push(t),l(n,s))})(e),onKeyDown:e=>(e=>{"Backspace"===e.key&&s.lines.length>1&&(s.lines.pop(),l(n,s))})(e),children:L.jsx(J,{})})]})})]})},metadata:{displayName:"panel.details.stations.jrEastBasic.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.NationalRail],tags:[]}},ea={size:10,baseOffset:1},ta={size:5,baseOffset:1.5},na={names:["東京","Tōkyō"],nameOffsetX:"left",nameOffsetY:"middle",textVertical:!1,mostImportant:!1,minLength:0},aa={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=na.nameOffsetX,nameOffsetY:h=na.nameOffsetY,textVertical:p=na.textVertical,mostImportant:u=na.mostImportant,minLength:g=na.minLength}=null!==(t=i[l.JREastImportant])&&void 0!==t?t:na,y=n.useCallback((e=>r(a,e)),[a,r]),C=n.useCallback((e=>d(a,e)),[a,d]),b=n.useCallback((e=>m(a,e)),[a,m]),v=n.useRef(null),[j,O]=n.useState({height:0,width:0});n.useEffect((()=>O(v.current.getBBox())),[c[0],p,O,v]);const w=Math.max(j.width,j.height),_=(p?.1:.7)*ea.size,k=Math.max(w+_,g),S=p?ea.size+1:k,N=p?k-5:ea.size+1,z={left:-S/2-1,middle:0,right:S/2+1}[f],M={top:-N/2-1,middle:0,bottom:N/2+1}[h],A={left:"end",middle:"middle",right:"start"}[f],P=u?1.5:1;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsxs("g",{transform:`scale(${P})`,children:[L.jsx("rect",{fill:"black",x:-S/2,y:-N/2,rx:p?void 0:N/2,ry:p?S/2:void 0,width:S,height:N}),p?L.jsx("text",{ref:v,className:"rmp-name__jreast_ja",textAnchor:"middle",writingMode:"vertical-rl",fontSize:ea.size,fill:"white",dominantBaseline:"central",children:c[0]}):L.jsx("text",{ref:v,y:"-1",className:"rmp-name__jreast_ja",textAnchor:"middle",fontSize:ea.size,fill:"white",dominantBaseline:"central",children:c[0]}),L.jsx("rect",{id:`stn_core_${a}`,fill:"black",fillOpacity:"0",x:-S/2,y:-N/2,rx:p?void 0:S/2,ry:p?N/2:void 0,width:S,height:N,onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"},className:"removeMe"})]}),L.jsx("g",{transform:`translate(${z*P}, ${M*P})`,textAnchor:A,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:ta.size,lineHeight:ta.size,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__jreast_en"})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("rect",{x:"3",y:"7.5",rx:"4.5",width:"18",height:"9",stroke:"currentColor",fill:"currentColor"}),L.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"6",fill:"white",children:"東京"}),L.jsx("text",{x:"12",y:"20.25",textAnchor:"middle",dominantBaseline:"middle",fontSize:"3",children:"Tōkyō"})]}),defaultAttrs:na,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"input",label:l("panel.details.stations.common.nameJa"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"switch",label:l("panel.details.stations.jrEastImportant.textVertical"),isChecked:n.textVertical,onChange:e=>{n.textVertical=e,s(t,n)},oneLine:!0,minW:"full"},{type:"switch",label:l("panel.details.stations.jrEastImportant.mostImportant"),isChecked:n.mostImportant,onChange:e=>{n.mostImportant=e,s(t,n)},oneLine:!0,minW:"full"},{type:"input",label:l("panel.details.stations.jrEastImportant.minLength"),value:n.minLength.toString(),onChange:e=>{Number.isNaN(e)?n.minLength=0:n.minLength=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.jrEastImportant.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.NationalRail],tags:[]}},sa={...x,nameOffsetX:"right",nameOffsetY:"top",color:[d.Foshan,"fs1","#C4D600",m.black],lineCode:"GF",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},oa={component:e=>{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=sa.nameOffsetX,nameOffsetY:p=sa.nameOffsetY,color:u=sa.color,lineCode:g=sa.lineCode,stationCode:y=sa.stationCode,open:C=sa.open,secondaryNames:b=sa.secondaryNames,tram:v=sa.tram}=null!==(t=r[l.FoshanMetroBasic])&&void 0!==t?t:sa,j=n.useCallback((e=>d(s,e)),[s,d]),O=n.useCallback((e=>m(s,e)),[s,m]),w=n.useCallback((e=>c(s,e)),[s,c]),_=n.useRef(null);null===(a=_.current)||void 0===a||null===(a=a.querySelector("path"))||void 0===a||a.setAttribute("id",`stn_core_${s}`);const k={en:v?5.08:6.56,zh:v?7.29:13.13},S={top:{namesPos:1,lineHeight:k.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:k.zh,polarity:1}},N=v?11:15,z="left"===h?-N:"right"===h?N:0,M=v?8:10,A=(f[S[p].namesPos].split("\n").length*S[p].lineHeight+M)*S[p].polarity,P="left"===h?"end":"right"===h?"start":C||"middle"!==h||""!==b.join("")?"middle":"end",B=n.useRef(null),[$,W]=n.useState(0);n.useEffect((()=>{var e,t;return W(null!==(e=null===(t=B.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...b]);const E=n.useRef(null),[X,Y]=n.useState(0);n.useEffect((()=>{var e,t;return Y(null!==(e=null===(t=E.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...f]);const R="middle"===h?X/2+($+24)/2:(X+($+24)/2)*("left"===h?-1:1),I="middle"===h&&""!==b.join("")?X/2+($+24):(X+$+(0!==$?24:0))*("left"===h?-1:"right"===h?1:0);return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsx("g",{transform:`scale(${.57915*(v?.729:1)})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},ref:_,children:L.jsx(St,{id:`stn_core_${s}`,strokeColour:u[2],lineNum:""===g?void 0:g,stnNum:""===y?void 0:y,textClassName:"rmp-name__zh"})}),L.jsxs("g",{ref:E,transform:`translate(${z}, ${A})`,textAnchor:P,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:k.zh,lineHeight:k.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:k.en,lineHeight:k.en,grow:"down",className:"rmp-name__en"})]}),""!==b.join("")&&L.jsxs("g",{transform:`translate(${z+R}, ${A})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-($+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:($+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:B,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:b[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:b[1]})]})]}),!C&&L.jsxs("g",{transform:`translate(${z+I}, ${A})`,textAnchor:"middle"===h?"start":P,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("g",{transform:"translate(12,12)scale(0.45)",children:L.jsx(St,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),defaultAttrs:sa,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.FoshanMetroBasic,defaultTheme:sa.color})},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.foshanMetroBasic.open"),oneLine:!0,isChecked:n.open,onChange:e=>{n.open=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.foshanMetroBasic.secondaryNameZh"),value:n.secondaryNames[0],onChange:e=>{n.secondaryNames[0]=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.foshanMetroBasic.secondaryNameEn"),value:n.secondaryNames[1],onChange:e=>{n.secondaryNames[1]=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.foshanMetroBasic.tram"),oneLine:!0,isChecked:n.tram,onChange:e=>{n.tram=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.foshanMetroBasic.displayName",cities:[d.Foshan],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},la={top:3.75,middle:0,bottom:8},ia={...x,color:[d.Qingdao,"qd1","#f7b000",m.white],nameOffsetX:"right",nameOffsetY:"top",isInt:!1},ra={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=ia.color,nameOffsetX:h=ia.nameOffsetX,nameOffsetY:p=ia.nameOffsetY,isInt:u=ia.isInt}=null!==(t=i[l.QingdaoMetroStation])&&void 0!==t?t:ia,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),[b,v]=u?(O=p,"left"===(j=h)&&"top"===O?[-6,-c[1].split("\n").length*la[O]-6]:"middle"===j&&"top"===O?[0,-c[1].split("\n").length*la[O]-10]:"right"===j&&"top"===O?[6,-c[1].split("\n").length*la[O]-6]:"left"===j&&"bottom"===O?[-6,c[0].split("\n").length*la[O]+6]:"middle"===j&&"bottom"===O?[0,c[0].split("\n").length*la[O]+7]:"right"===j&&"bottom"===O?[6,c[0].split("\n").length*la[O]+6]:"left"===j&&"middle"===O?[-8,2]:"right"===j&&"middle"===O?[8,2]:[0,0]):((e,t)=>{const n="left"===e?-6:"right"===e?6:0;return"top"===t?[n,-c[1].split("\n").length*la[t]-5.5]:"bottom"===t?[n,c[0].split("\n").length*la[t]+4]:[n,2]})(h,p);var j,O;const w="left"===h?"end":"right"===h?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:u?6:2.7,stroke:u?"black":f[2],strokeWidth:u?1.5:.2,fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${b}, ${v})`,textAnchor:w,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:8,lineHeight:8,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:3.75,lineHeight:3.75,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",strokeWidth:"0.6",fill:"none"})}),defaultAttrs:ia,attrsComponent:e=>{var t,n,s,i;const{id:r,attrs:d,handleAttrsUpdate:m}=e,{t:f}=a(),h=[{type:"textarea",label:f("panel.details.stations.common.nameZh"),value:null!==(t=d.names[0])&&void 0!==t?t:ia.names[0],onChange:e=>{d.names[0]=e.toString(),m(r,d)},minW:"full"},{type:"textarea",label:f("panel.details.stations.common.nameEn"),value:null!==(n=d.names[1])&&void 0!==n?n:ia.names[1],onChange:e=>{d.names[1]=e.toString(),m(r,d)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetX"),value:null!==(s=d.nameOffsetX)&&void 0!==s?s:ia.nameOffsetX,options:{left:f("panel.details.stations.common.left"),middle:f("panel.details.stations.common.middle"),right:f("panel.details.stations.common.right")},disabledOptions:"middle"===d.nameOffsetY?["middle"]:[],onChange:e=>{d.nameOffsetX=e,m(r,d)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetY"),value:null!==(i=d.nameOffsetY)&&void 0!==i?i:ia.nameOffsetY,options:{top:f("panel.details.stations.common.top"),middle:f("panel.details.stations.common.middle"),bottom:f("panel.details.stations.common.bottom")},disabledOptions:"middle"===d.nameOffsetX?["middle"]:[],onChange:e=>{d.nameOffsetY=e,m(r,d)},minW:"full"},{type:"custom",label:f("color"),component:L.jsx(c,{type:l.QingdaoMetroStation,defaultTheme:ia.color}),minW:"full"},{type:"switch",label:f("panel.details.stations.qingdaoMetro.isInt"),isChecked:d.isInt,oneLine:!0,onChange:e=>{d.isInt=e,m(r,d)},minW:"full"}];return L.jsx(o,{fields:h})},metadata:{displayName:"panel.details.stations.qingdaoMetro.displayName",cities:[d.Qingdao],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},da=e=>{const{lineCode:t,stationCode:n,color:a,stroke:s}=e,[o,l,i]=[10,15,.8];return L.jsxs(L.Fragment,{children:[s&&L.jsx("rect",{x:-o/2-i,y:-l/2-i,width:o+2*i,height:l+2*i,rx:2.5,strokeWidth:i,stroke:"white",fill:"white"}),L.jsx("rect",{x:-o/2,y:-l/2,width:o,height:l,rx:2,strokeWidth:1.5,stroke:a[2],fill:"white"}),L.jsx("text",{x:0,y:1===t.length?-.75:-1.5,textAnchor:"middle",className:"rmp-name__tokyo_en",fontSize:1===t.length?7:4.5,fill:"black",children:t}),L.jsx("text",{x:1===n.length?0:-.4/n.length,y:5.5,textAnchor:"middle",className:"rmp-name__en",fontSize:7,fontWeight:"bold",letterSpacing:"-0.4",fill:"black",children:n})]})},ma={names:["京橋"],nameOffsetX:"right",nameOffsetY:"middle",textVertical:!1,lineCode:"G",stationCode:"10",color:[d.Tokyo,"g","#f9a328",m.white]},ca={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=ma.nameOffsetX,nameOffsetY:h=ma.nameOffsetY,textVertical:p=ma.textVertical,lineCode:u=ma.lineCode,stationCode:g=ma.stationCode,color:y=ma.color}=null!==(t=i[l.TokyoMetroBasic])&&void 0!==t?t:ma,C=n.useCallback((e=>r(a,e)),[a,r]),b=n.useCallback((e=>d(a,e)),[a,d]),v=n.useCallback((e=>m(a,e)),[a,m]),[j,O]=n.useState(0);n.useEffect((()=>{let e=0;c[0].split("\n").forEach((t=>{e=Math.max(e,t.length)})),O(e)}),[c[0]]);const w="left"===f?-7:"right"===f?7:0,_="left"===f?-12:"right"===f?12:0,k="bottom"===h?20:"top"===h?-9:5.5,S="bottom"===h?9+5*j:"top"===h?-9-5*j:-5,N="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx(da,{lineCode:u,stationCode:g,color:y}),L.jsx("rect",{id:`stn_core_${a}`,x:-5.8,y:-8.2,width:11.6,height:16.4,rx:2.5,opacity:0,onPointerDown:C,onPointerMove:b,onPointerUp:v,style:{cursor:"move"}}),L.jsx("g",{textAnchor:N,className:"rmp-name-outline",strokeWidth:"1",children:p?L.jsx("g",{transform:`translate(${_}, ${S})`,textAnchor:N,children:L.jsx(On,{text:c[0].split("\n"),fontSize:10,lineWidth:10,grow:"bidirectional",baseOffset:0,baseDY:0,className:"rmp-name__jreast_ja",fill:"black"})}):L.jsx("g",{transform:`translate(${w}, ${k})`,textAnchor:N,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",funcDX:e=>10*(e-(c[0].split("\n").length-1)/2),className:"rmp-name__jreast_ja",fill:"black"})})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6.5",y:"4.5",rx:"1.5",width:"10",height:"15",stroke:"currentColor",fill:"none"}),L.jsx("text",{x:"9",y:"11",fontSize:"7",fill:"currentColor",children:"G"}),L.jsx("text",{x:"7.75",y:"18",fontSize:"7",letterSpacing:"-0.8",fill:"currentColor",children:"10"})]}),defaultAttrs:ma,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroBasic.nameOffset"),value:"middle"!==n.nameOffsetX?n.nameOffsetX:n.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(n.nameOffsetX=e,n.nameOffsetY="middle",n.textVertical=!1):(n.nameOffsetX="middle",n.nameOffsetY=e),s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:n.textVertical,isDisabled:"middle"!==n.nameOffsetX,onChange:e=>{n.textVertical=e,s(t,n)},oneLine:!0,minW:"full"},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.TokyoMetroBasic,defaultTheme:ma.color}),minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.tokyoMetroBasic.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},fa={names:["日本橋"],nameOffsetX:"right",nameOffsetY:"middle",mereOffset:"none",textVertical:!1,interchanges:[{lineCode:"G",stationCode:"11",color:[d.Tokyo,"g","#f9a328",m.white]},{lineCode:"T",stationCode:"10",color:[d.Tokyo,"t","#00a4db",m.white]},{lineCode:"A",stationCode:"13",color:[d.Tokyo,"a","#dd4231",m.white]}],align:"horizontal",importance:"default"},ha={lineCode:"",stationCode:"",color:[d.Tokyo,"","#AAAAAA",m.white]},pa={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=fa.nameOffsetX,nameOffsetY:h=fa.nameOffsetY,textVertical:p=fa.textVertical,interchanges:u=fa.interchanges,align:g=fa.align,importance:y=fa.importance,mereOffset:C=fa.mereOffset}=null!==(t=i[l.TokyoMetroInt])&&void 0!==t?t:fa,b=n.useCallback((e=>r(a,e)),[a,r]),v=n.useCallback((e=>d(a,e)),[a,d]),j=n.useCallback((e=>m(a,e)),[a,m]),[O,w]=n.useState(0);n.useEffect((()=>{let e=0;c[0].split("\n").forEach((t=>{e=Math.max(e,t.length)})),w(e)}),[c[0]]);const _="horizontal"===g?13*u.length:0,k="vertical"===g?18*u.length:0,S="left"===f?-("horizontal"===g?4:10)-_/2:"right"===f?("horizontal"===g?2:9)+_/2:"left2"===C?-5:"right2"===C?5:0,{fontSize:N,textXVer:z,textY:M,textYVer:A}="default"===y?{fontSize:10,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-4:"left2"===C?-10:"right1"===C?4:"right2"===C?10:0),textY:"bottom"===h?("vertical"===g?1:10)+k/2:"top"===h?-("vertical"===g?3:12)-k/2:("up"===C?3:"down"===C?10:0)-7.5,textYVer:"bottom"===h?("vertical"===g?3:12)+k/2+5*O:"top"===h?-("vertical"===g?1:13)-k/2-5*O:-5}:"high"===y?{fontSize:20,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-10:"left2"===C?-16:"right1"===C?10:"right2"===C?16:0),textY:"bottom"===h?("vertical"===g?3:10)+k/2:"top"===h?-("vertical"===g?1:13)-k/2:("up"===C?6:"down"===C?15:0)-13,textYVer:"bottom"===h?("vertical"===g?4:13)+k/2+10*O:"top"===h?-("vertical"===g?5:13)-k/2-10*O:-5}:{fontSize:15,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-8:"left2"===C?-13:"right1"===C?8:"right2"===C?13:0),textY:"bottom"===h?("vertical"===g?1:10)+k/2:"top"===h?-("vertical"===g?3:13)-k/2:("up"===C?4:"down"===C?12:0)-10,textYVer:"bottom"===h?("vertical"===g?3:13)+k/2+7.5*O:"top"===h?-("vertical"===g?4:13)-k/2-7.5*O:-5},P="left"===f||"left1"===C||"left2"===C?"end":"right"===f||"right1"===C||"right2"===C?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:["horizontal"===g?L.jsxs(L.Fragment,{children:[L.jsx("rect",{x:-(_+3)/2,y:-10.5,width:_+3,height:21,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),u.map(((e,t)=>L.jsx("g",{transform:`translate(${13*t-(_-13)/2}, 0)`,children:L.jsx(da,{lineCode:e.lineCode,stationCode:e.stationCode,color:e.color,stroke:!0})},t))),L.jsx("rect",{id:`stn_core_${a}`,x:-(_+3)/2,y:-10.5,width:_+3,height:21,rx:3,opacity:0,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})]}):L.jsxs(L.Fragment,{children:[L.jsx("rect",{x:-8,y:-(k+3)/2,width:16,height:k+3,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),u.map(((e,t)=>L.jsx("g",{transform:`translate(0, ${18*t-(k-18)/2})`,children:L.jsx(da,{lineCode:e.lineCode,stationCode:e.stationCode,color:e.color,stroke:!0})},t))),L.jsx("rect",{id:`stn_core_${a}`,x:-8,y:-(k+3)/2,width:16,height:k+3,rx:3,opacity:0,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})]}),L.jsx("g",{textAnchor:P,className:"rmp-name-outline",strokeWidth:"1",children:p?L.jsx("g",{transform:`translate(${z}, ${A})`,textAnchor:"middle",children:L.jsx(On,{text:c[0].split("\n"),fontSize:N,lineWidth:N,grow:"bidirectional",className:"rmp-name__jreast_ja",fill:"black",fontWeight:"default"!==y?"bold":"normal"})}):L.jsx("g",{transform:`translate(${S}, ${M})`,textAnchor:P,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:N,lineHeight:N,grow:"top"===h||"up"===C?"up":"down",className:"rmp-name__jreast_ja",fill:"black",fontWeight:"default"!==y?"bold":"normal"})})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"4",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),L.jsx("rect",{x:"12.5",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),L.jsx("text",{x:"5.5",y:"12.5",fontSize:"4",fill:"currentColor",children:"G"}),L.jsx("text",{x:"5",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"16"}),L.jsx("text",{x:"14.25",y:"12.5",fontSize:"4",fill:"currentColor",children:"H"}),L.jsx("text",{x:"13.75",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"18"})]}),defaultAttrs:fa,attrsComponent:e=>{const{id:t,attrs:s,handleAttrsUpdate:l}=e,i=y(),{paletteAppClip:{output:r}}=C((e=>e.runtime)),{t:d}=a(),m=[{type:"textarea",label:d("panel.details.stations.common.nameJa"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroBasic.nameOffset"),value:"middle"!==s.nameOffsetX?s.nameOffsetX:s.nameOffsetY,options:{left:d("panel.details.stations.common.left"),right:d("panel.details.stations.common.right"),top:d("panel.details.stations.common.top"),bottom:d("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(s.nameOffsetX=e,s.nameOffsetY="middle",s.textVertical=!1,"left1"!==s.mereOffset&&"left2"!==s.mereOffset&&"right1"!==s.mereOffset&&"right2"!==s.mereOffset||(s.mereOffset="none")):(s.nameOffsetX="middle",s.nameOffsetY=e,"up"!==s.mereOffset&&"down"!==s.mereOffset||(s.mereOffset="none")),l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.mereOffset.displayName"),value:s.mereOffset,options:{none:d("panel.details.stations.tokyoMetroInt.mereOffset.none"),..."middle"===s.nameOffsetX?{left1:d("panel.details.stations.tokyoMetroInt.mereOffset.left1"),left2:d("panel.details.stations.tokyoMetroInt.mereOffset.left2"),right1:d("panel.details.stations.tokyoMetroInt.mereOffset.right1"),right2:d("panel.details.stations.tokyoMetroInt.mereOffset.right2")}:{up:d("panel.details.stations.tokyoMetroInt.mereOffset.up"),down:d("panel.details.stations.tokyoMetroInt.mereOffset.down")}},onChange:e=>{s.mereOffset=e,l(t,s)},minW:"full"},{type:"switch",label:d("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:s.textVertical,isDisabled:"middle"!==s.nameOffsetX,onChange:e=>{s.textVertical=e,l(t,s)},oneLine:!0,minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.importance.displayName"),value:s.importance,options:{default:d("panel.details.stations.tokyoMetroInt.importance.default"),middle:d("panel.details.stations.tokyoMetroInt.importance.middle"),high:d("panel.details.stations.tokyoMetroInt.importance.high")},onChange:e=>{s.importance=e,l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.align.displayName"),value:s.align,options:{horizontal:d("panel.details.stations.tokyoMetroInt.align.horizontal"),vertical:d("panel.details.stations.tokyoMetroInt.align.vertical")},onChange:e=>{s.align=e,l(t,s)},minW:"full"}],[c,f]=n.useState(void 0);n.useEffect((()=>{void 0!==c&&r&&(s.interchanges[c].color=r,l(t,s),f(void 0))}),[null==r?void 0:r.toString()]);const h=e=>{const n=structuredClone(s.interchanges);n.push(ha);for(let t=n.length-1;t>e;t--)n[t]=structuredClone(n[t-1]);n[e]=ha,l(t,{...s,interchanges:n})};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:m}),L.jsx(j,{label:d("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[s.interchanges.map(((e,n)=>L.jsxs(T,{children:[L.jsx(O,{theme:e.color,onClick:()=>{f(n),i(w(e.color))}}),L.jsx(j,{label:d("panel.details.stations.common.lineCode"),children:L.jsx(A,{defaultValue:e.lineCode,onDebouncedChange:e=>((e,n)=>{s.interchanges[n].lineCode=e,l(t,s)})(e,n)})}),L.jsx(j,{label:d("panel.details.stations.common.stationCode"),children:L.jsx(A,{defaultValue:e.stationCode,onDebouncedChange:e=>((e,n)=>{s.interchanges[n].stationCode=e,l(t,s)})(e,n)})}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),icon:L.jsx(v,{}),onClick:()=>h(n)}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),icon:L.jsx(k,{}),onClick:()=>(e=>{const n=s.interchanges.filter(((t,n)=>n!==e));l(t,{...s,interchanges:n})})(n),isDisabled:1===s.interchanges.length})]},n))),L.jsx(Z,{size:"sm",width:"100%",variant:"outline",leftIcon:L.jsx(v,{}),onClick:()=>h(s.interchanges.length),children:d("panel.details.stations.interchange.title")})]})})]})},metadata:{displayName:"panel.details.stations.tokyoMetroInt.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},ua={0:{textDx:0,textDy:-9.15,textAnchor:"middle",dominantBaseline:"auto",polarity:-1,grow:"up"},45:{textDx:9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"auto",polarity:-1,grow:"up"},90:{textDx:9.15,textDy:0,textAnchor:"start",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},135:{textDx:9.15*Math.SQRT1_2,textDy:9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"hanging",polarity:1,grow:"down"},180:{textDx:0,textDy:9.15,textAnchor:"middle",dominantBaseline:"hanging",polarity:1,grow:"down"},225:{textDx:-9.15*Math.SQRT1_2,textDy:9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"hanging",polarity:1,grow:"down"},270:{textDx:-9.15,textDy:0,textAnchor:"end",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},315:{textDx:-9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"auto",polarity:-1,grow:"up"}},ga=[d.London,"central","#DC241F",m.white,0],xa=n.memo((e=>{const{id:t,stepFreeAccess:n,...a}=e;return L.jsxs("g",{...a,children:[L.jsx("path",{fill:"train"===n?"#1C3E93":"white",stroke:"#1C3E93",strokeWidth:2.5,d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31"}),L.jsx("path",{fill:"train"===n?"white":"#1C3E93",d:"M-10.5,9c1.4,4.9,6,8.4,11.3,8.4c6.5,0,11.8-5.3,11.8-11.8c0-3.4-1.5-6.5-3.8-8.7l0.7-5.1\n\tc4.6,2.9,7.6,8,7.6,13.8c0,9-7.3,16.3-16.3,16.3c-5.9,0-11-3.1-13.9-7.7L-10.5,9z"}),L.jsx("path",{fill:"train"===e.stepFreeAccess?"white":"#1C3E93",d:"M0.5-20.5c0,2.5,2,4.6,4.6,4.6c2.5,0,4.6-2.1,4.6-4.6s-2.1-4.6-4.6-4.6S0.5-23,0.5-20.5"}),L.jsx("path",{fill:"train"===n?"white":"#1C3E93",d:"M3-12.4L2.5-9.2h-9.9c0,0-2.1,0.2-2.1,2.2s2.1,2.2,2.1,2.2h9.3l-0.5,3h-12.5c0,0-0.9,0-1.3,0.5\n\tC-12.8-1-13.2,0-13.2,0l-7,14.2c0,0-0.8,1.8,1.2,2.9c2,1.1,3.3-1,3.3-1l5.5-11.3c0,0,0.5-0.7,1-1c0.6-0.3,1.1-0.3,1.1-0.3H3.4\n\tc0,0,1.2,0,2.2-0.9c0.9-0.9,1.1-2,1.1-2l1.7-12.4c0,0,0-2.6-2.7-2.7C3.6-14.5,3-12.4,3-12.4"}),L.jsx("path",{id:`stn_core_${t}`,fill:"train"===n?"#1C3E93":"white",fillOpacity:"0",stroke:"#1C3E93",strokeWidth:2.5,strokeOpacity:"0",d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31",className:"removeMe"})]})}),((e,t)=>JSON.stringify(e)===JSON.stringify(t))),ya={names:["Station"],transfer:[[ga]],rotate:0,terminal:!1,stepFreeAccess:"none"},Ca={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,transfer:f=ya.transfer,rotate:h=ya.rotate,terminal:p=ya.terminal,stepFreeAccess:u=ya.stepFreeAccess}=null!==(t=i[l.LondonTubeBasic])&&void 0!==t?t:ya,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b=(h-90)*Math.PI/180,v=p?2*(.66*5+2.5):.66*5+.5,j=ua[h].textDx+Math.cos(b)*Math.max(...f[0].map((e=>e[4])))*5,O=ua[h].textDy+Math.sin(b)*Math.max(...f[0].map((e=>e[4])))*5,w=-(Math.max(...f[0].map((e=>e[4])))+Math.min(...f[0].map((e=>e[4]))))/2*5,_=Math.sin(h*Math.PI/180)*w,k=Math.cos(h*Math.PI/180)*w;return L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${h})`,onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"},children:"none"===u?f[0].map((e=>L.jsx("rect",{id:`stn_core_${a}`,x:.66*-5/2,y:.66*-5-2.5-5*e[4],width:5*.66,height:v,stroke:"none",fill:e[2]},`${a}_${e[2]}_${e[4]}`))):L.jsx(xa,{id:a,stepFreeAccess:u,transform:`translate(${_},${k})rotate(${-h})scale(0.2333)`},`stn_core_${a}`)}),L.jsx("g",{transform:`translate(${s+j}, ${o+O})`,textAnchor:ua[h].textAnchor,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:ua[h].dominantBaseline,grow:ua[h].grow,baseOffset:0,className:"rmp-name__tube"})})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:ya,attrsComponent:e=>{var t;const{id:n,attrs:s,handleAttrsUpdate:l}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:s.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{s.rotate=Number(e),l(n,s)},minW:"full"},{type:"switch",label:i("panel.details.stations.londonTubeBasic.terminal"),isChecked:s.terminal,isDisabled:s.transfer[0].length>1,onChange:e=>{s.terminal=e,l(n,s)},oneLine:!0,minW:"full"},{type:"select",label:i("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:s.stepFreeAccess,options:{none:i("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:i("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:i("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:e=>{s.stepFreeAccess=e,l(n,s)},minW:"full"}],d=null!==(t=s.transfer)&&void 0!==t?t:ya.transfer;return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:r}),L.jsx(j,{label:i("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[L.jsx(G,{size:"xs",children:i("panel.details.stations.londonTubeBasic.shareTracks")}),L.jsx(ba,{interchangeList:d[0],onAdd:(m=0,e=>{const t=structuredClone(d);if(t.length<=m)for(let n=t.length;n<=m;n++)t[n]=[ga];t[m].push(e),s.transfer=t,l(n,s)}),onDelete:(e=>t=>{if(d.length>e&&d[e].length>t){const a=d.map(((n,a)=>a===e?n.filter(((e,n)=>n!==t)):n));s.transfer=a,l(n,s)}})(0),onUpdate:(e=>(t,a)=>{if(d.length>e&&d[e].length>t){const o=d.map(((n,s)=>s===e?n.map(((e,n)=>n===t?[0,1,2,3,4,5,6].map((t=>void 0===a[t]?e[t]:a[t])):e)):n));s.transfer=o,l(n,s)}})(0)})]})})]});var m},metadata:{displayName:"panel.details.stations.londonTubeBasic.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};function ba(e){const{interchangeList:t,onAdd:s,onDelete:o,onUpdate:l}=e,i=y(),{paletteAppClip:{output:r}}=C((e=>e.runtime)),{t:d}=a(),[m,c]=n.useState();return n.useEffect((()=>{void 0!==m&&r&&(null==l||l(m,[...r,t[m][4]]),c(void 0))}),[null==r?void 0:r.toString()]),L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:d("panel.details.stations.interchange.noTrackShare")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s(ga),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:d("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{c(n),i(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(j,{label:d("panel.details.stations.londonTubeBasic.shareTracksIndex"),children:L.jsx(P,{defaultValue:e[4],min:-5,max:5,step:1,onThrottledChange:t=>null==l?void 0:l(n,[e[0],e[1],e[2],e[3],t])})}),L.jsxs(U,{children:[s&&n===t.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.copy"),onClick:()=>{const e=structuredClone(t.slice(-1)[0]);e[4]=Math.max(...t.map((e=>e[4])))+1,null==s||s(e)},icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),o&&0!==n&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.remove"),onClick:()=>null==o?void 0:o(n),icon:L.jsx(k,{})})]})]},n)))]})}const va={names:["Station"],nameOffsetX:"right",nameOffsetY:"top",stepFreeAccess:"none"},ja={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=va.nameOffsetX,nameOffsetY:h=va.nameOffsetY,stepFreeAccess:p=va.stepFreeAccess}=null!==(t=i[l.LondonTubeInt])&&void 0!==t?t:va,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-9.15:"right"===f?9.15:0,b="top"===h?-9.15:"bottom"===h?9.15:0,v="left"===f?"end":"right"===f?"start":"middle",j="top"===h?"auto":"bottom"===h?"hanging":"middle";return L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})`,onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:"none"===p?L.jsx("circle",{id:`stn_core_${a}`,r:6.25,width:5*.66,height:5.800000000000001,stroke:"black",strokeWidth:2.5,fill:"white"}):L.jsx(xa,{id:a,stepFreeAccess:p,transform:"scale(0.2333)"})}),L.jsx("g",{transform:`translate(${s+C}, ${o+b})`,textAnchor:v,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:j,grow:"top"===h?"up":"bottom"===h?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",strokeWidth:"2.5",fill:"white"})}),defaultAttrs:va,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:n.stepFreeAccess,options:{none:l("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:l("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:l("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:e=>{n.stepFreeAccess=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.londonTubeInt.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Oa="M-18.2,12.6c2.4-0.6,5.8-1.6,11.5-0.4c2.9,0.6,5.6,1.3,8.3,1.3c3.5,0,5.4-0.6,8.1-1.2c2.4-0.6,5.2-1.2,7.4-1.1c3.8,0.1,6.6,0.7,8.2,1.4l-1.2-3.1C21,8.3,15.8,7.7,9.7,9.5c-2.6,0.7-5.2,1.3-7.9,1.2c-2.5,0-4.8-0.4-7.2-1C-13,8-15.9,9.3-19.8,10.3L-18.2,12.6z",wa="M23.8-2h-4.1l-1.8-4.8c0,0-0.1-0.6-1-1.3c-0.6-0.5-1.6-0.5-1.6-0.5H4v-2h-6.9l-1.1-1.5l0.8-1.9h-1.9l-1.5,3.5h-2.6v2h-5.8c0,0-0.8,0.1-1.2,0.3c-0.4,0.3-0.6,0.5-0.6,0.5l-4.4,5.8h-7.3l7.3,10c1.6-0.7,6.6-2,9.7-1.9c4.1,0.1,9.5,1.9,13.1,1.9c6.6,0,8.8-2,14.6-2.3c7.1-0.4,11.6,2.3,11.6,2.3L23.8-2z M-11.1-2h-7.1l1.9-2.5c0,0,0.8-1.1,1.2-1.3c0.7-0.4,1.2-0.5,1.2-0.5h2.8V-2z M-9.2-2v-4.3h7.4v4.4L-9.2-2z M7.4-2H0v-4.3h7.4V-2z M9.3-2v-4.3h5.1c0,0,0.4,0,0.8,0.4c0.3,0.2,0.5,0.7,0.5,0.7l1.2,3.3L9.3-2z",_a={names:["Station"],nameOffsetX:"right",nameOffsetY:"top"},ka={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=_a.nameOffsetX,nameOffsetY:h=_a.nameOffsetY}=null!==(t=i[l.LondonRiverServicesInt])&&void 0!==t?t:_a,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-9.15:"right"===f?9.15:0,C="top"===h?-9.15:"bottom"===h?9.15:0,b="left"===f?"end":"right"===f?"start":"middle",v="top"===h?"auto":"bottom"===h?"hanging":"middle";return L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s}, ${o})`,onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},children:[L.jsx("circle",{r:7.25,stroke:"#003888",strokeWidth:.5,fill:"white"}),L.jsxs("g",{fill:"#003888",transform:"scale(0.222)",children:[L.jsx("path",{d:Oa}),L.jsx("path",{d:wa})]}),L.jsx("circle",{id:`stn_core_${a}`,r:7.5,fill:"white",fillOpacity:"0",className:"removeMe"})]}),L.jsx("g",{transform:`translate(${s+y}, ${o+C})`,textAnchor:b,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:v,grow:"top"===h?"up":"bottom"===h?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"white"}),L.jsxs("g",{transform:"translate(12, 12)scale(0.18)",children:[L.jsx("path",{stroke:"currentColor",d:Oa}),L.jsx("path",{stroke:"currentColor",d:wa})]})]}),defaultAttrs:_a,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.londonRiverServicesInt.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Sa={...x,nameOffsetX:"right",nameOffsetY:"top",interchange:!1},Na={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Sa.nameOffsetX,nameOffsetY:h=Sa.nameOffsetY,interchange:p=Sa.interchange}=null!==(t=i[l.GuangdongIntercityRailway])&&void 0!==t?t:Sa,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-13.33:"right"===f?13.33:0,b=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,v="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{r:5,stroke:"#2559a8",strokeWidth:"1.5",fill:"white"}),p&&L.jsx("circle",{r:2.5,stroke:"#2559a8",strokeWidth:"1",fill:"white"}),L.jsx("circle",{id:`stn_core_${a}`,r:5.665,fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:v,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:5.83,lineHeight:5.83,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2.25",fill:"white"}),L.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"1.5",fill:"white"})]}),defaultAttrs:Sa,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"switch",label:l("panel.details.stations.interchange.title"),oneLine:!0,isChecked:n.interchange,onChange:e=>{n.interchange=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.guangdongIntercityRailway.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},za=(e("s",{[l.ShmetroBasic]:Ae,[l.ShmetroBasic2020]:$e,[l.ShmetroInt]:Xe,[l.ShmetroOutOfSystemInt]:Re,[l.ShanghaiSuburbanRailway]:Le,[l.GzmtrBasic]:Qt,[l.GzmtrInt]:tn,[l.GzmtrInt2024]:rn,[l.BjsubwayBasic]:fn,[l.BjsubwayInt]:gn,[l.MTR]:jn,[l.SuzhouRTBasic]:Nn,[l.SuzhouRTInt]:Bn,[l.KunmingRTBasic]:En,[l.KunmingRTInt]:Ln,[l.MRTBasic]:Un,[l.MRTInt]:Zn,[l.JREastBasic]:Kn,[l.JREastImportant]:aa,[l.FoshanMetroBasic]:oa,[l.QingdaoMetroStation]:ra,[l.TokyoMetroBasic]:ca,[l.TokyoMetroInt]:pa,[l.LondonTubeBasic]:Ca,[l.LondonTubeInt]:ja,[l.LondonRiverServicesInt]:ka,[l.GuangdongIntercityRailway]:Na}),new BroadcastChannel("RMP_MASTER_CHANNEL")),Ma={id:"null",value:"",param:null,bg:"#000000",fg:m.white},Aa={h:"80%",w:"80%","& iframe":{h:"100%",w:"100%"},"& div":{h:"100%",w:"100%"}},Pa=e("k",(e=>{const{isOpen:t,onClose:s,onSubmit:o}=e,{t:l}=a(),i=n.useRef(window.graph),r=K(),[d,m]=n.useState([]),[c,f]=n.useState(Ma),[h,p]=n.useState(""),[u,g]=n.useState(!1),[x,y]=n.useState(!1);n.useEffect((()=>{t&&(p(""),f(Ma),g(!1),m(Oe(i.current).filter((e=>e.randomId)).map((e=>{var t,n,a;return{id:e.randomId,value:null!==(t=e.label)&&void 0!==t?t:e.randomId,param:e,bg:null!==(n=e.labelColorBg)&&void 0!==n?n:Ma.bg,fg:null!==(a=e.labelColorFg)&&void 0!==a?a:Ma.fg}}))))}),[t]);const C=e=>{try{var t,n,a,l,i;const s=null!==(t=c.param)&&void 0!==t?t:JSON.parse(e),d=s.id?s.id:s.randomId,m=null!==(n=s.labelColorBg)&&void 0!==n?n:E(),f={randomId:d,label:null!==(a=s.label)&&void 0!==a?a:d,labelColorBg:m,labelColorFg:X(m),nodeType:null!==(l=s.nodeType)&&void 0!==l?l:s.type,transform:null!==(i=s.transform)&&void 0!==i?i:Y,svgs:s.svgs,components:s.components,color:s.color,core:s.core,version:s.version};if(!f.version||f.version<2)return void r({title:"Outdated configuration!",status:"error",duration:9e3,isClosable:!0});o(f)}catch(d){return void y(!0)}s()},b=n.useRef(t),[v,O]=n.useState("DESIGNER"),[w,_]=n.useState(!1);return n.useEffect((()=>{b.current=t}),[t]),n.useEffect((()=>{const e=e=>{const{event:t,data:n}=e.data;"MASTER_POST"===t&&b.current&&(_(!1),C(n))};return za.addEventListener("message",e),()=>{za.removeEventListener("message",e)}}),[]),L.jsxs(L.Fragment,{children:[L.jsxs(ee,{isOpen:t,onClose:s,size:"sm",scrollBehavior:"inside",children:[L.jsx(te,{}),L.jsxs(ne,{children:[L.jsx(ae,{children:l("header.settings.procedures.masterManager.importTitle")}),L.jsx(se,{}),L.jsxs(oe,{children:[L.jsx(j,{label:l("header.settings.procedures.masterManager.importFrom"),children:L.jsx(B,{data:d,displayHandler:e=>L.jsx($,{name:e.value,fg:e.fg,bg:e.bg,title:e.value,sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(e,t)=>t.id.toLowerCase().includes(e.toLowerCase())||Object.values(t.id).some((t=>t.toLowerCase().includes(e.toLowerCase()))),value:c.value,onChange:e=>{f(e),g(!1),p("")}})}),L.jsxs(j,{label:l("header.settings.procedures.masterManager.importOther"),children:[L.jsxs(Q,{direction:"row",width:"100%",children:[L.jsx(Z,{m:1,width:"100%",onClick:async()=>{O("DESIGNER"),_(!0)},children:l("RMP Designer")}),L.jsx(Z,{m:1,width:"100%",onClick:()=>{O("GALLERY"),_(!0)},children:l("RMP Gallery")})]}),L.jsx(Z,{m:1,onClick:()=>g(!0),children:l("header.settings.procedures.masterManager.importParam")}),L.jsx(le,{width:"100%",placeholder:"qwq",fontSize:"sm",fontFamily:"monospace",hidden:!u,onChange:e=>{y(!1),p(e.target.value),f(Ma)},isInvalid:x})]})]}),L.jsxs(ie,{children:[L.jsx(Z,{colorScheme:"blue",variant:"outline",mr:"1",onClick:s,children:l("cancel")}),L.jsx(Z,{colorScheme:"blue",variant:"solid",mr:"1",onClick:()=>C(h),isDisabled:"null"===c.id&&""===h,children:l("apply")})]})]})]}),L.jsx(Ba,{isOpen:w,onClose:()=>_(!1),source:v})]})})),Ba=e=>{const{isOpen:t,onClose:n,source:a}=e,s="DESIGNER"===a?"/rmp-designer/#/export":"/rmp-gallery/?tabId=2&master=true";return L.jsxs(W,{isOpen:t,onClose:n,size:"full",sx:Aa,children:[L.jsx("iframe",{src:s,loading:"lazy"}),L.jsx(re,{onClick:n,position:"fixed",top:"5px",right:"15px"})]})};e("M",(e=>{const{isOpen:t,onClose:s}=e,{t:l}=a(),{refresh:{nodes:r}}=C((e=>e.runtime)),d=n.useRef(window.graph),c=y(),[f,h]=n.useState([]);n.useEffect((()=>{t&&h(Oe(d.current))}),[t,r]);const[p,u]=n.useState(void 0),g=f.map((e=>{var t,n,a,s,r;const f=[{label:l("header.settings.procedures.masterManager.id"),type:"custom",component:L.jsx($,{name:null!==(t=e.randomId)&&void 0!==t?t:"undefined",fg:null!==(n=e.labelColorFg)&&void 0!==n?n:m.white,bg:null!==(a=e.labelColorBg)&&void 0!==a?a:"#000000"})},{label:l("header.settings.procedures.masterManager.label"),type:"input",value:null!==(s=e.label)&&void 0!==s?s:l("panel.details.nodes.master.undefined"),onChange:t=>{return n=e,a=t,d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===n.randomId)).forEach((e=>{d.current.mergeNodeAttributes(e,{[i.Master]:{...n,label:a}})})),c(z()),void c(M(d.current.export()));var n,a},hidden:!e.randomId},{label:l("header.settings.procedures.masterManager.label"),type:"output",value:null!==(r=e.label)&&void 0!==r?r:l("panel.details.nodes.master.undefined"),hidden:!!e.randomId},{label:l("header.settings.procedures.masterManager.type"),type:"custom",component:L.jsx($,{name:l(`header.settings.procedures.masterManager.types.${e.nodeType}`),fg:m.white,bg:"MiscNode"===e.nodeType?"#FF8651":"#51BC00"})}];return L.jsxs(Q,{width:"100%",direction:"row",children:[L.jsx(o,{fields:f,minW:"120px"}),L.jsxs(Q,{direction:"row",mr:"auto",children:[L.jsx(Z,{onClick:()=>u(e.randomId),children:L.jsx(R,{})}),L.jsx(Z,{onClick:()=>(e=>{const t={id:e.randomId,type:e.nodeType,label:e.label,svgs:e.svgs,components:e.components,color:e.color,core:e.core,transform:e.transform,version:e.version};t.components.forEach(((e,n)=>{t.components[n].value=e.defaultValue})),we(`RMP_Master_Node_${(new Date).valueOf()}.json`,"application/json",JSON.stringify(t))})(e),isDisabled:!e.randomId,children:L.jsx(I,{})}),L.jsx(Z,{onClick:()=>{return t=e.randomId,d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===t)).forEach((e=>{d.current.dropNode(e)})),c(z()),void c(M(d.current.export()));var t},children:L.jsx(k,{})})]})]})}));return L.jsxs(ee,{isOpen:t,onClose:s,size:"xl",scrollBehavior:"inside",children:[L.jsx(te,{}),L.jsxs(ne,{children:[L.jsx(ae,{children:l("header.settings.procedures.masterManager.title")}),L.jsx(se,{}),L.jsxs(oe,{width:"100%",children:[...g,L.jsx(Pa,{isOpen:!!p,onClose:()=>u(void 0),onSubmit:e=>{d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===p)).forEach((t=>{const n=structuredClone(e),a=d.current.getNodeAttributes(t),s=structuredClone(a[i.Master]);n.components.forEach(((e,t)=>{var a,o;n.components[t].value=null!==(o=e.id,a=void s.components.forEach((e=>{var t;if(e.id===o)return null!==(t=e.value)&&void 0!==t?t:e.defaultValue})))&&void 0!==a?a:e.defaultValue})),void 0!==n.color&&(n.color.value=s.color?n.color.value:n.color.defaultValue),d.current.mergeNodeAttributes(t,{[i.Master]:n})})),c(z()),c(M(d.current.export()))}})]}),L.jsx(ie,{children:L.jsx(Z,{colorScheme:"blue",variant:"outline",mr:"1",onClick:s,children:l("close")})})]})]})}))}}})); +System.register(["./react-legacy-S3BmMPiz.js","./index-legacy-BdzZVG-I.js","./chakra-legacy-DsJcG_7N.js"],(function(e,t){"use strict";var n,a,s,o,l,i,r,d,m,c,f,h,p,u,g,x,y,C,b,v,j,O,w,_,k,S,N,z,M,A,P,B,$,W,E,X,Y,R,I,L,T,D,H,U,F,V,G,Z,Q,q,J,K,ee,te,ne,ae,se,oe,le,ie,re;return{setters:[e=>{n=e.b,a=e.u,s=e.r},e=>{o=e.i,l=e.S,i=e.av,r=e.r,d=e.C,m=e.M,c=e.aS,f=e.L,h=e.e,p=e.aU,u=e.aV,g=e.aW,x=e.aX,y=e.c,C=e.d,b=e.aY,v=e.aZ,j=e.P,O=e.V,w=e.W,_=e.a_,k=e.a$,S=e.b0,N=e.aR,z=e.q,M=e.v,A=e.b1,P=e.b2,B=e.Q,$=e.R,W=e.w,E=e.b3,X=e.b4,Y=e.aT,R=e.D,I=e.a},e=>{L=e.j,T=e.aK,D=e.a4,H=e.af,U=e.ax,F=e.B,V=e.a6,G=e.ad,Z=e.O,Q=e.g,q=e.b0,J=e.b1,K=e.aL,ee=e.at,te=e.$,ne=e.au,ae=e.a1,se=e.a2,oe=e.a3,le=e.Q,ie=e.a5,re=e.al}],execute:function(){e({S:function(e){var t=e.children,n=nn(s.useState(Math.random()),2),a=n[0],o=n[1];return L.jsx(vt.Provider,{value:{updateId:a,update:function(){return o(Math.random())}},children:t})},j:function(){const{i18n:e}=a();return t=>{var n,a;return null!==(n=null!==(a=e.languages.map((e=>t[e])).find((e=>void 0!==e)))&&void 0!==a?a:t.en)&&void 0!==n?n:"(Translation Error)"}}});var t=(e=>(e.Airport="airport",e.Airport2024="airport_2024",e.Maglev="maglev",e.Disney="disney",e.Railway="railway",e.Railway2024="railway_2024",e.HSR="hsr",e.AirportHK="airport_hk",e.DisneyHK="disney_hk",e.NgongPing360="ngong_ping_360",e.Tiananmen="tiananmen",e.AirportBJ="airport_bj",e.BusTerminalSuzhou="bus_terminal_suzhou",e.RailwaySuzhou="railway_suzhou",e.BusInterchange="bus_interchange",e.AirportSG="airport_sg",e.CruiseCentre="cruise_centre",e.SentosaExpress="sentosa_express",e.CableCar="cable_car",e.Merlion="merlion",e.MarinaBaySands="marina_bay_sands",e.GardensByTheBay="gardens_by_the_bay",e.SingaporeFlyer="singapore_flyer",e.Esplanade="esplanade",e.AirportQingdao="airport_qingdao",e.CoachStationQingdao="coach_station_qingdao",e.CruiseTerminalQingdao="cruise_terminal_qingdao",e.RailwayQingdao="railway_qingdao",e.TramQingdao="tram_qingdao",e.AirportGuangzhou="airport_guangzhou",e.RailwayGuangzhou="railway_guangzhou",e.IntercityGuangzhou="intercity_guangzhou",e.RiverCraftLondon="river_craft",e.AirportLondon="airport_london",e.CoachStationLondon="coach_station_london",e))(t||{});const de={type:"airport"},me=(e("n",{component:e=>{const{id:t,x:a,y:s,attrs:o,handlePointerDown:l,handlePointerMove:i,handlePointerUp:r}=e,{type:d=de.type}=null!=o?o:de,m=n.useRef(null),[c,f]=n.useState({width:25,height:25});n.useEffect((()=>f(m.current.getBBox())),[d,f,m]);const h=n.useCallback((e=>l(t,e)),[t,l]),p=n.useCallback((e=>i(t,e)),[t,i]),u=n.useCallback((e=>r(t,e)),[t,r]);return L.jsx("g",{id:t,transform:`translate(${a-c.width/2}, ${s-c.height/2})`,onPointerDown:h,onPointerMove:p,onPointerUp:u,style:{cursor:"move"},children:L.jsx("image",{ref:m,href:`/rmp/images/facilities/${d}.svg`,onLoad:()=>f(m.current.getBBox())})})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(12, 0)scale(0.4)",children:[L.jsx("circle",{cx:"0",cy:"29.33899",r:"29.33899",fill:"currentColor"}),L.jsx("path",{id:"airport",d:"M28.9769,6.60134c1.711.013,3.111,2.53205,3.111,4.241v10.337s17.106,15.435,17.358,15.666a1.145,1.145,0,0,1,.488,1.152v2.833c0,.651-.451.61-.695.467-.334-.119-17.151-8.863-17.151-8.863-.004,1.458-.797,9.006-1.326,13.304,0,0,4.61,2.457,4.699,2.521.334.268.352.359.352.852v2.001c0,.477-.352.428-.51.324-.183-.062-5.693-1.921-5.693-1.921a2.56018,2.56018,0,0,0-.633-.127,2.31654,2.31654,0,0,0-.666.127s-5.477,1.859-5.672,1.921c-.185.104-.523.153-.523-.324v-2.001c0-.493.029-.584.367-.852.086-.064,4.678-2.521,4.678-2.521-.524-4.298-1.307-11.846-1.325-13.304,0,0-16.822,8.744-17.148,8.863-.217.143-.69.184-.69-.467v-2.833a1.16206,1.16206,0,0,1,.473-1.152c.276-.231,17.365-15.666,17.365-15.666v-10.337c0-1.709,1.403-4.228,3.14105-4.241",transform:"translate(-28.9697,0.14347)",fill:"white"})]})}),defaultAttrs:de,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"select",label:l("panel.details.nodes.facilities.type"),value:n.type,options:{airport:"Airport",airport_2024:"Airport 2024",maglev:"Maglev",disney:"Disney",railway:"Railway",railway_2024:"Railway 2024",hsr:"HSR",airport_hk:"Airport Hongkong",disney_hk:"Disney Hongkong",ngong_ping_360:"Ngong Ping 360",tiananmen:"Tiananmen",airport_bj:"Airport Beijing",bus_terminal_suzhou:"Bus Terminal Suzhou",railway_suzhou:"Railway Suzhou",bus_interchange:"Bus Interchange",airport_sg:"Changi Airport",cruise_centre:"Cruise Centre",sentosa_express:"Sentosa Express",cable_car:"Cable Car",merlion:"Merlion",marina_bay_sands:"Marina Bay Sands",gardens_by_the_bay:"Gardens by the Bay",singapore_flyer:"Singapore Flyer",esplanade:"Esplanade",airport_qingdao:"Airport Qingdao",railway_qingdao:"Railway Qingdao",coach_station_qingdao:"Coach Station Qingdao",cruise_terminal_qingdao:"Cruise Terminal Qingdao",tram_qingdao:"Tram Qingdao",airport_guangzhou:"Airport Guangzhou",railway_guangzhou:"Railway Guangzhou",intercity_guangzhou:"Intercity Guangzhou",river_craft:"River services interchange",airport_london:"Airport London",coach_station_london:"Victoria Coach Station"},onChange:e=>{n.type=e,s(t,n)}}];return L.jsx(o,{fields:i,minW:"full"})},metadata:{displayName:"panel.details.nodes.facilities.displayName",tags:[]}}),e("i",(()=>navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome"))),{source:'url("./fonts/LTAIdentity-Medium.woff")',descriptors:{display:"swap"}}),ce={source:'url("./fonts/Mplus2-Medium.otf")',descriptors:{display:"swap"}},fe={source:'url("./fonts/Roboto-Bold.ttf")',descriptors:{display:"swap"}},he={source:'url("./fonts/MontaguSlab.ttf")',descriptors:{display:"swap"}},pe={source:'url("./fonts/Railway-PlyE.otf")',descriptors:{display:"swap"}},ue=e("F",{[l.MTR]:{className:[".rmp-name__mtr__zh",".rmp-name__mtr__en"],cssFont:{"MyriadPro-Semibold":void 0,"Vegur-Bold":void 0,"GenYoMinTW-SB":void 0},cssName:"fonts_mtr"},[l.MRTBasic]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.MRTInt]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.JREastBasic]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ce},cssName:"fonts_jreast"},[l.JREastImportant]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{"M PLUS 2":ce},cssName:"fonts_jreast"},[i.BerlinSBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:fe},cssName:"fonts_berlin"},[i.BerlinUBahnLineBadge]:{className:[".rmp-name__berlin"],cssFont:{Roboto:fe},cssName:"fonts_berlin"},[i.JREastLineBadge]:{className:[".rmp-name__jreast_ja",".rmp-name__jreast_en"],cssFont:{'"M PLUS 2"':ce},cssName:"fonts_jreast"},[i.MRTDestinationNumbers]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[i.MRTLineBadge]:{className:[".rmp-name__mrt"],cssFont:{IdentityFont:me},cssName:"fonts_mrt"},[l.TokyoMetroBasic]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:he,"M PLUS 2":ce},cssName:"fonts_tokyo"},[l.TokyoMetroInt]:{className:[".rmp-name__tokyo_en",".rmp-name__jreast_ja"],cssFont:{MontaguSlab:he,"M PLUS 2":ce},cssName:"fonts_tokyo"},[l.LondonTubeBasic]:{className:[".rmp-name__tube"],cssFont:{Railway:pe},cssName:"fonts_tube"},[l.LondonTubeInt]:{className:[".rmp-name__tube"],cssFont:{Railway:pe},cssName:"fonts_tube"}}),ge=[],xe=e("l",(async e=>{const t=ue[e];if(!t)return;const{cssFont:n,cssName:a}=t;if(ge.includes(a))return;ge.push(a),await Promise.all(Object.entries(n).map((([e,t])=>r.loadFont(e,t&&{configs:[t]}))));const s=document.createElement("link");s.rel="stylesheet",s.id=a,s.href=`/rmp/styles/${a}.css`,document.head.append(s)})),ye=e("g",n.forwardRef(((e,t)=>{const{text:n,lineHeight:a,grow:s,dominantBaseline:o=("up"===s?"auto":"down"===s?"hanging":"middle"),baseOffset:l=2,funcDX:i=(e=>0),...r}=e,d="bidirectional"===s?-(n.length-1)*a/2:0;return L.jsx("g",{ref:t,children:("up"===s?[...n].reverse():n).map(((e,t,n)=>L.jsx("text",{dy:(t*a+l)*("up"===s?-1:1)+d,dx:i(t),dominantBaseline:o,...r,children:e},`${e}${t}`)))})})));ye.displayName="MultilineText";const Ce={top:{namesPos:1,lineHeight:10,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:16,polarity:1}},be={zh:l.ShmetroBasic,en:l.ShmetroBasic,mtr__zh:l.MTR,mtr__en:l.MTR,berlin:i.BerlinSBahnLineBadge,mrt:l.MRTBasic,jreast_ja:l.JREastBasic,jreast_en:l.JREastBasic,tokyo_en:l.TokyoMetroBasic,tube:l.LondonTubeBasic},ve=e("h",{content:"Enter your text here",fontSize:16,lineHeight:16,textAnchor:"middle",dominantBaseline:"middle",language:"en",color:[d.Shanghai,"jsr","#000000",m.white],rotate:0,italic:"normal",bold:"normal"}),je=(e("t",{component:e=>{const{id:t,x:a,y:s,attrs:o,handlePointerDown:l,handlePointerMove:i,handlePointerUp:r}=e,{content:d=ve.content,fontSize:m=ve.fontSize,lineHeight:c=ve.lineHeight,textAnchor:f=ve.textAnchor,dominantBaseline:h=ve.dominantBaseline,language:p=ve.language,color:u=ve.color,rotate:g=ve.rotate,italic:x=ve.italic,bold:y=ve.bold}=null!=o?o:ve,C=n.useRef(null),[b,v]=n.useState({x:0,y:0,width:32,height:16});n.useEffect((()=>v(C.current.getBBox())),[d,m,c,f,h,p,g,x,y,v,C]),n.useEffect((()=>{const e=be[p];e&&xe(e)}),[p]);const j=n.useCallback((e=>l(t,e)),[t,l]),O=n.useCallback((e=>i(t,e)),[t,i]),w=n.useCallback((e=>r(t,e)),[t,r]);return L.jsxs("g",{id:t,transform:`translate(${a}, ${s})rotate(${g})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},children:[L.jsx("rect",{className:"removeMe",fill:"gray",fillOpacity:"0.1",x:b.x-1.5,y:b.y-1.5,width:b.width+3,height:b.height+3}),L.jsx(ye,{ref:C,text:d.split("\n"),lineHeight:c,grow:"down",className:`rmp-name__${p}`,fontSize:m,textAnchor:f,dominantBaseline:h,fill:u[2],fontStyle:x,fontWeight:y})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"10",children:"Text"})}),defaultAttrs:ve,attrsComponent:e=>{var t,n,s,l,r,d,m;const{id:f,attrs:h,handleAttrsUpdate:p}=e,{t:u}=a(),g=[{type:"textarea",label:u("panel.details.nodes.text.content"),value:null!==(t=h.content)&&void 0!==t?t:ve.content,onChange:e=>{h.content=e.toString(),p(f,h)},minW:"full"},{type:"input",label:u("panel.details.nodes.text.fontSize"),value:(null!==(n=h.fontSize)&&void 0!==n?n:ve.fontSize).toString(),validator:e=>Number.isInteger(e)&&Number(e)>0,onChange:e=>{h.fontSize=Number(e),p(f,h)},minW:"full"},{type:"input",label:u("panel.details.nodes.text.lineHeight"),value:(null!==(s=h.lineHeight)&&void 0!==s?s:ve.lineHeight).toString(),validator:e=>Number.isInteger(e)&&Number(e)>0,onChange:e=>{h.lineHeight=Number(e),p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.textAnchor"),value:null!==(l=h.textAnchor)&&void 0!==l?l:ve.textAnchor,options:{start:u("panel.details.nodes.text.start"),middle:u("panel.details.nodes.text.middle"),end:u("panel.details.nodes.text.end")},onChange:e=>{h.textAnchor=e,p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.dominantBaseline"),value:null!==(r=h.dominantBaseline)&&void 0!==r?r:ve.dominantBaseline,options:{auto:u("panel.details.nodes.text.auto"),middle:u("panel.details.nodes.text.middle"),hanging:u("panel.details.nodes.text.hanging")},onChange:e=>{h.dominantBaseline=e,p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.language"),value:null!==(d=h.language)&&void 0!==d?d:ve.language,options:{zh:u("panel.details.nodes.text.zh"),en:u("panel.details.nodes.text.en"),mtr__zh:u("panel.details.nodes.text.mtr__zh"),mtr__en:u("panel.details.nodes.text.mtr__en"),berlin:u("panel.details.nodes.text.berlin"),mrt:u("panel.details.nodes.text.mrt"),jreast_ja:u("panel.details.nodes.text.jreast_ja"),jreast_en:u("panel.details.nodes.text.jreast_en"),tokyo_en:u("panel.details.nodes.text.tokyo_en"),tube:u("panel.details.nodes.text.tube")},onChange:e=>{h.language=e.toString(),p(f,h)},minW:"full"},{type:"select",label:u("panel.details.nodes.text.rotate"),value:null!==(m=h.rotate)&&void 0!==m?m:ve.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{h.rotate=Number(e),p(f,h)},minW:"full"},{type:"switch",label:u("panel.details.nodes.text.italic"),isChecked:"italic"===h.italic,onChange:e=>{h.italic=e?"italic":"normal",p(f,h)},minW:"full"},{type:"switch",label:u("panel.details.nodes.text.bold"),isChecked:"bold"===h.bold,onChange:e=>{h.bold=e?"bold":"normal",p(f,h)},minW:"full"},{type:"custom",label:u("color"),component:L.jsx(c,{type:i.Text,defaultTheme:ve.color})}];return L.jsx(o,{fields:g})},metadata:{displayName:"panel.details.nodes.text.displayName",tags:[]}}),e("c",((e,t)=>e.filterEdges(((e,n,a,s,o,l,i)=>t.has(a)&&t.has(s))))),e("f",(e=>{const t=Object.fromEntries([...Object.values(l),Object.values(i)].map((e=>[e,!1])));return e.forEachNode((n=>{const a=e.getNodeAttribute(n,"type");t[a]=!0})),t}))),Oe=(e("b",((e,t,n,a,s)=>{const o=t<=a?t:a,l=n<=s?n:s,i=t<=a?a:t,r=n<=s?s:n;return e.filterNodes(((e,t)=>((e,t,n,a,s,o)=>e<=s&&s<=n&&t<=o&&o<=a)(o,l,i,r,t.x,t.y)))})),e("e",((e,t,n)=>{const a=[],s=new Set;return t.forEach((t=>{const n=e.getNodeAttributes(t).type,o=e.getNodeAttribute(t,n);if(void 0!==o.color){const e=o.color;s.has(e.toString())||(a.push(e),s.add(e.toString()))}})),n.filter((t=>f.includes(e.getEdgeAttribute(t,"style")))).forEach((t=>{const n=e.getEdgeAttributes(t),o=n[n.style].color;s.has(o.toString())||(a.push(o),s.add(o.toString()))})),a})),e=>{const t=[],n=new Set;return e.filterNodes((t=>e.getNodeAttribute(t,"type")===i.Master)).forEach((a=>{const s=e.getNodeAttributes(a)[i.Master];n.has(s.randomId)||(n.add(s.randomId),t.push(s))})),t}),we=e("d",((e,t,n)=>{const a=new Blob([n],{type:t});_e(e,a)})),_e=e("a",((e,t)=>{const n=window.URL.createObjectURL(t),a=document.createElement("a");a.href=n,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(n)})),ke=(e("m",(async(e,t,n,a)=>{const{xMin:s,yMin:o,xMax:l,yMax:i}=h(e),[r,d]=[l-s,i-o],m=document.getElementById("canvas").cloneNode(!0);t||m.appendChild(await Ne(l-400,i-120)),m.setAttribute("viewBox",`${s} ${o} ${r} ${d}`),m.setAttribute("width",r.toString()),m.setAttribute("height",d.toString()),Object.entries({".rmp-name-outline":["paint-order","stroke","stroke-linejoin"]}).forEach((([e,t])=>{const n=document.querySelector(e);if(null===n)return;const s=window.getComputedStyle(n);m.querySelectorAll(e).forEach((n=>{if(".rmp-name-outline"===e&&1.1===a){const t=n.insertAdjacentElement("afterend",n.cloneNode(!0));t&&(t.classList.remove(e.slice(1)),0===t.classList.length&&n.removeAttribute("class"),t.removeAttribute("stroke-width"))}t.forEach((e=>{n.setAttribute(e,s.getPropertyValue(e))})),n.classList.remove(e.slice(1)),0===n.classList.length&&n.removeAttribute("class")}))})),m.querySelectorAll('[fill="url(#opaque)"]').forEach((e=>{e.remove()})),m.querySelectorAll(".removeMe").forEach((e=>{e.remove()}));const c=je(e);return await ke(m,e,c,n),await Se(m,e,c),{elem:m,width:r,height:d}})),async(e,t,n,a)=>{const s=new Set;if(Object.keys(ue).filter((e=>n[e])).forEach((e=>s.add(e))),t.filterNodes(((e,t)=>e.startsWith("misc_node_")&&t.type===i.Text)).map((e=>t.getNodeAttribute(e,i.Text).language)).map((e=>be[e])).filter((e=>e!==l.ShmetroBasic)).forEach((e=>s.add(e))),a)[".rmp-name__zh",".rmp-name__en"].forEach((t=>{e.querySelectorAll(t).forEach((e=>{e.classList.remove(t.slice(1)),0===e.classList.length&&e.removeAttribute("class")}))})),s.forEach((t=>{ue[t].className.forEach((t=>{e.querySelectorAll(t).forEach((e=>{e.classList.remove(t.slice(1)),0===e.classList.length&&e.removeAttribute("class")}))}))}));else{const t=document.createElement("style");for(let e=0;ee.cssText)).join("\n");break}}e.prepend(t),await Promise.all([...s.values()].map((e=>ue[e])).map((async({cssName:t,cssFont:n})=>{try{e.prepend(await(async(e,t)=>{const n=document.createElement("style");for(let o=document.styleSheets.length-1;o>=0;o-=1){var a;if(null!==(a=document.styleSheets[o].href)&&void 0!==a&&a.endsWith(`styles/${t}.css`)){n.textContent=[...document.styleSheets[o].cssRules].map((e=>e.cssText)).filter((e=>!e.startsWith("@font-face"))).join("\n");break}}n.textContent+="\n";const s=(await Promise.allSettled(Object.keys(e).map(r.getFontCSS))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));return n.textContent+=s.join("\n"),n})(n,t))}catch(a){alert("Failed to load fonts. Fonts in the exported PNG will be missing."),console.error(a)}})))}}),Se=async(e,n,a)=>{if(a[i.Facilities]){const a=n.filterNodes(((e,t)=>t.type===i.Facilities)),s=Object.fromEntries(Object.values(t).map((e=>[e,[]])));a.forEach((e=>{var t;const a=null===(t=n.getNodeAttribute(e,i.Facilities))||void 0===t?void 0:t.type;a&&s[a].push(e)}));const o=Object.entries(s).filter((([e,t])=>t.length>0)).map((([e,t])=>e)),l=await Promise.all((await Promise.all(o.map((async e=>await fetch(`/rmp//images/facilities/${e}.svg`))))).map((e=>e.text())));o.forEach(((t,n)=>{const a=document.createElement("div");a.innerHTML=l[n];const o=a.querySelector("svg"),i=document.createElementNS("http://www.w3.org/2000/svg","symbol");for(const e of o.attributes)i.setAttribute(e.name,e.value);for(;o.firstChild;)i.appendChild(o.firstChild);o.replaceWith(i),i.id=t,e.appendChild(i),s[t].forEach((n=>{const a=e.querySelector(`#${n}`),s=null==a?void 0:a.querySelector("image");if(s){a.removeChild(s);const e=document.createElementNS("http://www.w3.org/2000/svg","use");e.setAttribute("href",`#${t}`),e.setAttribute("height",i.getAttribute("height")),e.setAttribute("width",i.getAttribute("width")),a.appendChild(e)}})),a.remove()}))}},Ne=async(e,t)=>{const n=document.createElementNS("http://www.w3.org/2000/svg","g");n.setAttribute("transform",`translate(${e}, ${t})scale(2)`);const a=await fetch("/rmp//logo.svg"),s=await a.text(),o=document.createElement("div");o.innerHTML=s;const l=o.querySelector("svg"),i=document.createElement("g");i.setAttribute("transform","translate(-60, -25)scale(0.1)"),i.setAttribute("font-family","Arial, sans-serif"),i.innerHTML=l.innerHTML,n.appendChild(i);const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("font-family","Arial, sans-serif"),r.setAttribute("font-size","16");const d=p.t("Rail Map Painter");r.appendChild(document.createTextNode(d));const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("font-family","Arial, sans-serif"),m.setAttribute("font-size","10"),m.setAttribute("y","10");const c=window.location.origin;let f="https://railmapgen.org/";return c.includes("github")?f="https://railmapgen.github.io/":c.includes("gitlab")&&(f="https://railmapgen.gitlab.io/"),f+="?app=rmp",m.appendChild(document.createTextNode(f)),n.appendChild(i),n.appendChild(r),n.appendChild(m),n};e("u",(()=>{const[e,t]=s.useState({width:void 0,height:void 0});return s.useEffect((()=>{function e(){t({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)}),[]),e}));const ze={top:{lineHeight:6.67,offset:10},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:5.83}},Me={...x,nameOffsetX:"right",nameOffsetY:"top"},Ae={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Me.nameOffsetX,nameOffsetY:h=Me.nameOffsetY}=null!==(t=i[l.ShmetroBasic])&&void 0!==t?t:Me,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-13.33:"right"===f?13.33:0,C=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,b="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:5,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${y}, ${C})`,textAnchor:b,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",fill:"none"})}),defaultAttrs:Me,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroBasic.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Pe={0:{textDx:0,textDy:-17.5,textAnchor:"middle",namesPos:1,lineHeight:6.67,polarity:-1},45:{textDx:1,textDy:-16.25,textAnchor:"start",namesPos:1,lineHeight:6.67,polarity:-1},90:{textDx:12,textDy:0,textAnchor:"start",namesPos:0,lineHeight:0,polarity:0},135:{textDx:5,textDy:21,textAnchor:"start",namesPos:0,lineHeight:12.67,polarity:1},180:{textDx:0,textDy:22.5,textAnchor:"middle",namesPos:0,lineHeight:12.67,polarity:1},225:{textDx:-5,textDy:21,textAnchor:"end",namesPos:0,lineHeight:12.67,polarity:1},270:{textDx:-12,textDy:0,textAnchor:"end",namesPos:0,lineHeight:0,polarity:0},315:{textDx:-1,textDy:-16.25,textAnchor:"end",namesPos:1,lineHeight:6.67,polarity:-1}},Be={...x,rotate:0,color:[d.Shanghai,"sh1","#E4002B",m.white]},$e={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=Be.color,rotate:h=Be.rotate}=null!==(t=i[l.ShmetroBasic2020])&&void 0!==t?t:Be,p=Pe[h].textDy+(c[Pe[h].namesPos].split("\n").length-1)*Pe[h].lineHeight*Pe[h].polarity,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]);return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${h})`,children:L.jsx("rect",{id:`stn_core_${a}`,x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:f[2],onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"}})}),L.jsxs("g",{transform:`translate(${s+Pe[h].textDx}, ${o+p})`,textAnchor:Pe[h].textAnchor,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:h>=45&&h<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,h,f,u,g,y])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:Be,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.ShmetroBasic2020,defaultTheme:Be.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.shmetroBasic2020.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},We={top:{lineHeight:6.67,offset:5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:.83}},Ee={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,height:10,width:13},Xe={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Ee.nameOffsetX,nameOffsetY:h=Ee.nameOffsetY,rotate:p=Ee.rotate,width:u=Ee.width,height:g=Ee.height}=null!==(t=i[l.ShmetroInt])&&void 0!==t?t:Ee,y=n.useCallback((e=>r(a,e)),[a,r]),C=n.useCallback((e=>d(a,e)),[a,d]),b=n.useCallback((e=>m(a,e)),[a,m]),v=0===p||180===p?u:90===p||270===p?g:u*Math.SQRT1_2,j=0===p||180===p?g:90===p||270===p?u:u*Math.SQRT1_2,O="left"===f?-6.83:"right"===f?6.83:0,w=(Math.abs(O)+v/2)*Math.sign(O),_=(c[Ce[h].namesPos].split("\n").length*We[h].lineHeight+We[h].offset)*Ce[h].polarity,k=(Math.abs(_)+j/2)*Math.sign(_),S="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${p})`,children:L.jsx("rect",{id:`stn_core_${a}`,x:-u/2,y:-g/2,height:g,width:u,ry:g/2,stroke:"#393332",strokeWidth:"1",fill:"white",onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"}})}),L.jsxs("g",{transform:`translate(${s+w}, ${o+k})`,textAnchor:S,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y,C,b])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"4.5",y:"7",height:"10",width:"15",ry:"5",stroke:"currentColor",fill:"none"})}),defaultAttrs:Ee,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"input",label:l("panel.details.stations.shmetroInt.height"),value:n.height.toString(),validator:e=>Number.isInteger(e),onChange:e=>{n.height=Number(e),s(t,n)},minW:"full"},{type:"input",label:l("panel.details.stations.shmetroInt.width"),value:n.width.toString(),validator:e=>Number.isInteger(e),onChange:e=>{n.width=Number(e),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroInt.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},Ye={...x,nameOffsetX:"right",nameOffsetY:"top"},Re={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Ye.nameOffsetX,nameOffsetY:h=Ye.nameOffsetY}=null!==(t=i[l.ShmetroOutOfSystemInt])&&void 0!==t?t:Ye,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-13.33:"right"===f?13.33:0,C=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,b="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{r:5,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),L.jsx("circle",{r:2.3,stroke:"#393332",strokeWidth:"1.33",fill:"white"}),L.jsx("circle",{id:`stn_core_${a}`,r:5.665,fill:"white",fillOpacity:"0",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${y}, ${C})`,textAnchor:b,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.67",fill:"white"}),L.jsx("circle",{cx:"12",cy:"12",r:"4.6",stroke:"currentColor",strokeWidth:"2.67",fill:"white"})]}),defaultAttrs:Ye,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shmetroOsysi.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Ie={...x,rotate:0},Le={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,rotate:f=Ie.rotate}=null!==(t=i[l.ShanghaiSuburbanRailway])&&void 0!==t?t:Ie,h=Pe[f].textDy+(c[Pe[f].namesPos].split("\n").length-1)*Pe[f].lineHeight*Pe[f].polarity,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]);return n.useMemo((()=>L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s}, ${o})rotate(${f})`,children:[L.jsx("rect",{x:"-2",y:"-7.83",width:"4",height:"7.83",stroke:"none",fill:"#898989"}),L.jsx("rect",{x:"-3.5",y:"-1",width:"7",height:"2",stroke:"none",fill:"white"}),L.jsx("rect",{x:-.8325,y:-6.33,width:1.6,height:6.33,stroke:"none",fill:"white"}),L.jsx("rect",{id:`stn_core_${a}`,x:"-2",y:"-7.83",width:"4",height:9.08,stroke:"none",fill:"white",fillOpacity:"0",onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{transform:`translate(${s+Pe[f].textDx}, ${o+h})`,textAnchor:Pe[f].textAnchor,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:f>=45&&f<=135?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,p,u,g])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:Ie,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.shanghaiSuburbanRailway.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};var Te=1.3,De=45,He=De-3,Ue=function(e,t){var n=[e,t].map((function(e){return e.match(/^(\w+).+$/)}));if(n[0]&&n[1]&&n[0][1]===n[1][1])return n[0][1]},Fe=function(e){var t=e.match(/^(\d+)\D+$/);return null==t?void 0:t[1]},Ve=function(){return Ve=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function Ke(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=qe(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=function(e,t){var n=Fe(e);if(n)return{isDigit:!0,spanningPart:n};var a=Ue(e,t);return a?{isDigit:!1,spanningPart:a}:{isDigit:!1,spanningPart:""}}(t,n),h=f.isDigit,p=f.spanningPart,u=s.useRef(null),g=Je(s.useState({x:0,height:0,width:0}),2),x=g[0],y=g[1];s.useEffect((function(){u.current&&y(u.current.getBBox())}),[t,n]);var C=He/Math.max(He,x.width),b=(-x.x-x.width/2)*C,v=x.height*(1-C)/2;return L.jsxs("g",Qe({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{fill:r?"#aaa":o}),L.jsx("g",{ref:u,transform:"translate(".concat(b,",").concat(v,")scale(").concat(C,")"),children:L.jsxs("text",{className:l,fontSize:21,x:-1,y:12,textAnchor:"end",dominantBaseline:"central",children:[p,L.jsx("tspan",{className:l,fontSize:10,x:0,dy:-4,textAnchor:"start",dominantBaseline:"central",children:t.slice(p.length).trim()}),L.jsx("tspan",{className:i,fontSize:6.5,letterSpacing:-.1,x:0,dy:10,textAnchor:"start",dominantBaseline:"middle",children:h?n:n.slice(p.length).trim()})]})}),d]}))}var et=function(){return et=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function at(e){var t,n=e.zhName,a=e.enName,o=e.foregroundColour,l=e.backgroundColour,i=e.zhClassName,r=e.enClassName,d=e.passed,c=e.children,f=tt(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),h=null!==(t=Fe(n))&&void 0!==t?t:"",p=s.useRef(null),u=s.useRef(null),g=nt(s.useState({width:0}),2),x=g[0],y=g[1],C=nt(s.useState({width:0}),2),b=C[0],v=C[1];s.useEffect((function(){p.current&&y(p.current.getBBox()),u.current&&v(u.current.getBBox())}),[n,a]);var j=He/Math.max(He,x.width),O=He/Math.max(He,b.width),w={nameZh:{y:7.3+13.5*(1-j)*j/2},nameEn:{y:19.5-9*(1-O)*O/2}};return L.jsxs("g",et({textAnchor:"middle",fill:d?m.white:o},f,{children:[L.jsx(Ze,{fill:d?"#aaa":l}),L.jsxs("text",{ref:p,className:i,fontSize:12,transform:"translate(0,".concat(w.nameZh.y,")scale(").concat(j,")"),dominantBaseline:"central",children:[L.jsx("tspan",{fontSize:16,dy:.7,dominantBaseline:"central",children:h}),L.jsx("tspan",{dy:-.7,dominantBaseline:"central",children:n.slice(h.length)})]}),L.jsx("text",{ref:u,className:r,fontSize:8,transform:"translate(0,".concat(w.nameEn.y,")scale(").concat(O,")"),dominantBaseline:"middle",children:a}),c]}))}var st=function(){return st=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function it(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=ot(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=s.useRef(null),h=lt(s.useState({width:0}),2),p=h[0],u=h[1];s.useEffect((function(){f.current&&u(f.current.getBBox())}),[t,n]);var g=Math.max(45,p.width+4);return L.jsxs("g",st({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{customWidth:g,fill:r?"#aaa":o}),L.jsxs("g",{ref:f,children:[L.jsx("text",{className:l,fontSize:8.5,y:8,dominantBaseline:"central",children:t}),L.jsx("text",{className:i,fontSize:5.5,y:18,dominantBaseline:"middle",children:n})]}),d]}))}var rt=function(){return rt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};function ct(e){var t=e.zhName,n=e.enName,a=e.foregroundColour,o=e.backgroundColour,l=e.zhClassName,i=e.enClassName,r=e.passed,d=e.children,c=dt(e,["zhName","enName","foregroundColour","backgroundColour","zhClassName","enClassName","passed","children"]),f=s.useRef(null),h=s.useRef(null),p=mt(s.useState({width:0}),2),u=p[0],g=p[1],x=mt(s.useState({width:0}),2),y=x[0],C=x[1];s.useEffect((function(){f.current&&g(f.current.getBBox()),h.current&&C(h.current.getBBox())}),[t,n]);var b=He/Math.max(He,u.width),v=He/Math.max(He,y.width),j={nameZh:{y:7.3+13.5*(1-b)*b/2},nameEn:{y:19.5-9*(1-v)*v/2}};return L.jsxs("g",rt({textAnchor:"middle",fill:r?m.white:a},c,{children:[L.jsx(Ze,{fill:r?"#aaa":o}),L.jsx("text",{ref:f,className:l,fontSize:12,transform:"translate(0,".concat(j.nameZh.y,")scale(").concat(b,")"),dominantBaseline:"central",children:t}),L.jsx("text",{ref:h,className:i,fontSize:8,transform:"translate(0,".concat(j.nameEn.y,")scale(").concat(v,")"),dominantBaseline:"middle",children:n}),d]}))}var ft=function(){return ft=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=5?L.jsx(it,ft({},e)):L.jsx(ct,ft({},e))}})));var ht=function(e,t){return void 0!==Fe(e)?1:void 0!==Ue(e,t)?2:3},pt=function(){return pt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l},_t=s.forwardRef((function(e,t){var n=e.Icon,a=e.lineNum,o=e.stnNum,l=e.strokeColour,i=e.passed,r=e.size,d=e.textClassName,m=e.bolderBorder,c=e.useSameScale,f=e.children,h=Ot(e,["Icon","lineNum","stnNum","strokeColour","passed","size","textClassName","bolderBorder","useSameScale","children"]),p=s.useContext(vt).updateId,u=s.useRef(null),g=s.useRef(null),x=wt(s.useState({width:0}),2),y=x[0],C=x[1],b=wt(s.useState({width:0}),2),v=b[0],j=b[1];s.useEffect((function(){u.current&&C(u.current.getBBox()),g.current&&j(g.current.getBBox())}),[a,o,p]);var O=a&&a.length>2;s.useEffect((function(){c&&O&&console.warn("GenericStationNumber(), useSameScale props does not work when lineNum has more than 2 characters")}),[c,O]);var w=17/Math.max(17,y.width),_=c&&2===(null==a?void 0:a.length)?w:17/Math.max(17,v.width),k="sm"===r?"0.7":"lg"===r?"1.4":1;return L.jsxs("g",jt({ref:t},h,{children:[L.jsxs("g",{transform:"scale(".concat(k,")"),children:[L.jsx(n,{stroke:i?"#aaa":l,filled:!a&&!o,bolder:m}),(a||o)&&L.jsxs("g",{textAnchor:"middle",fontSize:13.5,fill:i?"#aaa":"#000",children:[L.jsx("g",{transform:"translate(-9.25,0)scale(".concat(w,")"),children:L.jsx("text",{ref:u,className:d,dominantBaseline:"central",x:.5,children:a})}),L.jsx("g",{transform:"translate(9.25,0)scale(".concat(_,")"),children:L.jsx("text",{ref:g,className:d,dominantBaseline:"central",children:o})})]})]}),f]}))})),kt=function(){return kt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l},Et=function(e,t){return Array.from(Array(e).keys()).map((function(n){return(n-(e-1)/2)*t}))},Xt=function(e){return"fmetro"===e?xt:bt},Yt=9.1,Rt=2.8600000000000003,It=s.forwardRef((function(e,t){var n=e.stations,a=e.textClassName,o=e.columns,l=void 0===o?2:o,i=e.topHeavy,r=e.anchorAt,d=e.osiPosition,m=e.children,c=$t(e,["stations","textClassName","columns","topHeavy","anchorAt","osiPosition","children"]),f=s.useMemo((function(){return function(e,t,n){if(e<=0)return[];if(1===e)return[[0,0]];for(var a=t>e?e:t,s=Et(a,38.3),o=Math.ceil(e/a),l=Et(o,19.8),i=e%a,r=[],d=0;d=f.length)return console.warn(", anchor index ".concat(r," is out of bound")),[0,0];var e=Wt(f[r],2);return[-e[0],-e[1]]}),[f,r]),2),p=h[0],u=h[1],g=s.useRef(null),x=s.useRef([]);s.useEffect((function(){x.current=x.current.slice(0,n.length)}),[n.length]);var y=2===n.length&&1===l&&!!d;return s.useImperativeHandle(t,(function(){return{target:g.current,children:x.current,getCoordinates:function(){return f},getCorrectedBBox:function(){var e,t,n=null!==(t=null===(e=g.current)||void 0===e?void 0:e.getBBox())&&void 0!==t?t:{x:0,y:0,width:0,height:0};return n.y-=4.55,n.height+=Yt,y?(n.x-="left"===d?1.4300000000000002:4.55,n.width+=5.98):(n.x-=4.55,n.width+=Yt),n},getTranslate:function(){return[p,u]}}}),[f,p,u,g.current,x.current,d]),L.jsxs("g",Bt({ref:g,transform:"translate(".concat(p,",").concat(u,")")},c,{children:[n.map((function(e,t){var n=e.style,a=Xt(n);return L.jsx(a,{stroke:"#aaa",filled:!0,strokeWidth:Yt,transform:"translate(".concat(f[t][0],",").concat(f[t][1],")")},t)})),y&&L.jsx(Pt,{position:d,r:13.206896551724137,strokeWidth:Rt,strokeDasharray:void 0}),n.map((function(e,t){var n=e.style,a=Xt(n);return L.jsx(a,{stroke:"white",filled:!0,strokeWidth:3.3800000000000003,transform:"translate(".concat(f[t][0],",").concat(f[t][1],")")},t)})),y&&L.jsx(Pt,{position:d}),n.length&&L.jsx("rect",{fill:"white",x:-12,y:f[0][1],width:24,height:2*-f[0][1]}),n.map((function(e,t){var n=e.style,s=$t(e,["style"]),o="fmetro"===n?St:zt;return L.jsx(o,Bt({ref:function(e){return x.current[t]=e},transform:"translate(".concat(f[t][0],",").concat(f[t][1],")"),textClassName:a},s),t)})),m]}))})),Lt=function(){return Lt=Object.assign||function(e){for(var t,n=1,a=arguments.length;n{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=Zt.nameOffsetX,nameOffsetY:p=Zt.nameOffsetY,color:u=Zt.color,lineCode:g=Zt.lineCode,stationCode:y=Zt.stationCode,open:C=Zt.open,secondaryNames:b=Zt.secondaryNames,tram:v=Zt.tram}=null!==(t=r[l.GzmtrBasic])&&void 0!==t?t:Zt,j=n.useCallback((e=>d(s,e)),[s,d]),O=n.useCallback((e=>m(s,e)),[s,m]),w=n.useCallback((e=>c(s,e)),[s,c]),_=n.useRef(null);null===(a=_.current)||void 0===a||null===(a=a.querySelector("path"))||void 0===a||a.setAttribute("id",`stn_core_${s}`);const k={en:v?5.08:6.56,zh:v?7.29:13.13},S={top:{namesPos:1,lineHeight:k.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:k.zh,polarity:1}},N=v?11:15,z="left"===h?-N:"right"===h?N:0,M=v?8:10,A=(f[S[p].namesPos].split("\n").length*S[p].lineHeight+M)*S[p].polarity,P="left"===h?"end":"right"===h?"start":C||"middle"!==h||""!==b.join("")?"middle":"end",B=n.useRef(null),[$,W]=n.useState(0);n.useEffect((()=>{var e,t;return W(null!==(e=null===(t=B.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...b,v]);const E=n.useRef(null),[X,Y]=n.useState(0);n.useEffect((()=>{var e,t;return Y(null!==(e=null===(t=E.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...f,v]);const R="middle"===h?X/2+($+24)/2:(X+($+24)/2)*("left"===h?-1:1),I="middle"===h&&""!==b.join("")?X/2+($+24):(X+$+(0!==$?24:0))*("left"===h?-1:"right"===h?1:0);return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsx("g",{transform:`scale(${.57915*(v?.729:1)})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},ref:_,children:L.jsx(zt,{id:`stn_core_${s}`,strokeColour:u[2],lineNum:""===g?void 0:g,stnNum:""===y?void 0:y,textClassName:"rmp-name__zh"})}),L.jsxs("g",{ref:E,transform:`translate(${z}, ${A})`,textAnchor:P,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:k.zh,lineHeight:k.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:k.en,lineHeight:k.en,grow:"down",className:"rmp-name__en"})]}),""!==b.join("")&&L.jsxs("g",{transform:`translate(${z+R}, ${A})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-($+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:($+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:B,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:b[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:b[1]})]})]}),!C&&L.jsxs("g",{transform:`translate(${z+I}, ${A})`,textAnchor:"middle"===h?"start":P,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("g",{transform:"translate(12,12)scale(0.45)",children:L.jsx(zt,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),defaultAttrs:Zt,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.GzmtrBasic,defaultTheme:Zt.color})},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.gzmtrBasic.open"),oneLine:!0,isChecked:n.open,onChange:e=>{n.open=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.gzmtrBasic.secondaryNameZh"),value:n.secondaryNames[0],onChange:e=>{n.secondaryNames[0]=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.gzmtrBasic.secondaryNameEn"),value:n.secondaryNames[1],onChange:e=>{n.secondaryNames[1]=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:n.tram,onChange:e=>{n.tram=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.gzmtrBasic.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},qt=[d.Guangzhou,"","#AAAAAA",m.white,"","","gz"];function Jt(e){const{interchangeList:t,onAdd:s,onDelete:l,onUpdate:i}=e,r=y(),{paletteAppClip:{output:d}}=C((e=>e.runtime)),{t:m}=a(),[c,f]=n.useState();n.useEffect((()=>{void 0!==c&&d&&(null==i||i(c,[...d,t[c][4],t[c][5],t[c][6]]),f(void 0))}),[null==d?void 0:d.toString()]);const h=t.map(((e,t)=>[{type:"input",label:m("panel.details.stations.common.lineCode"),value:e[4],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],n,e[5],e[6]])},{type:"input",label:m("panel.details.stations.common.stationCode"),value:e[5],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],n,e[6]])}]));return L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:m("panel.details.stations.interchange.noInterchanges")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s(qt),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:m("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{f(n),r(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(o,{fields:h[n],noLabel:0!==n}),L.jsxs(U,{children:[s&&n===h.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.copy"),onClick:()=>null==s?void 0:s(t.slice(-1)[0]),icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),l&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":m("panel.details.stations.interchange.remove"),onClick:()=>null==l?void 0:l(n),icon:L.jsx(k,{})}),L.jsx(o,{fields:[{type:"switch",label:m("panel.details.stations.gzmtrInt.foshan"),isChecked:"fs"===e[6],onChange:t=>((e,t,n)=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],e[5],n?"fs":"gz"]))(e,n,t)}]})]})]},n)))]})}const Kt=[[[0,0]],[[0,0]],[[-21,0],[21,0]],[[-21.65,-12.5],[21.65,-12.5],[0,25]],[[-23,-18],[22,-16],[23,18],[-22,16]]],en={...x,nameOffsetX:"right",nameOffsetY:"top",transfer:[[],[]],open:!0,secondaryNames:["",""],tram:!1},tn={component:e=>{var t,a,s,o,i,r,d,m,c,f,h,p,u,g,y,C,b,v,j,O,w,_,k,S;const{id:N,x:z,y:M,attrs:A,handlePointerDown:P,handlePointerMove:B,handlePointerUp:$}=e,{names:W=x.names,nameOffsetX:E=en.nameOffsetX,nameOffsetY:X=en.nameOffsetY,transfer:Y=en.transfer,open:R=en.open,secondaryNames:I=en.secondaryNames,tram:T=en.tram}=null!==(t=A[l.GzmtrInt])&&void 0!==t?t:en,D=n.useCallback((e=>P(N,e)),[N,P]),H=n.useCallback((e=>B(N,e)),[N,B]),U=n.useCallback((e=>$(N,e)),[N,$]),F=V("white","var(--chakra-colors-gray-800)"),G={en:T?5.08:6.56,zh:T?7.29:13.13},Z={top:{namesPos:1,lineHeight:G.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:G.zh,polarity:1}},Q=T?18:25,q=("left"===E?-Q:"right"===E?Q:0)*("middle"===X?1.1:1),J=T?14:18,K=(W[Z[X].namesPos].split("\n").length*Z[X].lineHeight+J*("middle"===E?1.1:1))*Z[X].polarity,ee="left"===E?"end":"right"===E?"start":R||"middle"!==E||""!==I.join("")?"middle":"end",te=Y.flat().slice(0,4),ne=[["black","black"],[null!==(a=null===(s=te.at(0))||void 0===s?void 0:s.at(2))&&void 0!==a?a:"black",null!==(o=null===(i=te.at(0))||void 0===i?void 0:i.at(2))&&void 0!==o?o:"black"],[null!==(r=null===(d=te.at(0))||void 0===d?void 0:d.at(2))&&void 0!==r?r:"black",null!==(m=null===(c=te.at(1))||void 0===c?void 0:c.at(2))&&void 0!==m?m:"black"],[null!==(f=null===(h=te.at(0))||void 0===h?void 0:h.at(2))&&void 0!==f?f:"black",null!==(p=null===(u=te.at(1))||void 0===u?void 0:u.at(2))&&void 0!==p?p:"black",null!==(g=null===(y=te.at(2))||void 0===y?void 0:y.at(2))&&void 0!==g?g:"black"],[null!==(C=null===(b=te.at(0))||void 0===b?void 0:b.at(2))&&void 0!==C?C:"black",null!==(v=null===(j=te.at(1))||void 0===j?void 0:j.at(2))&&void 0!==v?v:"black",null!==(O=null===(w=te.at(2))||void 0===w?void 0:w.at(2))&&void 0!==O?O:"black",null!==(_=null===(k=te.at(3))||void 0===k?void 0:k.at(2))&&void 0!==_?_:"black"]],ae=n.useRef(null),[se,oe]=n.useState(0);n.useEffect((()=>{var e,t;return oe(null!==(e=null===(t=ae.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...I]);const le=n.useRef(null),[ie,re]=n.useState(0);n.useEffect((()=>{var e,t;return re(null!==(e=null===(t=le.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...W]);const de=(ie+(se+24)/2)*("left"===E?-1:1),me=(ie+se+(0!==se?24:0))*("left"===E?-1:"right"===E||0!==se?1:0),ce="middle"===E?"start":ee;return L.jsxs("g",{id:N,transform:`translate(${z}, ${M})`,children:[te.map((e=>e[2])).filter(((e,t,n)=>n.indexOf(e)===t)).map((e=>L.jsx("marker",{id:`gzmtr_int_arrow_${e}`,markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:L.jsx("polygon",{points:"0.25,0 0.25,2.5 2.25,1.25",fill:e})},`gzmtr_int_arrow_${e}`))),L.jsxs("g",{transform:`scale(${.57915*(T?.729:1)})`,children:[te.length<=2&&L.jsxs(L.Fragment,{children:[L.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15 L 21,15 A 28 28 0 0 1 -21,15 Z",fill:F}),L.jsx("path",{d:"M -21,-15 A 28 28 0 0 1 21,-15",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 21,15 A 28 28 0 0 1 -21,15",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`})]}),3===te.length&&L.jsxs(L.Fragment,{children:[L.jsx("circle",{r:"25",fill:F}),L.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 21.65,12.5 A 25 25 0 0 1 -21.65,12.5",fill:"none",stroke:ne[te.length][2],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`}),L.jsx("path",{d:"M -21.65,12.5 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 21.65,12.5",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`})]}),te.length>=4&&L.jsxs(L.Fragment,{children:[L.jsx("circle",{r:"25",fill:F}),L.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",stroke:ne[te.length][0],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",stroke:ne[te.length][1],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",stroke:ne[te.length][2],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`}),L.jsx("path",{d:"M 0,25 A 25 25 0 0 1 -25,0",fill:"none",stroke:ne[te.length][3],strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][3]})`}),L.jsx("path",{d:"M -25,0 A 25 25 0 0 1 0,-25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][0]})`}),L.jsx("path",{d:"M 0,-25 A 25 25 0 0 1 25,0",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][1]})`}),L.jsx("path",{d:"M 25,0 A 25 25 0 0 1 0,25",fill:"none",strokeOpacity:"0",stroke:"white",strokeWidth:"5",markerEnd:`url(#gzmtr_int_arrow_${ne[te.length][2]})`})]}),null===(S=Y[0])||void 0===S?void 0:S.map(((e,t,n)=>L.jsx("g",{transform:`translate(${Kt[n.length][t][0]},${Kt[n.length][t][1]})`,children:"gz"===e[6]?L.jsx(zt,{strokeColour:e[2],lineNum:e[4],stnNum:e[5],textClassName:"rmp-name__zh"}):L.jsx(St,{strokeColour:e[2],lineNum:e[4],stnNum:e[5],textClassName:"rmp-name__zh"})},`gzmtr_int_${N}_stn_${t}`))),L.jsx("circle",{id:`stn_core_${N}`,r:"25",fill:"white",fillOpacity:"0",onPointerDown:D,onPointerMove:H,onPointerUp:U,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{ref:le,transform:`translate(${q}, ${K})`,textAnchor:ee,children:[L.jsx(ye,{text:W[0].split("\\"),fontSize:G.zh,lineHeight:G.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:W[1].split("\\"),fontSize:G.en,lineHeight:G.en,grow:"down",className:"rmp-name__en"})]}),""!==I.join("")&&L.jsxs("g",{transform:`translate(${q+de}, ${K})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-(se+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:(se+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:ae,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:I[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:I[1]})]})]}),!R&&L.jsxs("g",{transform:`translate(${q+me}, ${K})`,textAnchor:ce,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("g",{transform:"translate(6,12)scale(0.3)",children:L.jsx(zt,{strokeColour:"currentColor",lineNum:"1",stnNum:"09"})}),L.jsx("g",{transform:"translate(18,12)scale(0.3)",children:L.jsx(zt,{strokeColour:"currentColor",lineNum:"2",stnNum:"13"})}),L.jsx("marker",{id:"arrow",markerWidth:"5",markerHeight:"5",refX:"1",refY:"1.25",orient:"auto",children:L.jsx("polygon",{points:"0,0 0,3 2,1.5"})}),L.jsx("path",{d:"M 6,6 A 8 8 0 0 1 18,6",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"}),L.jsx("path",{d:"M 18,18 A 8 8 0 0 1 6,18",fill:"none",stroke:"currentColor",strokeWidth:"2",markerEnd:"url(#arrow)"})]}),defaultAttrs:en,attrsComponent:e=>{var t;const{id:s,attrs:l,handleAttrsUpdate:i}=e,{t:r}=a(),d=[{type:"textarea",label:r("panel.details.stations.common.nameZh"),value:l.names[0],onChange:e=>{l.names[0]=e,i(s,l)},minW:"full"},{type:"textarea",label:r("panel.details.stations.common.nameEn"),value:l.names[1],onChange:e=>{l.names[1]=e,i(s,l)},minW:"full"},{type:"select",label:r("panel.details.stations.common.nameOffsetX"),value:l.nameOffsetX,options:{left:r("panel.details.stations.common.left"),middle:r("panel.details.stations.common.middle"),right:r("panel.details.stations.common.right")},disabledOptions:"middle"===l.nameOffsetY?["middle"]:[],onChange:e=>{l.nameOffsetX=e,i(s,l)},minW:"full"},{type:"select",label:r("panel.details.stations.common.nameOffsetY"),value:l.nameOffsetY,options:{top:r("panel.details.stations.common.top"),middle:r("panel.details.stations.common.middle"),bottom:r("panel.details.stations.common.bottom")},disabledOptions:"middle"===l.nameOffsetX?["middle"]:[],onChange:e=>{l.nameOffsetY=e,i(s,l)},minW:"full"},{type:"switch",label:r("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:l.open,onChange:e=>{l.open=e,i(s,l)},minW:"full"},{type:"input",label:r("panel.details.stations.gzmtrInt.secondaryNameZh"),value:l.secondaryNames[0],onChange:e=>{l.secondaryNames[0]=e,i(s,l)},minW:"full"},{type:"input",label:r("panel.details.stations.gzmtrInt.secondaryNameEn"),value:l.secondaryNames[1],onChange:e=>{l.secondaryNames[1]=e.toString(),i(s,l)},minW:"full"},{type:"switch",label:r("panel.details.stations.gzmtrBasic.tram"),oneLine:!0,isChecked:l.tram,onChange:e=>{l.tram=e,i(s,l)},minW:"full"}],m=[4,4,0],c=null!==(t=l.transfer)&&void 0!==t?t:en.transfer,f=e=>t=>{const n=structuredClone(c);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[qt];n[e].push(t),l.transfer=n,i(s,l)},h=e=>(t,n)=>{if(c.length>e&&c[e].length>t){const a=c.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5,6].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));l.transfer=a,i(s,l)}};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:d}),L.jsx(j,{label:r("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[c.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:r(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(Jt,{interchangeList:e,onAdd:m[t]>e.length?f(t):void 0,onDelete:(a=t,e=>{if(c.length>a&&c[a].length>e){const t=c.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));l.transfer=t,i(s,l)}}),onUpdate:h(t)})]},t);var a})),m[c.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>f(c.length)(qt),children:r("panel.details.stations.interchange.addGroup")})]})})]})},metadata:{displayName:"panel.details.stations.gzmtrInt.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};var nn=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,s,o=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(a=o.next()).done;)l.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return l};const an=6.56,sn=13.13,on=structuredClone(Ce);on.top.lineHeight=an,on.bottom.lineHeight=sn;const ln={...x,nameOffsetX:"right",nameOffsetY:"top",transfer:[[[d.Guangzhou,"gz1","#F3D03E",m.white,"1","14","gz"],[d.Guangzhou,"gz3","#ECA154",m.white,"3","11","gz"]]],open:!0,secondaryNames:["",""],columns:2,topHeavy:!1,anchorAt:-1,osiPosition:"none"},rn={component:e=>{var t,a,s,o,i,r,d;const{id:m,x:c,y:f,attrs:h,handlePointerDown:p,handlePointerMove:u,handlePointerUp:g}=e,{names:y=x.names,nameOffsetX:C=ln.nameOffsetX,nameOffsetY:b=ln.nameOffsetY,transfer:v=ln.transfer,open:j=ln.open,secondaryNames:O=ln.secondaryNames,columns:w=ln.columns,topHeavy:_=ln.topHeavy,anchorAt:k=ln.anchorAt,osiPosition:S=ln.osiPosition}=null!==(t=h[l.GzmtrInt2024])&&void 0!==t?t:ln,N=n.useCallback((e=>p(m,e)),[m,p]),z=n.useCallback((e=>u(m,e)),[m,u]),M=n.useCallback((e=>g(m,e)),[m,g]),A=v.flat().slice(0,5),P=A.map((e=>({style:"gz"===e[6]?"gzmtr":"fmetro",lineNum:e[4],stnNum:e[5],strokeColour:e[2]}))),[B,$]=n.useState(),[W,E]=n.useState([0,0]),X=n.useRef(null);n.useEffect((()=>{X.current&&($(X.current.getCorrectedBBox()),E(X.current.getTranslate()))}),[X.current,A.length,w,_,k]);const Y={x1:(null!==(a=null==B?void 0:B.x)&&void 0!==a?a:0)+W[0],y1:(null!==(s=null==B?void 0:B.y)&&void 0!==s?s:0)+W[1],x2:(null!==(o=null==B?void 0:B.x)&&void 0!==o?o:0)+(null!==(i=null==B?void 0:B.width)&&void 0!==i?i:0)+W[0],y2:(null!==(r=null==B?void 0:B.y)&&void 0!==r?r:0)+(null!==(d=null==B?void 0:B.height)&&void 0!==d?d:0)+W[1]},{update:R}=n.useContext(vt);n.useEffect((()=>{document.fonts.load("12px Arial","ABCDEFG123456").finally((()=>setTimeout(R,100)))}),[]);const I=.6*("left"===C?Y.x1:"right"===C?Y.x2:0),T=y[on[b].namesPos].split("\n").length*on[b].lineHeight*on[b].polarity+.6*("top"===b?Y.y1:"bottom"===b?Y.y2:0),D="left"===C?"end":"right"===C?"start":j||"middle"!==C||""!==O.join("")?"middle":"end",H=n.useRef(null),[U,F]=n.useState(0);n.useEffect((()=>{var e,t;return F(null!==(e=null===(t=H.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...O]);const V=n.useRef(null),[G,Z]=n.useState(0);n.useEffect((()=>{var e,t;return Z(null!==(e=null===(t=V.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...y]);const Q=(G+(U+24)/2)*("left"===C?-1:1),q=(G+U+(0!==U?24:0))*("left"===C?-1:"right"===C||0!==U?1:0),J="middle"===C?"start":D;return L.jsxs("g",{id:m,transform:`translate(${c}, ${f})`,children:[L.jsxs("g",{transform:"scale(0.56)",children:[L.jsx(It,{ref:X,stations:P,textClassName:"rmp-name__zh",columns:w,topHeavy:_,anchorAt:k>=0?k:void 0,osiPosition:2===v.flat().length&&1===w&&"none"!==S?S:void 0}),L.jsx("rect",{id:`stn_core_${m}`,x:Y.x1,y:Y.y1,width:Y.x2-Y.x1,height:Y.y2-Y.y1,fill:"white",fillOpacity:"0",onPointerDown:N,onPointerMove:z,onPointerUp:M,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{ref:V,transform:`translate(${I}, ${T})`,textAnchor:D,children:[L.jsx(ye,{text:y[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:y[1].split("\n"),fontSize:6.56,lineHeight:6.56,grow:"down",className:"rmp-name__en"})]}),""!==O.join("")&&L.jsxs("g",{transform:`translate(${I+Q}, ${T})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-(U+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:(U+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:H,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:O[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:O[1]})]})]}),!j&&L.jsxs("g",{transform:`translate(${I+q}, ${T})`,textAnchor:J,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx(It,{stations:[{strokeColour:"currentColor",lineNum:"3",stnNum:"03"},{strokeColour:"currentColor",lineNum:"7",stnNum:"05"}],textClassName:"rmp-name__zh",columns:1,transform:"translate(12,12)scale(0.3)"})}),defaultAttrs:ln,attrsComponent:e=>{var t,s;const{id:l,attrs:i,handleAttrsUpdate:r}=e,{t:d}=a(),m=[{type:"textarea",label:d("panel.details.stations.common.nameZh"),value:i.names[0],onChange:e=>{i.names[0]=e,r(l,i)},minW:"full"},{type:"textarea",label:d("panel.details.stations.common.nameEn"),value:i.names[1],onChange:e=>{i.names[1]=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.common.nameOffsetX"),value:i.nameOffsetX,options:{left:d("panel.details.stations.common.left"),middle:d("panel.details.stations.common.middle"),right:d("panel.details.stations.common.right")},disabledOptions:"middle"===i.nameOffsetY?["middle"]:[],onChange:e=>{i.nameOffsetX=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.common.nameOffsetY"),value:i.nameOffsetY,options:{top:d("panel.details.stations.common.top"),middle:d("panel.details.stations.common.middle"),bottom:d("panel.details.stations.common.bottom")},disabledOptions:"middle"===i.nameOffsetX?["middle"]:[],onChange:e=>{i.nameOffsetY=e,r(l,i)},minW:"full"},{type:"slider",label:d("panel.details.stations.gzmtrInt2024.columns"),value:i.columns,min:1,max:Math.min(5,i.transfer.flat().length),step:1,onChange:e=>{i.columns=e,r(l,i)},leftIcon:L.jsx(S,{}),rightIcon:L.jsx(v,{}),minW:"full"},{type:"switch",label:d("panel.details.stations.gzmtrInt2024.topHeavy"),oneLine:!0,isChecked:i.topHeavy,onChange:e=>{i.topHeavy=e,r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.gzmtrInt2024.anchorAt"),value:null!==(t=i.anchorAt)&&void 0!==t?t:"-1",options:{"-1":d("panel.details.stations.gzmtrInt2024.anchorAtNone"),...Object.fromEntries(Array.from({length:Math.min(i.transfer.flat().length,4)},((e,t)=>[t.toString(),t])))},onChange:e=>{i.anchorAt=Number(e),r(l,i)},minW:"full"},{type:"select",label:d("panel.details.stations.gzmtrInt2024.osiPosition"),value:i.osiPosition,options:{none:d("panel.details.stations.gzmtrInt2024.osiPositionNone"),left:d("panel.details.stations.gzmtrInt2024.osiPositionLeft"),right:d("panel.details.stations.gzmtrInt2024.osiPositionRight")},onChange:e=>{i.osiPosition=e,r(l,i)},hidden:!(2===i.transfer.flat().length&&1===i.columns),minW:"full"},{type:"switch",label:d("panel.details.stations.gzmtrInt.open"),oneLine:!0,isChecked:i.open,onChange:e=>{i.open=e,r(l,i)},minW:"full"},{type:"input",label:d("panel.details.stations.gzmtrInt.secondaryNameZh"),value:i.secondaryNames[0],onChange:e=>{i.secondaryNames[0]=e,r(l,i)},minW:"full"},{type:"input",label:d("panel.details.stations.gzmtrInt.secondaryNameEn"),value:i.secondaryNames[1],onChange:e=>{i.secondaryNames[1]=e.toString(),r(l,i)},minW:"full"}],c=[5,5,0],f=null!==(s=i.transfer)&&void 0!==s?s:ln.transfer,h=e=>t=>{const n=structuredClone(f);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[qt];n[e].push(t),i.transfer=n,r(l,i)},p=e=>(t,n)=>{if(f.length>e&&f[e].length>t){const a=f.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5,6].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));i.transfer=a,r(l,i)}};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:m}),L.jsx(j,{label:d("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[f.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:d(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(Jt,{interchangeList:e,onAdd:c[t]>e.length?h(t):void 0,onDelete:(a=t,e=>{if(f.length>a&&f[a].length>e){const t=f.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));i.transfer=t,i.anchorAt=-1,r(l,i)}}),onUpdate:p(t)})]},t);var a})),c[f.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>h(f.length)(qt),children:d("panel.details.stations.interchange.addGroup")})]})})]})},metadata:{displayName:"panel.details.stations.gzmtrInt2024.displayName",cities:[d.Guangzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},dn={zh:9,en:6.2,top:7.2,middle:0,bottom:10},mn={...x,nameOffsetX:"right",nameOffsetY:"top",open:!0},cn=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:mn).names[0],onChange:(e,t)=>{const n=null!=t?t:mn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:mn).names[1],onChange:(e,t)=>{const n=null!=t?t:mn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:mn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:mn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:mn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:mn;return n.nameOffsetY=e,n}},{type:"switch",label:"panel.details.stations.bjsubwayBasic.open",oneLine:!0,isChecked:e=>(null!=e?e:mn).open,onChange:(e,t)=>{const n=null!=t?t:mn;return n.open=e,n}}],fn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=mn.nameOffsetX,nameOffsetY:h=mn.nameOffsetY,open:p=mn.open}=null!==(t=i[l.BjsubwayBasic])&&void 0!==t?t:mn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),[C,b]=(j=h,"left"===(v=f)&&"top"===j?[-4,-(c[1].split("\n").length+(p?0:1))*dn[j]-1]:"middle"===v&&"top"===j?[0,-(c[1].split("\n").length+(p?0:1))*dn[j]-4]:"right"===v&&"top"===j?[4,-(c[1].split("\n").length+(p?0:1))*dn[j]-1]:"left"===v&&"bottom"===j?[-4,c[0].split("\n").length*dn[j]+1]:"middle"===v&&"bottom"===j?[0,c[0].split("\n").length*dn[j]+4]:"right"===v&&"bottom"===j?[4,c[0].split("\n").length*dn[j]+1]:"left"===v&&"middle"===j?[-5,0]:"right"===v&&"middle"===j?[5,0]:[0,0]);var v,j;const O="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:"4",stroke:"black",strokeWidth:"0.5",strokeDasharray:p?void 0:"1.5",fill:"white",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:O,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:dn.zh,lineHeight:dn.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),L.jsx(ye,{text:c[1].split("\n"),fontSize:dn.en,lineHeight:dn.en,grow:"down",className:"rmp-name__en",baseOffset:1}),!p&&L.jsx("text",{dy:c[1].split("\n").length*dn.en+2,fontSize:dn.en,dominantBaseline:"hanging",className:"rmp-name__zh",children:"(暂缓开通)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})}),defaultAttrs:mn,attrsComponent:()=>L.jsx(N,{fields:cn}),metadata:{displayName:"panel.details.stations.bjsubwayBasic.displayName",cities:[d.Beijing],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},hn="M 8.359893 4.159288 C 8.368828 4.168825 8.460953 4.26852 8.57038 4.386985 C 8.679807 4.505449 8.860802 4.701382 8.972592 4.822389 C 9.084381 4.943397 9.238666 5.110407 9.315445 5.193521 C 9.392224 5.276636 9.519867 5.414817 9.599094 5.500589 C 9.678323 5.58636 9.801023 5.719209 9.871761 5.795812 C 9.942499 5.872413 10.000208 5.935256 9.999999 5.935465 C 9.999792 5.935671 9.975513 5.928466 9.946045 5.919453 C 9.916577 5.910439 9.831826 5.88438 9.757708 5.861543 C 9.683591 5.838706 9.532284 5.791997 9.421472 5.757746 C 9.310658 5.723495 9.190374 5.686309 9.154173 5.675113 C 9.11797 5.663918 9.048485 5.642428 8.99976 5.627359 C 8.951035 5.612291 8.910275 5.599729 8.909181 5.599446 C 8.907193 5.59893 8.907193 5.59893 8.907135 5.798288 C 8.907103 5.907935 8.906695 6.128369 8.906229 6.288144 C 8.905446 6.555825 8.905249 6.580968 8.903705 6.608245 C 8.902784 6.624527 8.90139 6.647987 8.900606 6.660379 C 8.899822 6.672773 8.898192 6.695836 8.896983 6.711632 C 8.895774 6.727427 8.893582 6.753074 8.892114 6.768627 C 8.890645 6.784179 8.888061 6.80923 8.88637 6.824296 C 8.884679 6.839362 8.88172 6.864065 8.879793 6.879189 C 8.877868 6.894315 8.874691 6.917777 8.872734 6.931325 C 8.870777 6.944874 8.867386 6.967292 8.865197 6.981143 C 8.863009 6.994995 8.859045 7.018654 8.856388 7.03372 C 8.853731 7.048786 8.849344 7.072617 8.84664 7.086676 C 8.843935 7.100736 8.839338 7.1236 8.836424 7.137486 C 8.833509 7.151371 8.828584 7.174065 8.825479 7.187916 C 8.822371 7.201767 8.817014 7.224831 8.81357 7.239167 C 8.810127 7.253505 8.80431 7.276767 8.800644 7.29086 C 8.796978 7.304955 8.791035 7.327222 8.787437 7.340344 C 8.78384 7.353467 8.77752 7.375735 8.773395 7.389829 C 8.769268 7.403923 8.762319 7.426986 8.757952 7.441081 C 8.753583 7.455174 8.746363 7.47784 8.741903 7.491448 C 8.737446 7.505056 8.729829 7.527523 8.724978 7.541374 C 8.720126 7.555225 8.712182 7.577493 8.707321 7.590858 C 8.702462 7.604224 8.6948 7.624901 8.690294 7.636807 C 8.68579 7.648715 8.677304 7.670452 8.671437 7.685113 C 8.665571 7.699773 8.656536 7.721842 8.651362 7.734155 C 8.646187 7.746468 8.63796 7.765688 8.63308 7.776865 C 8.628201 7.788043 8.620145 7.806136 8.615178 7.817071 C 8.610211 7.828006 8.60083 7.848286 8.594332 7.862138 C 8.587832 7.875988 8.573873 7.904618 8.563307 7.92576 C 8.552743 7.946901 8.537873 7.975929 8.530265 7.990266 C 8.522656 8.004602 8.511053 8.026075 8.504479 8.037983 C 8.497905 8.04989 8.486739 8.069772 8.479666 8.082165 C 8.472593 8.094558 8.460988 8.11444 8.453878 8.126348 C 8.446768 8.138254 8.435438 8.156944 8.428702 8.167879 C 8.421966 8.178814 8.410628 8.196906 8.403507 8.208085 C 8.396386 8.219262 8.384013 8.238349 8.37601 8.2505 C 8.36801 8.26265 8.354345 8.282929 8.345645 8.295566 C 8.336946 8.308201 8.322885 8.328276 8.314397 8.340175 C 8.305909 8.352074 8.292209 8.37096 8.283951 8.382147 C 8.275693 8.393333 8.261178 8.41259 8.251695 8.42494 C 8.242211 8.437289 8.225837 8.458165 8.215304 8.471332 C 8.204773 8.484497 8.189062 8.503819 8.18039 8.514267 C 8.17172 8.524716 8.157459 8.541616 8.148703 8.551823 C 8.139945 8.562029 8.125004 8.579116 8.115499 8.589793 C 8.105992 8.600471 8.091457 8.616575 8.083197 8.625581 C 8.074937 8.634586 8.060843 8.649709 8.05188 8.659185 C 8.042916 8.668662 8.018659 8.69335 7.997974 8.714046 C 7.977291 8.734741 7.953162 8.758432 7.944355 8.766693 C 7.935549 8.774953 7.920821 8.788638 7.911628 8.797104 C 7.902433 8.805571 7.887569 8.819082 7.878597 8.827129 C 7.869623 8.835177 7.853733 8.849096 7.843284 8.858062 C 7.832834 8.867027 7.816133 8.881153 7.806171 8.889453 C 7.796208 8.897753 7.779904 8.911098 7.769942 8.919111 C 7.759978 8.927123 7.743874 8.939848 7.734154 8.947388 C 7.724434 8.954926 7.708329 8.96721 7.698366 8.974683 C 7.688403 8.982156 7.673093 8.993497 7.664346 8.999885 C 7.655598 9.006271 7.637505 9.019163 7.62414 9.02853 C 7.610775 9.037899 7.588109 9.053377 7.573772 9.062926 C 7.559434 9.072475 7.538474 9.086151 7.527194 9.093318 C 7.515913 9.100485 7.497422 9.112045 7.486104 9.119009 C 7.474786 9.125973 7.454846 9.137918 7.441793 9.145553 C 7.428741 9.153188 7.405677 9.166317 7.390542 9.174728 C 7.375406 9.18314 7.352087 9.19579 7.338722 9.20284 C 7.325357 9.209889 7.303686 9.221025 7.290564 9.227587 C 7.277442 9.234147 7.256366 9.2444 7.243731 9.250369 C 7.231095 9.256339 7.211213 9.265569 7.199549 9.27088 C 7.187884 9.27619 7.168797 9.28464 7.157134 9.289659 C 7.145469 9.294676 7.124792 9.303333 7.111184 9.308895 C 7.097576 9.31446 7.075367 9.323255 7.061831 9.328442 C 7.048295 9.333629 7.027816 9.341289 7.016323 9.345462 C 7.00483 9.349636 6.978328 9.358748 6.95743 9.365711 C 6.936532 9.372675 6.906311 9.382359 6.890272 9.38723 C 6.874235 9.392101 6.849581 9.399302 6.835486 9.403231 C 6.821393 9.40716 6.796739 9.413705 6.7807 9.417776 C 6.764662 9.421847 6.740208 9.427785 6.726356 9.430971 C 6.712505 9.434157 6.689641 9.439174 6.675548 9.442118 C 6.661452 9.445063 6.639384 9.449434 6.626504 9.451833 C 6.613625 9.454231 6.591038 9.458187 6.57631 9.460623 C 6.561581 9.463058 6.538518 9.46664 6.525058 9.468584 C 6.511598 9.470528 6.487662 9.473704 6.471867 9.475644 C 6.456071 9.477583 6.433207 9.480169 6.421057 9.481392 C 6.408907 9.482615 6.387236 9.4846 6.372898 9.485805 C 6.358561 9.487008 6.333112 9.488794 6.316345 9.489771 C 6.299578 9.490749 6.276316 9.491956 6.264652 9.492452 C 6.252987 9.492949 6.216803 9.493517 6.18424 9.493716 C 6.151678 9.493916 6.114499 9.493756 6.10162 9.493363 C 6.088739 9.49297 6.06866 9.492202 6.056995 9.491656 C 6.045331 9.491112 6.026046 9.490059 6.014138 9.489319 C 6.002231 9.488579 5.982548 9.487186 5.970398 9.486226 C 5.958248 9.485266 5.939956 9.483668 5.92975 9.482677 C 5.919544 9.481687 5.902445 9.479897 5.891753 9.478702 C 5.881061 9.477505 5.864443 9.475529 5.854823 9.47431 C 5.845204 9.47309 5.827708 9.470707 5.815943 9.469012 C 5.804178 9.467319 5.784412 9.464314 5.77202 9.462336 C 5.759627 9.460358 5.745908 9.458071 5.741535 9.457253 C 5.733583 9.455767 5.733583 9.455767 5.750813 9.451963 C 5.76029 9.449871 5.778183 9.445793 5.790576 9.442902 C 5.802969 9.440009 5.82305 9.435088 5.8352 9.431966 C 5.847351 9.428843 5.867067 9.423503 5.879014 9.420099 C 5.890961 9.416695 5.911639 9.410524 5.924964 9.406386 C 5.938288 9.402248 5.960324 9.395124 5.973932 9.390556 C 5.98754 9.385988 6.008053 9.378835 6.019516 9.374659 C 6.030978 9.370483 6.050462 9.363131 6.062815 9.358321 C 6.075166 9.353508 6.094417 9.34577 6.105595 9.341125 C 6.116774 9.336478 6.135264 9.328524 6.146685 9.323448 C 6.158106 9.318373 6.177591 9.309499 6.189984 9.303728 C 6.202377 9.297957 6.224247 9.287379 6.238585 9.280221 C 6.252921 9.273063 6.273399 9.262563 6.284092 9.256887 C 6.294784 9.251213 6.314865 9.240225 6.328716 9.232468 C 6.342567 9.224712 6.361654 9.213777 6.371131 9.208166 C 6.380608 9.202557 6.396514 9.192982 6.406477 9.18689 C 6.41644 9.180798 6.432345 9.170843 6.441822 9.164769 C 6.4513 9.158695 6.467404 9.14816 6.47761 9.141357 C 6.487816 9.134555 6.50392 9.123611 6.513398 9.117039 C 6.522875 9.110467 6.539177 9.098936 6.549627 9.091415 C 6.560077 9.083895 6.577971 9.070704 6.589391 9.062101 C 6.600812 9.053498 6.618895 9.039583 6.629575 9.031179 C 6.640255 9.022773 6.656757 9.009534 6.666247 9.001758 C 6.675736 8.993981 6.692227 8.980227 6.702893 8.971191 C 6.713559 8.962157 6.730458 8.94742 6.740448 8.938442 C 6.750437 8.929464 6.766562 8.914768 6.776282 8.905784 C 6.786003 8.896801 6.803698 8.880239 6.815604 8.868983 C 6.827512 8.857727 6.843456 8.842402 6.851037 8.834927 C 6.858617 8.827451 6.873728 8.812176 6.884615 8.800982 C 6.895503 8.789788 6.912683 8.77174 6.922792 8.760878 C 6.932902 8.750012 6.949699 8.731606 6.960117 8.719973 C 6.970537 8.70834 6.986147 8.690599 6.994807 8.68055 C 7.003467 8.670501 7.017852 8.65353 7.026772 8.642838 C 7.035693 8.632146 7.053 8.610872 7.065231 8.595562 C 7.077464 8.580254 7.09533 8.557407 7.104936 8.544792 C 7.114541 8.532177 7.129989 8.511499 7.139265 8.498842 C 7.14854 8.486185 7.164221 8.464337 7.174109 8.450293 C 7.183999 8.436249 7.199718 8.413383 7.209044 8.399484 C 7.218369 8.385583 7.232209 8.364666 7.2398 8.353003 C 7.247391 8.341338 7.260236 8.321177 7.268346 8.3082 C 7.276455 8.295223 7.289493 8.27395 7.297318 8.260925 C 7.305143 8.247901 7.317313 8.227304 7.32436 8.215153 C 7.331408 8.203004 7.344023 8.180735 7.352394 8.165669 C 7.360765 8.150602 7.372812 8.128534 7.379167 8.116627 C 7.385522 8.104719 7.396764 8.083248 7.404151 8.06891 C 7.411537 8.054573 7.422352 8.0331 7.428184 8.021194 C 7.434016 8.009287 7.443347 7.990001 7.448918 7.978336 C 7.45449 7.966672 7.463351 7.947784 7.468609 7.936364 C 7.473868 7.924943 7.482234 7.906453 7.4872 7.895274 C 7.492166 7.884096 7.500586 7.86481 7.505909 7.852417 C 7.511233 7.840024 7.519759 7.819808 7.524855 7.807493 C 7.529951 7.795179 7.538242 7.7747 7.543279 7.761986 C 7.548316 7.749271 7.556671 7.727735 7.561847 7.714127 C 7.567022 7.700519 7.57545 7.677853 7.580575 7.663759 C 7.585701 7.649664 7.594637 7.624414 7.600433 7.607646 C 7.60623 7.59088 7.615365 7.563642 7.620735 7.547118 C 7.626104 7.530593 7.634661 7.503554 7.63975 7.48703 C 7.644838 7.470506 7.653173 7.442472 7.658273 7.424733 C 7.663371 7.406994 7.671309 7.378562 7.675913 7.361553 C 7.680518 7.344542 7.688414 7.314123 7.69346 7.293953 C 7.698508 7.273784 7.705483 7.244955 7.708961 7.229889 C 7.712439 7.214823 7.717614 7.19176 7.720461 7.178638 C 7.723308 7.165516 7.728016 7.143247 7.730923 7.129154 C 7.733829 7.115059 7.738621 7.090804 7.74157 7.075251 C 7.74452 7.0597 7.749294 7.033455 7.752179 7.016931 C 7.755066 7.000407 7.759431 6.974154 7.761884 6.958592 C 7.764333 6.94303 7.768123 6.917978 7.770304 6.902922 C 7.772485 6.887866 7.775877 6.86322 7.777843 6.848155 C 7.779809 6.833088 7.783001 6.807043 7.784938 6.790275 C 7.786876 6.773509 7.789651 6.74806 7.791106 6.733722 C 7.792561 6.719385 7.794953 6.693936 7.796421 6.677169 C 7.797888 6.660402 7.800071 6.632964 7.801272 6.616198 C 7.802474 6.599431 7.804076 6.575174 7.804832 6.562295 C 7.80559 6.549416 7.806592 6.532119 7.807061 6.523856 C 7.807529 6.515595 7.80835 6.421553 7.808886 6.314875 C 7.809421 6.208197 7.809724 6.003942 7.80956 5.860975 C 7.809398 5.718009 7.809015 5.600789 7.808712 5.600486 C 7.808408 5.600182 7.68663 5.63752 7.538092 5.68346 C 7.389553 5.7294 7.213946 5.783698 7.147853 5.804122 C 7.08176 5.824546 6.974794 5.857548 6.910151 5.877461 C 6.845508 5.897371 6.776261 5.918652 6.75627 5.924749 C 6.736279 5.930848 6.719744 5.935658 6.719525 5.93544 C 6.719306 5.935221 6.790938 5.857274 6.878708 5.762224 C 6.966477 5.667175 7.110461 5.511271 7.198671 5.415771 C 7.286881 5.320272 7.433807 5.161213 7.525173 5.062309 C 7.616539 4.963404 7.76605 4.801562 7.857421 4.702663 C 7.948792 4.603762 8.093983 4.446596 8.180069 4.353404 C 8.266154 4.260212 8.341831 4.178411 8.34824 4.171626 L 8.359893 4.159288 Z M 3.639928 8.15987 C 3.639606 8.15984 3.567056 8.081517 3.478708 7.985821 C 3.390359 7.890125 3.197014 7.680786 3.049051 7.520623 C 2.901089 7.36046 2.662314 7.101986 2.518441 6.946236 C 2.374568 6.790486 2.198977 6.60038 2.128238 6.523779 C 2.0575 6.447177 1.999793 6.384333 2 6.384126 C 2.000208 6.383919 2.024487 6.391125 2.053954 6.40014 C 2.083422 6.409154 2.157237 6.431839 2.217988 6.450549 C 2.278738 6.469259 2.375968 6.499262 2.434052 6.517222 C 2.492137 6.535182 2.553174 6.55407 2.569692 6.559195 C 2.586209 6.564321 2.709718 6.602509 2.844157 6.644057 C 2.978595 6.685606 3.089538 6.719839 3.090698 6.72013 C 3.092807 6.72066 3.092807 6.72066 3.092866 6.520418 C 3.092898 6.410285 3.093306 6.18985 3.093772 6.030562 C 3.094553 5.763748 3.094752 5.738617 3.096295 5.711344 C 3.097217 5.695064 3.098611 5.671603 3.099395 5.659211 C 3.100178 5.646816 3.101808 5.623754 3.103017 5.607958 C 3.104227 5.592164 3.106418 5.566515 3.107887 5.550963 C 3.109355 5.535411 3.111941 5.51036 3.113633 5.495295 C 3.115324 5.480227 3.118114 5.456767 3.119833 5.443159 C 3.121551 5.429551 3.124544 5.407283 3.126484 5.393674 C 3.128424 5.380066 3.13179 5.357599 3.133963 5.343748 C 3.136135 5.329897 3.139918 5.307034 3.142369 5.292939 C 3.144819 5.278845 3.149205 5.254788 3.152116 5.239479 C 3.155027 5.224168 3.159971 5.199397 3.163101 5.184428 C 3.16623 5.169459 3.171352 5.145801 3.174481 5.131851 C 3.17761 5.117902 3.182986 5.094759 3.18643 5.080422 C 3.189873 5.066085 3.19569 5.042824 3.199356 5.028729 C 3.203022 5.014635 3.208965 4.992367 3.212563 4.979245 C 3.21616 4.966123 3.222479 4.943855 3.226605 4.929761 C 3.230732 4.915667 3.237681 4.892604 3.242049 4.878509 C 3.246417 4.864415 3.253638 4.84175 3.258096 4.828142 C 3.262555 4.814533 3.270171 4.792067 3.275023 4.778216 C 3.279873 4.764364 3.287818 4.742096 3.292678 4.728731 C 3.297538 4.715366 3.3052 4.694689 3.309704 4.682783 C 3.31421 4.670875 3.322696 4.649137 3.328563 4.634478 C 3.33443 4.619817 3.343463 4.597748 3.348639 4.585434 C 3.353813 4.573122 3.36204 4.553902 3.36692 4.542725 C 3.371799 4.531547 3.379856 4.513454 3.384823 4.502518 C 3.389789 4.491583 3.39917 4.471303 3.405668 4.457452 C 3.412167 4.443601 3.426129 4.414971 3.436694 4.39383 C 3.44726 4.372689 3.461914 4.344058 3.469262 4.330207 C 3.476608 4.316357 3.488427 4.294487 3.495524 4.281607 C 3.502622 4.268728 3.514584 4.247454 3.522105 4.234332 C 3.529628 4.22121 3.541034 4.201699 3.547455 4.190976 C 3.553874 4.180251 3.564621 4.162556 3.571336 4.151653 C 3.578052 4.14075 3.589372 4.122683 3.596493 4.111505 C 3.603614 4.100327 3.615987 4.081241 3.623989 4.069091 C 3.631991 4.056941 3.645655 4.036661 3.654354 4.024024 C 3.663054 4.011388 3.677115 3.991314 3.685603 3.979416 C 3.694091 3.967517 3.707792 3.948628 3.716049 3.937443 C 3.724308 3.926256 3.738823 3.906999 3.748305 3.89465 C 3.757787 3.882301 3.774164 3.861424 3.784696 3.848259 C 3.795227 3.835093 3.810939 3.815771 3.81961 3.805323 C 3.828281 3.794872 3.84254 3.777973 3.851297 3.767766 C 3.860054 3.757562 3.874996 3.740475 3.884502 3.729796 C 3.894008 3.719119 3.908543 3.703013 3.916803 3.694009 C 3.925064 3.685003 3.939156 3.669882 3.94812 3.660404 C 3.957083 3.650928 3.981341 3.626241 4.002025 3.605544 C 4.02271 3.584848 4.046838 3.561157 4.055645 3.552897 C 4.064451 3.544637 4.079179 3.530951 4.088373 3.522486 C 4.097566 3.514019 4.11243 3.500508 4.121404 3.49246 C 4.130376 3.484412 4.146267 3.470493 4.156716 3.461528 C 4.167165 3.452562 4.183867 3.438437 4.19383 3.430137 C 4.203792 3.421837 4.220096 3.408491 4.230059 3.400478 C 4.240022 3.392467 4.256126 3.379735 4.265846 3.372187 C 4.275566 3.364638 4.294852 3.349997 4.308703 3.33965 C 4.322554 3.329302 4.342636 3.314602 4.353327 3.306981 C 4.364019 3.299361 4.382311 3.28654 4.393975 3.27849 C 4.405639 3.270441 4.42466 3.257609 4.436245 3.249977 C 4.447829 3.242345 4.465922 3.230637 4.476451 3.223961 C 4.486979 3.217284 4.504342 3.206445 4.515034 3.199872 C 4.525727 3.193299 4.545155 3.181674 4.558207 3.174039 C 4.571259 3.166403 4.594323 3.153273 4.609458 3.14486 C 4.624594 3.13645 4.647913 3.123799 4.661278 3.11675 C 4.674643 3.1097 4.696314 3.098564 4.709436 3.092004 C 4.722558 3.085442 4.74403 3.075004 4.757153 3.068806 C 4.770275 3.062607 4.791488 3.052789 4.804292 3.046986 C 4.817096 3.041182 4.837177 3.03234 4.848916 3.027336 C 4.860656 3.022333 4.879611 3.014428 4.89104 3.009769 C 4.902469 3.00511 4.923146 2.996942 4.93699 2.991619 C 4.950833 2.986296 4.971702 2.978476 4.983366 2.97424 C 4.99503 2.970004 5.021672 2.960841 5.042571 2.953878 C 5.063468 2.946914 5.093689 2.937231 5.109727 2.93236 C 5.125765 2.927489 5.150419 2.920288 5.164514 2.916359 C 5.178607 2.912431 5.203261 2.905885 5.219299 2.901814 C 5.235338 2.897742 5.259793 2.891805 5.273643 2.888619 C 5.287495 2.885432 5.310359 2.880417 5.324453 2.877472 C 5.338548 2.874528 5.360616 2.870155 5.373496 2.867757 C 5.386374 2.865358 5.408962 2.861403 5.42369 2.858968 C 5.438418 2.856532 5.461482 2.85295 5.474941 2.851007 C 5.488403 2.849062 5.512338 2.845885 5.528134 2.843946 C 5.543929 2.842007 5.566793 2.83942 5.578943 2.838198 C 5.591094 2.836976 5.612764 2.83499 5.627101 2.833786 C 5.641439 2.832582 5.666887 2.830797 5.683655 2.829821 C 5.700423 2.828844 5.724281 2.827635 5.736673 2.827131 C 5.749067 2.826628 5.779487 2.825963 5.804273 2.825654 C 5.831717 2.825312 5.864715 2.825499 5.888661 2.826133 C 5.910288 2.826705 5.935936 2.827562 5.945656 2.828037 C 5.955376 2.828513 5.97327 2.829513 5.98542 2.830258 C 5.99757 2.831004 6.017452 2.832401 6.029602 2.833363 C 6.041752 2.834323 6.060044 2.83592 6.07025 2.836912 C 6.080456 2.837903 6.097554 2.839693 6.108246 2.840889 C 6.118938 2.842084 6.135557 2.84406 6.145177 2.84528 C 6.154796 2.846498 6.172292 2.848883 6.184057 2.850577 C 6.195822 2.852271 6.215388 2.855248 6.227539 2.857194 C 6.239688 2.859139 6.253395 2.861429 6.257997 2.862283 C 6.266363 2.863834 6.266363 2.863834 6.249159 2.867633 C 6.239698 2.869721 6.221817 2.873796 6.209424 2.876689 C 6.197031 2.87958 6.17695 2.884501 6.1648 2.887624 C 6.152649 2.890747 6.132933 2.896087 6.120986 2.899491 C 6.109038 2.902895 6.088361 2.909066 6.075037 2.913204 C 6.061712 2.917341 6.039675 2.924465 6.026067 2.929032 C 6.012459 2.933601 5.991946 2.940756 5.980484 2.944931 C 5.969021 2.949106 5.949537 2.95646 5.937186 2.961273 C 5.924834 2.966085 5.905422 2.973896 5.894048 2.978628 C 5.882673 2.983361 5.864182 2.991314 5.852958 2.996302 C 5.841733 3.001288 5.822409 3.010091 5.810017 3.015862 C 5.797623 3.021632 5.775753 3.032209 5.761416 3.039369 C 5.747078 3.046527 5.726601 3.057027 5.715909 3.062701 C 5.705216 3.068377 5.685135 3.079366 5.671284 3.087121 C 5.657433 3.094877 5.638347 3.105814 5.628869 3.111423 C 5.619392 3.117034 5.603487 3.126609 5.593524 3.1327 C 5.58356 3.138793 5.567655 3.148746 5.558177 3.15482 C 5.5487 3.160895 5.532596 3.171429 5.522389 3.178233 C 5.512184 3.185035 5.496079 3.195978 5.486602 3.202551 C 5.477125 3.209123 5.460822 3.220655 5.450372 3.228179 C 5.439923 3.235703 5.423421 3.247832 5.413702 3.255136 C 5.403981 3.262436 5.386883 3.27556 5.375705 3.284297 C 5.364527 3.293035 5.346831 3.307168 5.336382 3.315704 C 5.325933 3.32424 5.308455 3.338784 5.297544 3.348024 C 5.286631 3.357265 5.269532 3.372169 5.259547 3.381148 C 5.249561 3.390125 5.233438 3.404821 5.223718 3.413807 C 5.213998 3.422791 5.196302 3.439351 5.184396 3.450605 C 5.172488 3.461862 5.156544 3.477188 5.148963 3.484664 C 5.141382 3.492139 5.126272 3.507414 5.115385 3.518608 C 5.104497 3.529801 5.087317 3.547848 5.077208 3.558713 C 5.067098 3.569577 5.050301 3.587983 5.039882 3.599617 C 5.029463 3.61125 5.013853 3.62899 5.005193 3.639039 C 4.996532 3.649089 4.982148 3.666059 4.973228 3.676752 C 4.964307 3.687445 4.947 3.708717 4.934769 3.724027 C 4.922537 3.739336 4.90467 3.762184 4.895064 3.774798 C 4.885458 3.787414 4.870011 3.808089 4.860735 3.820748 C 4.85146 3.833405 4.835779 3.855252 4.825891 3.869297 C 4.816002 3.883342 4.800281 3.906206 4.790956 3.920107 C 4.781631 3.934007 4.767791 3.954923 4.760201 3.966587 C 4.75261 3.978251 4.739764 3.998412 4.731654 4.01139 C 4.723545 4.024366 4.710507 4.04564 4.702682 4.058664 C 4.694856 4.071689 4.682687 4.092286 4.67564 4.104437 C 4.668592 4.116586 4.655977 4.138854 4.647606 4.15392 C 4.639235 4.168986 4.627187 4.191055 4.620833 4.202963 C 4.614478 4.214869 4.603237 4.236342 4.59585 4.250679 C 4.588463 4.265017 4.577648 4.286489 4.571816 4.298396 C 4.565984 4.310304 4.556654 4.329589 4.551082 4.341253 C 4.54551 4.352918 4.536649 4.371806 4.53139 4.383226 C 4.526132 4.394647 4.517766 4.413137 4.512801 4.424315 C 4.507834 4.435493 4.499414 4.45478 4.494091 4.467174 C 4.488767 4.479566 4.480241 4.499781 4.475145 4.512096 C 4.470048 4.524411 4.461758 4.544889 4.456721 4.557603 C 4.451684 4.570319 4.443329 4.591855 4.438153 4.605463 C 4.432978 4.619071 4.42455 4.641737 4.419425 4.65583 C 4.414299 4.669925 4.405364 4.695175 4.399567 4.711941 C 4.393771 4.72871 4.384635 4.755947 4.379265 4.772473 C 4.373896 4.788996 4.365339 4.816035 4.36025 4.83256 C 4.355162 4.849085 4.346827 4.877117 4.341728 4.894857 C 4.336629 4.912596 4.328691 4.941027 4.324087 4.958037 C 4.319483 4.975048 4.311586 5.005467 4.30654 5.025636 C 4.301492 5.045806 4.294517 5.074635 4.291039 5.0897 C 4.287562 5.104767 4.282386 5.12783 4.279539 5.140952 C 4.276692 5.154074 4.271984 5.176342 4.269077 5.190436 C 4.266171 5.20453 4.261379 5.228786 4.25843 5.244339 C 4.25548 5.259891 4.250707 5.286135 4.24782 5.302659 C 4.244935 5.319183 4.240569 5.345436 4.238118 5.360997 C 4.235666 5.37656 4.231877 5.40161 4.229696 5.416667 C 4.227515 5.431724 4.224122 5.456368 4.222157 5.471435 C 4.220191 5.486501 4.216998 5.512547 4.215061 5.529314 C 4.213124 5.546082 4.210349 5.571529 4.208893 5.585867 C 4.207439 5.600204 4.205048 5.625653 4.20358 5.642421 C 4.202112 5.659187 4.199928 5.686625 4.198727 5.703393 C 4.197526 5.720159 4.195924 5.744415 4.195167 5.757294 C 4.194409 5.770174 4.193407 5.787471 4.192938 5.795733 C 4.192471 5.803995 4.19165 5.898036 4.191115 6.004715 C 4.19058 6.111393 4.190277 6.315648 4.190439 6.458614 C 4.190602 6.601581 4.190984 6.718802 4.191288 6.719105 C 4.191591 6.719408 4.313371 6.682069 4.461908 6.636129 C 4.610447 6.590189 4.786054 6.535892 4.852147 6.515468 C 4.91824 6.495043 5.025205 6.462041 5.089849 6.442131 C 5.154491 6.422219 5.223739 6.400939 5.243729 6.39484 C 5.263721 6.388742 5.280256 6.383932 5.280475 6.38415 C 5.280694 6.384369 5.209062 6.462315 5.121291 6.557364 C 5.033521 6.652413 4.889537 6.808317 4.801327 6.903816 C 4.713117 6.999316 4.56619 7.158374 4.474826 7.25728 C 4.383461 7.356185 4.23395 7.518026 4.14258 7.616927 C 4.051209 7.715828 3.906015 7.872994 3.819926 7.966186 C 3.733837 8.059378 3.658251 8.141094 3.651957 8.147776 C 3.645663 8.154458 3.64025 8.159901 3.639928 8.15987 Z",pn={...x,nameOffsetX:"right",nameOffsetY:"top",outOfStation:!1},un=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:pn).names[0],onChange:(e,t)=>{const n=null!=t?t:pn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:pn).names[1],onChange:(e,t)=>{const n=null!=t?t:pn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:pn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:pn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:pn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:pn;return n.nameOffsetY=e,n}},{type:"switch",label:"panel.details.stations.bjsubwayInt.outOfStation",oneLine:!0,isChecked:e=>(null!=e?e:pn).outOfStation,onChange:(e,t)=>{const n=null!=t?t:pn;return n.outOfStation=e,n}}],gn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=pn.nameOffsetX,nameOffsetY:h=pn.nameOffsetY,outOfStation:p=pn.outOfStation}=null!==(t=i[l.BjsubwayInt])&&void 0!==t?t:pn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),[C,b]=(j=h,"left"===(v=f)&&"top"===j?[-5,-c[1].split("\n").length*dn[j]-4]:"middle"===v&&"top"===j?[0,-c[1].split("\n").length*dn[j]-7]:"right"===v&&"top"===j?[5,-c[1].split("\n").length*dn[j]-4]:"left"===v&&"bottom"===j?[-5,c[0].split("\n").length*dn[j]+4]:"middle"===v&&"bottom"===j?[0,c[0].split("\n").length*dn[j]+7]:"right"===v&&"bottom"===j?[5,c[0].split("\n").length*dn[j]+4]:"left"===v&&"middle"===j?[-8,0]:"right"===v&&"middle"===j?[8,0]:[0,0]);var v,j;const O="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s-6}, ${o-6})`,children:[L.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),L.jsx("path",{d:hn,fill:p?"#898989":"black",stroke:p?"#898989":"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"}),L.jsx("circle",{id:`stn_core_${a}`,cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",strokeOpacity:"0",fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},className:"removeMe"})]}),L.jsxs("g",{transform:`translate(${s+C}, ${o+b})`,textAnchor:O,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:dn.zh,lineHeight:dn.zh,grow:"up",className:"rmp-name__zh",baseOffset:1}),L.jsx(ye,{text:c[1].split("\n"),fontSize:dn.en,lineHeight:dn.en,grow:"down",className:"rmp-name__en",baseOffset:1})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(6, 6)",children:[L.jsx("circle",{cx:"6",cy:"6",r:"6",stroke:"black",strokeWidth:"1",fill:"white"}),L.jsx("path",{d:hn,stroke:"black",strokeWidth:"0.533618",strokeLinecap:"round",strokeLinejoin:"round"})]})}),defaultAttrs:pn,attrsComponent:()=>L.jsx(N,{fields:un}),metadata:{displayName:"panel.details.stations.bjsubwayInt.displayName",cities:[d.Beijing],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}};function xn(e){const{interchangeList:t,onAdd:s,onDelete:l,onUpdate:i}=e,r=y(),{paletteAppClip:{output:c}}=C((e=>e.runtime)),{t:f}=a(),[h,p]=n.useState();n.useEffect((()=>{void 0!==h&&c&&(null==i||i(h,[...c,t[h][4],t[h][5]]),p(void 0))}),[null==c?void 0:c.toString()]);const u=t.map(((e,t)=>[{type:"input",label:f("panel.details.stations.common.lineCode"),value:e[4],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],n,e[5]])},{type:"input",label:f("panel.details.stations.common.stationCode"),value:e[5],minW:"80px",onChange:n=>null==i?void 0:i(t,[e[0],e[1],e[2],e[3],e[4],n])}]));return L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:f("panel.details.stations.interchange.noInterchanges")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s([d.Shanghai,"","#aaaaaa",m.white,"",""]),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:f("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{p(n),r(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(o,{fields:u[n],noLabel:0!==n}),s&&n===u.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.copy"),onClick:()=>null==s?void 0:s(t.slice(-1)[0]),icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),l&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":f("panel.details.stations.interchange.remove"),onClick:()=>null==l?void 0:l(n),icon:L.jsx(k,{})})]},n)))]})}const yn=e=>{var t;const{stationType:s,defaultAttrs:o,maximumTransfers:l}=e,{t:i}=a(),r=y(),c=n.useCallback((()=>{r(z()),r(M(p.current.export()))}),[r,z,M]),{selected:f}=C((e=>e.runtime)),[h]=f,p=n.useRef(window.graph),u=h&&p.current.hasNode(h)&&p.current.getNodeAttribute(h,"type")===s?p.current.getNodeAttribute(h,s):o,g=null!==(t=u.transfer)&&void 0!==t?t:o.transfer,x=e=>t=>{const n=structuredClone(g);if(n.length<=e)for(let a=n.length;a<=e;a++)n[a]=[];n[e].push(t),u.transfer=n,p.current.mergeNodeAttributes(h,{[s]:u}),c()},b=e=>(t,n)=>{if(g.length>e&&g[e].length>t){const a=g.map(((a,s)=>s===e?a.map(((e,a)=>a===t?[0,1,2,3,4,5].map((t=>void 0===n[t]?e[t]:n[t])):e)):a));u.transfer=a,p.current.mergeNodeAttributes(h,{[s]:u}),c()}};return L.jsxs(U,{align:"flex-start",children:[u.transfer.map(((e,t)=>{return L.jsxs(n.Fragment,{children:[L.jsx(G,{size:"xs",children:i(0===t?"panel.details.stations.interchange.within":1===t?"panel.details.stations.interchange.outStation":"panel.details.stations.interchange.outSystem")}),L.jsx(xn,{interchangeList:e,onAdd:l[t]>e.length?x(t):void 0,onDelete:(a=t,e=>{if(g.length>a&&g[a].length>e){const t=g.map(((t,n)=>n===a?t.filter(((t,n)=>n!==e)):t));u.transfer=t,p.current.mergeNodeAttributes(h,{[s]:u}),c()}}),onUpdate:b(t)})]},t);var a})),l[u.transfer.length]>0&&L.jsx(Z,{size:"xs",variant:"ghost",alignSelf:"flex-end",leftIcon:L.jsx(v,{}),onClick:()=>x(u.transfer.length)([d.Guangzhou,"","#AAAAAA",m.white,"",""]),children:i("panel.details.stations.interchange.addGroup")})]})},Cn={top:8.5,middle:0,bottom:11},bn={names:["車站","Stn"],nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[]]},vn=[{type:"textarea",label:"panel.details.stations.common.nameZh",value:e=>(null!=e?e:bn).names[0],onChange:(e,t)=>{const n=null!=t?t:bn;return n.names[0]=e.toString(),n}},{type:"textarea",label:"panel.details.stations.common.nameEn",value:e=>(null!=e?e:bn).names[1],onChange:(e,t)=>{const n=null!=t?t:bn;return n.names[1]=e.toString(),n}},{type:"select",label:"panel.details.stations.common.nameOffsetX",value:e=>(null!=e?e:bn).nameOffsetX,options:{left:"left",middle:"middle",right:"right"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetY)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:bn;return n.nameOffsetX=e,n}},{type:"select",label:"panel.details.stations.common.nameOffsetY",value:e=>(null!=e?e:bn).nameOffsetY,options:{top:"top",middle:"middle",bottom:"bottom"},disabledOptions:e=>"middle"===(null==e?void 0:e.nameOffsetX)?["middle"]:[],onChange:(e,t)=>{const n=null!=t?t:bn;return n.nameOffsetY=e,n}},{type:"select",label:"panel.details.stations.common.rotate",value:e=>{var t;return null!==(t=null==e?void 0:e.rotate)&&void 0!==t?t:bn.rotate},hidden:e=>{var t,n;return 0===(null!==(t=null==e||null===(n=e.transfer)||void 0===n||null===(n=n.flat())||void 0===n?void 0:n.length)&&void 0!==t?t:0)},options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:(e,t)=>{const n=null!=t?t:bn;return n.rotate=Number(e),n}},{type:"custom",label:"panel.details.stations.interchange.title",component:L.jsx(yn,{stationType:l.MTR,defaultAttrs:bn,maximumTransfers:[99,0,0]})}],jn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=bn.nameOffsetX,nameOffsetY:h=bn.nameOffsetY,transfer:p=bn.transfer,rotate:u=bn.rotate}=null!==(t=i[l.MTR])&&void 0!==t?t:bn,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b=p.at(0),v=((e,t=5,n=[])=>{const a=Math.sqrt(e*e-t*t/4),s=n.length<2?n.length+1:n.length;let o=`M -5,0 A ${e},${e},0,0,1,${-t/2},-${a} `;for(let l=0;l=0;l-=1)o+=`A ${e},${e},0,0,1,${l*t-t/2},${a} `;return o+=`A ${e},${e},0,0,1,-5,0 Z`,o})(5,5,b),j=0===b.length?0:b.length<=2?1:b.length-1,O=Math.cos(u*Math.PI/180)*j*5,w=Math.sin(u*Math.PI/180)*j*5,_="left"===f?-8:"right"===f?8:0,k=Math.sign(O)===Math.sign(_)?O+_:_,S=(c[Ce[h].namesPos].split("\n").length*Cn[h]+6)*Ce[h].polarity,N=Math.sign(w)===Math.sign(S)?w+S:S,z="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("path",{transform:`rotate(${u})`,d:v,stroke:"#001f50",strokeWidth:"1.5",fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),p.at(0).length>1&&p.at(0).map((e=>e[2])).map(((e,t)=>L.jsx("line",{transform:`rotate(${u})`,x1:5*t-2.5,x2:2.5+5*t,stroke:e,strokeWidth:"2"},`${t}_${e}`))),L.jsx("path",{id:`stn_core_${a}`,transform:`rotate(${u})`,d:v,fill:"white",fillOpacity:"0",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${k}, ${N})`,textAnchor:z,className:"rmp-name-outline",strokeWidth:"1.25",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:7.5,lineHeight:7.5,grow:"down",baseOffset:1,fill:"#001f50",className:"rmp-name__mtr__en"})]})]})),[a,s,o,...c,u,JSON.stringify(p),f,h,g,y,C])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"5",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),defaultAttrs:bn,attrsComponent:()=>L.jsx(N,{fields:vn}),metadata:{displayName:"panel.details.stations.mtr.displayName",cities:[d.Hongkong],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},On=n.forwardRef(((e,t)=>{const{text:n,lineWidth:a,grow:s,dominantBaseline:o=("left"===s?"hanging":"right"===s?"auto":"central"),baseOffset:l=2,baseDY:i=0,...r}=e,d="bidirectional"===s?-(n.length-1)*a/2:0;return L.jsx("g",{ref:t,children:[...n].reverse().map(((e,t,n)=>L.jsx("text",{x:(t*a+l)*("left"===s?-1:1)+d,dy:(t-(n.length-1)/2)*i,writingMode:"vertical-rl",dominantBaseline:o,...r,children:e},`${e}${t}`)))})}));On.displayName="MultilineTextVertical";const wn={size:10,baseOffset:1},_n={size:5,baseOffset:1.5},kn={top:{lineHeight:5,offset:1+_n.baseOffset+2.5,polarity:-1},middle:{lineHeight:0,offset:wn.size/2,polarity:1},bottom:{lineHeight:10,offset:0+wn.baseOffset+2.5,polarity:1}},Sn={...x,color:[d.Suzhou,"sz1","#78BA25",m.white],nameOffsetX:"right",nameOffsetY:"top",textVertical:!1},Nn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=Sn.color,nameOffsetX:h=Sn.nameOffsetX,nameOffsetY:p=Sn.nameOffsetY,textVertical:u=Sn.textVertical}=null!==(t=i[l.SuzhouRTBasic])&&void 0!==t?t:Sn,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b="left"===h?-5:"right"===h?5:0,v=(c[Ce[p].namesPos].split("\n").length*kn[p].lineHeight+kn[p].offset)*kn[p].polarity,j="left"===h?"end":"right"===h?"start":"middle",O="top"===p?-4.5:4.5,w="top"===p?"end":"start",_=c[0].split("\n").length*wn.size/2+_n.baseOffset;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:3,stroke:f[2],strokeWidth:"1",fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),u?L.jsxs(L.Fragment,{children:[L.jsx("g",{transform:`translate(-1, ${O})`,textAnchor:w,children:L.jsx(On,{text:c[0].split("\n"),fontSize:wn.size,lineWidth:wn.size,grow:"bidirectional",baseOffset:wn.baseOffset,dominantBaseline:"central",className:"rmp-name__zh"})}),L.jsx("g",{transform:`translate(${_}, ${O})rotate(90)`,textAnchor:w,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:_n.size,lineHeight:_n.size,grow:"up",baseOffset:_n.baseOffset,className:"rmp-name__en",dominantBaseline:"central",fill:"gray"})})]}):L.jsxs("g",{transform:`translate(${b}, ${v})`,textAnchor:j,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:wn.size,lineHeight:wn.size,grow:"up",baseOffset:wn.baseOffset,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:_n.size,lineHeight:_n.size,grow:"down",baseOffset:_n.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",fill:"none"})}),defaultAttrs:Sn,attrsComponent:e=>{var t,n,s;const{id:i,attrs:r,handleAttrsUpdate:d}=e,{t:m}=a(),f=[{type:"textarea",label:m("panel.details.stations.common.nameZh"),value:r.names[0],onChange:e=>{r.names[0]=e,d(i,r)},minW:"full"},{type:"textarea",label:m("panel.details.stations.common.nameEn"),value:r.names[1],onChange:e=>{r.names[1]=e,d(i,r)},minW:"full"},{type:"select",label:m("panel.details.stations.common.nameOffsetX"),value:null!==(t=r.nameOffsetX)&&void 0!==t?t:Sn.nameOffsetX,options:{left:m("panel.details.stations.common.left"),middle:m("panel.details.stations.common.middle"),right:m("panel.details.stations.common.right")},disabledOptions:"middle"===r.nameOffsetY?["middle"]:[],onChange:e=>{r.nameOffsetX=e,"middle"!==r.nameOffsetX&&(r.textVertical=!1),d(i,r)},minW:"full"},{type:"select",label:m("panel.details.stations.common.nameOffsetY"),value:null!==(n=r.nameOffsetY)&&void 0!==n?n:Sn.nameOffsetY,options:{top:m("panel.details.stations.common.top"),middle:m("panel.details.stations.common.middle"),bottom:m("panel.details.stations.common.bottom")},disabledOptions:"middle"===r.nameOffsetX?["middle"]:[],onChange:e=>{r.nameOffsetY=e,"middle"===r.nameOffsetY&&(r.textVertical=!1),d(i,r)},minW:"full"},{type:"switch",label:m("panel.details.stations.suzhouRTBasic.textVertical"),isChecked:null!==(s=r.textVertical)&&void 0!==s?s:Sn.textVertical,isDisabled:"middle"===r.nameOffsetY||"middle"!==r.nameOffsetX,onChange:e=>{r.textVertical=e,d(i,r)},oneLine:!0,minW:"full"},{type:"custom",label:m("color"),component:L.jsx(c,{type:l.SuzhouRTBasic,defaultTheme:Sn.color})}];return L.jsx(o,{fields:f})},metadata:{displayName:"panel.details.stations.suzhouRTBasic.displayName",cities:[d.Suzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},zn={size:10,baseOffset:1},Mn={size:5,baseOffset:1.5},An={top:{lineHeight:Mn.size,offset:0+Mn.baseOffset+3,polarity:-1},middle:{lineHeight:0,offset:zn.size/2,polarity:1},bottom:{lineHeight:zn.size,offset:0+zn.baseOffset+3,polarity:1}},Pn={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[d.Suzhou,"sz1","#78BA25",m.white,"",""],[d.Suzhou,"sz2","#ED3240",m.white,"",""]]]},Bn={component:e=>{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=Pn.nameOffsetX,nameOffsetY:p=Pn.nameOffsetY,rotate:u=Pn.rotate,transfer:g=Pn.transfer}=null!==(t=r[l.SuzhouRTInt])&&void 0!==t?t:Pn,y=n.useCallback((e=>d(s,e)),[s,d]),C=n.useCallback((e=>m(s,e)),[s,m]),b=n.useCallback((e=>c(s,e)),[s,c]),v=5*g.at(0).length+1,j=Math.abs(Math.cos(u*Math.PI/180)*v),O=Math.abs(Math.sin(u*Math.PI/180)*v),w=(j/2+5)*("left"===h?-1:"right"===h?1:0),_=(f[Ce[p].namesPos].split("\n").length*An[p].lineHeight+An[p].offset+("middle"===p?0:O/2))*An[p].polarity,k="left"===h?"end":"right"===h?"start":"middle";return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsxs("g",{transform:`rotate(${u})`,onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"},children:[L.jsx("rect",{x:-v/2,y:-3,width:v,height:6,ry:3,stroke:"#616161",strokeWidth:"1",fill:"white"}),(null!==(a=g.at(0))&&void 0!==a?a:[]).length>0&&g.at(0).map((e=>e[2])).map(((e,t)=>L.jsx("circle",{r:2,cx:-v/2+3+5*t,fill:e},`${t}_${e}`))),L.jsx("rect",{id:`stn_core_${s}`,x:-v/2-.5,y:-3.5,width:v+1,height:7,ry:3,fill:"white",opacity:"0"})]}),L.jsxs("g",{transform:`translate(${w}, ${_})`,textAnchor:k,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:zn.size,lineHeight:zn.size,grow:"up",baseOffset:zn.baseOffset,className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:Mn.size,lineHeight:Mn.size,grow:"down",baseOffset:Mn.baseOffset,className:"rmp-name__en",fill:"gray"})]})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",ry:"3",stroke:"currentColor",fill:"none"}),L.jsx("circle",{r:"2",cx:"9.5",cy:"12",fill:"currentColor"}),L.jsx("circle",{r:"2",cx:"14.5",cy:"12",fill:"currentColor"})]}),defaultAttrs:Pn,attrsComponent:e=>{var t,n,s,i,r;const{id:d,attrs:m,handleAttrsUpdate:c}=e,{t:f}=a(),h=[{type:"textarea",label:f("panel.details.stations.common.nameZh"),value:m.names[0],onChange:e=>{m.names[0]=e,c(d,m)},minW:"full"},{type:"textarea",label:f("panel.details.stations.common.nameEn"),value:m.names[1],onChange:e=>{m.names[1]=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetX"),value:null!==(t=m.nameOffsetX)&&void 0!==t?t:Pn.nameOffsetX,options:{left:f("panel.details.stations.common.left"),middle:f("panel.details.stations.common.middle"),right:f("panel.details.stations.common.right")},disabledOptions:"middle"===m.nameOffsetY?["middle"]:[],onChange:e=>{m.nameOffsetX=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetY"),value:null!==(n=m.nameOffsetY)&&void 0!==n?n:Pn.nameOffsetY,options:{top:f("panel.details.stations.common.top"),middle:f("panel.details.stations.common.middle"),bottom:f("panel.details.stations.common.bottom")},disabledOptions:"middle"===m.nameOffsetX?["middle"]:[],onChange:e=>{m.nameOffsetY=e,c(d,m)},minW:"full"},{type:"select",label:f("panel.details.stations.common.rotate"),value:null!==(s=m.rotate)&&void 0!==s?s:Pn.rotate,hidden:0===(null!==(i=null==m||null===(r=m.transfer)||void 0===r||null===(r=r.flat())||void 0===r?void 0:r.length)&&void 0!==i?i:0),options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{m.rotate=Number(e),c(d,m)},minW:"full"},{type:"custom",label:f("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.SuzhouRTInt,defaultAttrs:Pn,maximumTransfers:[99,0,0]})}];return L.jsx(o,{fields:h})},metadata:{displayName:"panel.details.stations.suzhouRTInt.displayName",cities:[d.Suzhou],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},$n={top:{lineHeight:6.67,offset:10},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:5.83}},Wn={...x,nameOffsetX:"right",nameOffsetY:"top",color:[d.Kunming,"km1","#ea3222",m.white]},En={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Wn.nameOffsetX,nameOffsetY:h=Wn.nameOffsetY,color:p=Wn.color}=null!==(t=i[l.KunmingRTBasic])&&void 0!==t?t:Wn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-13.33:"right"===f?13.33:0,b=(c[Ce[h].namesPos].split("\n").length*$n[h].lineHeight+$n[h].offset)*Ce[h].polarity,v="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:[L.jsx("circle",{id:`stn_core_${a}`,r:"5",stroke:p[2],strokeWidth:"1.33",fill:"white"}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:v,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y])},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{r:"5",cx:"12",cy:"12",stroke:"currentColor",strokeWidth:"1.33",fill:"none"})}),defaultAttrs:Wn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.KunmingRTBasic,defaultTheme:Wn.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.kunmingRTBasic.displayName",cities:[d.Kunming],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},[Xn,Yn]=[15,9],Rn={top:{lineHeight:6.67,offset:5},middle:{lineHeight:0,offset:0},bottom:{lineHeight:12.67,offset:.83}},In={...x,nameOffsetX:"right",nameOffsetY:"top",rotate:0,transfer:[[[d.Kunming,"km1","#ea3222",m.white,"",""],[d.Kunming,"km2","#03619e",m.white,"",""],[d.Kunming,"km3","#a13187",m.white,"",""]]]},Ln={component:e=>{var t,a,s,o,i;const{id:r,x:d,y:m,attrs:c,handlePointerDown:f,handlePointerMove:h,handlePointerUp:p}=e,{names:u=x.names,nameOffsetX:g=In.nameOffsetX,nameOffsetY:y=In.nameOffsetY,rotate:C=In.rotate,transfer:b=In.transfer}=null!==(t=c[l.KunmingRTInt])&&void 0!==t?t:In,v=n.useCallback((e=>f(r,e)),[r,f]),j=n.useCallback((e=>h(r,e)),[r,h]),O=n.useCallback((e=>p(r,e)),[r,p]),w=0===C||180===C?Xn:90===C||270===C?Yn:Xn*Math.SQRT1_2,_=0===C||180===C?Yn:90===C||270===C?Xn:Xn*Math.SQRT1_2,k="left"===g?-6.83:"right"===g?6.83:0,S=(Math.abs(k)+w/2)*Math.sign(k),N=(u[Ce[y].namesPos].split("\n").length*Rn[y].lineHeight+Rn[y].offset)*Ce[y].polarity,z=(Math.abs(N)+_/2)*Math.sign(N),M="left"===g?"end":"right"===g?"start":"middle";return L.jsxs("g",{id:r,children:[L.jsx("g",{transform:`translate(${d}, ${m})rotate(${C})`,onPointerDown:v,onPointerMove:j,onPointerUp:O,style:{cursor:"move"},children:b.at(0).length<=2?L.jsxs("g",{transform:"translate(-7.5,-4.5)",children:[L.jsx("rect",{id:`stn_core_${r}`,height:"9",width:"15",ry:"4",stroke:"#393332",strokeWidth:"1",fill:"white"}),L.jsx("path",{fill:null!==(a=null===(s=b.at(0).at(0))||void 0===s?void 0:s.at(2))&&void 0!==a?a:"#ea3222",fillRule:"evenodd",stroke:"none",d:"M 3.833333 6.375 C 2.820813 6.375 2 5.535532 2 4.5 C 2 3.464468 2.820813 2.625 3.833333 2.625 L 4.444445 2.625 L 4.444445 2 L 6.888889 2.9375 L 4.444445 3.875 L 4.444445 3.25 L 3.833333 3.25 C 3.158321 3.25 2.611111 3.809647 2.611111 4.5 C 2.611111 5.190353 3.158321 5.75 3.833333 5.75 L 7.5 5.75 L 7.5 6.375 L 3.833333 6.375 Z"}),L.jsx("path",{fill:null!==(o=null===(i=b.at(0).at(1))||void 0===i?void 0:i.at(2))&&void 0!==o?o:"#03619e",fillRule:"evenodd",stroke:"none",d:"M 11.166667 2.625 C 12.179187 2.625 13 3.464468 13 4.5 C 13 5.535532 12.179187 6.375 11.166667 6.375 L 10.555555 6.375 L 10.555555 7 L 8.111111 6.0625 L 10.555555 5.125 L 10.555555 5.75 L 11.166667 5.75 C 11.841679 5.75 12.388889 5.190353 12.388889 4.5 C 12.388889 3.809647 11.841679 3.25 11.166667 3.25 L 7.5 3.25 L 7.5 2.625 L 11.166667 2.625 Z"})]}):L.jsxs("g",{transform:"translate(-8.5,-8.5)",children:[L.jsx("circle",{id:`stn_core_${r}`,r:"8.5",cx:"8.5",cy:"8.5",stroke:"#000000",strokeWidth:"1",fill:"white"}),L.jsx("path",{fill:b.at(0).at(0).at(2),fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),L.jsx("path",{fill:b.at(0).at(1).at(2),fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),L.jsx("path",{fill:b.at(0).at(2).at(2),fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),L.jsxs("g",{transform:`translate(${d+S}, ${m+z})`,textAnchor:M,className:"rmp-name-outline",strokeWidth:"2.5",children:[L.jsx(ye,{text:u[0].split("\n"),fontSize:12.67,lineHeight:12.67,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:u[1].split("\n"),dx:"right"===g?1.67:0,fontSize:6.67,lineHeight:6.67,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsxs("g",{transform:"translate(3.5, 3.5)",children:[L.jsx("circle",{r:"8.5",cx:"8.5",cy:"8.5",stroke:"currentColor",strokeWidth:"1",fill:"none"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8.900812 14 L 10.286572 11.992442 L 10.63521 12.569632 C 12.188999 11.790696 13.24999 10.23524 13.24999 8.441039 C 13.24999 8.070708 13.203481 7.710487 13.118152 7.365112 L 13.887206 7.365112 C 13.960998 7.712721 14 8.072591 14 8.441039 C 14 10.500518 12.789013 12.288074 11.01168 13.191653 L 11.411587 13.855702 L 8.900812 14 Z"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 8 13.974609 C 5.462755 13.73554 3.426537 11.698185 3.0625 9.090137 L 2.5 9.090137 L 3.5 7 L 4.5 9.090137 L 4.074219 9.090137 C 4.422903 11.120208 6.015293 12.696354 8 12.925459 L 8 13.974609 Z"}),L.jsx("path",{fill:"currentColor",fillRule:"evenodd",stroke:"none",d:"M 12.68764 6.50351 L 10.588492 5.178213 L 11.35608 4.753726 C 10.531951 4.143034 9.498575 3.778666 8.375084 3.778666 C 6.644794 3.778666 5.125485 4.640751 4.260284 5.940329 L 3.718284 5.421978 C 4.730131 3.997121 6.438381 3.061381 8.375084 3.061381 C 9.781034 3.061381 11.063435 3.556896 12.04896 4.372667 L 12.536759 4.102285 L 12.68764 6.50351 Z"})]})}),defaultAttrs:In,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:n.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{n.rotate=Number(e),s(t,n)},minW:"full"},{type:"custom",label:i("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.KunmingRTInt,defaultAttrs:In,maximumTransfers:[3,0,0]})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.kunmingRTInt.displayName",cities:[d.Kunming],canvas:[u.RailMap],categories:[g.Metro],tags:["interchange"]}},Tn=8.2628,Dn={top:{offset:8.2628,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:8.2628,polarity:1}},Hn={names:["Marina South Pier"],nameOffsetX:"right",nameOffsetY:"top",lineCode:"NS",stationCode:"28",isTram:!1,color:[d.Singapore,"nsl","#DA291C",m.white]},Un={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Hn.nameOffsetX,nameOffsetY:h=Hn.nameOffsetY,color:p=Hn.color,lineCode:u=Hn.lineCode,stationCode:g=Hn.stationCode,isTram:y=Hn.isTram}=null!==(t=i[l.MRTBasic])&&void 0!==t?t:Hn,C=n.useCallback((e=>r(a,e)),[a,r]),b=n.useCallback((e=>d(a,e)),[a,d]),v=n.useCallback((e=>m(a,e)),[a,m]),j=22.85,O=12.935,w=16.425*("left"===f?-1:"right"===f?1:0),_=Dn[h].offset*Dn[h].polarity,k="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o}) ${y?"scale(0.81)":""}`,children:[L.jsxs("g",{onPointerDown:C,onPointerMove:b,onPointerUp:v,style:{cursor:"move"},children:[L.jsx("rect",{x:-11.425,y:-6.4675,rx:"3",ry:"6",width:j,height:O,fill:p[2],stroke:"white",strokeWidth:"1"}),L.jsx("text",{fontSize:5.2,dx:"-4",dy:"0.5",className:"rmp-name__mrt",fill:p[3],textAnchor:"middle",dominantBaseline:"middle",children:u}),L.jsx("text",{fontSize:5.2,dx:"4",dy:"0.5",className:"rmp-name__mrt",fill:p[3],textAnchor:"middle",dominantBaseline:"middle",children:g}),L.jsx("rect",{id:`stn_core_${a}`,x:-11.425,y:-6.4675,rx:"3",ry:"6",width:j,height:O,fill:"white",opacity:"0"})]}),L.jsx("g",{transform:`translate(${w}, ${_})`,textAnchor:k,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:Tn,lineHeight:Tn,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]})),[a,s,o,...c,f,h,p,u,g,y,C,b,v])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6",y:"8.6035",rx:"1.575",ry:"3.151",width:"12",height:"6.793",fill:"currentColor"}),L.jsx("text",{fontSize:"3.5",dx:"10",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NS"}),L.jsx("text",{fontSize:"3.5",dx:"15",dy:"13",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"28"})]}),defaultAttrs:Hn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.MRTBasic.isTram"),isChecked:n.isTram,onChange:e=>{n.isTram=e,s(t,n)},minW:"full",oneLine:!0},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.MRTBasic,defaultTheme:Hn.color})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.MRTBasic.displayName",cities:[d.Singapore],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Fn=8.2628,Vn={top:{offset:10.7628,polarity:-1},middle:{offset:0,polarity:0},bottom:{offset:10.7628,polarity:1}},Gn={names:["Chinatown"],nameOffsetX:"right",nameOffsetY:"top",transfer:[[[d.Singapore,"nel","#9B26B6",m.white,"NE","4"],[d.Singapore,"dtl","#0057B7",m.white,"DT","19"]]]},Zn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Gn.nameOffsetX,nameOffsetY:h=Gn.nameOffsetY,transfer:p=Gn.transfer}=null!==(t=i[l.MRTInt])&&void 0!==t?t:Gn,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C=p.at(0),b=29.625*(C.length-2)+57.8,v=16.77,j=[];for(let n=1;nL.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("g",{onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:p.map((e=>({info:e,width:29.625*(e.length-2)+57.8}))).map((({info:e,width:t},s)=>L.jsxs(n.Fragment,{children:[L.jsx("rect",{x:-t/2,y:-8.385,rx:"4.5",ry:"8",width:t,height:v,fill:`url(#${a}_grad_${s})`,stroke:"white",strokeWidth:"1"}),L.jsx("linearGradient",{id:`${a}_grad_${s}`,y1:"0%",y2:"0%",x1:"0%",x2:"100%",children:e.map(((t,a)=>L.jsxs(n.Fragment,{children:[L.jsx("stop",{offset:100/e.length*a+"%",stopColor:t[2]}),L.jsx("stop",{offset:100/e.length*(a+1)+"%",stopColor:t[2]})]},t[2])))}),j.map((n=>L.jsx("line",{x1:n/e.length*t-t/2,x2:n/e.length*t-t/2,y1:-8.385,y2:8.385,stroke:"white",strokeWidth:"1"},n))),e.map(((e,a,s)=>L.jsxs(n.Fragment,{children:[L.jsx("text",{fontSize:6.9,dx:(""!==e[5]?-5:-2)+t/s.length/2*(2*a+1)-t/2+1,dy:"0.5",className:"rmp-name__mrt",fill:e[3],textAnchor:"middle",dominantBaseline:"middle",children:e[4]}),L.jsx("text",{fontSize:6.9,dx:5+t/s.length/2*(2*a+1)-t/2+1,dy:"0.5",className:"rmp-name__mrt",fill:e[3],textAnchor:"middle",dominantBaseline:"middle",children:e[5]})]},e[2]))),L.jsx("rect",{id:`stn_core_${a}`,x:-t/2,y:-8.385,rx:"4.5",ry:"8",width:t,height:v,fill:"white",opacity:"0"})]},e.map((e=>e[2])).join("_"))))}),L.jsx("g",{transform:`translate(${O}, ${w})`,textAnchor:_,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:Fn,lineHeight:Fn,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__mrt"})})]})),[a,s,o,...c,f,h,JSON.stringify(p),u,g,y])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"2",y:"9.0985",rx:"1.038",ry:"2.076",width:"20",height:"5.803",fill:"currentColor"}),L.jsx("text",{fontSize:"3",dx:"5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"NE"}),L.jsx("text",{fontSize:"3",dx:"9.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"4"}),L.jsx("text",{fontSize:"3",dx:"14.5",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"DT"}),L.jsx("text",{fontSize:"3",dx:"19",dy:"13.25",className:"rmp-name__en",fill:"white",textAnchor:"middle",children:"19"})]}),defaultAttrs:Gn,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("panel.details.stations.interchange.title"),component:L.jsx(yn,{stationType:l.MRTInt,defaultAttrs:Gn,maximumTransfers:[1/0,0,0]})}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.MRTInt.displayName",cities:[d.Singapore],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Qn={size:10,baseOffset:1},qn={size:5,baseOffset:1.5},Jn={names:["新宿","Shinjuku"],nameOffsetX:"right",nameOffsetY:"middle",rotate:0,textOneLine:!1,textVertical:!1,important:!1,lines:[-1,0,1]},Kn={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Jn.nameOffsetX,nameOffsetY:h=Jn.nameOffsetY,rotate:p=Jn.rotate,textOneLine:u=Jn.textOneLine,textVertical:g=Jn.textVertical,important:y=Jn.important,lines:C=Jn.lines}=null!==(t=i[l.JREastBasic])&&void 0!==t?t:Jn,b=n.useCallback((e=>r(a,e)),[a,r]),v=n.useCallback((e=>d(a,e)),[a,d]),j=n.useCallback((e=>m(a,e)),[a,m]),O=5*(Math.max(...C)-Math.min(...C)+1),w=5*(Math.min(...C)-.5),_=5*Math.abs(Math.cos(p*Math.PI/180))*Math.min(...C)-2.5-1,k=5*Math.abs(Math.cos(p*Math.PI/180))*Math.max(...C)+2.5+1,S=5*Math.abs(Math.sin(p*Math.PI/180))*Math.min(...C)-2.5,N=5*Math.abs(Math.sin(p*Math.PI/180))*Math.max(...C)+2.5,z="left"===f?_:"right"===f?k:0,M=(c[0].split("\n").length*("middle"===h?0:Qn.size)+(("middle"===h?0:"top"===h?2:1)+Qn.baseOffset))*Ce[h].polarity+("middle"===h?0:"top"===h?S:N),A="left"===f?"end":"right"===f?"start":"middle",P={ja:"top"===h?"down":"bottom"===h?"up":"bidirectional",en:"top"===h||u?"up":"down"},B={ja:Qn.baseOffset,en:("middle"===h?u?-c[0].split("\n").length*Qn.size/2-1:c[0].split("\n").length*Qn.size/2:0)+(y&&!u?2:0)+qn.baseOffset},$=n.useRef(null),[W,E]=n.useState({width:0});n.useEffect((()=>E($.current.getBBox())),[c[0],g,E,$]);const X=(g?.2:.7)*Qn.size,Y={left:-X/2,middle:0,right:X/2}[f],R={top:-2,middle:0,bottom:2}[h],I=p%90!=0&&"middle"!==f?("left"===f?_:k)*Math.SQRT2:0,T=(y&&"middle"!==f?Y:0)+I,D={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[p],H=D*Qn.size,U=u?(Math.abs(T)+W.width+1+(y?X:0))*("left"===f?-1:1):p%90!=0&&"middle"!==f?c[0].split("\n").length/2*D*Qn.size+("left"===f?-1:1)*Qn.size:0,F=(y?2:0)*Ce[h].polarity,V=W.width,G=W.height,Z={left:-(V+X)+I,middle:-(V+X)/2,right:I}[f],Q={top:-2-B.ja,middle:-G/2,bottom:3-G+B.ja}[h],q={top:3-G-B.ja,middle:0,bottom:-3+B.ja}[h],J=("top"===h?S-qn.baseOffset:N+qn.baseOffset)+((y?X:0)+(p%90!=0?Qn.size/2:0))*Ce[h].polarity,K={ja:"top"===h?"end":"start",en:"top"===h?"start":"end"},ee={0:0,45:-1,90:0,135:1,180:0,225:-1,270:0,315:1}[p],te=ee*Qn.size,ne=c[0].split("\n").length*Qn.size/2+qn.baseOffset,ae=(y?1:0)*Ce[h].polarity*-1,se=(c[0].split("\n").length-0)/2*("top"===h?-1:1)*ee*Qn.size+(y?2:0)*Ce[h].polarity*-1;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("g",{transform:`rotate(${p})`,children:C.map(((e,t)=>L.jsx("circle",{cx:5*e,cy:"0",r:"1.5",stroke:"black",strokeWidth:"0.2",fill:"white"},`stn_core_${a}_${t}`)))}),g?L.jsxs(L.Fragment,{children:[L.jsxs("g",{transform:`translate(0, ${J})`,textAnchor:K.ja,children:[y&&L.jsx("rect",{x:-(V-8)/2,y:q,width:V-8,height:G,rx:(V-8)/2,fill:"black"}),L.jsx(On,{ref:$,text:c[0].split("\n"),fontSize:Qn.size,lineWidth:Qn.size,grow:"bidirectional",baseOffset:0,baseDY:te,y:y?2.75*Ce[h].polarity:0,className:"rmp-name__jreast_ja",fill:y?"white":"black"})]}),L.jsx("g",{transform:`translate(${ae}, ${J+se})rotate(270)`,textAnchor:K.en,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:qn.size,lineHeight:qn.size,grow:"top"===h?"down":"up",baseOffset:ne,funcDX:e=>5*e*Math.SQRT1_2*ee*("top"===h?-1:1),className:"rmp-name__jreast_en"})})]}):L.jsxs("g",{transform:`translate(${z}, ${M})`,textAnchor:A,children:[y&&L.jsx("rect",{x:Z,y:Q+1.75,width:W.width+X,height:G-3.5,ry:(G-3.5)/2,fill:"black"}),L.jsx(ye,{ref:$,x:T,y:y&&"middle"!==h?R:0,text:c[0].split("\n"),fontSize:Qn.size,lineHeight:Qn.size,grow:P.ja,baseOffset:B.ja,funcDX:e=>(e-(c[0].split("\n").length-1)/2)*H,className:"rmp-name__jreast_ja",fill:y?"white":"black"}),L.jsx(ye,{text:c[1].split("\n"),x:U,y:F,fontSize:qn.size,lineHeight:qn.size,grow:P.en,baseOffset:B.en,funcDX:e=>5*e*Math.SQRT1_2*D,className:"rmp-name__jreast_en"})]}),L.jsx("g",{transform:`rotate(${p})`,children:L.jsx("rect",{id:`stn_core_${a}`,fill:"url(#opaque)",fillOpacity:"50%",x:w,y:-2.5,rx:2.5,width:O,height:5,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("circle",{cx:"6",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),L.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"}),L.jsx("circle",{cx:"18",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"0.5",fill:"none"})]}),defaultAttrs:Jn,attrsComponent:e=>{var t;const{id:n,attrs:s,handleAttrsUpdate:l}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),s.names[0].length>1&&(s.textOneLine=!1,s.important=!1),l(n,s)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:s.names[1],onChange:e=>{s.names[1]=e.toString(),s.names[1].length>1&&(s.textOneLine=!1,s.important=!1),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.jrEastBasic.nameOffset"),value:"middle"!==s.nameOffsetX?s.nameOffsetX:s.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(s.nameOffsetX=e,s.nameOffsetY="middle",s.textVertical=!1):(s.nameOffsetX="middle",s.nameOffsetY=e,s.textOneLine=!1),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:s.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{s.rotate=Number(e),l(n,s)},minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.textOneLine"),isChecked:s.textOneLine,isDisabled:"middle"!==s.nameOffsetY||s.names.some((e=>e.split("\n").length>1)),onChange:e=>{s.textOneLine=e,l(n,s)},oneLine:!0,minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.textVertical"),isChecked:s.textVertical,isDisabled:"middle"!==s.nameOffsetX,onChange:e=>{s.textVertical=e,l(n,s)},oneLine:!0,minW:"full"},{type:"switch",label:i("panel.details.stations.jrEastBasic.important"),isChecked:null!==(t=s.important)&&void 0!==t&&t,isDisabled:s.names.some((e=>e.split("\n").length>1)),onChange:e=>{s.important=e,l(n,s)},oneLine:!0,minW:"full"}];return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:r}),L.jsx(j,{label:i("panel.details.stations.jrEastBasic.lines"),children:L.jsxs(Q,{flexWrap:"wrap",flexDirection:"row",pt:"1",children:[s.lines.map(((e,t)=>L.jsx(q,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:e,onChange:e=>((e,t)=>{if((""===e||"-"===e)&&s.lines.length>1)s.lines.splice(t,1);else{const n=Number(e);if(Number.isNaN(n))return;s.lines[t]=n}l(n,s)})(e,t),children:L.jsx(J,{})},t))),L.jsx(q,{width:"80px",inputMode:"numeric",mr:"2",mb:"2",value:"",onChange:e=>(e=>{const t="-"===e?-1:Number(e);Number.isNaN(t)||(s.lines.push(t),l(n,s))})(e),onKeyDown:e=>(e=>{"Backspace"===e.key&&s.lines.length>1&&(s.lines.pop(),l(n,s))})(e),children:L.jsx(J,{})})]})})]})},metadata:{displayName:"panel.details.stations.jrEastBasic.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.NationalRail],tags:[]}},ea={size:10,baseOffset:1},ta={size:5,baseOffset:1.5},na={names:["東京","Tōkyō"],nameOffsetX:"left",nameOffsetY:"middle",textVertical:!1,mostImportant:!1,minLength:0},aa={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=na.nameOffsetX,nameOffsetY:h=na.nameOffsetY,textVertical:p=na.textVertical,mostImportant:u=na.mostImportant,minLength:g=na.minLength}=null!==(t=i[l.JREastImportant])&&void 0!==t?t:na,y=n.useCallback((e=>r(a,e)),[a,r]),C=n.useCallback((e=>d(a,e)),[a,d]),b=n.useCallback((e=>m(a,e)),[a,m]),v=n.useRef(null),[j,O]=n.useState({height:0,width:0});n.useEffect((()=>O(v.current.getBBox())),[c[0],p,O,v]);const w=Math.max(j.width,j.height),_=(p?.1:.7)*ea.size,k=Math.max(w+_,g),S=p?ea.size+1:k,N=p?k-5:ea.size+1,z={left:-S/2-1,middle:0,right:S/2+1}[f],M={top:-N/2-1,middle:0,bottom:N/2+1}[h],A={left:"end",middle:"middle",right:"start"}[f],P=u?1.5:1;return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsxs("g",{transform:`scale(${P})`,children:[L.jsx("rect",{fill:"black",x:-S/2,y:-N/2,rx:p?void 0:N/2,ry:p?S/2:void 0,width:S,height:N}),p?L.jsx("text",{ref:v,className:"rmp-name__jreast_ja",textAnchor:"middle",writingMode:"vertical-rl",fontSize:ea.size,fill:"white",dominantBaseline:"central",children:c[0]}):L.jsx("text",{ref:v,y:"-1",className:"rmp-name__jreast_ja",textAnchor:"middle",fontSize:ea.size,fill:"white",dominantBaseline:"central",children:c[0]}),L.jsx("rect",{id:`stn_core_${a}`,fill:"black",fillOpacity:"0",x:-S/2,y:-N/2,rx:p?void 0:S/2,ry:p?N/2:void 0,width:S,height:N,onPointerDown:y,onPointerMove:C,onPointerUp:b,style:{cursor:"move"},className:"removeMe"})]}),L.jsx("g",{transform:`translate(${z*P}, ${M*P})`,textAnchor:A,children:L.jsx(ye,{text:c[1].split("\n"),fontSize:ta.size,lineHeight:ta.size,grow:"top"===h?"up":"middle"===h?"bidirectional":"down",baseOffset:0,className:"rmp-name__jreast_en"})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("rect",{x:"3",y:"7.5",rx:"4.5",width:"18",height:"9",stroke:"currentColor",fill:"currentColor"}),L.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"middle",fontSize:"6",fill:"white",children:"東京"}),L.jsx("text",{x:"12",y:"20.25",textAnchor:"middle",dominantBaseline:"middle",fontSize:"3",children:"Tōkyō"})]}),defaultAttrs:na,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"input",label:l("panel.details.stations.common.nameJa"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"switch",label:l("panel.details.stations.jrEastImportant.textVertical"),isChecked:n.textVertical,onChange:e=>{n.textVertical=e,s(t,n)},oneLine:!0,minW:"full"},{type:"switch",label:l("panel.details.stations.jrEastImportant.mostImportant"),isChecked:n.mostImportant,onChange:e=>{n.mostImportant=e,s(t,n)},oneLine:!0,minW:"full"},{type:"input",label:l("panel.details.stations.jrEastImportant.minLength"),value:n.minLength.toString(),onChange:e=>{Number.isNaN(e)?n.minLength=0:n.minLength=Number(e),s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.jrEastImportant.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.NationalRail],tags:[]}},sa={...x,nameOffsetX:"right",nameOffsetY:"top",color:[d.Foshan,"fs1","#C4D600",m.black],lineCode:"GF",stationCode:"01",open:!0,secondaryNames:["",""],tram:!1},oa={component:e=>{var t,a;const{id:s,x:o,y:i,attrs:r,handlePointerDown:d,handlePointerMove:m,handlePointerUp:c}=e,{names:f=x.names,nameOffsetX:h=sa.nameOffsetX,nameOffsetY:p=sa.nameOffsetY,color:u=sa.color,lineCode:g=sa.lineCode,stationCode:y=sa.stationCode,open:C=sa.open,secondaryNames:b=sa.secondaryNames,tram:v=sa.tram}=null!==(t=r[l.FoshanMetroBasic])&&void 0!==t?t:sa,j=n.useCallback((e=>d(s,e)),[s,d]),O=n.useCallback((e=>m(s,e)),[s,m]),w=n.useCallback((e=>c(s,e)),[s,c]),_=n.useRef(null);null===(a=_.current)||void 0===a||null===(a=a.querySelector("path"))||void 0===a||a.setAttribute("id",`stn_core_${s}`);const k={en:v?5.08:6.56,zh:v?7.29:13.13},S={top:{namesPos:1,lineHeight:k.en,polarity:-1},middle:{namesPos:0,lineHeight:0,polarity:0},bottom:{namesPos:0,lineHeight:k.zh,polarity:1}},N=v?11:15,z="left"===h?-N:"right"===h?N:0,M=v?8:10,A=(f[S[p].namesPos].split("\n").length*S[p].lineHeight+M)*S[p].polarity,P="left"===h?"end":"right"===h?"start":C||"middle"!==h||""!==b.join("")?"middle":"end",B=n.useRef(null),[$,W]=n.useState(0);n.useEffect((()=>{var e,t;return W(null!==(e=null===(t=B.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...b]);const E=n.useRef(null),[X,Y]=n.useState(0);n.useEffect((()=>{var e,t;return Y(null!==(e=null===(t=E.current)||void 0===t?void 0:t.getBBox().width)&&void 0!==e?e:0)}),[...f]);const R="middle"===h?X/2+($+24)/2:(X+($+24)/2)*("left"===h?-1:1),I="middle"===h&&""!==b.join("")?X/2+($+24):(X+$+(0!==$?24:0))*("left"===h?-1:"right"===h?1:0);return L.jsxs("g",{id:s,transform:`translate(${o}, ${i})`,children:[L.jsx("g",{transform:`scale(${.57915*(v?.729:1)})`,onPointerDown:j,onPointerMove:O,onPointerUp:w,style:{cursor:"move"},ref:_,children:L.jsx(St,{id:`stn_core_${s}`,strokeColour:u[2],lineNum:""===g?void 0:g,stnNum:""===y?void 0:y,textClassName:"rmp-name__zh"})}),L.jsxs("g",{ref:E,transform:`translate(${z}, ${A})`,textAnchor:P,children:[L.jsx(ye,{text:f[0].split("\n"),fontSize:k.zh,lineHeight:k.zh,grow:"up",className:"rmp-name__zh"}),L.jsx(ye,{text:f[1].split("\n"),fontSize:k.en,lineHeight:k.en,grow:"down",className:"rmp-name__en"})]}),""!==b.join("")&&L.jsxs("g",{transform:`translate(${z+R}, ${A})`,textAnchor:"middle",children:[L.jsx("text",{fontSize:"13.13",dx:-($+5)/2,textAnchor:"end",dominantBaseline:"middle",className:"rmp-name__zh",children:"("}),L.jsx("text",{fontSize:"13.13",dx:($+5)/2,textAnchor:"start",dominantBaseline:"middle",className:"rmp-name__zh",children:")"}),L.jsxs("g",{ref:B,children:[L.jsx("text",{fontSize:"10",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:b[0]}),L.jsx("text",{fontSize:"5.42",dy:"2",dominantBaseline:"hanging",className:"rmp-name__en",children:b[1]})]})]}),!C&&L.jsxs("g",{transform:`translate(${z+I}, ${A})`,textAnchor:"middle"===h?"start":P,children:[L.jsx("text",{fontSize:"6.04",dy:"-2",dominantBaseline:"auto",className:"rmp-name__zh",children:"(未开通)"}),L.jsx("text",{fontSize:"3.6",dy:"4",dominantBaseline:"hanging",className:"rmp-name__en",children:"(Under Construction)"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("g",{transform:"translate(12,12)scale(0.45)",children:L.jsx(St,{strokeColour:"#000",lineNum:"1",stnNum:"01"})})}),defaultAttrs:sa,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e,s(t,n)},minW:"full"},{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:i("panel.details.stations.common.left"),middle:i("panel.details.stations.common.middle"),right:i("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:i("panel.details.stations.common.top"),middle:i("panel.details.stations.common.middle"),bottom:i("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.FoshanMetroBasic,defaultTheme:sa.color})},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.foshanMetroBasic.open"),oneLine:!0,isChecked:n.open,onChange:e=>{n.open=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.foshanMetroBasic.secondaryNameZh"),value:n.secondaryNames[0],onChange:e=>{n.secondaryNames[0]=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.foshanMetroBasic.secondaryNameEn"),value:n.secondaryNames[1],onChange:e=>{n.secondaryNames[1]=e,s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.foshanMetroBasic.tram"),oneLine:!0,isChecked:n.tram,onChange:e=>{n.tram=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.foshanMetroBasic.displayName",cities:[d.Foshan],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},la={top:3.75,middle:0,bottom:8},ia={...x,color:[d.Qingdao,"qd1","#f7b000",m.white],nameOffsetX:"right",nameOffsetY:"top",isInt:!1},ra={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,color:f=ia.color,nameOffsetX:h=ia.nameOffsetX,nameOffsetY:p=ia.nameOffsetY,isInt:u=ia.isInt}=null!==(t=i[l.QingdaoMetroStation])&&void 0!==t?t:ia,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),[b,v]=u?(O=p,"left"===(j=h)&&"top"===O?[-6,-c[1].split("\n").length*la[O]-6]:"middle"===j&&"top"===O?[0,-c[1].split("\n").length*la[O]-10]:"right"===j&&"top"===O?[6,-c[1].split("\n").length*la[O]-6]:"left"===j&&"bottom"===O?[-6,c[0].split("\n").length*la[O]+6]:"middle"===j&&"bottom"===O?[0,c[0].split("\n").length*la[O]+7]:"right"===j&&"bottom"===O?[6,c[0].split("\n").length*la[O]+6]:"left"===j&&"middle"===O?[-8,2]:"right"===j&&"middle"===O?[8,2]:[0,0]):((e,t)=>{const n="left"===e?-6:"right"===e?6:0;return"top"===t?[n,-c[1].split("\n").length*la[t]-5.5]:"bottom"===t?[n,c[0].split("\n").length*la[t]+4]:[n,2]})(h,p);var j,O;const w="left"===h?"end":"right"===h?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{id:`stn_core_${a}`,r:u?6:2.7,stroke:u?"black":f[2],strokeWidth:u?1.5:.2,fill:"white",onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"}}),L.jsxs("g",{transform:`translate(${b}, ${v})`,textAnchor:w,children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:8,lineHeight:8,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),fontSize:3.75,lineHeight:3.75,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"3",stroke:"currentColor",strokeWidth:"0.6",fill:"none"})}),defaultAttrs:ia,attrsComponent:e=>{var t,n,s,i;const{id:r,attrs:d,handleAttrsUpdate:m}=e,{t:f}=a(),h=[{type:"textarea",label:f("panel.details.stations.common.nameZh"),value:null!==(t=d.names[0])&&void 0!==t?t:ia.names[0],onChange:e=>{d.names[0]=e.toString(),m(r,d)},minW:"full"},{type:"textarea",label:f("panel.details.stations.common.nameEn"),value:null!==(n=d.names[1])&&void 0!==n?n:ia.names[1],onChange:e=>{d.names[1]=e.toString(),m(r,d)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetX"),value:null!==(s=d.nameOffsetX)&&void 0!==s?s:ia.nameOffsetX,options:{left:f("panel.details.stations.common.left"),middle:f("panel.details.stations.common.middle"),right:f("panel.details.stations.common.right")},disabledOptions:"middle"===d.nameOffsetY?["middle"]:[],onChange:e=>{d.nameOffsetX=e,m(r,d)},minW:"full"},{type:"select",label:f("panel.details.stations.common.nameOffsetY"),value:null!==(i=d.nameOffsetY)&&void 0!==i?i:ia.nameOffsetY,options:{top:f("panel.details.stations.common.top"),middle:f("panel.details.stations.common.middle"),bottom:f("panel.details.stations.common.bottom")},disabledOptions:"middle"===d.nameOffsetX?["middle"]:[],onChange:e=>{d.nameOffsetY=e,m(r,d)},minW:"full"},{type:"custom",label:f("color"),component:L.jsx(c,{type:l.QingdaoMetroStation,defaultTheme:ia.color}),minW:"full"},{type:"switch",label:f("panel.details.stations.qingdaoMetro.isInt"),isChecked:d.isInt,oneLine:!0,onChange:e=>{d.isInt=e,m(r,d)},minW:"full"}];return L.jsx(o,{fields:h})},metadata:{displayName:"panel.details.stations.qingdaoMetro.displayName",cities:[d.Qingdao],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},da=e=>{const{lineCode:t,stationCode:n,color:a,stroke:s}=e,[o,l,i]=[10,15,.8];return L.jsxs(L.Fragment,{children:[s&&L.jsx("rect",{x:-o/2-i,y:-l/2-i,width:o+2*i,height:l+2*i,rx:2.5,strokeWidth:i,stroke:"white",fill:"white"}),L.jsx("rect",{x:-o/2,y:-l/2,width:o,height:l,rx:2,strokeWidth:1.5,stroke:a[2],fill:"white"}),L.jsx("text",{x:0,y:1===t.length?-.75:-1.5,textAnchor:"middle",className:"rmp-name__tokyo_en",fontSize:1===t.length?7:4.5,fill:"black",children:t}),L.jsx("text",{x:1===n.length?0:-.4/n.length,y:5.5,textAnchor:"middle",className:"rmp-name__en",fontSize:7,fontWeight:"bold",letterSpacing:"-0.4",fill:"black",children:n})]})},ma={names:["京橋"],nameOffsetX:"right",nameOffsetY:"middle",textVertical:!1,lineCode:"G",stationCode:"10",color:[d.Tokyo,"g","#f9a328",m.white]},ca={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=ma.nameOffsetX,nameOffsetY:h=ma.nameOffsetY,textVertical:p=ma.textVertical,lineCode:u=ma.lineCode,stationCode:g=ma.stationCode,color:y=ma.color}=null!==(t=i[l.TokyoMetroBasic])&&void 0!==t?t:ma,C=n.useCallback((e=>r(a,e)),[a,r]),b=n.useCallback((e=>d(a,e)),[a,d]),v=n.useCallback((e=>m(a,e)),[a,m]),[j,O]=n.useState(0);n.useEffect((()=>{let e=0;c[0].split("\n").forEach((t=>{e=Math.max(e,t.length)})),O(e)}),[c[0]]);const w="left"===f?-7:"right"===f?7:0,_="left"===f?-12:"right"===f?12:0,k="bottom"===h?20:"top"===h?-9:5.5,S="bottom"===h?9+5*j:"top"===h?-9-5*j:-5,N="left"===f?"end":"right"===f?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx(da,{lineCode:u,stationCode:g,color:y}),L.jsx("rect",{id:`stn_core_${a}`,x:-5.8,y:-8.2,width:11.6,height:16.4,rx:2.5,opacity:0,onPointerDown:C,onPointerMove:b,onPointerUp:v,style:{cursor:"move"}}),L.jsx("g",{textAnchor:N,className:"rmp-name-outline",strokeWidth:"1",children:p?L.jsx("g",{transform:`translate(${_}, ${S})`,textAnchor:N,children:L.jsx(On,{text:c[0].split("\n"),fontSize:10,lineWidth:10,grow:"bidirectional",baseOffset:0,baseDY:0,className:"rmp-name__jreast_ja",fill:"black"})}):L.jsx("g",{transform:`translate(${w}, ${k})`,textAnchor:N,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:10,grow:"up",funcDX:e=>10*(e-(c[0].split("\n").length-1)/2),className:"rmp-name__jreast_ja",fill:"black"})})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"6.5",y:"4.5",rx:"1.5",width:"10",height:"15",stroke:"currentColor",fill:"none"}),L.jsx("text",{x:"9",y:"11",fontSize:"7",fill:"currentColor",children:"G"}),L.jsx("text",{x:"7.75",y:"18",fontSize:"7",letterSpacing:"-0.8",fill:"currentColor",children:"10"})]}),defaultAttrs:ma,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameJa"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:i("panel.details.stations.tokyoMetroBasic.nameOffset"),value:"middle"!==n.nameOffsetX?n.nameOffsetX:n.nameOffsetY,options:{left:i("panel.details.stations.common.left"),right:i("panel.details.stations.common.right"),top:i("panel.details.stations.common.top"),bottom:i("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(n.nameOffsetX=e,n.nameOffsetY="middle",n.textVertical=!1):(n.nameOffsetX="middle",n.nameOffsetY=e),s(t,n)},minW:"full"},{type:"switch",label:i("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:n.textVertical,isDisabled:"middle"!==n.nameOffsetX,onChange:e=>{n.textVertical=e,s(t,n)},oneLine:!0,minW:"full"},{type:"input",label:i("panel.details.stations.common.lineCode"),value:n.lineCode,onChange:e=>{n.lineCode=e,s(t,n)},minW:"full"},{type:"input",label:i("panel.details.stations.common.stationCode"),value:n.stationCode,onChange:e=>{n.stationCode=e,s(t,n)},minW:"full"},{type:"custom",label:i("color"),component:L.jsx(c,{type:l.TokyoMetroBasic,defaultTheme:ma.color}),minW:"full"}];return L.jsx(o,{fields:r})},metadata:{displayName:"panel.details.stations.tokyoMetroBasic.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},fa={names:["日本橋"],nameOffsetX:"right",nameOffsetY:"middle",mereOffset:"none",textVertical:!1,interchanges:[{lineCode:"G",stationCode:"11",color:[d.Tokyo,"g","#f9a328",m.white]},{lineCode:"T",stationCode:"10",color:[d.Tokyo,"t","#00a4db",m.white]},{lineCode:"A",stationCode:"13",color:[d.Tokyo,"a","#dd4231",m.white]}],align:"horizontal",importance:"default"},ha={lineCode:"",stationCode:"",color:[d.Tokyo,"","#AAAAAA",m.white]},pa={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=fa.nameOffsetX,nameOffsetY:h=fa.nameOffsetY,textVertical:p=fa.textVertical,interchanges:u=fa.interchanges,align:g=fa.align,importance:y=fa.importance,mereOffset:C=fa.mereOffset}=null!==(t=i[l.TokyoMetroInt])&&void 0!==t?t:fa,b=n.useCallback((e=>r(a,e)),[a,r]),v=n.useCallback((e=>d(a,e)),[a,d]),j=n.useCallback((e=>m(a,e)),[a,m]),[O,w]=n.useState(0);n.useEffect((()=>{let e=0;c[0].split("\n").forEach((t=>{e=Math.max(e,t.length)})),w(e)}),[c[0]]);const _="horizontal"===g?13*u.length:0,k="vertical"===g?18*u.length:0,S="left"===f?-("horizontal"===g?4:10)-_/2:"right"===f?("horizontal"===g?2:9)+_/2:"left2"===C?-5:"right2"===C?5:0,{fontSize:N,textXVer:z,textY:M,textYVer:A}="default"===y?{fontSize:10,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-4:"left2"===C?-10:"right1"===C?4:"right2"===C?10:0),textY:"bottom"===h?("vertical"===g?1:10)+k/2:"top"===h?-("vertical"===g?3:12)-k/2:("up"===C?3:"down"===C?10:0)-7.5,textYVer:"bottom"===h?("vertical"===g?3:12)+k/2+5*O:"top"===h?-("vertical"===g?1:13)-k/2-5*O:-5}:"high"===y?{fontSize:20,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-10:"left2"===C?-16:"right1"===C?10:"right2"===C?16:0),textY:"bottom"===h?("vertical"===g?3:10)+k/2:"top"===h?-("vertical"===g?1:13)-k/2:("up"===C?6:"down"===C?15:0)-13,textYVer:"bottom"===h?("vertical"===g?4:13)+k/2+10*O:"top"===h?-("vertical"===g?5:13)-k/2-10*O:-5}:{fontSize:15,textXVer:("left"===f?-12:"right"===f?12:-2)+("left1"===C?-8:"left2"===C?-13:"right1"===C?8:"right2"===C?13:0),textY:"bottom"===h?("vertical"===g?1:10)+k/2:"top"===h?-("vertical"===g?3:13)-k/2:("up"===C?4:"down"===C?12:0)-10,textYVer:"bottom"===h?("vertical"===g?3:13)+k/2+7.5*O:"top"===h?-("vertical"===g?4:13)-k/2-7.5*O:-5},P="left"===f||"left1"===C||"left2"===C?"end":"right"===f||"right1"===C||"right2"===C?"start":"middle";return L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:["horizontal"===g?L.jsxs(L.Fragment,{children:[L.jsx("rect",{x:-(_+3)/2,y:-10.5,width:_+3,height:21,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),u.map(((e,t)=>L.jsx("g",{transform:`translate(${13*t-(_-13)/2}, 0)`,children:L.jsx(da,{lineCode:e.lineCode,stationCode:e.stationCode,color:e.color,stroke:!0})},t))),L.jsx("rect",{id:`stn_core_${a}`,x:-(_+3)/2,y:-10.5,width:_+3,height:21,rx:3,opacity:0,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})]}):L.jsxs(L.Fragment,{children:[L.jsx("rect",{x:-8,y:-(k+3)/2,width:16,height:k+3,rx:3,fill:"#808285",stroke:"black",strokeWidth:"0.5"}),u.map(((e,t)=>L.jsx("g",{transform:`translate(0, ${18*t-(k-18)/2})`,children:L.jsx(da,{lineCode:e.lineCode,stationCode:e.stationCode,color:e.color,stroke:!0})},t))),L.jsx("rect",{id:`stn_core_${a}`,x:-8,y:-(k+3)/2,width:16,height:k+3,rx:3,opacity:0,onPointerDown:b,onPointerMove:v,onPointerUp:j,style:{cursor:"move"}})]}),L.jsx("g",{textAnchor:P,className:"rmp-name-outline",strokeWidth:"1",children:p?L.jsx("g",{transform:`translate(${z}, ${A})`,textAnchor:"middle",children:L.jsx(On,{text:c[0].split("\n"),fontSize:N,lineWidth:N,grow:"bidirectional",className:"rmp-name__jreast_ja",fill:"black",fontWeight:"default"!==y?"bold":"normal"})}):L.jsx("g",{transform:`translate(${S}, ${M})`,textAnchor:P,children:L.jsx(ye,{text:c[0].split("\n"),fontSize:N,lineHeight:N,grow:"top"===h||"up"===C?"up":"down",className:"rmp-name__jreast_ja",fill:"black",fontWeight:"default"!==y?"bold":"normal"})})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("rect",{x:"4",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),L.jsx("rect",{x:"12.5",y:"8",rx:"1",width:"6.5",height:"10",stroke:"currentColor",fill:"none"}),L.jsx("text",{x:"5.5",y:"12.5",fontSize:"4",fill:"currentColor",children:"G"}),L.jsx("text",{x:"5",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"16"}),L.jsx("text",{x:"14.25",y:"12.5",fontSize:"4",fill:"currentColor",children:"H"}),L.jsx("text",{x:"13.75",y:"16.25",fontSize:"4",letterSpacing:"-0.8",fill:"currentColor",children:"18"})]}),defaultAttrs:fa,attrsComponent:e=>{const{id:t,attrs:s,handleAttrsUpdate:l}=e,i=y(),{paletteAppClip:{output:r}}=C((e=>e.runtime)),{t:d}=a(),m=[{type:"textarea",label:d("panel.details.stations.common.nameJa"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroBasic.nameOffset"),value:"middle"!==s.nameOffsetX?s.nameOffsetX:s.nameOffsetY,options:{left:d("panel.details.stations.common.left"),right:d("panel.details.stations.common.right"),top:d("panel.details.stations.common.top"),bottom:d("panel.details.stations.common.bottom")},onChange:e=>{"left"===e||"right"===e?(s.nameOffsetX=e,s.nameOffsetY="middle",s.textVertical=!1,"left1"!==s.mereOffset&&"left2"!==s.mereOffset&&"right1"!==s.mereOffset&&"right2"!==s.mereOffset||(s.mereOffset="none")):(s.nameOffsetX="middle",s.nameOffsetY=e,"up"!==s.mereOffset&&"down"!==s.mereOffset||(s.mereOffset="none")),l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.mereOffset.displayName"),value:s.mereOffset,options:{none:d("panel.details.stations.tokyoMetroInt.mereOffset.none"),..."middle"===s.nameOffsetX?{left1:d("panel.details.stations.tokyoMetroInt.mereOffset.left1"),left2:d("panel.details.stations.tokyoMetroInt.mereOffset.left2"),right1:d("panel.details.stations.tokyoMetroInt.mereOffset.right1"),right2:d("panel.details.stations.tokyoMetroInt.mereOffset.right2")}:{up:d("panel.details.stations.tokyoMetroInt.mereOffset.up"),down:d("panel.details.stations.tokyoMetroInt.mereOffset.down")}},onChange:e=>{s.mereOffset=e,l(t,s)},minW:"full"},{type:"switch",label:d("panel.details.stations.tokyoMetroBasic.textVertical"),isChecked:s.textVertical,isDisabled:"middle"!==s.nameOffsetX,onChange:e=>{s.textVertical=e,l(t,s)},oneLine:!0,minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.importance.displayName"),value:s.importance,options:{default:d("panel.details.stations.tokyoMetroInt.importance.default"),middle:d("panel.details.stations.tokyoMetroInt.importance.middle"),high:d("panel.details.stations.tokyoMetroInt.importance.high")},onChange:e=>{s.importance=e,l(t,s)},minW:"full"},{type:"select",label:d("panel.details.stations.tokyoMetroInt.align.displayName"),value:s.align,options:{horizontal:d("panel.details.stations.tokyoMetroInt.align.horizontal"),vertical:d("panel.details.stations.tokyoMetroInt.align.vertical")},onChange:e=>{s.align=e,l(t,s)},minW:"full"}],[c,f]=n.useState(void 0);n.useEffect((()=>{void 0!==c&&r&&(s.interchanges[c].color=r,l(t,s),f(void 0))}),[null==r?void 0:r.toString()]);const h=e=>{const n=structuredClone(s.interchanges);n.push(ha);for(let t=n.length-1;t>e;t--)n[t]=structuredClone(n[t-1]);n[e]=ha,l(t,{...s,interchanges:n})};return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:m}),L.jsx(j,{label:d("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[s.interchanges.map(((e,n)=>L.jsxs(T,{children:[L.jsx(O,{theme:e.color,onClick:()=>{f(n),i(w(e.color))}}),L.jsx(j,{label:d("panel.details.stations.common.lineCode"),children:L.jsx(A,{defaultValue:e.lineCode,onDebouncedChange:e=>((e,n)=>{s.interchanges[n].lineCode=e,l(t,s)})(e,n)})}),L.jsx(j,{label:d("panel.details.stations.common.stationCode"),children:L.jsx(A,{defaultValue:e.stationCode,onDebouncedChange:e=>((e,n)=>{s.interchanges[n].stationCode=e,l(t,s)})(e,n)})}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),icon:L.jsx(v,{}),onClick:()=>h(n)}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),icon:L.jsx(k,{}),onClick:()=>(e=>{const n=s.interchanges.filter(((t,n)=>n!==e));l(t,{...s,interchanges:n})})(n),isDisabled:1===s.interchanges.length})]},n))),L.jsx(Z,{size:"sm",width:"100%",variant:"outline",leftIcon:L.jsx(v,{}),onClick:()=>h(s.interchanges.length),children:d("panel.details.stations.interchange.title")})]})})]})},metadata:{displayName:"panel.details.stations.tokyoMetroInt.displayName",cities:[d.Tokyo],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},ua={0:{textDx:0,textDy:-9.15,textAnchor:"middle",dominantBaseline:"auto",polarity:-1,grow:"up"},45:{textDx:9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"auto",polarity:-1,grow:"up"},90:{textDx:9.15,textDy:0,textAnchor:"start",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},135:{textDx:9.15*Math.SQRT1_2,textDy:9.15*Math.SQRT1_2,textAnchor:"start",dominantBaseline:"hanging",polarity:1,grow:"down"},180:{textDx:0,textDy:9.15,textAnchor:"middle",dominantBaseline:"hanging",polarity:1,grow:"down"},225:{textDx:-9.15*Math.SQRT1_2,textDy:9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"hanging",polarity:1,grow:"down"},270:{textDx:-9.15,textDy:0,textAnchor:"end",dominantBaseline:"middle",polarity:0,grow:"bidirectional"},315:{textDx:-9.15*Math.SQRT1_2,textDy:-9.15*Math.SQRT1_2,textAnchor:"end",dominantBaseline:"auto",polarity:-1,grow:"up"}},ga=[d.London,"central","#DC241F",m.white,0],xa=n.memo((e=>{const{id:t,stepFreeAccess:n,...a}=e;return L.jsxs("g",{...a,children:[L.jsx("path",{fill:"train"===n?"#1C3E93":"white",stroke:"#1C3E93",strokeWidth:2.5,d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31"}),L.jsx("path",{fill:"train"===n?"white":"#1C3E93",d:"M-10.5,9c1.4,4.9,6,8.4,11.3,8.4c6.5,0,11.8-5.3,11.8-11.8c0-3.4-1.5-6.5-3.8-8.7l0.7-5.1\n\tc4.6,2.9,7.6,8,7.6,13.8c0,9-7.3,16.3-16.3,16.3c-5.9,0-11-3.1-13.9-7.7L-10.5,9z"}),L.jsx("path",{fill:"train"===e.stepFreeAccess?"white":"#1C3E93",d:"M0.5-20.5c0,2.5,2,4.6,4.6,4.6c2.5,0,4.6-2.1,4.6-4.6s-2.1-4.6-4.6-4.6S0.5-23,0.5-20.5"}),L.jsx("path",{fill:"train"===n?"white":"#1C3E93",d:"M3-12.4L2.5-9.2h-9.9c0,0-2.1,0.2-2.1,2.2s2.1,2.2,2.1,2.2h9.3l-0.5,3h-12.5c0,0-0.9,0-1.3,0.5\n\tC-12.8-1-13.2,0-13.2,0l-7,14.2c0,0-0.8,1.8,1.2,2.9c2,1.1,3.3-1,3.3-1l5.5-11.3c0,0,0.5-0.7,1-1c0.6-0.3,1.1-0.3,1.1-0.3H3.4\n\tc0,0,1.2,0,2.2-0.9c0.9-0.9,1.1-2,1.1-2l1.7-12.4c0,0,0-2.6-2.7-2.7C3.6-14.5,3-12.4,3-12.4"}),L.jsx("path",{id:`stn_core_${t}`,fill:"train"===n?"#1C3E93":"white",fillOpacity:"0",stroke:"#1C3E93",strokeWidth:2.5,strokeOpacity:"0",d:"M0-31c17.1,0,31,13.9,31,31S17.1,31,0,31S-31,17.1-31,0S-17.1-31,0-31",className:"removeMe"})]})}),((e,t)=>JSON.stringify(e)===JSON.stringify(t))),ya={names:["Station"],transfer:[[ga]],rotate:0,terminal:!1,stepFreeAccess:"none"},Ca={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,transfer:f=ya.transfer,rotate:h=ya.rotate,terminal:p=ya.terminal,stepFreeAccess:u=ya.stepFreeAccess}=null!==(t=i[l.LondonTubeBasic])&&void 0!==t?t:ya,g=n.useCallback((e=>r(a,e)),[a,r]),y=n.useCallback((e=>d(a,e)),[a,d]),C=n.useCallback((e=>m(a,e)),[a,m]),b=(h-90)*Math.PI/180,v=p?2*(.66*5+2.5):.66*5+.5,j=ua[h].textDx+Math.cos(b)*Math.max(...f[0].map((e=>e[4])))*5,O=ua[h].textDy+Math.sin(b)*Math.max(...f[0].map((e=>e[4])))*5,w=-(Math.max(...f[0].map((e=>e[4])))+Math.min(...f[0].map((e=>e[4]))))/2*5,_=Math.sin(h*Math.PI/180)*w,k=Math.cos(h*Math.PI/180)*w;return L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})rotate(${h})`,onPointerDown:g,onPointerMove:y,onPointerUp:C,style:{cursor:"move"},children:"none"===u?f[0].map((e=>L.jsx("rect",{id:`stn_core_${a}`,x:.66*-5/2,y:.66*-5-2.5-5*e[4],width:5*.66,height:v,stroke:"none",fill:e[2]},`${a}_${e[2]}_${e[4]}`))):L.jsx(xa,{id:a,stepFreeAccess:u,transform:`translate(${_},${k})rotate(${-h})scale(0.2333)`},`stn_core_${a}`)}),L.jsx("g",{transform:`translate(${s+j}, ${o+O})`,textAnchor:ua[h].textAnchor,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:ua[h].dominantBaseline,grow:ua[h].grow,baseOffset:0,className:"rmp-name__tube"})})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("rect",{x:"6",y:"9",width:"12",height:"6",stroke:"currentColor",fill:"currentColor"})}),defaultAttrs:ya,attrsComponent:e=>{var t;const{id:n,attrs:s,handleAttrsUpdate:l}=e,{t:i}=a(),r=[{type:"textarea",label:i("panel.details.stations.common.nameEn"),value:s.names[0],onChange:e=>{s.names[0]=e.toString(),l(n,s)},minW:"full"},{type:"select",label:i("panel.details.stations.common.rotate"),value:s.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{s.rotate=Number(e),l(n,s)},minW:"full"},{type:"switch",label:i("panel.details.stations.londonTubeBasic.terminal"),isChecked:s.terminal,isDisabled:s.transfer[0].length>1,onChange:e=>{s.terminal=e,l(n,s)},oneLine:!0,minW:"full"},{type:"select",label:i("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:s.stepFreeAccess,options:{none:i("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:i("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:i("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:e=>{s.stepFreeAccess=e,l(n,s)},minW:"full"}],d=null!==(t=s.transfer)&&void 0!==t?t:ya.transfer;return L.jsxs(L.Fragment,{children:[L.jsx(o,{fields:r}),L.jsx(j,{label:i("panel.details.stations.interchange.title"),children:L.jsxs(U,{align:"flex-start",children:[L.jsx(G,{size:"xs",children:i("panel.details.stations.londonTubeBasic.shareTracks")}),L.jsx(ba,{interchangeList:d[0],onAdd:(m=0,e=>{const t=structuredClone(d);if(t.length<=m)for(let n=t.length;n<=m;n++)t[n]=[ga];t[m].push(e),s.transfer=t,l(n,s)}),onDelete:(e=>t=>{if(d.length>e&&d[e].length>t){const a=d.map(((n,a)=>a===e?n.filter(((e,n)=>n!==t)):n));s.transfer=a,l(n,s)}})(0),onUpdate:(e=>(t,a)=>{if(d.length>e&&d[e].length>t){const o=d.map(((n,s)=>s===e?n.map(((e,n)=>n===t?[0,1,2,3,4,5,6].map((t=>void 0===a[t]?e[t]:a[t])):e)):n));s.transfer=o,l(n,s)}})(0)})]})})]});var m},metadata:{displayName:"panel.details.stations.londonTubeBasic.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}};function ba(e){const{interchangeList:t,onAdd:s,onDelete:o,onUpdate:l}=e,i=y(),{paletteAppClip:{output:r}}=C((e=>e.runtime)),{t:d}=a(),[m,c]=n.useState();return n.useEffect((()=>{void 0!==m&&r&&(null==l||l(m,[...r,t[m][4]]),c(void 0))}),[null==r?void 0:r.toString()]),L.jsxs(b,{direction:"column",children:[0===t.length&&L.jsxs(T,{spacing:.5,"data-testid":"interchange-card-stack",children:[L.jsx(D,{as:"i",flex:1,align:"center",fontSize:"md",colorScheme:"gray",children:d("panel.details.stations.interchange.noTrackShare")}),L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.add"),onClick:()=>null==s?void 0:s(ga),icon:L.jsx(v,{})})]}),t.map(((e,n)=>L.jsxs(T,{spacing:.5,"data-testid":`interchange-card-stack-${n}`,children:[L.jsx(j,{label:d("color"),minW:"40px",noLabel:0!==n,children:L.jsx(O,{theme:[e[0],e[1],e[2],e[3]],onClick:()=>{c(n),i(w([e[0],e[1],e[2],e[3]]))}})}),L.jsx(j,{label:d("panel.details.stations.londonTubeBasic.shareTracksIndex"),children:L.jsx(P,{defaultValue:e[4],min:-5,max:5,step:1,onThrottledChange:t=>null==l?void 0:l(n,[e[0],e[1],e[2],e[3],t])})}),L.jsxs(U,{children:[s&&n===t.length-1?L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.copy"),onClick:()=>{const e=structuredClone(t.slice(-1)[0]);e[4]=Math.max(...t.map((e=>e[4])))+1,null==s||s(e)},icon:L.jsx(_,{})}):L.jsx(F,{minW:8}),o&&0!==n&&L.jsx(H,{size:"sm",variant:"ghost","aria-label":d("panel.details.stations.interchange.remove"),onClick:()=>null==o?void 0:o(n),icon:L.jsx(k,{})})]})]},n)))]})}const va={names:["Station"],nameOffsetX:"right",nameOffsetY:"top",stepFreeAccess:"none"},ja={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=va.nameOffsetX,nameOffsetY:h=va.nameOffsetY,stepFreeAccess:p=va.stepFreeAccess}=null!==(t=i[l.LondonTubeInt])&&void 0!==t?t:va,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-9.15:"right"===f?9.15:0,b="top"===h?-9.15:"bottom"===h?9.15:0,v="left"===f?"end":"right"===f?"start":"middle",j="top"===h?"auto":"bottom"===h?"hanging":"middle";return L.jsxs("g",{id:a,children:[L.jsx("g",{transform:`translate(${s}, ${o})`,onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},children:"none"===p?L.jsx("circle",{id:`stn_core_${a}`,r:6.25,width:5*.66,height:5.800000000000001,stroke:"black",strokeWidth:2.5,fill:"white"}):L.jsx(xa,{id:a,stepFreeAccess:p,transform:"scale(0.2333)"})}),L.jsx("g",{transform:`translate(${s+C}, ${o+b})`,textAnchor:v,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:j,grow:"top"===h?"up":"bottom"===h?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},icon:L.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:L.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",strokeWidth:"2.5",fill:"white"})}),defaultAttrs:va,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.londonTubeCommon.stepFreeAccess"),value:n.stepFreeAccess,options:{none:l("panel.details.stations.londonTubeCommon.stepFreeAccessNone"),train:l("panel.details.stations.londonTubeCommon.stepFreeAccessTrain"),platform:l("panel.details.stations.londonTubeCommon.stepFreeAccessPlatform")},onChange:e=>{n.stepFreeAccess=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.londonTubeInt.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Oa="M-18.2,12.6c2.4-0.6,5.8-1.6,11.5-0.4c2.9,0.6,5.6,1.3,8.3,1.3c3.5,0,5.4-0.6,8.1-1.2c2.4-0.6,5.2-1.2,7.4-1.1c3.8,0.1,6.6,0.7,8.2,1.4l-1.2-3.1C21,8.3,15.8,7.7,9.7,9.5c-2.6,0.7-5.2,1.3-7.9,1.2c-2.5,0-4.8-0.4-7.2-1C-13,8-15.9,9.3-19.8,10.3L-18.2,12.6z",wa="M23.8-2h-4.1l-1.8-4.8c0,0-0.1-0.6-1-1.3c-0.6-0.5-1.6-0.5-1.6-0.5H4v-2h-6.9l-1.1-1.5l0.8-1.9h-1.9l-1.5,3.5h-2.6v2h-5.8c0,0-0.8,0.1-1.2,0.3c-0.4,0.3-0.6,0.5-0.6,0.5l-4.4,5.8h-7.3l7.3,10c1.6-0.7,6.6-2,9.7-1.9c4.1,0.1,9.5,1.9,13.1,1.9c6.6,0,8.8-2,14.6-2.3c7.1-0.4,11.6,2.3,11.6,2.3L23.8-2z M-11.1-2h-7.1l1.9-2.5c0,0,0.8-1.1,1.2-1.3c0.7-0.4,1.2-0.5,1.2-0.5h2.8V-2z M-9.2-2v-4.3h7.4v4.4L-9.2-2z M7.4-2H0v-4.3h7.4V-2z M9.3-2v-4.3h5.1c0,0,0.4,0,0.8,0.4c0.3,0.2,0.5,0.7,0.5,0.7l1.2,3.3L9.3-2z",_a={names:["Station"],nameOffsetX:"right",nameOffsetY:"top"},ka={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=_a.nameOffsetX,nameOffsetY:h=_a.nameOffsetY}=null!==(t=i[l.LondonRiverServicesInt])&&void 0!==t?t:_a,p=n.useCallback((e=>r(a,e)),[a,r]),u=n.useCallback((e=>d(a,e)),[a,d]),g=n.useCallback((e=>m(a,e)),[a,m]),y="left"===f?-9.15:"right"===f?9.15:0,C="top"===h?-9.15:"bottom"===h?9.15:0,b="left"===f?"end":"right"===f?"start":"middle",v="top"===h?"auto":"bottom"===h?"hanging":"middle";return L.jsxs("g",{id:a,children:[L.jsxs("g",{transform:`translate(${s}, ${o})`,onPointerDown:p,onPointerMove:u,onPointerUp:g,style:{cursor:"move"},children:[L.jsx("circle",{r:7.25,stroke:"#003888",strokeWidth:.5,fill:"white"}),L.jsxs("g",{fill:"#003888",transform:"scale(0.222)",children:[L.jsx("path",{d:Oa}),L.jsx("path",{d:wa})]}),L.jsx("circle",{id:`stn_core_${a}`,r:7.5,fill:"white",fillOpacity:"0",className:"removeMe"})]}),L.jsx("g",{transform:`translate(${s+y}, ${o+C})`,textAnchor:b,fill:"#003888",children:L.jsx(ye,{text:c[0].split("\n"),fontSize:10,lineHeight:8.5,dominantBaseline:v,grow:"top"===h?"up":"bottom"===h?"down":"bidirectional",baseOffset:1,className:"rmp-name__tube"})})]})},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"white"}),L.jsxs("g",{transform:"translate(12, 12)scale(0.18)",children:[L.jsx("path",{stroke:"currentColor",d:Oa}),L.jsx("path",{stroke:"currentColor",d:wa})]})]}),defaultAttrs:_a,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.londonRiverServicesInt.displayName",cities:[d.London],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},Sa={...x,nameOffsetX:"right",nameOffsetY:"top",interchange:!1},Na={component:e=>{var t;const{id:a,x:s,y:o,attrs:i,handlePointerDown:r,handlePointerMove:d,handlePointerUp:m}=e,{names:c=x.names,nameOffsetX:f=Sa.nameOffsetX,nameOffsetY:h=Sa.nameOffsetY,interchange:p=Sa.interchange}=null!==(t=i[l.GuangdongIntercityRailway])&&void 0!==t?t:Sa,u=n.useCallback((e=>r(a,e)),[a,r]),g=n.useCallback((e=>d(a,e)),[a,d]),y=n.useCallback((e=>m(a,e)),[a,m]),C="left"===f?-13.33:"right"===f?13.33:0,b=(c[Ce[h].namesPos].split("\n").length*ze[h].lineHeight+ze[h].offset)*Ce[h].polarity,v="left"===f?"end":"right"===f?"start":"middle";return n.useMemo((()=>L.jsxs("g",{id:a,transform:`translate(${s}, ${o})`,children:[L.jsx("circle",{r:5,stroke:"#2559a8",strokeWidth:"1.5",fill:"white"}),p&&L.jsx("circle",{r:2.5,stroke:"#2559a8",strokeWidth:"1",fill:"white"}),L.jsx("circle",{id:`stn_core_${a}`,r:5.665,fill:"white",fillOpacity:"0",onPointerDown:u,onPointerMove:g,onPointerUp:y,style:{cursor:"move"},className:"removeMe"}),L.jsxs("g",{transform:`translate(${C}, ${b})`,textAnchor:v,className:"rmp-name-outline",strokeWidth:"1",children:[L.jsx(ye,{text:c[0].split("\n"),fontSize:13.13,lineHeight:13.13,grow:"up",baseOffset:1,className:"rmp-name__zh"}),L.jsx(ye,{text:c[1].split("\n"),dx:"right"===f?1.67:0,fontSize:5.83,lineHeight:5.83,grow:"down",baseOffset:1.5,className:"rmp-name__en"})]})]})),[a,s,o,...c,f,h,p,u,g,y])},icon:L.jsxs("svg",{viewBox:"0 0 24 24",height:"40",width:"40",focusable:!1,children:[L.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2.25",fill:"white"}),L.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"1.5",fill:"white"})]}),defaultAttrs:Sa,attrsComponent:e=>{const{id:t,attrs:n,handleAttrsUpdate:s}=e,{t:l}=a(),i=[{type:"textarea",label:l("panel.details.stations.common.nameZh"),value:n.names[0],onChange:e=>{n.names[0]=e.toString(),s(t,n)},minW:"full"},{type:"textarea",label:l("panel.details.stations.common.nameEn"),value:n.names[1],onChange:e=>{n.names[1]=e.toString(),s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetX"),value:n.nameOffsetX,options:{left:l("panel.details.stations.common.left"),middle:l("panel.details.stations.common.middle"),right:l("panel.details.stations.common.right")},disabledOptions:"middle"===n.nameOffsetY?["middle"]:[],onChange:e=>{n.nameOffsetX=e,s(t,n)},minW:"full"},{type:"select",label:l("panel.details.stations.common.nameOffsetY"),value:n.nameOffsetY,options:{top:l("panel.details.stations.common.top"),middle:l("panel.details.stations.common.middle"),bottom:l("panel.details.stations.common.bottom")},disabledOptions:"middle"===n.nameOffsetX?["middle"]:[],onChange:e=>{n.nameOffsetY=e,s(t,n)},minW:"full"},{type:"switch",label:l("panel.details.stations.interchange.title"),oneLine:!0,isChecked:n.interchange,onChange:e=>{n.interchange=e,s(t,n)},minW:"full"}];return L.jsx(o,{fields:i})},metadata:{displayName:"panel.details.stations.guangdongIntercityRailway.displayName",cities:[d.Shanghai],canvas:[u.RailMap],categories:[g.Metro],tags:[]}},za=(e("s",{[l.ShmetroBasic]:Ae,[l.ShmetroBasic2020]:$e,[l.ShmetroInt]:Xe,[l.ShmetroOutOfSystemInt]:Re,[l.ShanghaiSuburbanRailway]:Le,[l.GzmtrBasic]:Qt,[l.GzmtrInt]:tn,[l.GzmtrInt2024]:rn,[l.BjsubwayBasic]:fn,[l.BjsubwayInt]:gn,[l.MTR]:jn,[l.SuzhouRTBasic]:Nn,[l.SuzhouRTInt]:Bn,[l.KunmingRTBasic]:En,[l.KunmingRTInt]:Ln,[l.MRTBasic]:Un,[l.MRTInt]:Zn,[l.JREastBasic]:Kn,[l.JREastImportant]:aa,[l.FoshanMetroBasic]:oa,[l.QingdaoMetroStation]:ra,[l.TokyoMetroBasic]:ca,[l.TokyoMetroInt]:pa,[l.LondonTubeBasic]:Ca,[l.LondonTubeInt]:ja,[l.LondonRiverServicesInt]:ka,[l.GuangdongIntercityRailway]:Na}),new BroadcastChannel("RMP_MASTER_CHANNEL")),Ma={id:"null",value:"",param:null,bg:"#000000",fg:m.white},Aa={h:"80%",w:"80%","& iframe":{h:"100%",w:"100%"},"& div":{h:"100%",w:"100%"}},Pa=e("k",(e=>{const{isOpen:t,onClose:s,onSubmit:o}=e,{t:l}=a(),i=n.useRef(window.graph),r=K(),[d,m]=n.useState([]),[c,f]=n.useState(Ma),[h,p]=n.useState(""),[u,g]=n.useState(!1),[x,y]=n.useState(!1);n.useEffect((()=>{t&&(p(""),f(Ma),g(!1),m(Oe(i.current).filter((e=>e.randomId)).map((e=>{var t,n,a;return{id:e.randomId,value:null!==(t=e.label)&&void 0!==t?t:e.randomId,param:e,bg:null!==(n=e.labelColorBg)&&void 0!==n?n:Ma.bg,fg:null!==(a=e.labelColorFg)&&void 0!==a?a:Ma.fg}}))))}),[t]);const C=e=>{try{var t,n,a,l,i;const s=null!==(t=c.param)&&void 0!==t?t:JSON.parse(e),d=s.id?s.id:s.randomId,m=null!==(n=s.labelColorBg)&&void 0!==n?n:E(),f={randomId:d,label:null!==(a=s.label)&&void 0!==a?a:d,labelColorBg:m,labelColorFg:X(m),nodeType:null!==(l=s.nodeType)&&void 0!==l?l:s.type,transform:null!==(i=s.transform)&&void 0!==i?i:Y,svgs:s.svgs,components:s.components,color:s.color,core:s.core,version:s.version};if(!f.version||f.version<2)return void r({title:"Outdated configuration!",status:"error",duration:9e3,isClosable:!0});o(f)}catch(d){return void y(!0)}s()},b=n.useRef(t),[v,O]=n.useState("DESIGNER"),[w,_]=n.useState(!1);return n.useEffect((()=>{b.current=t}),[t]),n.useEffect((()=>{const e=e=>{const{event:t,data:n}=e.data;"MASTER_POST"===t&&b.current&&(_(!1),C(n))};return za.addEventListener("message",e),()=>{za.removeEventListener("message",e)}}),[]),L.jsxs(L.Fragment,{children:[L.jsxs(ee,{isOpen:t,onClose:s,size:"sm",scrollBehavior:"inside",children:[L.jsx(te,{}),L.jsxs(ne,{children:[L.jsx(ae,{children:l("header.settings.procedures.masterManager.importTitle")}),L.jsx(se,{}),L.jsxs(oe,{children:[L.jsx(j,{label:l("header.settings.procedures.masterManager.importFrom"),children:L.jsx(B,{data:d,displayHandler:e=>L.jsx($,{name:e.value,fg:e.fg,bg:e.bg,title:e.value,sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}}),filter:(e,t)=>t.id.toLowerCase().includes(e.toLowerCase())||Object.values(t.id).some((t=>t.toLowerCase().includes(e.toLowerCase()))),value:c.value,onChange:e=>{f(e),g(!1),p("")}})}),L.jsxs(j,{label:l("header.settings.procedures.masterManager.importOther"),children:[L.jsxs(Q,{direction:"row",width:"100%",children:[L.jsx(Z,{m:1,width:"100%",onClick:async()=>{O("DESIGNER"),_(!0)},children:l("RMP Designer")}),L.jsx(Z,{m:1,width:"100%",onClick:()=>{O("GALLERY"),_(!0)},children:l("RMP Gallery")})]}),L.jsx(Z,{m:1,onClick:()=>g(!0),children:l("header.settings.procedures.masterManager.importParam")}),L.jsx(le,{width:"100%",placeholder:"qwq",fontSize:"sm",fontFamily:"monospace",hidden:!u,onChange:e=>{y(!1),p(e.target.value),f(Ma)},isInvalid:x})]})]}),L.jsxs(ie,{children:[L.jsx(Z,{colorScheme:"blue",variant:"outline",mr:"1",onClick:s,children:l("cancel")}),L.jsx(Z,{colorScheme:"blue",variant:"solid",mr:"1",onClick:()=>C(h),isDisabled:"null"===c.id&&""===h,children:l("apply")})]})]})]}),L.jsx(Ba,{isOpen:w,onClose:()=>_(!1),source:v})]})})),Ba=e=>{const{isOpen:t,onClose:n,source:a}=e,s="DESIGNER"===a?"/rmp-designer/#/export":"/rmp-gallery/?tabId=2&master=true";return L.jsxs(W,{isOpen:t,onClose:n,size:"full",sx:Aa,children:[L.jsx("iframe",{src:s,loading:"lazy"}),L.jsx(re,{onClick:n,position:"fixed",top:"5px",right:"15px"})]})};e("M",(e=>{const{isOpen:t,onClose:s}=e,{t:l}=a(),{refresh:{nodes:r}}=C((e=>e.runtime)),d=n.useRef(window.graph),c=y(),[f,h]=n.useState([]);n.useEffect((()=>{t&&h(Oe(d.current))}),[t,r]);const[p,u]=n.useState(void 0),g=f.map((e=>{var t,n,a,s,r;const f=[{label:l("header.settings.procedures.masterManager.id"),type:"custom",component:L.jsx($,{name:null!==(t=e.randomId)&&void 0!==t?t:"undefined",fg:null!==(n=e.labelColorFg)&&void 0!==n?n:m.white,bg:null!==(a=e.labelColorBg)&&void 0!==a?a:"#000000"})},{label:l("header.settings.procedures.masterManager.label"),type:"input",value:null!==(s=e.label)&&void 0!==s?s:l("panel.details.nodes.master.undefined"),onChange:t=>{return n=e,a=t,d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===n.randomId)).forEach((e=>{d.current.mergeNodeAttributes(e,{[i.Master]:{...n,label:a}})})),c(z()),void c(M(d.current.export()));var n,a},hidden:!e.randomId},{label:l("header.settings.procedures.masterManager.label"),type:"output",value:null!==(r=e.label)&&void 0!==r?r:l("panel.details.nodes.master.undefined"),hidden:!!e.randomId},{label:l("header.settings.procedures.masterManager.type"),type:"custom",component:L.jsx($,{name:l(`header.settings.procedures.masterManager.types.${e.nodeType}`),fg:m.white,bg:"MiscNode"===e.nodeType?"#FF8651":"#51BC00"})}];return L.jsxs(Q,{width:"100%",direction:"row",children:[L.jsx(o,{fields:f,minW:"120px"}),L.jsxs(Q,{direction:"row",mr:"auto",children:[L.jsx(Z,{onClick:()=>u(e.randomId),children:L.jsx(R,{})}),L.jsx(Z,{onClick:()=>(e=>{const t={id:e.randomId,type:e.nodeType,label:e.label,svgs:e.svgs,components:e.components,color:e.color,core:e.core,transform:e.transform,version:e.version};t.components.forEach(((e,n)=>{t.components[n].value=e.defaultValue})),we(`RMP_Master_Node_${(new Date).valueOf()}.json`,"application/json",JSON.stringify(t))})(e),isDisabled:!e.randomId,children:L.jsx(I,{})}),L.jsx(Z,{onClick:()=>{return t=e.randomId,d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===t)).forEach((e=>{d.current.dropNode(e)})),c(z()),void c(M(d.current.export()));var t},children:L.jsx(k,{})})]})]})}));return L.jsxs(ee,{isOpen:t,onClose:s,size:"xl",scrollBehavior:"inside",children:[L.jsx(te,{}),L.jsxs(ne,{children:[L.jsx(ae,{children:l("header.settings.procedures.masterManager.title")}),L.jsx(se,{}),L.jsxs(oe,{width:"100%",children:[...g,L.jsx(Pa,{isOpen:!!p,onClose:()=>u(void 0),onSubmit:e=>{d.current.filterNodes((e=>d.current.getNodeAttribute(e,"type")===i.Master&&d.current.getNodeAttributes(e)[i.Master].randomId===p)).forEach((t=>{const n=structuredClone(e),a=d.current.getNodeAttributes(t),s=structuredClone(a[i.Master]);n.components.forEach(((e,t)=>{var a,o;n.components[t].value=null!==(o=e.id,a=void s.components.forEach((e=>{var t;if(e.id===o)return null!==(t=e.value)&&void 0!==t?t:e.defaultValue})))&&void 0!==a?a:e.defaultValue})),void 0!==n.color&&(n.color.value=s.color?n.color.value:n.color.defaultValue),d.current.mergeNodeAttributes(t,{[i.Master]:n})})),c(z()),c(M(d.current.export()))}})]}),L.jsx(ie,{children:L.jsx(Z,{colorScheme:"blue",variant:"outline",mr:"1",onClick:s,children:l("close")})})]})]})}))}}})); diff --git a/assets/misc-nodes-BRiC9wrX.js b/assets/misc-nodes-D3tkoIn0.js similarity index 99% rename from assets/misc-nodes-BRiC9wrX.js rename to assets/misc-nodes-D3tkoIn0.js index ded45927..d5a1df85 100644 --- a/assets/misc-nodes-BRiC9wrX.js +++ b/assets/misc-nodes-D3tkoIn0.js @@ -1 +1 @@ -import{aR as D,C as S,M as L,aS as z,av as b,i as k,aT as ge,c as fe,d as ye,V as be,W as je,P as we,R as ue,D as Be,ak as Ne}from"./index-C2EPE_tK.js";import{j as n,g as xe,a$ as Ce,af as Le,O as ve}from"./chakra-xNcrfRXW.js";import{b as r,u as $}from"./react-D-_si4LB.js";import{L as Se,g as me,h as Pe,t as ce,j as Te,k as ze,M as Ae,n as ke}from"./master-manager-CMGMwlgA.js";const Me=o=>{const{id:e,x:t,y:i,handlePointerDown:l,handlePointerMove:s,handlePointerUp:a}=o,m=r.useCallback(c=>l(e,c),[e,l]),d=r.useCallback(c=>s(e,c),[e,s]),h=r.useCallback(c=>a(e,c),[e,a]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")rotate(45)"),onPointerDown:m,onPointerMove:d,onPointerUp:h,style:{cursor:"move"},className:"removeMe",children:[n.jsx("line",{x1:"-5",y1:"0",x2:"5",y2:"0",stroke:"black"}),n.jsx("line",{x1:"0",y1:"-5",x2:"0",y2:"5",stroke:"black"}),n.jsx("circle",{id:"virtual_circle_".concat(e),r:5,stroke:"black",fill:"white",fillOpacity:"0"})]})},$e={},_e=()=>n.jsx(D,{fields:[]}),Re=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,transform:"rotate(45)",focusable:!1,children:[n.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),n.jsx("line",{x1:"6",y1:"12",x2:"18",y2:"12",stroke:"currentColor"}),n.jsx("line",{x1:"12",y1:"6",x2:"12",y2:"18",stroke:"currentColor"})]}),Ue={component:Me,icon:Re,defaultAttrs:$e,attrsComponent:_e,metadata:{displayName:"panel.details.nodes.virtual.displayName",tags:[]}},De=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=Q.num,color:h=Q.color}=l!=null?l:Q,[c,f]=d>=10?[22.67,10.75]:[21,10],p=r.useCallback(x=>s(e,x),[e,s]),g=r.useCallback(x=>a(e,x),[e,a]),u=r.useCallback(x=>m(e,x),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],width:c,height:"22.67"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:f,y:"19",fill:h[3],fontSize:"21.33",letterSpacing:"-1.75",children:d}),n.jsx("text",{className:"rmp-name__zh",x:c+2,y:"12",fontSize:"14.67",children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:c+4,y:"21.5",fontSize:"8",children:["Line ",d]})]})},Q={num:1,color:[S.Shanghai,"sh1","#E4002B",L.white]},Ie=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:Q).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:Q;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ShmetroNumLineBadge,defaultTheme:Q.color})}],Ee=()=>n.jsx(D,{fields:Ie}),We=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"10",height:"16"}),n.jsx("text",{x:"4",y:"18",fill:"white",children:"1"}),n.jsx("text",{x:"14",y:"10",fontSize:"5",children:"号线"}),n.jsx("text",{x:"14",y:"18",fontSize:"4",children:"Line 1"})]}),Fe={component:De,icon:We,defaultAttrs:Q,attrsComponent:Ee,metadata:{displayName:"panel.details.nodes.shmetroNumLineBadge.displayName",tags:[]}},qe=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=ee.names,color:h=ee.color}=l!=null?l:ee,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(y=>s(e,y),[e,s]),u=r.useCallback(y=>a(e,y),[e,a]),x=r.useCallback(y=>m(e,y),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:f.width+7,height:"21"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"3",fontSize:"10",fill:h[3],letterSpacing:"-0.25",children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"14",fontSize:"5",fill:h[3],letterSpacing:"-0.25",children:d[1]})]})]})},ee={names:["浦江线","Pujiang Line"],color:[S.Shanghai,"pjl","#B5B5B6",L.white]},Oe=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.ShmetroTextLineBadge,defaultTheme:ee.color})}];return n.jsx(k,{fields:s})},Qe=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),n.jsx("text",{x:"5",y:"11",fontSize:"5",fill:"white",children:"浦江线"}),n.jsx("text",{x:"3",y:"16",fontSize:"4",fill:"white",children:"Pujiang Line"})]}),Ve={component:qe,icon:Qe,defaultAttrs:ee,attrsComponent:Oe,metadata:{displayName:"panel.details.nodes.shmetroTextLineBadge.displayName",tags:[]}},Ge=o=>{var x,y;const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=F.names,color:h=F.color,tram:c=F.tram,span:f=F.span}=l!=null?l:F,p=r.useCallback(B=>s(e,B),[e,s]),g=r.useCallback(B=>a(e,B),[e,a]),u=r.useCallback(B=>m(e,B),[e,m]);return n.jsx("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")scale(").concat(c?.5:1,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:n.jsx(Se,{zhName:(x=d.at(0))!=null?x:"",enName:(y=d.at(1))!=null?y:"",zhClassName:"rmp-name__zh",enClassName:"rmp-name__en",foregroundColour:h[3],backgroundColour:h[2],spanDigits:f})})},F={names:["1号线","Line 1"],color:[S.Guangzhou,"gz1","#F3D03E",L.black],tram:!1,span:!0},Xe=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.gzmtrLineBadge.tram"),oneLine:!0,isChecked:t.tram,onChange:a=>{t.tram=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.gzmtrLineBadge.span"),oneLine:!0,isChecked:t.span,onChange:a=>{t.span=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.GzmtrLineBadge,defaultTheme:F.color})}];return n.jsx(k,{fields:s})},He=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"5",width:"20",height:"14",rx:"1"}),n.jsx("text",{x:"6",y:"15",textAnchor:"middle",fontSize:"10",fill:"white",children:"1"}),n.jsx("text",{x:"15",y:"12",textAnchor:"middle",fontSize:"6",fill:"white",children:"号线"}),n.jsx("text",{x:"14.5",y:"17",textAnchor:"middle",fontSize:"4",fill:"white",children:"Line 1"})]}),Ze={component:Ge,icon:He,defaultAttrs:F,attrsComponent:Xe,metadata:{displayName:"panel.details.nodes.gzmtrLineBadge.displayName",tags:[]}},te=11.84375,Je=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=V.num,color:h=V.color}=l!=null?l:V,c=r.useCallback(u=>s(e,u),[e,s]),f=r.useCallback(u=>a(e,u),[e,a]),p=r.useCallback(u=>m(e,u),[e,m]),g=h[3]===L.black?"#003670":L.white;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:te+21,height:"16",rx:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:te/2+2,y:"13.5",fill:g,fontSize:"15",letterSpacing:"-1.5",children:d}),n.jsx("text",{className:"rmp-name__zh",x:te+(d>9?5.5:3),y:"8.5",fontSize:"7",fill:g,children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:te+(d>9?6:4.5),y:"13.5",fontSize:"4",fill:g,children:["Line ",d]})]})},V={num:1,color:[S.Beijing,"bj1","#c23a30",L.white]},Ye=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:V).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:V;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BjsubwayNumLineBadge,defaultTheme:V.color})}],Ke=()=>n.jsx(D,{fields:Ye}),en=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),n.jsx("text",{x:"11",y:"11",fill:"white",fontSize:"5",children:"号线"}),n.jsx("text",{x:"11",y:"17",fill:"white",fontSize:"4",children:"Line 1"})]}),nn={component:Je,icon:en,defaultAttrs:V,attrsComponent:Ke,metadata:{displayName:"panel.details.nodes.bjsubwayNumLineBadge.displayName",tags:[]}},tn=28.84375,on=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=R.names,color:h=R.color}=l!=null?l:R,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(C=>s(e,C),[e,s]),u=r.useCallback(C=>a(e,C),[e,a]),x=r.useCallback(C=>m(e,C),[e,m]),y=Math.max(tn,f.width),B=h[3]===L.black?"#003670":L.white;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:y+4,height:"16",rx:"2"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:(y+4)/2,y:"8",fontSize:"7",fill:B,children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",x:(y+4)/2,y:"13.5",fontSize:"4",fill:B,children:d[1]})]})]})},R={names:["八通线","Batong Line"],color:[S.Beijing,"bj1","#c23a30",L.white]},ln=[{type:"input",label:"panel.details.nodes.common.nameZh",value:o=>(o!=null?o:R).names[0],onChange:(o,e)=>{const t=e!=null?e:R;return t.names[0]=o.toString(),t}},{type:"input",label:"panel.details.nodes.common.nameEn",value:o=>(o!=null?o:R).names[1],onChange:(o,e)=>{const t=e!=null?e:R;return t.names[1]=o.toString(),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BjsubwayTextLineBadge,defaultTheme:R.color})}],an=()=>n.jsx(D,{fields:ln}),sn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12",rx:"2"}),n.jsx("text",{x:"3",y:"12",fontSize:"6",fill:"white",children:"八通线"}),n.jsx("text",{x:"3",y:"16",fontSize:"3.2",fill:"white",children:"Batong Line"})]}),rn={component:on,icon:sn,defaultAttrs:R,attrsComponent:an,metadata:{displayName:"panel.details.nodes.bjsubwayTextLineBadge.displayName",tags:[]}},cn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=M.num,branch:h=M.branch,color:c=M.color}=l!=null?l:M,f=r.useCallback(u=>s(e,u),[e,s]),p=r.useCallback(u=>a(e,u),[e,a]),g=r.useCallback(u=>m(e,u),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:c[2],width:"20",height:"20",rx:"2",ry:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"middle",x:"10",y:"11.4",fill:c[3],fontSize:"15",letterSpacing:"-1",children:d}),h&&n.jsxs(n.Fragment,{children:[n.jsx("text",{className:"rmp-name__zh",x:20+2.5,y:"10",fontSize:"10",children:"支线"}),n.jsx("text",{className:"rmp-name__en",x:20+2.5,y:"18",fontSize:"5",fill:"gray",children:"Branch line"})]})]})},M={num:1,branch:!1,color:[S.Suzhou,"sz1","#78BA25",L.white]},dn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:M).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:M;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"switch",label:"panel.details.nodes.suzhouRTNumLineBadge.branch",isChecked:o=>{var e;return(e=o==null?void 0:o.branch)!=null?e:M.branch},onChange:(o,e)=>{const t=e!=null?e:M;return t.branch=o,t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.SuzhouRTNumLineBadge,defaultTheme:M.color})}],mn=()=>n.jsx(D,{fields:dn}),hn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"4",y:"4",width:"16",height:"16",rx:"3",ry:"3"}),n.jsx("text",{x:"12",y:"13.4",textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:"14",children:"1"})]}),un={component:cn,icon:hn,defaultAttrs:M,attrsComponent:mn,metadata:{displayName:"panel.details.nodes.suzhouRTNumLineBadge.displayName",tags:[]}},xn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=G.num,color:h=G.color}=l!=null?l:G,c=r.useCallback(u=>s(e,u),[e,s]),f=r.useCallback(u=>a(e,u),[e,a]),p=r.useCallback(u=>m(e,u),[e,m]),g=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"25",height:"15"}),n.jsxs("text",{className:"rmp-name__berlin",textAnchor:"middle",x:"12.5",y:"12.5",fill:g,fontSize:"14",letterSpacing:"1",children:["U",d]})]})},G={num:1,color:[S.Berlin,"bu1","#62AD2D",L.white]},pn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:G).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:G;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BerlinUBahnLineBadge,defaultTheme:G.color})}],gn=()=>n.jsx(D,{fields:pn}),fn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"U1"})]}),yn={component:xn,icon:fn,defaultAttrs:G,attrsComponent:gn,metadata:{displayName:"panel.details.nodes.berlinUBahnLineBadge.displayName",tags:[]}},bn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=X.num,color:h=X.color}=l!=null?l:X,[c,f]=d>=10?[6,19.75]:[10,20],p=r.useCallback(y=>s(e,y),[e,s]),g=r.useCallback(y=>a(e,y),[e,a]),u=r.useCallback(y=>m(e,y),[e,m]),x=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"30",height:"15",rx:"8"}),n.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:c,y:"12.5",fill:x,fontSize:"14",letterSpacing:"0",children:"S"}),n.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:f,y:"12.5",fill:x,fontSize:"14",letterSpacing:"-0.2",children:d})]})},X={num:1,color:[S.Berlin,"bs1","#DD6CA6",L.white]},jn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:X).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:X;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BerlinSBahnLineBadge,defaultTheme:X.color})}],wn=()=>n.jsx(D,{fields:jn}),Bn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"8"}),n.jsx("text",{x:"4.5",y:"16.5",fill:"white",fontSize:"14",children:"S1"})]}),Nn={component:bn,icon:Bn,defaultAttrs:X,attrsComponent:wn,metadata:{displayName:"panel.details.nodes.berlinSBahnLineBadge.displayName",tags:[]}},Cn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=H.num,color:h=H.color}=l!=null?l:H,c=r.useCallback(B=>s(e,B),[e,s]),f=r.useCallback(B=>a(e,B),[e,a]),p=r.useCallback(B=>m(e,B),[e,m]),g=h[3],u=Number.isInteger(d)?16:15,[x,y]=Number.isInteger(d)?Number(d)>=10?[-1.2,1.5]:[0,5.5]:[0,2.55];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:y,y:"10",fill:g,fontSize:u,letterSpacing:x,dominantBaseline:"central",children:d})]})},H={num:1,color:[S.Chongqing,"cq1","#e4002b",L.white]},Ln=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:H).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:H;return Number.isNaN(Number(o))?t.num=o:t.num=Number(o),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ChongqingRTNumLineBadge,defaultTheme:H.color})}],vn=()=>n.jsx(D,{fields:Ln}),Sn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"8",y:"18",fill:"white",fontSize:"18",children:"1"})]}),Pn={component:Cn,icon:Sn,defaultAttrs:H,attrsComponent:vn,metadata:{displayName:"panel.details.nodes.chongqingRTNumLineBadge.displayName",tags:[]}},Tn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=U.names,color:h=U.color}=l!=null?l:U,c=r.useRef(null),f=r.useCallback(x=>s(e,x),[e,s]),p=r.useCallback(x=>a(e,x),[e,a]),g=r.useCallback(x=>m(e,x),[e,m]),u=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:"10",y:"10.5",fill:u,fontSize:"6",letterSpacing:"0",children:d[0]}),n.jsx(me,{ref:c,text:d[1].split("\n"),className:"rmp-name__en",textAnchor:"middle",x:"10",y:"9.25",fill:u,fontSize:"2.5",letterSpacing:"0",lineHeight:2.25,grow:"down"})]})},U={names:["空港线","Konggang Line"],color:[S.Chongqing,"cq3","#003da5",L.white]},zn=[{type:"input",label:"panel.details.nodes.common.nameZh",value:o=>(o!=null?o:U).names[0],onChange:(o,e)=>{const t=e!=null?e:U;return t.names[0]=o.toString(),t}},{type:"textarea",label:"panel.details.nodes.common.nameEn",value:o=>(o!=null?o:U).names[1],onChange:(o,e)=>{const t=e!=null?e:U;return t.names[1]=o.toString(),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ChongqingRTTextLineBadge,defaultTheme:U.color})}],An=()=>n.jsx(D,{fields:zn}),kn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"4.5",y:"12.5",fill:"white",fontSize:"5",children:"空港线"}),n.jsx("text",{x:"4.5",y:"15",fill:"white",fontSize:"2",children:"Konggang Line"})]}),Mn={component:Tn,icon:kn,defaultAttrs:U,attrsComponent:An,metadata:{displayName:"panel.details.nodes.chongqingRTTextLineBadge.displayName",tags:[]}},oe=11.84375,$n=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=Z.num,color:h=Z.color,isBranch:c=Z.isBranch}=l!=null?l:Z,f=r.useCallback(j=>s(e,j),[e,s]),p=r.useCallback(j=>a(e,j),[e,a]),g=r.useCallback(j=>m(e,j),[e,m]),u=h[3],x=c?10:oe+(d>9?6.5:3),y=c?-1:0,B=c?11:oe+(d>9?7:3.5),C=c?6:oe/2+4;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:oe+21,height:"16",rx:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:C,y:"13.5",fill:u,fontSize:"15",letterSpacing:"-1",children:d}),n.jsxs("text",{className:"rmp-name__zh",x,y:"9.5",fontSize:"6",fill:u,letterSpacing:y,children:["号线",c?"支线":""]}),n.jsxs("text",{className:"rmp-name__en",x:B,y:"13.5",fontSize:"3",fill:u,children:[c?"Branch":""," Line ",d]})]})},Z={num:1,color:[S.Shenzhen,"sz1","#00b140",L.white],isBranch:!1},_n=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.ShenzhenMetroNumLineBadge,defaultTheme:Z.color}),minW:"full"},{type:"switch",label:l("panel.details.nodes.shenzhenMetroNumLineBadge.branch"),oneLine:!0,isChecked:t.isBranch,onChange:a=>{t.isBranch=a,i(e,t)},minW:"full"}];return n.jsx(k,{fields:s})},Rn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),n.jsx("text",{x:"11",y:"14",fill:"white",fontSize:"5",children:"号线"}),n.jsx("text",{x:"12",y:"17",fill:"white",fontSize:"3",children:"Line 1"})]}),Un={component:$n,icon:Rn,defaultAttrs:Z,attrsComponent:_n,metadata:{displayName:"panel.details.nodes.shenzhenMetroNumLineBadge.displayName",tags:[]}},Dn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=ne.num,color:h=ne.color}=l!=null?l:ne,c=r.useCallback(x=>s(e,x),[e,s]),f=r.useCallback(x=>a(e,x),[e,a]),p=r.useCallback(x=>m(e,x),[e,m]),g=h[3],u=h[2];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("circle",{r:"8",fill:u}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",x:"0",y:"0",width:"12",height:"12",fill:g,fontSize:"12",dominantBaseline:"central",letterSpacing:"-0.2",children:d})]})},ne={num:1,color:[S.Singapore,"ewl","#009739",L.white]},In=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.MRTDestinationNumbers,defaultTheme:ne.color}),minW:"full"}];return n.jsx(k,{fields:s})},En=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),Wn={component:Dn,icon:En,defaultAttrs:ne,attrsComponent:In,metadata:{displayName:"panel.details.nodes.mrtDestinationNumbers.displayName",tags:[]}},Fn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{lineCode:d=E.lineCode,color:h=E.color,lines:c=E.lines,name:f=E.name,isTram:p=E.isTram}=l!=null?l:E,g=r.useCallback(w=>s(e,w),[e,s]),u=r.useCallback(w=>a(e,w),[e,a]),x=r.useCallback(w=>m(e,w),[e,m]),y=22.85,B=12.935,C=h[3],j=h[2];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{transform:"scale(1.8)",x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:y,height:B,fill:j,stroke:"white",strokeWidth:"1"}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:C,fontSize:"15",dominantBaseline:"central",letterSpacing:"-0.2",children:d}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"left",x:"28",y:p?3.5:-3,fill:"black",fontSize:"10",letterSpacing:"-0.2",children:f}),!p&&c.split(",").map((w,_)=>n.jsx("g",{transform:"translate(".concat(34+14*_,", ").concat(4.5,")"),children:w.trim()!=="airport"?n.jsxs(n.Fragment,{children:[n.jsx("circle",{r:"6",fill:j}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:C,fontSize:"9",dominantBaseline:"central",letterSpacing:"-0.2",children:w})]}):n.jsxs("g",{transform:"translate(-6, -6) scale(4.5)",children:[n.jsx("path",{d:"M2.467 0H.226A.226.226 0 0 0 0 .226v2.241a.225.225 0 0 0 .226.225h2.241a.225.225 0 0 0 .225-.225V.226A.226.226 0 0 0 2.467 0",style:{fill:"#2d2a26"}}),n.jsx("path",{d:"M1.5.746v.3l.73.642a.08.08 0 0 1 .022.05v.12c0 .017-.012.025-.027.018L1.5 1.529l-.06.541.2.113a.03.03 0 0 1 .013.023V2.3a.01.01 0 0 1-.014.011l-.293-.091-.286.087a.01.01 0 0 1-.014-.007v-.09a.03.03 0 0 1 .013-.023l.2-.113-.059-.545-.724.348a.018.018 0 0 1-.028-.018v-.12a.07.07 0 0 1 .023-.05l.73-.642v-.3c0-.482.3-.482.3 0",style:{fill:"#fff",fillRule:"evenodd"}})]})},_))]})},E={lineCode:"EWL",name:"East-West Line",lines:"1, 2, 3, airport",isTram:!1,color:[S.Singapore,"ewl","#009739",L.white]},qn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.name,onChange:a=>{t.name=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.stations.common.lineCode"),value:t.lineCode,onChange:a=>{t.lineCode=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.mrtLineBadge.isTram"),isChecked:t.isTram,onChange:a=>{t.isTram=a,i(e,t)},minW:"full",oneLine:!0},...t.isTram?[]:[{type:"input",label:l("panel.details.nodes.common.num"),value:t.lines,onChange:a=>{t.lines=a,i(e,t)},minW:"full"}],{type:"custom",label:l("color"),component:n.jsx(z,{type:b.MRTLineBadge,defaultTheme:E.color}),minW:"full"}];return n.jsx(k,{fields:s})},On=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),Qn={component:Fn,icon:On,defaultAttrs:E,attrsComponent:qn,metadata:{displayName:"panel.details.nodes.mrtLineBadge.displayName",tags:[]}},le=4,de=7,ae=10,pe=5,Vn=5,A=Vn*Math.SQRT1_2,he=.25,se=(A*Math.SQRT2-he)/2*Math.SQRT2,Gn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=q.names,num:h=q.num,color:c=q.color,crosshatchPatternFill:f=q.crosshatchPatternFill}=l!=null?l:q,p=r.useRef(null),[g,u]=r.useState({height:10,width:12});r.useEffect(()=>u(p.current.getBBox()),[...d,u,p]);const x=r.useCallback(C=>s(e,C),[e,s]),y=r.useCallback(C=>a(e,C),[e,a]),B=r.useCallback(C=>m(e,C),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:x,onPointerMove:y,onPointerUp:B,style:{cursor:"move"},children:[n.jsxs("defs",{children:[n.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[n.jsx("polygon",{points:"0,0 0,".concat(se," ").concat(se,",0")}),n.jsx("polygon",{points:"".concat(A,",").concat(A," ").concat(A-se,",").concat(A," ").concat(A,",").concat(A-se)})]}),n.jsxs("pattern",{id:"jr_east_".concat(e,"_fill_pattern_").concat(c[2]),width:A,height:A,patternUnits:"userSpaceOnUse",children:[n.jsx("rect",{width:A,height:A,fill:c[2]}),n.jsx("line",{x1:"0",y1:"0",x2:A,y2:A,stroke:"white",strokeWidth:he,strokeOpacity:"33%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),n.jsx("line",{x1:A,y1:"0",x2:"0",y2:A,stroke:"white",strokeWidth:he,strokeOpacity:"33%"})]})]}),n.jsx("rect",{fill:f?"url(#jr_east_".concat(e,"_fill_pattern_").concat(c[2],")"):c[2],x:"0",y:"-1",width:g.width+le+10,height:g.height+1,rx:"1",stroke:"black",strokeWidth:"0.25"}),n.jsx("circle",{r:le,cx:de,cy:ae/2+1,stroke:"black",strokeWidth:"0.25",fill:c[3]}),n.jsx("text",{x:de,y:ae/2+1.75,textAnchor:"middle",dominantBaseline:"middle",fill:c[3]==="#000"?"white":c[2],fontSize:h>9?7:8,className:"rmp-name__jreast_en",children:h}),n.jsx(me,{ref:p,text:d[0].split("\n"),x:de+le+1,y:"-1",fill:c[3],fontSize:ae,lineHeight:ae,grow:"down",className:"rmp-name__jreast_ja"}),n.jsx(me,{text:d[1].split("\n"),textAnchor:"middle",dominantBaseline:"hanging",x:(g.width+le+10)/2,y:g.height+1,fontSize:pe,lineHeight:pe,baseOffset:0,grow:"down",className:"rmp-name__jreast_en"})]})},q={names:["山手線","Yamanote Line"],color:[S.Tokyo,"jy","#9ACD32",L.black],num:9,crosshatchPatternFill:!1},Xn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"textarea",label:l("panel.details.nodes.common.nameJa"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"textarea",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.jrEastLineBadge.crosshatchPatternFill"),oneLine:!0,isChecked:t.crosshatchPatternFill,onChange:a=>{t.crosshatchPatternFill=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.JREastLineBadge,defaultTheme:q.color})}];return n.jsx(k,{fields:s})},Hn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"1",y:"6",width:"22",height:"7"}),n.jsx("circle",{cx:"3.5",cy:"9.25",r:"2",fill:"white"}),n.jsx("text",{x:"3",y:"10.5",fontSize:"3",children:"9"}),n.jsx("text",{x:"6",y:"11.25",fontSize:"5",fill:"white",children:"山手線"}),n.jsx("text",{x:"1.5",y:"16",fontSize:"3",children:"Yamanote Line"})]}),Zn={component:Gn,icon:Hn,defaultAttrs:q,attrsComponent:Xn,metadata:{displayName:"panel.details.nodes.jrEastLineBadge.displayName",tags:[]}},Jn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=O.num,numEn:h=O.numEn,color:c=O.color,showText:f=O.showText}=l!=null?l:O,p=r.useCallback(w=>s(e,w),[e,s]),g=r.useCallback(w=>a(e,w),[e,a]),u=r.useCallback(w=>m(e,w),[e,m]),x=c[3],[y,B,C,j]=Number(d)>=10?[-2.4,0,10.25,20]:[0,4,10,22];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:c[2],x:"0",width:"20",height:"20",rx:"2",ry:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:B,y:C,fill:x,fontSize:j,fontWeight:"bold",letterSpacing:y,dominantBaseline:"central",children:d}),f&&n.jsxs(n.Fragment,{children:[n.jsx("text",{className:"rmp-name__zh",x:"22",y:"10.5",fontSize:"13",children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:"22.5",y:"19.5",fontSize:"8",children:["Line ",h]})]})]})},O={num:1,numEn:"1",showText:!0,color:[S.Qingdao,"qd1","#f7b000",L.white]},Yn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:t.num.toString(),onChange:a=>{t.num=Number(a),t.numEn=a,i(e,t)}},{type:"input",label:l("panel.details.nodes.qingdaoMetroNumLineBadge.numEn"),value:t.numEn.toString(),onChange:a=>{t.numEn=a,i(e,t)}},{type:"switch",label:l("panel.details.nodes.qingdaoMetroNumLineBadge.showText"),isChecked:t.showText,oneLine:!0,onChange:a=>{t.showText=a,i(e,t)}},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.QingdaoMetroNumLineBadge,defaultTheme:O.color})}];return n.jsx(k,{fields:s,minW:"full"})},Kn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",rx:"1",ry:"1",width:"10",height:"10"}),n.jsx("text",{x:"4",y:"15",fill:"white",fontSize:"12",children:"1"}),n.jsx("text",{x:"12",y:"11.5",fill:"black",fontSize:"6",children:"号线"}),n.jsx("text",{x:"12",y:"15.5",fill:"black",fontSize:"4",children:"Line1"})]}),et={component:Jn,icon:Kn,defaultAttrs:O,attrsComponent:Yn,metadata:{displayName:"panel.details.nodes.qingdaoMetroNumLineBadge.displayName",tags:[]}},nt=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=ie.names,color:h=ie.color}=l!=null?l:ie,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(y=>s(e,y),[e,s]),u=r.useCallback(y=>a(e,y),[e,a]),x=r.useCallback(y=>m(e,y),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{rx:"2",ry:"2",fill:h[2],x:"0",width:f.width+7,height:"21"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"3",fontSize:"8.63",fill:h[3],children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"14",fontSize:"3.54",fill:h[3],children:d[1]})]})]})},ie={names:["广清城际","Guangzhou-Qingyuan Intercity"],color:[S.Guangzhou,"ir","#2559a8",L.white]},tt=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"}];return n.jsx(k,{fields:s})},ot=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),n.jsx("text",{x:"4.5",y:"11",fontSize:"4",fill:"white",children:"广清城际"}),n.jsx("text",{x:"3",y:"16",fontSize:"2",fill:"white",children:"Guangzhou-Qingyuan Intercity"})]}),lt={component:nt,icon:ot,defaultAttrs:ie,attrsComponent:tt,metadata:{displayName:"panel.details.nodes.guangdongIntercityRailwayLineBadge.displayName",tags:[]}},W=5,re="M0,0 L".concat(-5*2,",").concat(-5*2," L").concat(Math.SQRT2*W-2*W,",").concat(2*-5," L").concat(Math.SQRT2*W,",0 L").concat(Math.SQRT2*W-2*W,",").concat(2*W," L").concat(2*-5,",").concat(2*W," Z"),at=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{color:d=J.color,rotate:h=J.rotate,type:c=J.type}=l!=null?l:J,f=r.useCallback(u=>s(e,u),[e,s]),p=r.useCallback(u=>a(e,u),[e,a]),g=r.useCallback(u=>m(e,u),[e,m]);return n.jsx("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")rotate(").concat(h,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:c==="continuation"?n.jsx("path",{id:"virtual_circle_".concat(e),fill:d[2],d:re}):c==="sandwich"?n.jsx("path",{transform:"scale(0.5)",id:"virtual_circle_".concat(e),stroke:"white",strokeWidth:"1",fill:d[2],d:re}):n.jsx("path",{transform:"scale(0.25)",id:"virtual_circle_".concat(e),fill:"white",d:re})})},J={color:[S.London,"thameslink","#d28db0",L.white],rotate:0,type:"continuation"},st=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"select",label:l("panel.details.stations.common.rotate"),value:t.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:a=>{t.rotate=Number(a),i(e,t)},minW:"full"},{type:"select",label:l("panel.details.nodes.londonArrow.type"),value:t.type,options:{continuation:l("panel.details.nodes.londonArrow.continuation"),sandwich:l("panel.details.nodes.londonArrow.sandwich"),tube:l("panel.details.nodes.londonArrow.tube")},onChange:a=>{t.type=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.LondonArrow,defaultTheme:J.color}),minW:"full"}];return n.jsx(k,{fields:s})},it=n.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:n.jsx("path",{transform:"translate(14,12)scale(0.75)",fill:"currentColor",d:re})}),rt={component:at,icon:it,defaultAttrs:J,attrsComponent:st,metadata:{displayName:"panel.details.nodes.londonArrow.displayName",tags:[]}},ct=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,d=Te();l.content=d(l.contents);const h=ce.component;return n.jsx(h,{id:e,x:t,y:i,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m,attrs:l})},dt={contents:{},...Pe},mt={component:ct,icon:ce.icon,defaultAttrs:dt,attrsComponent:ce.attrsComponent,metadata:{displayName:"panel.details.nodes.i18nText.displayName",tags:[]}},ht=o=>{var C;const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,d=r.useCallback(j=>s(e,j),[e,s]),h=r.useCallback(j=>a(e,j),[e,a]),c=r.useCallback(j=>m(e,j),[e,m]),f=(j,...w)=>new Function(...w,"return ".concat(j)),p=(j,w,_)=>{var P;const N={};for(const T in j)if(Object.prototype.hasOwnProperty.call(j,T))try{N[T]=f(j[T].slice(1),...l.components.map(v=>v.label),"color")(...w.map((v,Y)=>_[Y]==="number"&&!Number.isNaN(Number(v))?Number(v):v),l.color?(P=l.color.value)!=null?P:l.color.defaultValue:"")}catch(v){N[T]=""}return N},g=l.nodeType==="MiscNode"?{onPointerDown:d,onPointerMove:h,onPointerUp:c,style:{cursor:"move"}}:{},u=j=>j.replace(/(^|,)\s*([^{},]+)/g,"$1 #".concat(e," $2")),x=j=>j.map(w=>{var P,T;const _=l.nodeType==="Station"&&l.core&&l.core===w.id?{id:"stn_core_".concat(e),onPointerDown:d,onPointerMove:h,onPointerUp:c,style:{cursor:"move"}}:{},N=p(w.attrs,l.components.map(v=>v.value),l.components.map(v=>v.type));return n.jsx("g",{transform:"translate(".concat((P=N.x)!=null?P:0,", ").concat((T=N.y)!=null?T:0,")"),children:r.createElement(w.type,{...N,x:0,y:0,..._},w.children?x(w.children):"_rmp_children_text"in N?w.type==="style"?u(N._rmp_children_text):N._rmp_children_text:null)},w.id)}),y=(C=l.transform)!=null?C:ge,B=r.useMemo(()=>x(l.svgs),[l]);return r.createElement("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),...g},l.randomId?n.jsx("g",{transform:"translate(".concat(y.translateX,", ").concat(y.translateY,") scale(").concat(y.scale,") rotate(").concat(y.rotate,")"),children:B}):n.jsxs("g",{children:[n.jsx("circle",{r:"5.5"}),n.jsx("g",{transform:"translate(-4.7, -5) scale(0.8)",children:n.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"white"})})]}))},ut={randomId:void 0,label:void 0,transform:ge,nodeType:"MiscNode",svgs:[],components:[]},xt=o=>{var B,C,j,w,_;const{id:e,attrs:t,handleAttrsUpdate:i}=o,l=fe(),{paletteAppClip:{output:s}}=ye(N=>N.runtime),{t:a}=$(),[m,d]=r.useState(!1),[h,c]=r.useState(!1),f=N=>{var T;const P=t.components.find(v=>v.id===N);return P?(T=P.value)!=null?T:P.defaultValue:void 0},p=N=>{N.components.forEach((P,T)=>{var v;N.components[T].value=(v=f(P.id))!=null?v:P.defaultValue}),N.color!==void 0&&(N.color.value=t.color?t.color.value:N.color.defaultValue),i(e,N)},g=t.components.map((N,P)=>{const{label:T,type:v,defaultValue:Y,value:I}=N;return v==="number"||v==="text"?{label:a(T),type:"input",value:I!=null?I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:v==="switch"?{label:a(T),type:"switch",isChecked:I!==void 0?!!I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:v==="textarea"?{label:a(T),type:"textarea",value:I!=null?I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:{type:"input",label:"undefined",value:"none"}}),[u,x]=r.useState(!1);r.useEffect(()=>{t.color&&u&&s&&(t.color.value=s,i(e,{...t,color:t.color}),x(!1))},[s==null?void 0:s.toString()]);const y=[{type:"custom",label:a("color"),component:n.jsx(be,{theme:(B=t.color)==null?void 0:B.value,onClick:()=>{var N;x(!0),l(je((N=t.color)==null?void 0:N.value))}})}];return n.jsxs(n.Fragment,{children:[n.jsxs(xe,{direction:"row",mr:"auto",width:"100%",children:[n.jsx(we,{width:"100%",overflow:"hidden",label:a("panel.details.nodes.master.type"),children:n.jsxs(xe,{width:"100%",overflow:"hidden",children:[n.jsx(ue,{name:(C=t.label)!=null?C:a("panel.details.nodes.master.undefined"),fg:(j=t.labelColorFg)!=null?j:L.white,bg:(w=t.labelColorBg)!=null?w:"#000000",sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"},mr:1}),n.jsx(ue,{name:(_=t.randomId)!=null?_:"UNDEFINED",fg:L.white,bg:t.randomId?"#19B3EA":"#000000",sx:{display:"inline-block"},mr:1})]})}),n.jsx(Ce,{}),n.jsx(Le,{icon:n.jsx(Be,{}),onClick:()=>d(!0),"aria-label":"upload"})]}),n.jsx(ve,{width:"100%",leftIcon:n.jsx(Ne,{}),onClick:()=>c(!0),children:a("header.settings.procedures.masterManager.title")}),t.randomId&&n.jsx(k,{fields:g,minW:"full"}),t.randomId&&t.color!==void 0&&n.jsx(k,{fields:y,minW:"full"}),n.jsx(ze,{isOpen:m,onClose:()=>d(!1),onSubmit:p}),n.jsx(Ae,{isOpen:h,onClose:()=>c(!1)})]})},pt=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),n.jsx("g",{transform:"translate(7.25, 7) scale(0.8)",children:n.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"currentColor"})})]}),gt={component:ht,icon:pt,defaultAttrs:ut,attrsComponent:xt,metadata:{displayName:"panel.details.nodes.master.displayName",tags:[]}},wt={[b.Virtual]:Ue,[b.ShmetroNumLineBadge]:Fe,[b.ShmetroTextLineBadge]:Ve,[b.GzmtrLineBadge]:Ze,[b.BjsubwayNumLineBadge]:nn,[b.BjsubwayTextLineBadge]:rn,[b.SuzhouRTNumLineBadge]:un,[b.BerlinSBahnLineBadge]:Nn,[b.BerlinUBahnLineBadge]:yn,[b.ChongqingRTNumLineBadge]:Pn,[b.ChongqingRTTextLineBadge]:Mn,[b.ShenzhenMetroNumLineBadge]:Un,[b.MRTDestinationNumbers]:Wn,[b.MRTLineBadge]:Qn,[b.JREastLineBadge]:Zn,[b.QingdaoMetroNumLineBadge]:et,[b.GuangdongIntercityRailwayLineBadge]:lt,[b.LondonArrow]:rt,[b.Facilities]:ke,[b.Text]:ce,[b.I18nText]:mt,[b.Master]:gt};export{wt as m}; +import{aR as D,C as S,M as L,aS as z,av as b,i as k,aT as ge,c as fe,d as ye,V as be,W as je,P as we,R as ue,D as Be,ak as Ne}from"./index-KpXBwNUP.js";import{j as n,g as xe,a$ as Ce,af as Le,O as ve}from"./chakra-xNcrfRXW.js";import{b as r,u as $}from"./react-D-_si4LB.js";import{L as Se,g as me,h as Pe,t as ce,j as Te,k as ze,M as Ae,n as ke}from"./master-manager-D9XDRPOe.js";const Me=o=>{const{id:e,x:t,y:i,handlePointerDown:l,handlePointerMove:s,handlePointerUp:a}=o,m=r.useCallback(c=>l(e,c),[e,l]),d=r.useCallback(c=>s(e,c),[e,s]),h=r.useCallback(c=>a(e,c),[e,a]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")rotate(45)"),onPointerDown:m,onPointerMove:d,onPointerUp:h,style:{cursor:"move"},className:"removeMe",children:[n.jsx("line",{x1:"-5",y1:"0",x2:"5",y2:"0",stroke:"black"}),n.jsx("line",{x1:"0",y1:"-5",x2:"0",y2:"5",stroke:"black"}),n.jsx("circle",{id:"virtual_circle_".concat(e),r:5,stroke:"black",fill:"white",fillOpacity:"0"})]})},$e={},_e=()=>n.jsx(D,{fields:[]}),Re=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,transform:"rotate(45)",focusable:!1,children:[n.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),n.jsx("line",{x1:"6",y1:"12",x2:"18",y2:"12",stroke:"currentColor"}),n.jsx("line",{x1:"12",y1:"6",x2:"12",y2:"18",stroke:"currentColor"})]}),Ue={component:Me,icon:Re,defaultAttrs:$e,attrsComponent:_e,metadata:{displayName:"panel.details.nodes.virtual.displayName",tags:[]}},De=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=Q.num,color:h=Q.color}=l!=null?l:Q,[c,f]=d>=10?[22.67,10.75]:[21,10],p=r.useCallback(x=>s(e,x),[e,s]),g=r.useCallback(x=>a(e,x),[e,a]),u=r.useCallback(x=>m(e,x),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],width:c,height:"22.67"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:f,y:"19",fill:h[3],fontSize:"21.33",letterSpacing:"-1.75",children:d}),n.jsx("text",{className:"rmp-name__zh",x:c+2,y:"12",fontSize:"14.67",children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:c+4,y:"21.5",fontSize:"8",children:["Line ",d]})]})},Q={num:1,color:[S.Shanghai,"sh1","#E4002B",L.white]},Ie=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:Q).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:Q;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ShmetroNumLineBadge,defaultTheme:Q.color})}],Ee=()=>n.jsx(D,{fields:Ie}),We=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"10",height:"16"}),n.jsx("text",{x:"4",y:"18",fill:"white",children:"1"}),n.jsx("text",{x:"14",y:"10",fontSize:"5",children:"号线"}),n.jsx("text",{x:"14",y:"18",fontSize:"4",children:"Line 1"})]}),Fe={component:De,icon:We,defaultAttrs:Q,attrsComponent:Ee,metadata:{displayName:"panel.details.nodes.shmetroNumLineBadge.displayName",tags:[]}},qe=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=ee.names,color:h=ee.color}=l!=null?l:ee,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(y=>s(e,y),[e,s]),u=r.useCallback(y=>a(e,y),[e,a]),x=r.useCallback(y=>m(e,y),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:f.width+7,height:"21"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"3",fontSize:"10",fill:h[3],letterSpacing:"-0.25",children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"14",fontSize:"5",fill:h[3],letterSpacing:"-0.25",children:d[1]})]})]})},ee={names:["浦江线","Pujiang Line"],color:[S.Shanghai,"pjl","#B5B5B6",L.white]},Oe=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.ShmetroTextLineBadge,defaultTheme:ee.color})}];return n.jsx(k,{fields:s})},Qe=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),n.jsx("text",{x:"5",y:"11",fontSize:"5",fill:"white",children:"浦江线"}),n.jsx("text",{x:"3",y:"16",fontSize:"4",fill:"white",children:"Pujiang Line"})]}),Ve={component:qe,icon:Qe,defaultAttrs:ee,attrsComponent:Oe,metadata:{displayName:"panel.details.nodes.shmetroTextLineBadge.displayName",tags:[]}},Ge=o=>{var x,y;const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=F.names,color:h=F.color,tram:c=F.tram,span:f=F.span}=l!=null?l:F,p=r.useCallback(B=>s(e,B),[e,s]),g=r.useCallback(B=>a(e,B),[e,a]),u=r.useCallback(B=>m(e,B),[e,m]);return n.jsx("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")scale(").concat(c?.5:1,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:n.jsx(Se,{zhName:(x=d.at(0))!=null?x:"",enName:(y=d.at(1))!=null?y:"",zhClassName:"rmp-name__zh",enClassName:"rmp-name__en",foregroundColour:h[3],backgroundColour:h[2],spanDigits:f})})},F={names:["1号线","Line 1"],color:[S.Guangzhou,"gz1","#F3D03E",L.black],tram:!1,span:!0},Xe=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.gzmtrLineBadge.tram"),oneLine:!0,isChecked:t.tram,onChange:a=>{t.tram=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.gzmtrLineBadge.span"),oneLine:!0,isChecked:t.span,onChange:a=>{t.span=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.GzmtrLineBadge,defaultTheme:F.color})}];return n.jsx(k,{fields:s})},He=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"5",width:"20",height:"14",rx:"1"}),n.jsx("text",{x:"6",y:"15",textAnchor:"middle",fontSize:"10",fill:"white",children:"1"}),n.jsx("text",{x:"15",y:"12",textAnchor:"middle",fontSize:"6",fill:"white",children:"号线"}),n.jsx("text",{x:"14.5",y:"17",textAnchor:"middle",fontSize:"4",fill:"white",children:"Line 1"})]}),Ze={component:Ge,icon:He,defaultAttrs:F,attrsComponent:Xe,metadata:{displayName:"panel.details.nodes.gzmtrLineBadge.displayName",tags:[]}},te=11.84375,Je=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=V.num,color:h=V.color}=l!=null?l:V,c=r.useCallback(u=>s(e,u),[e,s]),f=r.useCallback(u=>a(e,u),[e,a]),p=r.useCallback(u=>m(e,u),[e,m]),g=h[3]===L.black?"#003670":L.white;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:te+21,height:"16",rx:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:te/2+2,y:"13.5",fill:g,fontSize:"15",letterSpacing:"-1.5",children:d}),n.jsx("text",{className:"rmp-name__zh",x:te+(d>9?5.5:3),y:"8.5",fontSize:"7",fill:g,children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:te+(d>9?6:4.5),y:"13.5",fontSize:"4",fill:g,children:["Line ",d]})]})},V={num:1,color:[S.Beijing,"bj1","#c23a30",L.white]},Ye=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:V).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:V;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BjsubwayNumLineBadge,defaultTheme:V.color})}],Ke=()=>n.jsx(D,{fields:Ye}),en=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),n.jsx("text",{x:"11",y:"11",fill:"white",fontSize:"5",children:"号线"}),n.jsx("text",{x:"11",y:"17",fill:"white",fontSize:"4",children:"Line 1"})]}),nn={component:Je,icon:en,defaultAttrs:V,attrsComponent:Ke,metadata:{displayName:"panel.details.nodes.bjsubwayNumLineBadge.displayName",tags:[]}},tn=28.84375,on=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=R.names,color:h=R.color}=l!=null?l:R,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(C=>s(e,C),[e,s]),u=r.useCallback(C=>a(e,C),[e,a]),x=r.useCallback(C=>m(e,C),[e,m]),y=Math.max(tn,f.width),B=h[3]===L.black?"#003670":L.white;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:y+4,height:"16",rx:"2"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:(y+4)/2,y:"8",fontSize:"7",fill:B,children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",x:(y+4)/2,y:"13.5",fontSize:"4",fill:B,children:d[1]})]})]})},R={names:["八通线","Batong Line"],color:[S.Beijing,"bj1","#c23a30",L.white]},ln=[{type:"input",label:"panel.details.nodes.common.nameZh",value:o=>(o!=null?o:R).names[0],onChange:(o,e)=>{const t=e!=null?e:R;return t.names[0]=o.toString(),t}},{type:"input",label:"panel.details.nodes.common.nameEn",value:o=>(o!=null?o:R).names[1],onChange:(o,e)=>{const t=e!=null?e:R;return t.names[1]=o.toString(),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BjsubwayTextLineBadge,defaultTheme:R.color})}],an=()=>n.jsx(D,{fields:ln}),sn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12",rx:"2"}),n.jsx("text",{x:"3",y:"12",fontSize:"6",fill:"white",children:"八通线"}),n.jsx("text",{x:"3",y:"16",fontSize:"3.2",fill:"white",children:"Batong Line"})]}),rn={component:on,icon:sn,defaultAttrs:R,attrsComponent:an,metadata:{displayName:"panel.details.nodes.bjsubwayTextLineBadge.displayName",tags:[]}},cn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=M.num,branch:h=M.branch,color:c=M.color}=l!=null?l:M,f=r.useCallback(u=>s(e,u),[e,s]),p=r.useCallback(u=>a(e,u),[e,a]),g=r.useCallback(u=>m(e,u),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:c[2],width:"20",height:"20",rx:"2",ry:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"middle",x:"10",y:"11.4",fill:c[3],fontSize:"15",letterSpacing:"-1",children:d}),h&&n.jsxs(n.Fragment,{children:[n.jsx("text",{className:"rmp-name__zh",x:20+2.5,y:"10",fontSize:"10",children:"支线"}),n.jsx("text",{className:"rmp-name__en",x:20+2.5,y:"18",fontSize:"5",fill:"gray",children:"Branch line"})]})]})},M={num:1,branch:!1,color:[S.Suzhou,"sz1","#78BA25",L.white]},dn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:M).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:M;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"switch",label:"panel.details.nodes.suzhouRTNumLineBadge.branch",isChecked:o=>{var e;return(e=o==null?void 0:o.branch)!=null?e:M.branch},onChange:(o,e)=>{const t=e!=null?e:M;return t.branch=o,t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.SuzhouRTNumLineBadge,defaultTheme:M.color})}],mn=()=>n.jsx(D,{fields:dn}),hn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"4",y:"4",width:"16",height:"16",rx:"3",ry:"3"}),n.jsx("text",{x:"12",y:"13.4",textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:"14",children:"1"})]}),un={component:cn,icon:hn,defaultAttrs:M,attrsComponent:mn,metadata:{displayName:"panel.details.nodes.suzhouRTNumLineBadge.displayName",tags:[]}},xn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=G.num,color:h=G.color}=l!=null?l:G,c=r.useCallback(u=>s(e,u),[e,s]),f=r.useCallback(u=>a(e,u),[e,a]),p=r.useCallback(u=>m(e,u),[e,m]),g=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"25",height:"15"}),n.jsxs("text",{className:"rmp-name__berlin",textAnchor:"middle",x:"12.5",y:"12.5",fill:g,fontSize:"14",letterSpacing:"1",children:["U",d]})]})},G={num:1,color:[S.Berlin,"bu1","#62AD2D",L.white]},pn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:G).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:G;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BerlinUBahnLineBadge,defaultTheme:G.color})}],gn=()=>n.jsx(D,{fields:pn}),fn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"U1"})]}),yn={component:xn,icon:fn,defaultAttrs:G,attrsComponent:gn,metadata:{displayName:"panel.details.nodes.berlinUBahnLineBadge.displayName",tags:[]}},bn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=X.num,color:h=X.color}=l!=null?l:X,[c,f]=d>=10?[6,19.75]:[10,20],p=r.useCallback(y=>s(e,y),[e,s]),g=r.useCallback(y=>a(e,y),[e,a]),u=r.useCallback(y=>m(e,y),[e,m]),x=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"30",height:"15",rx:"8"}),n.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:c,y:"12.5",fill:x,fontSize:"14",letterSpacing:"0",children:"S"}),n.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:f,y:"12.5",fill:x,fontSize:"14",letterSpacing:"-0.2",children:d})]})},X={num:1,color:[S.Berlin,"bs1","#DD6CA6",L.white]},jn=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:X).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:X;return Number.isNaN(o)||(t.num=Number(o)),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.BerlinSBahnLineBadge,defaultTheme:X.color})}],wn=()=>n.jsx(D,{fields:jn}),Bn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"8"}),n.jsx("text",{x:"4.5",y:"16.5",fill:"white",fontSize:"14",children:"S1"})]}),Nn={component:bn,icon:Bn,defaultAttrs:X,attrsComponent:wn,metadata:{displayName:"panel.details.nodes.berlinSBahnLineBadge.displayName",tags:[]}},Cn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=H.num,color:h=H.color}=l!=null?l:H,c=r.useCallback(B=>s(e,B),[e,s]),f=r.useCallback(B=>a(e,B),[e,a]),p=r.useCallback(B=>m(e,B),[e,m]),g=h[3],u=Number.isInteger(d)?16:15,[x,y]=Number.isInteger(d)?Number(d)>=10?[-1.2,1.5]:[0,5.5]:[0,2.55];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:y,y:"10",fill:g,fontSize:u,letterSpacing:x,dominantBaseline:"central",children:d})]})},H={num:1,color:[S.Chongqing,"cq1","#e4002b",L.white]},Ln=[{type:"input",label:"panel.details.nodes.common.num",value:o=>(o!=null?o:H).num,validator:o=>!Number.isNaN(o),onChange:(o,e)=>{const t=e!=null?e:H;return Number.isNaN(Number(o))?t.num=o:t.num=Number(o),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ChongqingRTNumLineBadge,defaultTheme:H.color})}],vn=()=>n.jsx(D,{fields:Ln}),Sn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"8",y:"18",fill:"white",fontSize:"18",children:"1"})]}),Pn={component:Cn,icon:Sn,defaultAttrs:H,attrsComponent:vn,metadata:{displayName:"panel.details.nodes.chongqingRTNumLineBadge.displayName",tags:[]}},Tn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=U.names,color:h=U.color}=l!=null?l:U,c=r.useRef(null),f=r.useCallback(x=>s(e,x),[e,s]),p=r.useCallback(x=>a(e,x),[e,a]),g=r.useCallback(x=>m(e,x),[e,m]),u=h[3];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:"10",y:"10.5",fill:u,fontSize:"6",letterSpacing:"0",children:d[0]}),n.jsx(me,{ref:c,text:d[1].split("\n"),className:"rmp-name__en",textAnchor:"middle",x:"10",y:"9.25",fill:u,fontSize:"2.5",letterSpacing:"0",lineHeight:2.25,grow:"down"})]})},U={names:["空港线","Konggang Line"],color:[S.Chongqing,"cq3","#003da5",L.white]},zn=[{type:"input",label:"panel.details.nodes.common.nameZh",value:o=>(o!=null?o:U).names[0],onChange:(o,e)=>{const t=e!=null?e:U;return t.names[0]=o.toString(),t}},{type:"textarea",label:"panel.details.nodes.common.nameEn",value:o=>(o!=null?o:U).names[1],onChange:(o,e)=>{const t=e!=null?e:U;return t.names[1]=o.toString(),t}},{type:"custom",label:"color",component:n.jsx(z,{type:b.ChongqingRTTextLineBadge,defaultTheme:U.color})}],An=()=>n.jsx(D,{fields:zn}),kn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"4.5",y:"12.5",fill:"white",fontSize:"5",children:"空港线"}),n.jsx("text",{x:"4.5",y:"15",fill:"white",fontSize:"2",children:"Konggang Line"})]}),Mn={component:Tn,icon:kn,defaultAttrs:U,attrsComponent:An,metadata:{displayName:"panel.details.nodes.chongqingRTTextLineBadge.displayName",tags:[]}},oe=11.84375,$n=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=Z.num,color:h=Z.color,isBranch:c=Z.isBranch}=l!=null?l:Z,f=r.useCallback(j=>s(e,j),[e,s]),p=r.useCallback(j=>a(e,j),[e,a]),g=r.useCallback(j=>m(e,j),[e,m]),u=h[3],x=c?10:oe+(d>9?6.5:3),y=c?-1:0,B=c?11:oe+(d>9?7:3.5),C=c?6:oe/2+4;return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:[n.jsx("rect",{fill:h[2],x:"0",width:oe+21,height:"16",rx:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:C,y:"13.5",fill:u,fontSize:"15",letterSpacing:"-1",children:d}),n.jsxs("text",{className:"rmp-name__zh",x,y:"9.5",fontSize:"6",fill:u,letterSpacing:y,children:["号线",c?"支线":""]}),n.jsxs("text",{className:"rmp-name__en",x:B,y:"13.5",fontSize:"3",fill:u,children:[c?"Branch":""," Line ",d]})]})},Z={num:1,color:[S.Shenzhen,"sz1","#00b140",L.white],isBranch:!1},_n=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.ShenzhenMetroNumLineBadge,defaultTheme:Z.color}),minW:"full"},{type:"switch",label:l("panel.details.nodes.shenzhenMetroNumLineBadge.branch"),oneLine:!0,isChecked:t.isBranch,onChange:a=>{t.isBranch=a,i(e,t)},minW:"full"}];return n.jsx(k,{fields:s})},Rn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),n.jsx("text",{x:"11",y:"14",fill:"white",fontSize:"5",children:"号线"}),n.jsx("text",{x:"12",y:"17",fill:"white",fontSize:"3",children:"Line 1"})]}),Un={component:$n,icon:Rn,defaultAttrs:Z,attrsComponent:_n,metadata:{displayName:"panel.details.nodes.shenzhenMetroNumLineBadge.displayName",tags:[]}},Dn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=ne.num,color:h=ne.color}=l!=null?l:ne,c=r.useCallback(x=>s(e,x),[e,s]),f=r.useCallback(x=>a(e,x),[e,a]),p=r.useCallback(x=>m(e,x),[e,m]),g=h[3],u=h[2];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:c,onPointerMove:f,onPointerUp:p,style:{cursor:"move"},children:[n.jsx("circle",{r:"8",fill:u}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",x:"0",y:"0",width:"12",height:"12",fill:g,fontSize:"12",dominantBaseline:"central",letterSpacing:"-0.2",children:d})]})},ne={num:1,color:[S.Singapore,"ewl","#009739",L.white]},In=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.MRTDestinationNumbers,defaultTheme:ne.color}),minW:"full"}];return n.jsx(k,{fields:s})},En=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),Wn={component:Dn,icon:En,defaultAttrs:ne,attrsComponent:In,metadata:{displayName:"panel.details.nodes.mrtDestinationNumbers.displayName",tags:[]}},Fn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{lineCode:d=E.lineCode,color:h=E.color,lines:c=E.lines,name:f=E.name,isTram:p=E.isTram}=l!=null?l:E,g=r.useCallback(w=>s(e,w),[e,s]),u=r.useCallback(w=>a(e,w),[e,a]),x=r.useCallback(w=>m(e,w),[e,m]),y=22.85,B=12.935,C=h[3],j=h[2];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{transform:"scale(1.8)",x:-22.85/2,y:-12.935/2,rx:"3",ry:"6",width:y,height:B,fill:j,stroke:"white",strokeWidth:"1"}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:C,fontSize:"15",dominantBaseline:"central",letterSpacing:"-0.2",children:d}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"left",x:"28",y:p?3.5:-3,fill:"black",fontSize:"10",letterSpacing:"-0.2",children:f}),!p&&c.split(",").map((w,_)=>n.jsx("g",{transform:"translate(".concat(34+14*_,", ").concat(4.5,")"),children:w.trim()!=="airport"?n.jsxs(n.Fragment,{children:[n.jsx("circle",{r:"6",fill:j}),n.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:C,fontSize:"9",dominantBaseline:"central",letterSpacing:"-0.2",children:w})]}):n.jsxs("g",{transform:"translate(-6, -6) scale(4.5)",children:[n.jsx("path",{d:"M2.467 0H.226A.226.226 0 0 0 0 .226v2.241a.225.225 0 0 0 .226.225h2.241a.225.225 0 0 0 .225-.225V.226A.226.226 0 0 0 2.467 0",style:{fill:"#2d2a26"}}),n.jsx("path",{d:"M1.5.746v.3l.73.642a.08.08 0 0 1 .022.05v.12c0 .017-.012.025-.027.018L1.5 1.529l-.06.541.2.113a.03.03 0 0 1 .013.023V2.3a.01.01 0 0 1-.014.011l-.293-.091-.286.087a.01.01 0 0 1-.014-.007v-.09a.03.03 0 0 1 .013-.023l.2-.113-.059-.545-.724.348a.018.018 0 0 1-.028-.018v-.12a.07.07 0 0 1 .023-.05l.73-.642v-.3c0-.482.3-.482.3 0",style:{fill:"#fff",fillRule:"evenodd"}})]})},_))]})},E={lineCode:"EWL",name:"East-West Line",lines:"1, 2, 3, airport",isTram:!1,color:[S.Singapore,"ewl","#009739",L.white]},qn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.name,onChange:a=>{t.name=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.stations.common.lineCode"),value:t.lineCode,onChange:a=>{t.lineCode=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.mrtLineBadge.isTram"),isChecked:t.isTram,onChange:a=>{t.isTram=a,i(e,t)},minW:"full",oneLine:!0},...t.isTram?[]:[{type:"input",label:l("panel.details.nodes.common.num"),value:t.lines,onChange:a=>{t.lines=a,i(e,t)},minW:"full"}],{type:"custom",label:l("color"),component:n.jsx(z,{type:b.MRTLineBadge,defaultTheme:E.color}),minW:"full"}];return n.jsx(k,{fields:s})},On=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),n.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),Qn={component:Fn,icon:On,defaultAttrs:E,attrsComponent:qn,metadata:{displayName:"panel.details.nodes.mrtLineBadge.displayName",tags:[]}},le=4,de=7,ae=10,pe=5,Vn=5,A=Vn*Math.SQRT1_2,he=.25,se=(A*Math.SQRT2-he)/2*Math.SQRT2,Gn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=q.names,num:h=q.num,color:c=q.color,crosshatchPatternFill:f=q.crosshatchPatternFill}=l!=null?l:q,p=r.useRef(null),[g,u]=r.useState({height:10,width:12});r.useEffect(()=>u(p.current.getBBox()),[...d,u,p]);const x=r.useCallback(C=>s(e,C),[e,s]),y=r.useCallback(C=>a(e,C),[e,a]),B=r.useCallback(C=>m(e,C),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:x,onPointerMove:y,onPointerUp:B,style:{cursor:"move"},children:[n.jsxs("defs",{children:[n.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[n.jsx("polygon",{points:"0,0 0,".concat(se," ").concat(se,",0")}),n.jsx("polygon",{points:"".concat(A,",").concat(A," ").concat(A-se,",").concat(A," ").concat(A,",").concat(A-se)})]}),n.jsxs("pattern",{id:"jr_east_".concat(e,"_fill_pattern_").concat(c[2]),width:A,height:A,patternUnits:"userSpaceOnUse",children:[n.jsx("rect",{width:A,height:A,fill:c[2]}),n.jsx("line",{x1:"0",y1:"0",x2:A,y2:A,stroke:"white",strokeWidth:he,strokeOpacity:"33%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),n.jsx("line",{x1:A,y1:"0",x2:"0",y2:A,stroke:"white",strokeWidth:he,strokeOpacity:"33%"})]})]}),n.jsx("rect",{fill:f?"url(#jr_east_".concat(e,"_fill_pattern_").concat(c[2],")"):c[2],x:"0",y:"-1",width:g.width+le+10,height:g.height+1,rx:"1",stroke:"black",strokeWidth:"0.25"}),n.jsx("circle",{r:le,cx:de,cy:ae/2+1,stroke:"black",strokeWidth:"0.25",fill:c[3]}),n.jsx("text",{x:de,y:ae/2+1.75,textAnchor:"middle",dominantBaseline:"middle",fill:c[3]==="#000"?"white":c[2],fontSize:h>9?7:8,className:"rmp-name__jreast_en",children:h}),n.jsx(me,{ref:p,text:d[0].split("\n"),x:de+le+1,y:"-1",fill:c[3],fontSize:ae,lineHeight:ae,grow:"down",className:"rmp-name__jreast_ja"}),n.jsx(me,{text:d[1].split("\n"),textAnchor:"middle",dominantBaseline:"hanging",x:(g.width+le+10)/2,y:g.height+1,fontSize:pe,lineHeight:pe,baseOffset:0,grow:"down",className:"rmp-name__jreast_en"})]})},q={names:["山手線","Yamanote Line"],color:[S.Tokyo,"jy","#9ACD32",L.black],num:9,crosshatchPatternFill:!1},Xn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:String(t.num),validator:a=>!Number.isNaN(a),onChange:a=>{t.num=Number(a),i(e,t)},minW:"full"},{type:"textarea",label:l("panel.details.nodes.common.nameJa"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"textarea",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"},{type:"switch",label:l("panel.details.nodes.jrEastLineBadge.crosshatchPatternFill"),oneLine:!0,isChecked:t.crosshatchPatternFill,onChange:a=>{t.crosshatchPatternFill=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.JREastLineBadge,defaultTheme:q.color})}];return n.jsx(k,{fields:s})},Hn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"1",y:"6",width:"22",height:"7"}),n.jsx("circle",{cx:"3.5",cy:"9.25",r:"2",fill:"white"}),n.jsx("text",{x:"3",y:"10.5",fontSize:"3",children:"9"}),n.jsx("text",{x:"6",y:"11.25",fontSize:"5",fill:"white",children:"山手線"}),n.jsx("text",{x:"1.5",y:"16",fontSize:"3",children:"Yamanote Line"})]}),Zn={component:Gn,icon:Hn,defaultAttrs:q,attrsComponent:Xn,metadata:{displayName:"panel.details.nodes.jrEastLineBadge.displayName",tags:[]}},Jn=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{num:d=O.num,numEn:h=O.numEn,color:c=O.color,showText:f=O.showText}=l!=null?l:O,p=r.useCallback(w=>s(e,w),[e,s]),g=r.useCallback(w=>a(e,w),[e,a]),u=r.useCallback(w=>m(e,w),[e,m]),x=c[3],[y,B,C,j]=Number(d)>=10?[-2.4,0,10.25,20]:[0,4,10,22];return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:p,onPointerMove:g,onPointerUp:u,style:{cursor:"move"},children:[n.jsx("rect",{fill:c[2],x:"0",width:"20",height:"20",rx:"2",ry:"2"}),n.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:B,y:C,fill:x,fontSize:j,fontWeight:"bold",letterSpacing:y,dominantBaseline:"central",children:d}),f&&n.jsxs(n.Fragment,{children:[n.jsx("text",{className:"rmp-name__zh",x:"22",y:"10.5",fontSize:"13",children:"号线"}),n.jsxs("text",{className:"rmp-name__en",x:"22.5",y:"19.5",fontSize:"8",children:["Line ",h]})]})]})},O={num:1,numEn:"1",showText:!0,color:[S.Qingdao,"qd1","#f7b000",L.white]},Yn=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.num"),value:t.num.toString(),onChange:a=>{t.num=Number(a),t.numEn=a,i(e,t)}},{type:"input",label:l("panel.details.nodes.qingdaoMetroNumLineBadge.numEn"),value:t.numEn.toString(),onChange:a=>{t.numEn=a,i(e,t)}},{type:"switch",label:l("panel.details.nodes.qingdaoMetroNumLineBadge.showText"),isChecked:t.showText,oneLine:!0,onChange:a=>{t.showText=a,i(e,t)}},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.QingdaoMetroNumLineBadge,defaultTheme:O.color})}];return n.jsx(k,{fields:s,minW:"full"})},Kn=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",rx:"1",ry:"1",width:"10",height:"10"}),n.jsx("text",{x:"4",y:"15",fill:"white",fontSize:"12",children:"1"}),n.jsx("text",{x:"12",y:"11.5",fill:"black",fontSize:"6",children:"号线"}),n.jsx("text",{x:"12",y:"15.5",fill:"black",fontSize:"4",children:"Line1"})]}),et={component:Jn,icon:Kn,defaultAttrs:O,attrsComponent:Yn,metadata:{displayName:"panel.details.nodes.qingdaoMetroNumLineBadge.displayName",tags:[]}},nt=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{names:d=ie.names,color:h=ie.color}=l!=null?l:ie,c=r.useRef(null),[f,p]=r.useState({width:12});r.useEffect(()=>p(c.current.getBBox()),[...d,p,c]);const g=r.useCallback(y=>s(e,y),[e,s]),u=r.useCallback(y=>a(e,y),[e,a]),x=r.useCallback(y=>m(e,y),[e,m]);return n.jsxs("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),onPointerDown:g,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[n.jsx("rect",{rx:"2",ry:"2",fill:h[2],x:"0",width:f.width+7,height:"21"}),n.jsxs("g",{ref:c,children:[n.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"3",fontSize:"8.63",fill:h[3],children:d[0]}),n.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(f.width+7)/2,y:"14",fontSize:"3.54",fill:h[3],children:d[1]})]})]})},ie={names:["广清城际","Guangzhou-Qingyuan Intercity"],color:[S.Guangzhou,"ir","#2559a8",L.white]},tt=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"input",label:l("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:a=>{t.names[0]=a,i(e,t)},minW:"full"},{type:"input",label:l("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:a=>{t.names[1]=a,i(e,t)},minW:"full"}];return n.jsx(k,{fields:s})},ot=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),n.jsx("text",{x:"4.5",y:"11",fontSize:"4",fill:"white",children:"广清城际"}),n.jsx("text",{x:"3",y:"16",fontSize:"2",fill:"white",children:"Guangzhou-Qingyuan Intercity"})]}),lt={component:nt,icon:ot,defaultAttrs:ie,attrsComponent:tt,metadata:{displayName:"panel.details.nodes.guangdongIntercityRailwayLineBadge.displayName",tags:[]}},W=5,re="M0,0 L".concat(-5*2,",").concat(-5*2," L").concat(Math.SQRT2*W-2*W,",").concat(2*-5," L").concat(Math.SQRT2*W,",0 L").concat(Math.SQRT2*W-2*W,",").concat(2*W," L").concat(2*-5,",").concat(2*W," Z"),at=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,{color:d=J.color,rotate:h=J.rotate,type:c=J.type}=l!=null?l:J,f=r.useCallback(u=>s(e,u),[e,s]),p=r.useCallback(u=>a(e,u),[e,a]),g=r.useCallback(u=>m(e,u),[e,m]);return n.jsx("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")rotate(").concat(h,")"),onPointerDown:f,onPointerMove:p,onPointerUp:g,style:{cursor:"move"},children:c==="continuation"?n.jsx("path",{id:"virtual_circle_".concat(e),fill:d[2],d:re}):c==="sandwich"?n.jsx("path",{transform:"scale(0.5)",id:"virtual_circle_".concat(e),stroke:"white",strokeWidth:"1",fill:d[2],d:re}):n.jsx("path",{transform:"scale(0.25)",id:"virtual_circle_".concat(e),fill:"white",d:re})})},J={color:[S.London,"thameslink","#d28db0",L.white],rotate:0,type:"continuation"},st=o=>{const{id:e,attrs:t,handleAttrsUpdate:i}=o,{t:l}=$(),s=[{type:"select",label:l("panel.details.stations.common.rotate"),value:t.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:a=>{t.rotate=Number(a),i(e,t)},minW:"full"},{type:"select",label:l("panel.details.nodes.londonArrow.type"),value:t.type,options:{continuation:l("panel.details.nodes.londonArrow.continuation"),sandwich:l("panel.details.nodes.londonArrow.sandwich"),tube:l("panel.details.nodes.londonArrow.tube")},onChange:a=>{t.type=a,i(e,t)},minW:"full"},{type:"custom",label:l("color"),component:n.jsx(z,{type:b.LondonArrow,defaultTheme:J.color}),minW:"full"}];return n.jsx(k,{fields:s})},it=n.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:n.jsx("path",{transform:"translate(14,12)scale(0.75)",fill:"currentColor",d:re})}),rt={component:at,icon:it,defaultAttrs:J,attrsComponent:st,metadata:{displayName:"panel.details.nodes.londonArrow.displayName",tags:[]}},ct=o=>{const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,d=Te();l.content=d(l.contents);const h=ce.component;return n.jsx(h,{id:e,x:t,y:i,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m,attrs:l})},dt={contents:{},...Pe},mt={component:ct,icon:ce.icon,defaultAttrs:dt,attrsComponent:ce.attrsComponent,metadata:{displayName:"panel.details.nodes.i18nText.displayName",tags:[]}},ht=o=>{var C;const{id:e,x:t,y:i,attrs:l,handlePointerDown:s,handlePointerMove:a,handlePointerUp:m}=o,d=r.useCallback(j=>s(e,j),[e,s]),h=r.useCallback(j=>a(e,j),[e,a]),c=r.useCallback(j=>m(e,j),[e,m]),f=(j,...w)=>new Function(...w,"return ".concat(j)),p=(j,w,_)=>{var P;const N={};for(const T in j)if(Object.prototype.hasOwnProperty.call(j,T))try{N[T]=f(j[T].slice(1),...l.components.map(v=>v.label),"color")(...w.map((v,Y)=>_[Y]==="number"&&!Number.isNaN(Number(v))?Number(v):v),l.color?(P=l.color.value)!=null?P:l.color.defaultValue:"")}catch(v){N[T]=""}return N},g=l.nodeType==="MiscNode"?{onPointerDown:d,onPointerMove:h,onPointerUp:c,style:{cursor:"move"}}:{},u=j=>j.replace(/(^|,)\s*([^{},]+)/g,"$1 #".concat(e," $2")),x=j=>j.map(w=>{var P,T;const _=l.nodeType==="Station"&&l.core&&l.core===w.id?{id:"stn_core_".concat(e),onPointerDown:d,onPointerMove:h,onPointerUp:c,style:{cursor:"move"}}:{},N=p(w.attrs,l.components.map(v=>v.value),l.components.map(v=>v.type));return n.jsx("g",{transform:"translate(".concat((P=N.x)!=null?P:0,", ").concat((T=N.y)!=null?T:0,")"),children:r.createElement(w.type,{...N,x:0,y:0,..._},w.children?x(w.children):"_rmp_children_text"in N?w.type==="style"?u(N._rmp_children_text):N._rmp_children_text:null)},w.id)}),y=(C=l.transform)!=null?C:ge,B=r.useMemo(()=>x(l.svgs),[l]);return r.createElement("g",{id:e,transform:"translate(".concat(t,", ").concat(i,")"),...g},l.randomId?n.jsx("g",{transform:"translate(".concat(y.translateX,", ").concat(y.translateY,") scale(").concat(y.scale,") rotate(").concat(y.rotate,")"),children:B}):n.jsxs("g",{children:[n.jsx("circle",{r:"5.5"}),n.jsx("g",{transform:"translate(-4.7, -5) scale(0.8)",children:n.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"white"})})]}))},ut={randomId:void 0,label:void 0,transform:ge,nodeType:"MiscNode",svgs:[],components:[]},xt=o=>{var B,C,j,w,_;const{id:e,attrs:t,handleAttrsUpdate:i}=o,l=fe(),{paletteAppClip:{output:s}}=ye(N=>N.runtime),{t:a}=$(),[m,d]=r.useState(!1),[h,c]=r.useState(!1),f=N=>{var T;const P=t.components.find(v=>v.id===N);return P?(T=P.value)!=null?T:P.defaultValue:void 0},p=N=>{N.components.forEach((P,T)=>{var v;N.components[T].value=(v=f(P.id))!=null?v:P.defaultValue}),N.color!==void 0&&(N.color.value=t.color?t.color.value:N.color.defaultValue),i(e,N)},g=t.components.map((N,P)=>{const{label:T,type:v,defaultValue:Y,value:I}=N;return v==="number"||v==="text"?{label:a(T),type:"input",value:I!=null?I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:v==="switch"?{label:a(T),type:"switch",isChecked:I!==void 0?!!I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:v==="textarea"?{label:a(T),type:"textarea",value:I!=null?I:Y,onChange:K=>{t.components[P].value=K,i(e,{...t,components:t.components})}}:{type:"input",label:"undefined",value:"none"}}),[u,x]=r.useState(!1);r.useEffect(()=>{t.color&&u&&s&&(t.color.value=s,i(e,{...t,color:t.color}),x(!1))},[s==null?void 0:s.toString()]);const y=[{type:"custom",label:a("color"),component:n.jsx(be,{theme:(B=t.color)==null?void 0:B.value,onClick:()=>{var N;x(!0),l(je((N=t.color)==null?void 0:N.value))}})}];return n.jsxs(n.Fragment,{children:[n.jsxs(xe,{direction:"row",mr:"auto",width:"100%",children:[n.jsx(we,{width:"100%",overflow:"hidden",label:a("panel.details.nodes.master.type"),children:n.jsxs(xe,{width:"100%",overflow:"hidden",children:[n.jsx(ue,{name:(C=t.label)!=null?C:a("panel.details.nodes.master.undefined"),fg:(j=t.labelColorFg)!=null?j:L.white,bg:(w=t.labelColorBg)!=null?w:"#000000",sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"},mr:1}),n.jsx(ue,{name:(_=t.randomId)!=null?_:"UNDEFINED",fg:L.white,bg:t.randomId?"#19B3EA":"#000000",sx:{display:"inline-block"},mr:1})]})}),n.jsx(Ce,{}),n.jsx(Le,{icon:n.jsx(Be,{}),onClick:()=>d(!0),"aria-label":"upload"})]}),n.jsx(ve,{width:"100%",leftIcon:n.jsx(Ne,{}),onClick:()=>c(!0),children:a("header.settings.procedures.masterManager.title")}),t.randomId&&n.jsx(k,{fields:g,minW:"full"}),t.randomId&&t.color!==void 0&&n.jsx(k,{fields:y,minW:"full"}),n.jsx(ze,{isOpen:m,onClose:()=>d(!1),onSubmit:p}),n.jsx(Ae,{isOpen:h,onClose:()=>c(!1)})]})},pt=n.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[n.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),n.jsx("g",{transform:"translate(7.25, 7) scale(0.8)",children:n.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"currentColor"})})]}),gt={component:ht,icon:pt,defaultAttrs:ut,attrsComponent:xt,metadata:{displayName:"panel.details.nodes.master.displayName",tags:[]}},wt={[b.Virtual]:Ue,[b.ShmetroNumLineBadge]:Fe,[b.ShmetroTextLineBadge]:Ve,[b.GzmtrLineBadge]:Ze,[b.BjsubwayNumLineBadge]:nn,[b.BjsubwayTextLineBadge]:rn,[b.SuzhouRTNumLineBadge]:un,[b.BerlinSBahnLineBadge]:Nn,[b.BerlinUBahnLineBadge]:yn,[b.ChongqingRTNumLineBadge]:Pn,[b.ChongqingRTTextLineBadge]:Mn,[b.ShenzhenMetroNumLineBadge]:Un,[b.MRTDestinationNumbers]:Wn,[b.MRTLineBadge]:Qn,[b.JREastLineBadge]:Zn,[b.QingdaoMetroNumLineBadge]:et,[b.GuangdongIntercityRailwayLineBadge]:lt,[b.LondonArrow]:rt,[b.Facilities]:ke,[b.Text]:ce,[b.I18nText]:mt,[b.Master]:gt};export{wt as m}; diff --git a/assets/misc-nodes-legacy-EAdJkjZQ.js b/assets/misc-nodes-legacy-kef96jcz.js similarity index 99% rename from assets/misc-nodes-legacy-EAdJkjZQ.js rename to assets/misc-nodes-legacy-kef96jcz.js index d29b03e2..d44cffc0 100644 --- a/assets/misc-nodes-legacy-EAdJkjZQ.js +++ b/assets/misc-nodes-legacy-kef96jcz.js @@ -1 +1 @@ -System.register(["./index-legacy-BGd0L8oF.js","./chakra-legacy-DsJcG_7N.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-Cv1g7wby.js"],(function(e,n){"use strict";var t,l,a,o,i,r,s,d,c,m,h,u,x,p,f,g,y,j,b,w,v,N,C,P,S,B,_,k,z,L;return{setters:[e=>{t=e.aR,l=e.C,a=e.M,o=e.aS,i=e.av,r=e.i,s=e.aT,d=e.c,c=e.d,m=e.V,h=e.W,u=e.P,x=e.R,p=e.D,f=e.ak},e=>{g=e.j,y=e.g,j=e.a$,b=e.af,w=e.O},e=>{v=e.b,N=e.u},e=>{C=e.L,P=e.g,S=e.h,B=e.t,_=e.j,k=e.k,z=e.M,L=e.n}],execute:function(){const n={component:e=>{const{id:n,x:t,y:l,handlePointerDown:a,handlePointerMove:o,handlePointerUp:i}=e,r=v.useCallback((e=>a(n,e)),[n,a]),s=v.useCallback((e=>o(n,e)),[n,o]),d=v.useCallback((e=>i(n,e)),[n,i]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})rotate(45)`,onPointerDown:r,onPointerMove:s,onPointerUp:d,style:{cursor:"move"},className:"removeMe",children:[g.jsx("line",{x1:"-5",y1:"0",x2:"5",y2:"0",stroke:"black"}),g.jsx("line",{x1:"0",y1:"-5",x2:"0",y2:"5",stroke:"black"}),g.jsx("circle",{id:`virtual_circle_${n}`,r:5,stroke:"black",fill:"white",fillOpacity:"0"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,transform:"rotate(45)",focusable:!1,children:[g.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),g.jsx("line",{x1:"6",y1:"12",x2:"18",y2:"12",stroke:"currentColor"}),g.jsx("line",{x1:"12",y1:"6",x2:"12",y2:"18",stroke:"currentColor"})]}),defaultAttrs:{},attrsComponent:()=>g.jsx(t,{fields:[]}),metadata:{displayName:"panel.details.nodes.virtual.displayName",tags:[]}},A={num:1,color:[l.Shanghai,"sh1","#E4002B",a.white]},M=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:A).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:A;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ShmetroNumLineBadge,defaultTheme:A.color})}],$={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=A.num,color:d=A.color}=null!=a?a:A,[c,m]=s>=10?[22.67,10.75]:[21,10],h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],width:c,height:"22.67"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:m,y:"19",fill:d[3],fontSize:"21.33",letterSpacing:"-1.75",children:s}),g.jsx("text",{className:"rmp-name__zh",x:c+2,y:"12",fontSize:"14.67",children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:c+4,y:"21.5",fontSize:"8",children:["Line ",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"10",height:"16"}),g.jsx("text",{x:"4",y:"18",fill:"white",children:"1"}),g.jsx("text",{x:"14",y:"10",fontSize:"5",children:"号线"}),g.jsx("text",{x:"14",y:"18",fontSize:"4",children:"Line 1"})]}),defaultAttrs:A,attrsComponent:()=>g.jsx(t,{fields:M}),metadata:{displayName:"panel.details.nodes.shmetroNumLineBadge.displayName",tags:[]}},T={names:["浦江线","Pujiang Line"],color:[l.Shanghai,"pjl","#B5B5B6",a.white]},U={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=T.names,color:d=T.color}=null!=a?a:T,c=v.useRef(null),[m,h]=v.useState({width:12});v.useEffect((()=>h(c.current.getBBox())),[...s,h,c]);const u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:m.width+7,height:"21"}),g.jsxs("g",{ref:c,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"3",fontSize:"10",fill:d[3],letterSpacing:"-0.25",children:s[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"14",fontSize:"5",fill:d[3],letterSpacing:"-0.25",children:s[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),g.jsx("text",{x:"5",y:"11",fontSize:"5",fill:"white",children:"浦江线"}),g.jsx("text",{x:"3",y:"16",fontSize:"4",fill:"white",children:"Pujiang Line"})]}),defaultAttrs:T,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.ShmetroTextLineBadge,defaultTheme:T.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.shmetroTextLineBadge.displayName",tags:[]}},D={names:["1号线","Line 1"],color:[l.Guangzhou,"gz1","#F3D03E",a.black],tram:!1,span:!0},W={component:e=>{var n,t;const{id:l,x:a,y:o,attrs:i,handlePointerDown:r,handlePointerMove:s,handlePointerUp:d}=e,{names:c=D.names,color:m=D.color,tram:h=D.tram,span:u=D.span}=null!=i?i:D,x=v.useCallback((e=>r(l,e)),[l,r]),p=v.useCallback((e=>s(l,e)),[l,s]),f=v.useCallback((e=>d(l,e)),[l,d]);return g.jsx("g",{id:l,transform:`translate(${a}, ${o})scale(${h?.5:1})`,onPointerDown:x,onPointerMove:p,onPointerUp:f,style:{cursor:"move"},children:g.jsx(C,{zhName:null!==(n=c.at(0))&&void 0!==n?n:"",enName:null!==(t=c.at(1))&&void 0!==t?t:"",zhClassName:"rmp-name__zh",enClassName:"rmp-name__en",foregroundColour:m[3],backgroundColour:m[2],spanDigits:u})})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"5",width:"20",height:"14",rx:"1"}),g.jsx("text",{x:"6",y:"15",textAnchor:"middle",fontSize:"10",fill:"white",children:"1"}),g.jsx("text",{x:"15",y:"12",textAnchor:"middle",fontSize:"6",fill:"white",children:"号线"}),g.jsx("text",{x:"14.5",y:"17",textAnchor:"middle",fontSize:"4",fill:"white",children:"Line 1"})]}),defaultAttrs:D,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.gzmtrLineBadge.tram"),oneLine:!0,isChecked:t.tram,onChange:e=>{t.tram=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.gzmtrLineBadge.span"),oneLine:!0,isChecked:t.span,onChange:e=>{t.span=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.GzmtrLineBadge,defaultTheme:D.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.gzmtrLineBadge.displayName",tags:[]}},E=11.84375,R={num:1,color:[l.Beijing,"bj1","#c23a30",a.white]},F=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:R).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:R;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BjsubwayNumLineBadge,defaultTheme:R.color})}],I={component:e=>{const{id:n,x:t,y:l,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:s}=e,{num:d=R.num,color:c=R.color}=null!=o?o:R,m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=v.useCallback((e=>s(n,e)),[n,s]),x=c[3]===a.black?"#003670":a.white;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:32.84375,height:"16",rx:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:7.921875,y:"13.5",fill:x,fontSize:"15",letterSpacing:"-1.5",children:d}),g.jsx("text",{className:"rmp-name__zh",x:E+(d>9?5.5:3),y:"8.5",fontSize:"7",fill:x,children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:E+(d>9?6:4.5),y:"13.5",fontSize:"4",fill:x,children:["Line ",d]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),g.jsx("text",{x:"11",y:"11",fill:"white",fontSize:"5",children:"号线"}),g.jsx("text",{x:"11",y:"17",fill:"white",fontSize:"4",children:"Line 1"})]}),defaultAttrs:R,attrsComponent:()=>g.jsx(t,{fields:F}),metadata:{displayName:"panel.details.nodes.bjsubwayNumLineBadge.displayName",tags:[]}},q={names:["八通线","Batong Line"],color:[l.Beijing,"bj1","#c23a30",a.white]},O=[{type:"input",label:"panel.details.nodes.common.nameZh",value:e=>(null!=e?e:q).names[0],onChange:(e,n)=>{const t=null!=n?n:q;return t.names[0]=e.toString(),t}},{type:"input",label:"panel.details.nodes.common.nameEn",value:e=>(null!=e?e:q).names[1],onChange:(e,n)=>{const t=null!=n?n:q;return t.names[1]=e.toString(),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BjsubwayTextLineBadge,defaultTheme:q.color})}],Q={component:e=>{const{id:n,x:t,y:l,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:s}=e,{names:d=q.names,color:c=q.color}=null!=o?o:q,m=v.useRef(null),[h,u]=v.useState({width:12});v.useEffect((()=>u(m.current.getBBox())),[...d,u,m]);const x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]),f=v.useCallback((e=>s(n,e)),[n,s]),y=Math.max(28.84375,h.width),j=c[3]===a.black?"#003670":a.white;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:x,onPointerMove:p,onPointerUp:f,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:y+4,height:"16",rx:"2"}),g.jsxs("g",{ref:m,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:(y+4)/2,y:"8",fontSize:"7",fill:j,children:d[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",x:(y+4)/2,y:"13.5",fontSize:"4",fill:j,children:d[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12",rx:"2"}),g.jsx("text",{x:"3",y:"12",fontSize:"6",fill:"white",children:"八通线"}),g.jsx("text",{x:"3",y:"16",fontSize:"3.2",fill:"white",children:"Batong Line"})]}),defaultAttrs:q,attrsComponent:()=>g.jsx(t,{fields:O}),metadata:{displayName:"panel.details.nodes.bjsubwayTextLineBadge.displayName",tags:[]}},V={num:1,branch:!1,color:[l.Suzhou,"sz1","#78BA25",a.white]},G=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:V).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:V;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"switch",label:"panel.details.nodes.suzhouRTNumLineBadge.branch",isChecked:e=>{var n;return null!==(n=null==e?void 0:e.branch)&&void 0!==n?n:V.branch},onChange:(e,n)=>{const t=null!=n?n:V;return t.branch=e,t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.SuzhouRTNumLineBadge,defaultTheme:V.color})}],Z={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=V.num,branch:d=V.branch,color:c=V.color}=null!=a?a:V,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],width:"20",height:"20",rx:"2",ry:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"middle",x:"10",y:"11.4",fill:c[3],fontSize:"15",letterSpacing:"-1",children:s}),d&&g.jsxs(g.Fragment,{children:[g.jsx("text",{className:"rmp-name__zh",x:22.5,y:"10",fontSize:"10",children:"支线"}),g.jsx("text",{className:"rmp-name__en",x:22.5,y:"18",fontSize:"5",fill:"gray",children:"Branch line"})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"4",y:"4",width:"16",height:"16",rx:"3",ry:"3"}),g.jsx("text",{x:"12",y:"13.4",textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:V,attrsComponent:()=>g.jsx(t,{fields:G}),metadata:{displayName:"panel.details.nodes.suzhouRTNumLineBadge.displayName",tags:[]}},H={num:1,color:[l.Berlin,"bu1","#62AD2D",a.white]},J=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:H).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:H;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BerlinUBahnLineBadge,defaultTheme:H.color})}],Y={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=H.num,color:d=H.color}=null!=a?a:H,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"25",height:"15"}),g.jsxs("text",{className:"rmp-name__berlin",textAnchor:"middle",x:"12.5",y:"12.5",fill:u,fontSize:"14",letterSpacing:"1",children:["U",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"U1"})]}),defaultAttrs:H,attrsComponent:()=>g.jsx(t,{fields:J}),metadata:{displayName:"panel.details.nodes.berlinUBahnLineBadge.displayName",tags:[]}},K={num:1,color:[l.Berlin,"bs1","#DD6CA6",a.white]},X=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:K).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:K;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BerlinSBahnLineBadge,defaultTheme:K.color})}],ee={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=K.num,color:d=K.color}=null!=a?a:K,[c,m]=s>=10?[6,19.75]:[10,20],h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]),p=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"30",height:"15",rx:"8"}),g.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:c,y:"12.5",fill:p,fontSize:"14",letterSpacing:"0",children:"S"}),g.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:m,y:"12.5",fill:p,fontSize:"14",letterSpacing:"-0.2",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"8"}),g.jsx("text",{x:"4.5",y:"16.5",fill:"white",fontSize:"14",children:"S1"})]}),defaultAttrs:K,attrsComponent:()=>g.jsx(t,{fields:X}),metadata:{displayName:"panel.details.nodes.berlinSBahnLineBadge.displayName",tags:[]}},ne={num:1,color:[l.Chongqing,"cq1","#e4002b",a.white]},te=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:ne).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:ne;return Number.isNaN(Number(e))?t.num=e:t.num=Number(e),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ChongqingRTNumLineBadge,defaultTheme:ne.color})}],le={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=ne.num,color:d=ne.color}=null!=a?a:ne,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3],x=Number.isInteger(s)?16:15,[p,f]=Number.isInteger(s)?Number(s)>=10?[-1.2,1.5]:[0,5.5]:[0,2.55];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:f,y:"10",fill:u,fontSize:x,letterSpacing:p,dominantBaseline:"central",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"8",y:"18",fill:"white",fontSize:"18",children:"1"})]}),defaultAttrs:ne,attrsComponent:()=>g.jsx(t,{fields:te}),metadata:{displayName:"panel.details.nodes.chongqingRTNumLineBadge.displayName",tags:[]}},ae={names:["空港线","Konggang Line"],color:[l.Chongqing,"cq3","#003da5",a.white]},oe=[{type:"input",label:"panel.details.nodes.common.nameZh",value:e=>(null!=e?e:ae).names[0],onChange:(e,n)=>{const t=null!=n?n:ae;return t.names[0]=e.toString(),t}},{type:"textarea",label:"panel.details.nodes.common.nameEn",value:e=>(null!=e?e:ae).names[1],onChange:(e,n)=>{const t=null!=n?n:ae;return t.names[1]=e.toString(),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ChongqingRTTextLineBadge,defaultTheme:ae.color})}],ie={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=ae.names,color:d=ae.color}=null!=a?a:ae,c=v.useRef(null),m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]),x=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:"10",y:"10.5",fill:x,fontSize:"6",letterSpacing:"0",children:s[0]}),g.jsx(P,{ref:c,text:s[1].split("\n"),className:"rmp-name__en",textAnchor:"middle",x:"10",y:"9.25",fill:x,fontSize:"2.5",letterSpacing:"0",lineHeight:2.25,grow:"down"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"4.5",y:"12.5",fill:"white",fontSize:"5",children:"空港线"}),g.jsx("text",{x:"4.5",y:"15",fill:"white",fontSize:"2",children:"Konggang Line"})]}),defaultAttrs:ae,attrsComponent:()=>g.jsx(t,{fields:oe}),metadata:{displayName:"panel.details.nodes.chongqingRTTextLineBadge.displayName",tags:[]}},re=11.84375,se={num:1,color:[l.Shenzhen,"sz1","#00b140",a.white],isBranch:!1},de={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=se.num,color:d=se.color,isBranch:c=se.isBranch}=null!=a?a:se,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]),x=d[3],p=c?10:re+(s>9?6.5:3),f=c?-1:0,y=c?11:re+(s>9?7:3.5),j=c?6:9.921875;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:32.84375,height:"16",rx:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:j,y:"13.5",fill:x,fontSize:"15",letterSpacing:"-1",children:s}),g.jsxs("text",{className:"rmp-name__zh",x:p,y:"9.5",fontSize:"6",fill:x,letterSpacing:f,children:["号线",c?"支线":""]}),g.jsxs("text",{className:"rmp-name__en",x:y,y:"13.5",fontSize:"3",fill:x,children:[c?"Branch":""," Line ",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),g.jsx("text",{x:"11",y:"14",fill:"white",fontSize:"5",children:"号线"}),g.jsx("text",{x:"12",y:"17",fill:"white",fontSize:"3",children:"Line 1"})]}),defaultAttrs:se,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.ShenzhenMetroNumLineBadge,defaultTheme:se.color}),minW:"full"},{type:"switch",label:a("panel.details.nodes.shenzhenMetroNumLineBadge.branch"),oneLine:!0,isChecked:t.isBranch,onChange:e=>{t.isBranch=e,l(n,t)},minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.shenzhenMetroNumLineBadge.displayName",tags:[]}},ce={num:1,color:[l.Singapore,"ewl","#009739",a.white]},me={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=ce.num,color:d=ce.color}=null!=a?a:ce,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3],x=d[2];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("circle",{r:"8",fill:x}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",x:"0",y:"0",width:"12",height:"12",fill:u,fontSize:"12",dominantBaseline:"central",letterSpacing:"-0.2",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:ce,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.MRTDestinationNumbers,defaultTheme:ce.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.mrtDestinationNumbers.displayName",tags:[]}},he={lineCode:"EWL",name:"East-West Line",lines:"1, 2, 3, airport",isTram:!1,color:[l.Singapore,"ewl","#009739",a.white]},ue={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{lineCode:s=he.lineCode,color:d=he.color,lines:c=he.lines,name:m=he.name,isTram:h=he.isTram}=null!=a?a:he,u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]),f=d[3],y=d[2];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{transform:"scale(1.8)",x:-11.425,y:-6.4675,rx:"3",ry:"6",width:22.85,height:12.935,fill:y,stroke:"white",strokeWidth:"1"}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:f,fontSize:"15",dominantBaseline:"central",letterSpacing:"-0.2",children:s}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"left",x:"28",y:h?3.5:-3,fill:"black",fontSize:"10",letterSpacing:"-0.2",children:m}),!h&&c.split(",").map(((e,n)=>g.jsx("g",{transform:`translate(${34+14*n}, 4.5)`,children:"airport"!==e.trim()?g.jsxs(g.Fragment,{children:[g.jsx("circle",{r:"6",fill:y}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:f,fontSize:"9",dominantBaseline:"central",letterSpacing:"-0.2",children:e})]}):g.jsxs("g",{transform:"translate(-6, -6) scale(4.5)",children:[g.jsx("path",{d:"M2.467 0H.226A.226.226 0 0 0 0 .226v2.241a.225.225 0 0 0 .226.225h2.241a.225.225 0 0 0 .225-.225V.226A.226.226 0 0 0 2.467 0",style:{fill:"#2d2a26"}}),g.jsx("path",{d:"M1.5.746v.3l.73.642a.08.08 0 0 1 .022.05v.12c0 .017-.012.025-.027.018L1.5 1.529l-.06.541.2.113a.03.03 0 0 1 .013.023V2.3a.01.01 0 0 1-.014.011l-.293-.091-.286.087a.01.01 0 0 1-.014-.007v-.09a.03.03 0 0 1 .013-.023l.2-.113-.059-.545-.724.348a.018.018 0 0 1-.028-.018v-.12a.07.07 0 0 1 .023-.05l.73-.642v-.3c0-.482.3-.482.3 0",style:{fill:"#fff",fillRule:"evenodd"}})]})},n)))]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:he,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.name,onChange:e=>{t.name=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.stations.common.lineCode"),value:t.lineCode,onChange:e=>{t.lineCode=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.mrtLineBadge.isTram"),isChecked:t.isTram,onChange:e=>{t.isTram=e,l(n,t)},minW:"full",oneLine:!0},...t.isTram?[]:[{type:"input",label:a("panel.details.nodes.common.num"),value:t.lines,onChange:e=>{t.lines=e,l(n,t)},minW:"full"}],{type:"custom",label:a("color"),component:g.jsx(o,{type:i.MRTLineBadge,defaultTheme:he.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.mrtLineBadge.displayName",tags:[]}},xe=5*Math.SQRT1_2,pe=.25,fe=(xe*Math.SQRT2-pe)/2*Math.SQRT2,ge={names:["山手線","Yamanote Line"],color:[l.Tokyo,"jy","#9ACD32",a.black],num:9,crosshatchPatternFill:!1},ye={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=ge.names,num:d=ge.num,color:c=ge.color,crosshatchPatternFill:m=ge.crosshatchPatternFill}=null!=a?a:ge,h=v.useRef(null),[u,x]=v.useState({height:10,width:12});v.useEffect((()=>x(h.current.getBBox())),[...s,x,h]);const p=v.useCallback((e=>o(n,e)),[n,o]),f=v.useCallback((e=>i(n,e)),[n,i]),y=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:p,onPointerMove:f,onPointerUp:y,style:{cursor:"move"},children:[g.jsxs("defs",{children:[g.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[g.jsx("polygon",{points:`0,0 0,${fe} ${fe},0`}),g.jsx("polygon",{points:`${xe},${xe} ${xe-fe},${xe} ${xe},${xe-fe}`})]}),g.jsxs("pattern",{id:`jr_east_${n}_fill_pattern_${c[2]}`,width:xe,height:xe,patternUnits:"userSpaceOnUse",children:[g.jsx("rect",{width:xe,height:xe,fill:c[2]}),g.jsx("line",{x1:"0",y1:"0",x2:xe,y2:xe,stroke:"white",strokeWidth:pe,strokeOpacity:"33%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),g.jsx("line",{x1:xe,y1:"0",x2:"0",y2:xe,stroke:"white",strokeWidth:pe,strokeOpacity:"33%"})]})]}),g.jsx("rect",{fill:m?`url(#jr_east_${n}_fill_pattern_${c[2]})`:c[2],x:"0",y:"-1",width:u.width+4+10,height:u.height+1,rx:"1",stroke:"black",strokeWidth:"0.25"}),g.jsx("circle",{r:4,cx:7,cy:6,stroke:"black",strokeWidth:"0.25",fill:c[3]}),g.jsx("text",{x:7,y:6.75,textAnchor:"middle",dominantBaseline:"middle",fill:"#000"===c[3]?"white":c[2],fontSize:d>9?7:8,className:"rmp-name__jreast_en",children:d}),g.jsx(P,{ref:h,text:s[0].split("\n"),x:12,y:"-1",fill:c[3],fontSize:10,lineHeight:10,grow:"down",className:"rmp-name__jreast_ja"}),g.jsx(P,{text:s[1].split("\n"),textAnchor:"middle",dominantBaseline:"hanging",x:(u.width+4+10)/2,y:u.height+1,fontSize:5,lineHeight:5,baseOffset:0,grow:"down",className:"rmp-name__jreast_en"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"1",y:"6",width:"22",height:"7"}),g.jsx("circle",{cx:"3.5",cy:"9.25",r:"2",fill:"white"}),g.jsx("text",{x:"3",y:"10.5",fontSize:"3",children:"9"}),g.jsx("text",{x:"6",y:"11.25",fontSize:"5",fill:"white",children:"山手線"}),g.jsx("text",{x:"1.5",y:"16",fontSize:"3",children:"Yamanote Line"})]}),defaultAttrs:ge,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"textarea",label:a("panel.details.nodes.common.nameJa"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"textarea",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.jrEastLineBadge.crosshatchPatternFill"),oneLine:!0,isChecked:t.crosshatchPatternFill,onChange:e=>{t.crosshatchPatternFill=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.JREastLineBadge,defaultTheme:ge.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.jrEastLineBadge.displayName",tags:[]}},je={num:1,numEn:"1",showText:!0,color:[l.Qingdao,"qd1","#f7b000",a.white]},be={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=je.num,numEn:d=je.numEn,color:c=je.color,showText:m=je.showText}=null!=a?a:je,h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]),p=c[3],[f,y,j,b]=Number(s)>=10?[-2.4,0,10.25,20]:[0,4,10,22];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:"20",height:"20",rx:"2",ry:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:y,y:j,fill:p,fontSize:b,fontWeight:"bold",letterSpacing:f,dominantBaseline:"central",children:s}),m&&g.jsxs(g.Fragment,{children:[g.jsx("text",{className:"rmp-name__zh",x:"22",y:"10.5",fontSize:"13",children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:"22.5",y:"19.5",fontSize:"8",children:["Line ",d]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",rx:"1",ry:"1",width:"10",height:"10"}),g.jsx("text",{x:"4",y:"15",fill:"white",fontSize:"12",children:"1"}),g.jsx("text",{x:"12",y:"11.5",fill:"black",fontSize:"6",children:"号线"}),g.jsx("text",{x:"12",y:"15.5",fill:"black",fontSize:"4",children:"Line1"})]}),defaultAttrs:je,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:t.num.toString(),onChange:e=>{t.num=Number(e),t.numEn=e,l(n,t)}},{type:"input",label:a("panel.details.nodes.qingdaoMetroNumLineBadge.numEn"),value:t.numEn.toString(),onChange:e=>{t.numEn=e,l(n,t)}},{type:"switch",label:a("panel.details.nodes.qingdaoMetroNumLineBadge.showText"),isChecked:t.showText,oneLine:!0,onChange:e=>{t.showText=e,l(n,t)}},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.QingdaoMetroNumLineBadge,defaultTheme:je.color})}];return g.jsx(r,{fields:s,minW:"full"})},metadata:{displayName:"panel.details.nodes.qingdaoMetroNumLineBadge.displayName",tags:[]}},we={names:["广清城际","Guangzhou-Qingyuan Intercity"],color:[l.Guangzhou,"ir","#2559a8",a.white]},ve={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=we.names,color:d=we.color}=null!=a?a:we,c=v.useRef(null),[m,h]=v.useState({width:12});v.useEffect((()=>h(c.current.getBBox())),[...s,h,c]);const u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{rx:"2",ry:"2",fill:d[2],x:"0",width:m.width+7,height:"21"}),g.jsxs("g",{ref:c,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"3",fontSize:"8.63",fill:d[3],children:s[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"14",fontSize:"3.54",fill:d[3],children:s[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),g.jsx("text",{x:"4.5",y:"11",fontSize:"4",fill:"white",children:"广清城际"}),g.jsx("text",{x:"3",y:"16",fontSize:"2",fill:"white",children:"Guangzhou-Qingyuan Intercity"})]}),defaultAttrs:we,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),o=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"}];return g.jsx(r,{fields:o})},metadata:{displayName:"panel.details.nodes.guangdongIntercityRailwayLineBadge.displayName",tags:[]}},Ne=`M0,0 L-10,-10 L${5*Math.SQRT2-10},-10 L${5*Math.SQRT2},0 L${5*Math.SQRT2-10},10 L-10,10 Z`,Ce={color:[l.London,"thameslink","#d28db0",a.white],rotate:0,type:"continuation"},Pe={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{color:s=Ce.color,rotate:d=Ce.rotate,type:c=Ce.type}=null!=a?a:Ce,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]);return g.jsx("g",{id:n,transform:`translate(${t}, ${l})rotate(${d})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:"continuation"===c?g.jsx("path",{id:`virtual_circle_${n}`,fill:s[2],d:Ne}):"sandwich"===c?g.jsx("path",{transform:"scale(0.5)",id:`virtual_circle_${n}`,stroke:"white",strokeWidth:"1",fill:s[2],d:Ne}):g.jsx("path",{transform:"scale(0.25)",id:`virtual_circle_${n}`,fill:"white",d:Ne})})},icon:g.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:g.jsx("path",{transform:"translate(14,12)scale(0.75)",fill:"currentColor",d:Ne})}),defaultAttrs:Ce,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"select",label:a("panel.details.stations.common.rotate"),value:t.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{t.rotate=Number(e),l(n,t)},minW:"full"},{type:"select",label:a("panel.details.nodes.londonArrow.type"),value:t.type,options:{continuation:a("panel.details.nodes.londonArrow.continuation"),sandwich:a("panel.details.nodes.londonArrow.sandwich"),tube:a("panel.details.nodes.londonArrow.tube")},onChange:e=>{t.type=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.LondonArrow,defaultTheme:Ce.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.londonArrow.displayName",tags:[]}},Se={contents:{},...S},Be={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,s=_();a.content=s(a.contents);const d=B.component;return g.jsx(d,{id:n,x:t,y:l,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r,attrs:a})},icon:B.icon,defaultAttrs:Se,attrsComponent:B.attrsComponent,metadata:{displayName:"panel.details.nodes.i18nText.displayName",tags:[]}},_e={randomId:void 0,label:void 0,transform:s,nodeType:"MiscNode",svgs:[],components:[]},ke={component:e=>{var n;const{id:t,x:l,y:a,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:d}=e,c=v.useCallback((e=>i(t,e)),[t,i]),m=v.useCallback((e=>r(t,e)),[t,r]),h=v.useCallback((e=>d(t,e)),[t,d]),u=(e,...n)=>new Function(...n,`return ${e}`),x="MiscNode"===o.nodeType?{onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"}}:{},p=e=>e.map((e=>{var n,l;const a="Station"===o.nodeType&&o.core&&o.core===e.id?{id:`stn_core_${t}`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"}}:{},i=((e,n,t)=>{const l={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))try{var a;l[r]=u(e[r].slice(1),...o.components.map((e=>e.label)),"color")(...n.map(((e,n)=>"number"!==t[n]||Number.isNaN(Number(e))?e:Number(e))),o.color?null!==(a=o.color.value)&&void 0!==a?a:o.color.defaultValue:"")}catch(i){l[r]=""}return l})(e.attrs,o.components.map((e=>e.value)),o.components.map((e=>e.type)));return g.jsx("g",{transform:`translate(${null!==(n=i.x)&&void 0!==n?n:0}, ${null!==(l=i.y)&&void 0!==l?l:0})`,children:v.createElement(e.type,{...i,x:0,y:0,...a},e.children?p(e.children):"_rmp_children_text"in i?"style"===e.type?(r=i._rmp_children_text,r.replace(/(^|,)\s*([^{},]+)/g,`$1 #${t} $2`)):i._rmp_children_text:null)},e.id);var r})),f=null!==(n=o.transform)&&void 0!==n?n:s,y=v.useMemo((()=>p(o.svgs)),[o]);return v.createElement("g",{id:t,transform:`translate(${l}, ${a})`,...x},o.randomId?g.jsx("g",{transform:`translate(${f.translateX}, ${f.translateY}) scale(${f.scale}) rotate(${f.rotate})`,children:y}):g.jsxs("g",{children:[g.jsx("circle",{r:"5.5"}),g.jsx("g",{transform:"translate(-4.7, -5) scale(0.8)",children:g.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"white"})})]}))},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),g.jsx("g",{transform:"translate(7.25, 7) scale(0.8)",children:g.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"currentColor"})})]}),defaultAttrs:_e,attrsComponent:e=>{var n,t,l,o,i;const{id:s,attrs:C,handleAttrsUpdate:P}=e,S=d(),{paletteAppClip:{output:B}}=c((e=>e.runtime)),{t:_}=N(),[L,A]=v.useState(!1),[M,$]=v.useState(!1),T=C.components.map(((e,n)=>{const{label:t,type:l,defaultValue:a,value:o}=e;return"number"===l||"text"===l?{label:_(t),type:"input",value:null!=o?o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:"switch"===l?{label:_(t),type:"switch",isChecked:void 0!==o?!!o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:"textarea"===l?{label:_(t),type:"textarea",value:null!=o?o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:{type:"input",label:"undefined",value:"none"}})),[U,D]=v.useState(!1);v.useEffect((()=>{C.color&&U&&B&&(C.color.value=B,P(s,{...C,color:C.color}),D(!1))}),[null==B?void 0:B.toString()]);const W=[{type:"custom",label:_("color"),component:g.jsx(m,{theme:null===(n=C.color)||void 0===n?void 0:n.value,onClick:()=>{var e;D(!0),S(h(null===(e=C.color)||void 0===e?void 0:e.value))}})}];return g.jsxs(g.Fragment,{children:[g.jsxs(y,{direction:"row",mr:"auto",width:"100%",children:[g.jsx(u,{width:"100%",overflow:"hidden",label:_("panel.details.nodes.master.type"),children:g.jsxs(y,{width:"100%",overflow:"hidden",children:[g.jsx(x,{name:null!==(t=C.label)&&void 0!==t?t:_("panel.details.nodes.master.undefined"),fg:null!==(l=C.labelColorFg)&&void 0!==l?l:a.white,bg:null!==(o=C.labelColorBg)&&void 0!==o?o:"#000000",sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"},mr:1}),g.jsx(x,{name:null!==(i=C.randomId)&&void 0!==i?i:"UNDEFINED",fg:a.white,bg:C.randomId?"#19B3EA":"#000000",sx:{display:"inline-block"},mr:1})]})}),g.jsx(j,{}),g.jsx(b,{icon:g.jsx(p,{}),onClick:()=>A(!0),"aria-label":"upload"})]}),g.jsx(w,{width:"100%",leftIcon:g.jsx(f,{}),onClick:()=>$(!0),children:_("header.settings.procedures.masterManager.title")}),C.randomId&&g.jsx(r,{fields:T,minW:"full"}),C.randomId&&void 0!==C.color&&g.jsx(r,{fields:W,minW:"full"}),g.jsx(k,{isOpen:L,onClose:()=>A(!1),onSubmit:e=>{e.components.forEach(((n,t)=>{var l;e.components[t].value=null!==(l=(e=>{var n;const t=C.components.find((n=>n.id===e));return t?null!==(n=t.value)&&void 0!==n?n:t.defaultValue:void 0})(n.id))&&void 0!==l?l:n.defaultValue})),void 0!==e.color&&(e.color.value=C.color?C.color.value:e.color.defaultValue),P(s,e)}}),g.jsx(z,{isOpen:M,onClose:()=>$(!1)})]})},metadata:{displayName:"panel.details.nodes.master.displayName",tags:[]}};e("m",{[i.Virtual]:n,[i.ShmetroNumLineBadge]:$,[i.ShmetroTextLineBadge]:U,[i.GzmtrLineBadge]:W,[i.BjsubwayNumLineBadge]:I,[i.BjsubwayTextLineBadge]:Q,[i.SuzhouRTNumLineBadge]:Z,[i.BerlinSBahnLineBadge]:ee,[i.BerlinUBahnLineBadge]:Y,[i.ChongqingRTNumLineBadge]:le,[i.ChongqingRTTextLineBadge]:ie,[i.ShenzhenMetroNumLineBadge]:de,[i.MRTDestinationNumbers]:me,[i.MRTLineBadge]:ue,[i.JREastLineBadge]:ye,[i.QingdaoMetroNumLineBadge]:be,[i.GuangdongIntercityRailwayLineBadge]:ve,[i.LondonArrow]:Pe,[i.Facilities]:L,[i.Text]:B,[i.I18nText]:Be,[i.Master]:ke})}}})); +System.register(["./index-legacy-BdzZVG-I.js","./chakra-legacy-DsJcG_7N.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-DBszGOWt.js"],(function(e,n){"use strict";var t,l,a,o,i,r,s,d,c,m,h,u,x,p,f,g,y,j,b,w,v,N,C,P,S,B,_,k,z,L;return{setters:[e=>{t=e.aR,l=e.C,a=e.M,o=e.aS,i=e.av,r=e.i,s=e.aT,d=e.c,c=e.d,m=e.V,h=e.W,u=e.P,x=e.R,p=e.D,f=e.ak},e=>{g=e.j,y=e.g,j=e.a$,b=e.af,w=e.O},e=>{v=e.b,N=e.u},e=>{C=e.L,P=e.g,S=e.h,B=e.t,_=e.j,k=e.k,z=e.M,L=e.n}],execute:function(){const n={component:e=>{const{id:n,x:t,y:l,handlePointerDown:a,handlePointerMove:o,handlePointerUp:i}=e,r=v.useCallback((e=>a(n,e)),[n,a]),s=v.useCallback((e=>o(n,e)),[n,o]),d=v.useCallback((e=>i(n,e)),[n,i]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})rotate(45)`,onPointerDown:r,onPointerMove:s,onPointerUp:d,style:{cursor:"move"},className:"removeMe",children:[g.jsx("line",{x1:"-5",y1:"0",x2:"5",y2:"0",stroke:"black"}),g.jsx("line",{x1:"0",y1:"-5",x2:"0",y2:"5",stroke:"black"}),g.jsx("circle",{id:`virtual_circle_${n}`,r:5,stroke:"black",fill:"white",fillOpacity:"0"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,transform:"rotate(45)",focusable:!1,children:[g.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),g.jsx("line",{x1:"6",y1:"12",x2:"18",y2:"12",stroke:"currentColor"}),g.jsx("line",{x1:"12",y1:"6",x2:"12",y2:"18",stroke:"currentColor"})]}),defaultAttrs:{},attrsComponent:()=>g.jsx(t,{fields:[]}),metadata:{displayName:"panel.details.nodes.virtual.displayName",tags:[]}},A={num:1,color:[l.Shanghai,"sh1","#E4002B",a.white]},M=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:A).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:A;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ShmetroNumLineBadge,defaultTheme:A.color})}],$={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=A.num,color:d=A.color}=null!=a?a:A,[c,m]=s>=10?[22.67,10.75]:[21,10],h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],width:c,height:"22.67"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:m,y:"19",fill:d[3],fontSize:"21.33",letterSpacing:"-1.75",children:s}),g.jsx("text",{className:"rmp-name__zh",x:c+2,y:"12",fontSize:"14.67",children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:c+4,y:"21.5",fontSize:"8",children:["Line ",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"10",height:"16"}),g.jsx("text",{x:"4",y:"18",fill:"white",children:"1"}),g.jsx("text",{x:"14",y:"10",fontSize:"5",children:"号线"}),g.jsx("text",{x:"14",y:"18",fontSize:"4",children:"Line 1"})]}),defaultAttrs:A,attrsComponent:()=>g.jsx(t,{fields:M}),metadata:{displayName:"panel.details.nodes.shmetroNumLineBadge.displayName",tags:[]}},T={names:["浦江线","Pujiang Line"],color:[l.Shanghai,"pjl","#B5B5B6",a.white]},U={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=T.names,color:d=T.color}=null!=a?a:T,c=v.useRef(null),[m,h]=v.useState({width:12});v.useEffect((()=>h(c.current.getBBox())),[...s,h,c]);const u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:m.width+7,height:"21"}),g.jsxs("g",{ref:c,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"3",fontSize:"10",fill:d[3],letterSpacing:"-0.25",children:s[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"14",fontSize:"5",fill:d[3],letterSpacing:"-0.25",children:s[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),g.jsx("text",{x:"5",y:"11",fontSize:"5",fill:"white",children:"浦江线"}),g.jsx("text",{x:"3",y:"16",fontSize:"4",fill:"white",children:"Pujiang Line"})]}),defaultAttrs:T,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.ShmetroTextLineBadge,defaultTheme:T.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.shmetroTextLineBadge.displayName",tags:[]}},D={names:["1号线","Line 1"],color:[l.Guangzhou,"gz1","#F3D03E",a.black],tram:!1,span:!0},W={component:e=>{var n,t;const{id:l,x:a,y:o,attrs:i,handlePointerDown:r,handlePointerMove:s,handlePointerUp:d}=e,{names:c=D.names,color:m=D.color,tram:h=D.tram,span:u=D.span}=null!=i?i:D,x=v.useCallback((e=>r(l,e)),[l,r]),p=v.useCallback((e=>s(l,e)),[l,s]),f=v.useCallback((e=>d(l,e)),[l,d]);return g.jsx("g",{id:l,transform:`translate(${a}, ${o})scale(${h?.5:1})`,onPointerDown:x,onPointerMove:p,onPointerUp:f,style:{cursor:"move"},children:g.jsx(C,{zhName:null!==(n=c.at(0))&&void 0!==n?n:"",enName:null!==(t=c.at(1))&&void 0!==t?t:"",zhClassName:"rmp-name__zh",enClassName:"rmp-name__en",foregroundColour:m[3],backgroundColour:m[2],spanDigits:u})})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"5",width:"20",height:"14",rx:"1"}),g.jsx("text",{x:"6",y:"15",textAnchor:"middle",fontSize:"10",fill:"white",children:"1"}),g.jsx("text",{x:"15",y:"12",textAnchor:"middle",fontSize:"6",fill:"white",children:"号线"}),g.jsx("text",{x:"14.5",y:"17",textAnchor:"middle",fontSize:"4",fill:"white",children:"Line 1"})]}),defaultAttrs:D,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.gzmtrLineBadge.tram"),oneLine:!0,isChecked:t.tram,onChange:e=>{t.tram=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.gzmtrLineBadge.span"),oneLine:!0,isChecked:t.span,onChange:e=>{t.span=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.GzmtrLineBadge,defaultTheme:D.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.gzmtrLineBadge.displayName",tags:[]}},E=11.84375,R={num:1,color:[l.Beijing,"bj1","#c23a30",a.white]},F=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:R).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:R;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BjsubwayNumLineBadge,defaultTheme:R.color})}],I={component:e=>{const{id:n,x:t,y:l,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:s}=e,{num:d=R.num,color:c=R.color}=null!=o?o:R,m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=v.useCallback((e=>s(n,e)),[n,s]),x=c[3]===a.black?"#003670":a.white;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:32.84375,height:"16",rx:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:7.921875,y:"13.5",fill:x,fontSize:"15",letterSpacing:"-1.5",children:d}),g.jsx("text",{className:"rmp-name__zh",x:E+(d>9?5.5:3),y:"8.5",fontSize:"7",fill:x,children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:E+(d>9?6:4.5),y:"13.5",fontSize:"4",fill:x,children:["Line ",d]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),g.jsx("text",{x:"11",y:"11",fill:"white",fontSize:"5",children:"号线"}),g.jsx("text",{x:"11",y:"17",fill:"white",fontSize:"4",children:"Line 1"})]}),defaultAttrs:R,attrsComponent:()=>g.jsx(t,{fields:F}),metadata:{displayName:"panel.details.nodes.bjsubwayNumLineBadge.displayName",tags:[]}},q={names:["八通线","Batong Line"],color:[l.Beijing,"bj1","#c23a30",a.white]},O=[{type:"input",label:"panel.details.nodes.common.nameZh",value:e=>(null!=e?e:q).names[0],onChange:(e,n)=>{const t=null!=n?n:q;return t.names[0]=e.toString(),t}},{type:"input",label:"panel.details.nodes.common.nameEn",value:e=>(null!=e?e:q).names[1],onChange:(e,n)=>{const t=null!=n?n:q;return t.names[1]=e.toString(),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BjsubwayTextLineBadge,defaultTheme:q.color})}],Q={component:e=>{const{id:n,x:t,y:l,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:s}=e,{names:d=q.names,color:c=q.color}=null!=o?o:q,m=v.useRef(null),[h,u]=v.useState({width:12});v.useEffect((()=>u(m.current.getBBox())),[...d,u,m]);const x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]),f=v.useCallback((e=>s(n,e)),[n,s]),y=Math.max(28.84375,h.width),j=c[3]===a.black?"#003670":a.white;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:x,onPointerMove:p,onPointerUp:f,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:y+4,height:"16",rx:"2"}),g.jsxs("g",{ref:m,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:(y+4)/2,y:"8",fontSize:"7",fill:j,children:d[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",x:(y+4)/2,y:"13.5",fontSize:"4",fill:j,children:d[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12",rx:"2"}),g.jsx("text",{x:"3",y:"12",fontSize:"6",fill:"white",children:"八通线"}),g.jsx("text",{x:"3",y:"16",fontSize:"3.2",fill:"white",children:"Batong Line"})]}),defaultAttrs:q,attrsComponent:()=>g.jsx(t,{fields:O}),metadata:{displayName:"panel.details.nodes.bjsubwayTextLineBadge.displayName",tags:[]}},V={num:1,branch:!1,color:[l.Suzhou,"sz1","#78BA25",a.white]},G=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:V).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:V;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"switch",label:"panel.details.nodes.suzhouRTNumLineBadge.branch",isChecked:e=>{var n;return null!==(n=null==e?void 0:e.branch)&&void 0!==n?n:V.branch},onChange:(e,n)=>{const t=null!=n?n:V;return t.branch=e,t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.SuzhouRTNumLineBadge,defaultTheme:V.color})}],Z={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=V.num,branch:d=V.branch,color:c=V.color}=null!=a?a:V,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],width:"20",height:"20",rx:"2",ry:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"middle",x:"10",y:"11.4",fill:c[3],fontSize:"15",letterSpacing:"-1",children:s}),d&&g.jsxs(g.Fragment,{children:[g.jsx("text",{className:"rmp-name__zh",x:22.5,y:"10",fontSize:"10",children:"支线"}),g.jsx("text",{className:"rmp-name__en",x:22.5,y:"18",fontSize:"5",fill:"gray",children:"Branch line"})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"4",y:"4",width:"16",height:"16",rx:"3",ry:"3"}),g.jsx("text",{x:"12",y:"13.4",textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:V,attrsComponent:()=>g.jsx(t,{fields:G}),metadata:{displayName:"panel.details.nodes.suzhouRTNumLineBadge.displayName",tags:[]}},H={num:1,color:[l.Berlin,"bu1","#62AD2D",a.white]},J=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:H).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:H;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BerlinUBahnLineBadge,defaultTheme:H.color})}],Y={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=H.num,color:d=H.color}=null!=a?a:H,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"25",height:"15"}),g.jsxs("text",{className:"rmp-name__berlin",textAnchor:"middle",x:"12.5",y:"12.5",fill:u,fontSize:"14",letterSpacing:"1",children:["U",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"U1"})]}),defaultAttrs:H,attrsComponent:()=>g.jsx(t,{fields:J}),metadata:{displayName:"panel.details.nodes.berlinUBahnLineBadge.displayName",tags:[]}},K={num:1,color:[l.Berlin,"bs1","#DD6CA6",a.white]},X=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:K).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:K;return Number.isNaN(e)||(t.num=Number(e)),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.BerlinSBahnLineBadge,defaultTheme:K.color})}],ee={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=K.num,color:d=K.color}=null!=a?a:K,[c,m]=s>=10?[6,19.75]:[10,20],h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]),p=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"30",height:"15",rx:"8"}),g.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:c,y:"12.5",fill:p,fontSize:"14",letterSpacing:"0",children:"S"}),g.jsx("text",{className:"rmp-name__berlin",textAnchor:"middle",x:m,y:"12.5",fill:p,fontSize:"14",letterSpacing:"-0.2",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"8"}),g.jsx("text",{x:"4.5",y:"16.5",fill:"white",fontSize:"14",children:"S1"})]}),defaultAttrs:K,attrsComponent:()=>g.jsx(t,{fields:X}),metadata:{displayName:"panel.details.nodes.berlinSBahnLineBadge.displayName",tags:[]}},ne={num:1,color:[l.Chongqing,"cq1","#e4002b",a.white]},te=[{type:"input",label:"panel.details.nodes.common.num",value:e=>(null!=e?e:ne).num,validator:e=>!Number.isNaN(e),onChange:(e,n)=>{const t=null!=n?n:ne;return Number.isNaN(Number(e))?t.num=e:t.num=Number(e),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ChongqingRTNumLineBadge,defaultTheme:ne.color})}],le={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=ne.num,color:d=ne.color}=null!=a?a:ne,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3],x=Number.isInteger(s)?16:15,[p,f]=Number.isInteger(s)?Number(s)>=10?[-1.2,1.5]:[0,5.5]:[0,2.55];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:f,y:"10",fill:u,fontSize:x,letterSpacing:p,dominantBaseline:"central",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"8",y:"18",fill:"white",fontSize:"18",children:"1"})]}),defaultAttrs:ne,attrsComponent:()=>g.jsx(t,{fields:te}),metadata:{displayName:"panel.details.nodes.chongqingRTNumLineBadge.displayName",tags:[]}},ae={names:["空港线","Konggang Line"],color:[l.Chongqing,"cq3","#003da5",a.white]},oe=[{type:"input",label:"panel.details.nodes.common.nameZh",value:e=>(null!=e?e:ae).names[0],onChange:(e,n)=>{const t=null!=n?n:ae;return t.names[0]=e.toString(),t}},{type:"textarea",label:"panel.details.nodes.common.nameEn",value:e=>(null!=e?e:ae).names[1],onChange:(e,n)=>{const t=null!=n?n:ae;return t.names[1]=e.toString(),t}},{type:"custom",label:"color",component:g.jsx(o,{type:i.ChongqingRTTextLineBadge,defaultTheme:ae.color})}],ie={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=ae.names,color:d=ae.color}=null!=a?a:ae,c=v.useRef(null),m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]),x=d[3];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:"20",height:"20",rx:"10",ry:"10"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:"10",y:"10.5",fill:x,fontSize:"6",letterSpacing:"0",children:s[0]}),g.jsx(P,{ref:c,text:s[1].split("\n"),className:"rmp-name__en",textAnchor:"middle",x:"10",y:"9.25",fill:x,fontSize:"2.5",letterSpacing:"0",lineHeight:2.25,grow:"down"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"4.5",y:"12.5",fill:"white",fontSize:"5",children:"空港线"}),g.jsx("text",{x:"4.5",y:"15",fill:"white",fontSize:"2",children:"Konggang Line"})]}),defaultAttrs:ae,attrsComponent:()=>g.jsx(t,{fields:oe}),metadata:{displayName:"panel.details.nodes.chongqingRTTextLineBadge.displayName",tags:[]}},re=11.84375,se={num:1,color:[l.Shenzhen,"sz1","#00b140",a.white],isBranch:!1},de={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=se.num,color:d=se.color,isBranch:c=se.isBranch}=null!=a?a:se,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]),x=d[3],p=c?10:re+(s>9?6.5:3),f=c?-1:0,y=c?11:re+(s>9?7:3.5),j=c?6:9.921875;return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:[g.jsx("rect",{fill:d[2],x:"0",width:32.84375,height:"16",rx:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",x:j,y:"13.5",fill:x,fontSize:"15",letterSpacing:"-1",children:s}),g.jsxs("text",{className:"rmp-name__zh",x:p,y:"9.5",fontSize:"6",fill:x,letterSpacing:f,children:["号线",c?"支线":""]}),g.jsxs("text",{className:"rmp-name__en",x:y,y:"13.5",fontSize:"3",fill:x,children:[c?"Branch":""," Line ",s]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"4",width:"20",height:"16",rx:"2"}),g.jsx("text",{x:"4",y:"17",fill:"white",fontSize:"14",children:"1"}),g.jsx("text",{x:"11",y:"14",fill:"white",fontSize:"5",children:"号线"}),g.jsx("text",{x:"12",y:"17",fill:"white",fontSize:"3",children:"Line 1"})]}),defaultAttrs:se,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.ShenzhenMetroNumLineBadge,defaultTheme:se.color}),minW:"full"},{type:"switch",label:a("panel.details.nodes.shenzhenMetroNumLineBadge.branch"),oneLine:!0,isChecked:t.isBranch,onChange:e=>{t.isBranch=e,l(n,t)},minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.shenzhenMetroNumLineBadge.displayName",tags:[]}},ce={num:1,color:[l.Singapore,"ewl","#009739",a.white]},me={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=ce.num,color:d=ce.color}=null!=a?a:ce,c=v.useCallback((e=>o(n,e)),[n,o]),m=v.useCallback((e=>i(n,e)),[n,i]),h=v.useCallback((e=>r(n,e)),[n,r]),u=d[3],x=d[2];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"},children:[g.jsx("circle",{r:"8",fill:x}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",x:"0",y:"0",width:"12",height:"12",fill:u,fontSize:"12",dominantBaseline:"central",letterSpacing:"-0.2",children:s})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:ce,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.MRTDestinationNumbers,defaultTheme:ce.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.mrtDestinationNumbers.displayName",tags:[]}},he={lineCode:"EWL",name:"East-West Line",lines:"1, 2, 3, airport",isTram:!1,color:[l.Singapore,"ewl","#009739",a.white]},ue={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{lineCode:s=he.lineCode,color:d=he.color,lines:c=he.lines,name:m=he.name,isTram:h=he.isTram}=null!=a?a:he,u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]),f=d[3],y=d[2];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{transform:"scale(1.8)",x:-11.425,y:-6.4675,rx:"3",ry:"6",width:22.85,height:12.935,fill:y,stroke:"white",strokeWidth:"1"}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:f,fontSize:"15",dominantBaseline:"central",letterSpacing:"-0.2",children:s}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"left",x:"28",y:h?3.5:-3,fill:"black",fontSize:"10",letterSpacing:"-0.2",children:m}),!h&&c.split(",").map(((e,n)=>g.jsx("g",{transform:`translate(${34+14*n}, 4.5)`,children:"airport"!==e.trim()?g.jsxs(g.Fragment,{children:[g.jsx("circle",{r:"6",fill:y}),g.jsx("text",{className:"rmp-name__mrt",textAnchor:"middle",fill:f,fontSize:"9",dominantBaseline:"central",letterSpacing:"-0.2",children:e})]}):g.jsxs("g",{transform:"translate(-6, -6) scale(4.5)",children:[g.jsx("path",{d:"M2.467 0H.226A.226.226 0 0 0 0 .226v2.241a.225.225 0 0 0 .226.225h2.241a.225.225 0 0 0 .225-.225V.226A.226.226 0 0 0 2.467 0",style:{fill:"#2d2a26"}}),g.jsx("path",{d:"M1.5.746v.3l.73.642a.08.08 0 0 1 .022.05v.12c0 .017-.012.025-.027.018L1.5 1.529l-.06.541.2.113a.03.03 0 0 1 .013.023V2.3a.01.01 0 0 1-.014.011l-.293-.091-.286.087a.01.01 0 0 1-.014-.007v-.09a.03.03 0 0 1 .013-.023l.2-.113-.059-.545-.724.348a.018.018 0 0 1-.028-.018v-.12a.07.07 0 0 1 .023-.05l.73-.642v-.3c0-.482.3-.482.3 0",style:{fill:"#fff",fillRule:"evenodd"}})]})},n)))]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"2",rx:"10",ry:"10",width:"20",height:"20"}),g.jsx("text",{x:"9",y:"17",fill:"white",fontSize:"14",children:"1"})]}),defaultAttrs:he,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.name,onChange:e=>{t.name=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.stations.common.lineCode"),value:t.lineCode,onChange:e=>{t.lineCode=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.mrtLineBadge.isTram"),isChecked:t.isTram,onChange:e=>{t.isTram=e,l(n,t)},minW:"full",oneLine:!0},...t.isTram?[]:[{type:"input",label:a("panel.details.nodes.common.num"),value:t.lines,onChange:e=>{t.lines=e,l(n,t)},minW:"full"}],{type:"custom",label:a("color"),component:g.jsx(o,{type:i.MRTLineBadge,defaultTheme:he.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.mrtLineBadge.displayName",tags:[]}},xe=5*Math.SQRT1_2,pe=.25,fe=(xe*Math.SQRT2-pe)/2*Math.SQRT2,ge={names:["山手線","Yamanote Line"],color:[l.Tokyo,"jy","#9ACD32",a.black],num:9,crosshatchPatternFill:!1},ye={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=ge.names,num:d=ge.num,color:c=ge.color,crosshatchPatternFill:m=ge.crosshatchPatternFill}=null!=a?a:ge,h=v.useRef(null),[u,x]=v.useState({height:10,width:12});v.useEffect((()=>x(h.current.getBBox())),[...s,x,h]);const p=v.useCallback((e=>o(n,e)),[n,o]),f=v.useCallback((e=>i(n,e)),[n,i]),y=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:p,onPointerMove:f,onPointerUp:y,style:{cursor:"move"},children:[g.jsxs("defs",{children:[g.jsxs("clipPath",{id:"jr_east_fill_pattern_clip_path",patternUnits:"userSpaceOnUse",children:[g.jsx("polygon",{points:`0,0 0,${fe} ${fe},0`}),g.jsx("polygon",{points:`${xe},${xe} ${xe-fe},${xe} ${xe},${xe-fe}`})]}),g.jsxs("pattern",{id:`jr_east_${n}_fill_pattern_${c[2]}`,width:xe,height:xe,patternUnits:"userSpaceOnUse",children:[g.jsx("rect",{width:xe,height:xe,fill:c[2]}),g.jsx("line",{x1:"0",y1:"0",x2:xe,y2:xe,stroke:"white",strokeWidth:pe,strokeOpacity:"33%",clipPath:"url(#jr_east_fill_pattern_clip_path)"}),g.jsx("line",{x1:xe,y1:"0",x2:"0",y2:xe,stroke:"white",strokeWidth:pe,strokeOpacity:"33%"})]})]}),g.jsx("rect",{fill:m?`url(#jr_east_${n}_fill_pattern_${c[2]})`:c[2],x:"0",y:"-1",width:u.width+4+10,height:u.height+1,rx:"1",stroke:"black",strokeWidth:"0.25"}),g.jsx("circle",{r:4,cx:7,cy:6,stroke:"black",strokeWidth:"0.25",fill:c[3]}),g.jsx("text",{x:7,y:6.75,textAnchor:"middle",dominantBaseline:"middle",fill:"#000"===c[3]?"white":c[2],fontSize:d>9?7:8,className:"rmp-name__jreast_en",children:d}),g.jsx(P,{ref:h,text:s[0].split("\n"),x:12,y:"-1",fill:c[3],fontSize:10,lineHeight:10,grow:"down",className:"rmp-name__jreast_ja"}),g.jsx(P,{text:s[1].split("\n"),textAnchor:"middle",dominantBaseline:"hanging",x:(u.width+4+10)/2,y:u.height+1,fontSize:5,lineHeight:5,baseOffset:0,grow:"down",className:"rmp-name__jreast_en"})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"1",y:"6",width:"22",height:"7"}),g.jsx("circle",{cx:"3.5",cy:"9.25",r:"2",fill:"white"}),g.jsx("text",{x:"3",y:"10.5",fontSize:"3",children:"9"}),g.jsx("text",{x:"6",y:"11.25",fontSize:"5",fill:"white",children:"山手線"}),g.jsx("text",{x:"1.5",y:"16",fontSize:"3",children:"Yamanote Line"})]}),defaultAttrs:ge,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:String(t.num),validator:e=>!Number.isNaN(e),onChange:e=>{t.num=Number(e),l(n,t)},minW:"full"},{type:"textarea",label:a("panel.details.nodes.common.nameJa"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"textarea",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"},{type:"switch",label:a("panel.details.nodes.jrEastLineBadge.crosshatchPatternFill"),oneLine:!0,isChecked:t.crosshatchPatternFill,onChange:e=>{t.crosshatchPatternFill=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.JREastLineBadge,defaultTheme:ge.color})}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.jrEastLineBadge.displayName",tags:[]}},je={num:1,numEn:"1",showText:!0,color:[l.Qingdao,"qd1","#f7b000",a.white]},be={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{num:s=je.num,numEn:d=je.numEn,color:c=je.color,showText:m=je.showText}=null!=a?a:je,h=v.useCallback((e=>o(n,e)),[n,o]),u=v.useCallback((e=>i(n,e)),[n,i]),x=v.useCallback((e=>r(n,e)),[n,r]),p=c[3],[f,y,j,b]=Number(s)>=10?[-2.4,0,10.25,20]:[0,4,10,22];return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:h,onPointerMove:u,onPointerUp:x,style:{cursor:"move"},children:[g.jsx("rect",{fill:c[2],x:"0",width:"20",height:"20",rx:"2",ry:"2"}),g.jsx("text",{className:"rmp-name__zh",textAnchor:"left",x:y,y:j,fill:p,fontSize:b,fontWeight:"bold",letterSpacing:f,dominantBaseline:"central",children:s}),m&&g.jsxs(g.Fragment,{children:[g.jsx("text",{className:"rmp-name__zh",x:"22",y:"10.5",fontSize:"13",children:"号线"}),g.jsxs("text",{className:"rmp-name__en",x:"22.5",y:"19.5",fontSize:"8",children:["Line ",d]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",rx:"1",ry:"1",width:"10",height:"10"}),g.jsx("text",{x:"4",y:"15",fill:"white",fontSize:"12",children:"1"}),g.jsx("text",{x:"12",y:"11.5",fill:"black",fontSize:"6",children:"号线"}),g.jsx("text",{x:"12",y:"15.5",fill:"black",fontSize:"4",children:"Line1"})]}),defaultAttrs:je,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"input",label:a("panel.details.nodes.common.num"),value:t.num.toString(),onChange:e=>{t.num=Number(e),t.numEn=e,l(n,t)}},{type:"input",label:a("panel.details.nodes.qingdaoMetroNumLineBadge.numEn"),value:t.numEn.toString(),onChange:e=>{t.numEn=e,l(n,t)}},{type:"switch",label:a("panel.details.nodes.qingdaoMetroNumLineBadge.showText"),isChecked:t.showText,oneLine:!0,onChange:e=>{t.showText=e,l(n,t)}},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.QingdaoMetroNumLineBadge,defaultTheme:je.color})}];return g.jsx(r,{fields:s,minW:"full"})},metadata:{displayName:"panel.details.nodes.qingdaoMetroNumLineBadge.displayName",tags:[]}},we={names:["广清城际","Guangzhou-Qingyuan Intercity"],color:[l.Guangzhou,"ir","#2559a8",a.white]},ve={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{names:s=we.names,color:d=we.color}=null!=a?a:we,c=v.useRef(null),[m,h]=v.useState({width:12});v.useEffect((()=>h(c.current.getBBox())),[...s,h,c]);const u=v.useCallback((e=>o(n,e)),[n,o]),x=v.useCallback((e=>i(n,e)),[n,i]),p=v.useCallback((e=>r(n,e)),[n,r]);return g.jsxs("g",{id:n,transform:`translate(${t}, ${l})`,onPointerDown:u,onPointerMove:x,onPointerUp:p,style:{cursor:"move"},children:[g.jsx("rect",{rx:"2",ry:"2",fill:d[2],x:"0",width:m.width+7,height:"21"}),g.jsxs("g",{ref:c,children:[g.jsx("text",{className:"rmp-name__zh",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"3",fontSize:"8.63",fill:d[3],children:s[0]}),g.jsx("text",{className:"rmp-name__en",textAnchor:"middle",dominantBaseline:"hanging",x:(m.width+7)/2,y:"14",fontSize:"3.54",fill:d[3],children:s[1]})]})]})},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("rect",{fill:"currentColor",x:"2",y:"6",width:"20",height:"12"}),g.jsx("text",{x:"4.5",y:"11",fontSize:"4",fill:"white",children:"广清城际"}),g.jsx("text",{x:"3",y:"16",fontSize:"2",fill:"white",children:"Guangzhou-Qingyuan Intercity"})]}),defaultAttrs:we,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),o=[{type:"input",label:a("panel.details.nodes.common.nameZh"),value:t.names[0],onChange:e=>{t.names[0]=e,l(n,t)},minW:"full"},{type:"input",label:a("panel.details.nodes.common.nameEn"),value:t.names[1],onChange:e=>{t.names[1]=e,l(n,t)},minW:"full"}];return g.jsx(r,{fields:o})},metadata:{displayName:"panel.details.nodes.guangdongIntercityRailwayLineBadge.displayName",tags:[]}},Ne=`M0,0 L-10,-10 L${5*Math.SQRT2-10},-10 L${5*Math.SQRT2},0 L${5*Math.SQRT2-10},10 L-10,10 Z`,Ce={color:[l.London,"thameslink","#d28db0",a.white],rotate:0,type:"continuation"},Pe={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,{color:s=Ce.color,rotate:d=Ce.rotate,type:c=Ce.type}=null!=a?a:Ce,m=v.useCallback((e=>o(n,e)),[n,o]),h=v.useCallback((e=>i(n,e)),[n,i]),u=v.useCallback((e=>r(n,e)),[n,r]);return g.jsx("g",{id:n,transform:`translate(${t}, ${l})rotate(${d})`,onPointerDown:m,onPointerMove:h,onPointerUp:u,style:{cursor:"move"},children:"continuation"===c?g.jsx("path",{id:`virtual_circle_${n}`,fill:s[2],d:Ne}):"sandwich"===c?g.jsx("path",{transform:"scale(0.5)",id:`virtual_circle_${n}`,stroke:"white",strokeWidth:"1",fill:s[2],d:Ne}):g.jsx("path",{transform:"scale(0.25)",id:`virtual_circle_${n}`,fill:"white",d:Ne})})},icon:g.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:g.jsx("path",{transform:"translate(14,12)scale(0.75)",fill:"currentColor",d:Ne})}),defaultAttrs:Ce,attrsComponent:e=>{const{id:n,attrs:t,handleAttrsUpdate:l}=e,{t:a}=N(),s=[{type:"select",label:a("panel.details.stations.common.rotate"),value:t.rotate,options:{0:"0",45:"45",90:"90",135:"135",180:"180",225:"225",270:"270",315:"315"},onChange:e=>{t.rotate=Number(e),l(n,t)},minW:"full"},{type:"select",label:a("panel.details.nodes.londonArrow.type"),value:t.type,options:{continuation:a("panel.details.nodes.londonArrow.continuation"),sandwich:a("panel.details.nodes.londonArrow.sandwich"),tube:a("panel.details.nodes.londonArrow.tube")},onChange:e=>{t.type=e,l(n,t)},minW:"full"},{type:"custom",label:a("color"),component:g.jsx(o,{type:i.LondonArrow,defaultTheme:Ce.color}),minW:"full"}];return g.jsx(r,{fields:s})},metadata:{displayName:"panel.details.nodes.londonArrow.displayName",tags:[]}},Se={contents:{},...S},Be={component:e=>{const{id:n,x:t,y:l,attrs:a,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r}=e,s=_();a.content=s(a.contents);const d=B.component;return g.jsx(d,{id:n,x:t,y:l,handlePointerDown:o,handlePointerMove:i,handlePointerUp:r,attrs:a})},icon:B.icon,defaultAttrs:Se,attrsComponent:B.attrsComponent,metadata:{displayName:"panel.details.nodes.i18nText.displayName",tags:[]}},_e={randomId:void 0,label:void 0,transform:s,nodeType:"MiscNode",svgs:[],components:[]},ke={component:e=>{var n;const{id:t,x:l,y:a,attrs:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:d}=e,c=v.useCallback((e=>i(t,e)),[t,i]),m=v.useCallback((e=>r(t,e)),[t,r]),h=v.useCallback((e=>d(t,e)),[t,d]),u=(e,...n)=>new Function(...n,`return ${e}`),x="MiscNode"===o.nodeType?{onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"}}:{},p=e=>e.map((e=>{var n,l;const a="Station"===o.nodeType&&o.core&&o.core===e.id?{id:`stn_core_${t}`,onPointerDown:c,onPointerMove:m,onPointerUp:h,style:{cursor:"move"}}:{},i=((e,n,t)=>{const l={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))try{var a;l[r]=u(e[r].slice(1),...o.components.map((e=>e.label)),"color")(...n.map(((e,n)=>"number"!==t[n]||Number.isNaN(Number(e))?e:Number(e))),o.color?null!==(a=o.color.value)&&void 0!==a?a:o.color.defaultValue:"")}catch(i){l[r]=""}return l})(e.attrs,o.components.map((e=>e.value)),o.components.map((e=>e.type)));return g.jsx("g",{transform:`translate(${null!==(n=i.x)&&void 0!==n?n:0}, ${null!==(l=i.y)&&void 0!==l?l:0})`,children:v.createElement(e.type,{...i,x:0,y:0,...a},e.children?p(e.children):"_rmp_children_text"in i?"style"===e.type?(r=i._rmp_children_text,r.replace(/(^|,)\s*([^{},]+)/g,`$1 #${t} $2`)):i._rmp_children_text:null)},e.id);var r})),f=null!==(n=o.transform)&&void 0!==n?n:s,y=v.useMemo((()=>p(o.svgs)),[o]);return v.createElement("g",{id:t,transform:`translate(${l}, ${a})`,...x},o.randomId?g.jsx("g",{transform:`translate(${f.translateX}, ${f.translateY}) scale(${f.scale}) rotate(${f.rotate})`,children:y}):g.jsxs("g",{children:[g.jsx("circle",{r:"5.5"}),g.jsx("g",{transform:"translate(-4.7, -5) scale(0.8)",children:g.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"white"})})]}))},icon:g.jsxs("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:[g.jsx("circle",{cx:"12",cy:"12",r:"6",stroke:"currentColor",fill:"none"}),g.jsx("g",{transform:"translate(7.25, 7) scale(0.8)",children:g.jsx("polygon",{points:"6,1 7.5,4.25 11,4.65 8.5,7.1 9.2,10.75 6,9 2.8,10.75 3.5,7.1 1,4.65 4.5,4.25",fill:"currentColor"})})]}),defaultAttrs:_e,attrsComponent:e=>{var n,t,l,o,i;const{id:s,attrs:C,handleAttrsUpdate:P}=e,S=d(),{paletteAppClip:{output:B}}=c((e=>e.runtime)),{t:_}=N(),[L,A]=v.useState(!1),[M,$]=v.useState(!1),T=C.components.map(((e,n)=>{const{label:t,type:l,defaultValue:a,value:o}=e;return"number"===l||"text"===l?{label:_(t),type:"input",value:null!=o?o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:"switch"===l?{label:_(t),type:"switch",isChecked:void 0!==o?!!o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:"textarea"===l?{label:_(t),type:"textarea",value:null!=o?o:a,onChange:e=>{C.components[n].value=e,P(s,{...C,components:C.components})}}:{type:"input",label:"undefined",value:"none"}})),[U,D]=v.useState(!1);v.useEffect((()=>{C.color&&U&&B&&(C.color.value=B,P(s,{...C,color:C.color}),D(!1))}),[null==B?void 0:B.toString()]);const W=[{type:"custom",label:_("color"),component:g.jsx(m,{theme:null===(n=C.color)||void 0===n?void 0:n.value,onClick:()=>{var e;D(!0),S(h(null===(e=C.color)||void 0===e?void 0:e.value))}})}];return g.jsxs(g.Fragment,{children:[g.jsxs(y,{direction:"row",mr:"auto",width:"100%",children:[g.jsx(u,{width:"100%",overflow:"hidden",label:_("panel.details.nodes.master.type"),children:g.jsxs(y,{width:"100%",overflow:"hidden",children:[g.jsx(x,{name:null!==(t=C.label)&&void 0!==t?t:_("panel.details.nodes.master.undefined"),fg:null!==(l=C.labelColorFg)&&void 0!==l?l:a.white,bg:null!==(o=C.labelColorBg)&&void 0!==o?o:"#000000",sx:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"},mr:1}),g.jsx(x,{name:null!==(i=C.randomId)&&void 0!==i?i:"UNDEFINED",fg:a.white,bg:C.randomId?"#19B3EA":"#000000",sx:{display:"inline-block"},mr:1})]})}),g.jsx(j,{}),g.jsx(b,{icon:g.jsx(p,{}),onClick:()=>A(!0),"aria-label":"upload"})]}),g.jsx(w,{width:"100%",leftIcon:g.jsx(f,{}),onClick:()=>$(!0),children:_("header.settings.procedures.masterManager.title")}),C.randomId&&g.jsx(r,{fields:T,minW:"full"}),C.randomId&&void 0!==C.color&&g.jsx(r,{fields:W,minW:"full"}),g.jsx(k,{isOpen:L,onClose:()=>A(!1),onSubmit:e=>{e.components.forEach(((n,t)=>{var l;e.components[t].value=null!==(l=(e=>{var n;const t=C.components.find((n=>n.id===e));return t?null!==(n=t.value)&&void 0!==n?n:t.defaultValue:void 0})(n.id))&&void 0!==l?l:n.defaultValue})),void 0!==e.color&&(e.color.value=C.color?C.color.value:e.color.defaultValue),P(s,e)}}),g.jsx(z,{isOpen:M,onClose:()=>$(!1)})]})},metadata:{displayName:"panel.details.nodes.master.displayName",tags:[]}};e("m",{[i.Virtual]:n,[i.ShmetroNumLineBadge]:$,[i.ShmetroTextLineBadge]:U,[i.GzmtrLineBadge]:W,[i.BjsubwayNumLineBadge]:I,[i.BjsubwayTextLineBadge]:Q,[i.SuzhouRTNumLineBadge]:Z,[i.BerlinSBahnLineBadge]:ee,[i.BerlinUBahnLineBadge]:Y,[i.ChongqingRTNumLineBadge]:le,[i.ChongqingRTTextLineBadge]:ie,[i.ShenzhenMetroNumLineBadge]:de,[i.MRTDestinationNumbers]:me,[i.MRTLineBadge]:ue,[i.JREastLineBadge]:ye,[i.QingdaoMetroNumLineBadge]:be,[i.GuangdongIntercityRailwayLineBadge]:ve,[i.LondonArrow]:Pe,[i.Facilities]:L,[i.Text]:B,[i.I18nText]:Be,[i.Master]:ke})}}})); diff --git a/assets/page-header-legacy-AYIvx_Ei.js b/assets/page-header-legacy-BaOy6D4P.js similarity index 99% rename from assets/page-header-legacy-AYIvx_Ei.js rename to assets/page-header-legacy-BaOy6D4P.js index be4ca062..2921847c 100644 --- a/assets/page-header-legacy-AYIvx_Ei.js +++ b/assets/page-header-legacy-BaOy6D4P.js @@ -1,4 +1,4 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BGd0L8oF.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-Cv1g7wby.js","./change-type-modal-legacy-BllsJJ8a.js"],(function(e,s){"use strict";var t,n,r,i,a,o,l,c,d,h,u,x,p,g,m,j,f,b,w,y,v,S,z,C,k,O,M,_,E,N,A,H,R,W,T,P,L,I,B,Z,G,U,D,K,Y,V,F,J,q,X,Q,$,ee,se,te,ne,re,ie,ae,oe,le,ce,de,he,ue,xe,pe,ge,me,je,fe,be,we,ye,ve,Se,ze,Ce,ke,Oe,Me,_e,Ee,Ne,Ae,He,Re,We,Te,Pe,Le,Ie,Be,Ze,Ge,Ue,De,Ke,Ye,Ve,Fe,Je,qe,Xe,Qe,$e,es,ss,ts,ns,rs,is,as,os,ls,cs,ds,hs,us,xs,ps,gs,ms,js,fs,bs,ws,ys,vs,Ss,zs,Cs,ks,Os,Ms,_s,Es,Ns,As,Hs,Rs,Ws,Ts,Ps,Ls;return{setters:[e=>{t=e.j,n=e.at,r=e.$,i=e.au,a=e.a1,o=e.a2,l=e.a3,c=e.g,d=e.av,h=e.a4,u=e.B,x=e.aw,p=e.ax,g=e.ay,m=e.az,j=e.aA,f=e.h,b=e.O,w=e.a5,y=e.aB,v=e.aC,S=e.aD,z=e.a7,C=e.aE,k=e.a6,O=e.aF,M=e.aG,_=e.af,E=e.aH,N=e.aI,A=e.U,H=e.aJ,R=e.aK,W=e.aL,T=e.al,P=e.d,L=e.R,I=e.q,B=e.Z,Z=e.aM,G=e.aN,U=e.ak,D=e.ae,K=e.aO,Y=e.aP,V=e.aQ,F=e.aR,J=e.aS,q=e.aT,X=e.aU,Q=e.W,$=e.m,ee=e.a8,se=e.a9},e=>{te=e.u,ne=e.r,re=e.C,ie=e.M,ae=e.n,oe=e.L,le=e.S,ce=e.R,de=e.a,he=e.b,ue=e.c,xe=e.d,pe=e.e,ge=e.f,me=e.g,je=e.h,fe=e.i,be=e.E,we=e.s,ye=e.j,ve=e.k,Se=e.m,ze=e.l,Ce=e.o,ke=e.p,Oe=e.q,Me=e.t,_e=e.v,Ee=e.w,Ne=e.x,Ae=e.y,He=e.z,Re=e.A,We=e.B,Te=e.D,Pe=e.F,Le=e.G,Ie=e.H,Be=e.I,Ze=e.J,Ge=e.K,Ue=e.N,De=e.O,Ke=e.P,Ye=e.Q,Ve=e.T,Fe=e.U,Je=e.V,qe=e.W,Xe=e.X,Qe=e.Y,$e=e.Z,es=e._,ss=e.$,ts=e.a0,ns=e.a1,rs=e.a2,is=e.a3,as=e.a4,os=e.a5,ls=e.a6,cs=e.a7,ds=e.a8,hs=e.a9,us=e.aa,xs=e.ab,ps=e.ac,gs=e.ad,ms=e.ae,js=e.af,fs=e.ag,bs=e.ah,ws=e.ai,ys=e.aj,vs=e.ak,Ss=e.al,zs=e.am,Cs=e.an,ks=e.ao},e=>{Os=e.u,Ms=e.b,_s=e.r,Es=e.T},e=>{Ns=e.d,As=e.m,Hs=e.a,Rs=e.i,Ws=e.s,Ts=e.u,Ps=e.M},e=>{Ls=e.C}],execute:function(){e("default",(function(){return t.jsxs(t.Fragment,{children:[t.jsx(tn,{}),t.jsx(nn,{})]})}));var s=function(e){return te(ne.ready(),e)},Is={ar:{ar:"العربية",en:"Arabic",ko:"아랍어","zh-Hans":"阿拉伯文","zh-Hant":"阿拉伯文"},az:{az:"Azərbaycanca",en:"Azerbaijani",ko:"아제르바이잔어","zh-Hans":"阿塞拜疆文","zh-Hant":"阿塞拜疆文"},ca:{ca:"Català",en:"Catalan",ko:"카탈루냐어","zh-Hans":"加泰罗尼亚文","zh-Hant":"加泰隆尼亞文"},da:{da:"Dansk",en:"Danish",ko:"덴마크어","zh-Hans":"丹麦文","zh-Hant":"丹麥文"},de:{de:"Deutsch",en:"German",ko:"독일어","zh-Hans":"德文","zh-Hant":"德文"},el:{el:"Ελληνικά",en:"Greek",ko:"그리스어","zh-Hans":"希腊文","zh-Hant":"希臘文"},en:{en:"English",ja:"英語",ko:"영어","zh-Hans":"英文","zh-Hant":"英文"},es:{en:"Spanish",es:"Español",ko:"스페인어","zh-Hans":"西班牙文","zh-Hant":"西班牙文"},fa:{en:"Persian",fa:"فارسی",ko:"페르시아어","zh-Hans":"波斯文","zh-Hant":"波斯文"},fr:{en:"French",fr:"Français",ko:"프랑스어","zh-Hans":"法文","zh-Hant":"法文"},ga:{en:"Irish",ga:"Gaeilge",ko:"아일랜드어","zh-Hans":"爱尔兰文","zh-Hant":"愛爾蘭文"},gd:{en:"Scottish Gaelic",gd:"Gàidhlig",ko:"스코틀랜드 게일어","zh-Hans":"苏格兰盖尔文","zh-Hant":"蘇格蘭蓋爾文"},hi:{en:"Hindi",hi:"हिन्दी",ko:"힌디어","zh-Hans":"印地文","zh-Hant":"印地文"},hu:{en:"Hungarian",hu:"Magyar",ko:"헝가리어","zh-Hans":"匈牙利文","zh-Hant":"匈牙利文"},id:{en:"Indoesian",id:"Bahasa Indonesia",ko:"인도네시아어","zh-Hans":"印尼文","zh-Hant":"印尼文"},it:{en:"Italian",it:"Italiano",ko:"이탈리아어","zh-Hans":"意大利文","zh-Hant":"意大利文"},ja:{en:"Japanese",ja:"日本語",ko:"일본어","zh-Hans":"日文","zh-Hant":"日文"},kk:{en:"Kazakh",kk:"Қазақша",ko:"카자흐어","zh-Hans":"哈萨克文","zh-Hant":"哈薩克文"},ko:{en:"Korean",ja:"韓国語",ko:"한국어","zh-Hans":"韩文","zh-Hant":"韓文"},ms:{en:"Malay",ko:"말레이어",ms:"Bahasa Melayu","zh-Hans":"马来文","zh-Hant":"馬來文"},no:{en:"Norwegian",ko:"노르웨이어",no:"Norsk","zh-Hans":"挪威文","zh-Hant":"挪威文"},pl:{en:"Polish",ko:"폴란드어",pl:"Polski","zh-Hans":"波兰文","zh-Hant":"波蘭文"},pt:{en:"Portuguese",ko:"포르투갈어",pt:"Português","zh-Hans":"葡萄牙文","zh-Hant":"葡萄牙文"},ro:{en:"Romanian",ko:"루마니아어",ro:"Română","zh-Hans":"罗马尼亚文","zh-Hant":"羅馬尼亞文"},ru:{en:"Russian",ko:"러시아어",ru:"Русский","zh-Hans":"俄文","zh-Hant":"俄文"},sv:{en:"Swedish",ko:"스웨덴어",sv:"Svenska","zh-Hans":"瑞典文","zh-Hant":"瑞典文"},th:{en:"Thai",ko:"태국어",th:"ภาษาไทย","zh-Hans":"泰文","zh-Hant":"泰文"},tr:{en:"Turkish",ko:"튀르키예어",tr:"Türkçe","zh-Hans":"土耳其文","zh-Hant":"土耳其文"},uk:{en:"Ukrainian",ko:"우크라이나어",uk:"Українська","zh-Hans":"乌克兰文","zh-Hant":"烏克蘭文"},ur:{en:"Urdo",ko:"우르두어",ur:"اردو","zh-Hans":"乌尔都文","zh-Hant":"烏爾都文"},uz:{en:"Uzbek",ko:"우즈베크어",uz:"Oʻzbekcha","zh-Hans":"乌兹别克文","zh-Hant":"烏茲別克文"},vi:{en:"Vietnamese",ko:"베트남어",vi:"Tiếng Việt","zh-Hans":"越南文","zh-Hant":"越南文"},zh:{en:"Chinese",ja:"中国語",ko:"중국어",zh:"中文","zh-Hans":"中文","zh-Hant":"中文"},"zh-Hans":{en:"Simplified Chinese",ja:"中国語(簡体字)",ko:"중국어 간체자","zh-Hans":"简体中文","zh-Hant":"簡體中文"},"zh-Hant":{en:"Traditional Chinese",ja:"中国語(繁体字)",ko:"중국어 정체자","zh-Hans":"繁体中文","zh-Hant":"繁體中文"}};const Bs=e=>{const{isOpen:s,onClose:f}=e,{t:b}=Os(),w=ne.getAppVersion();return t.jsxs(n,{isOpen:s,onClose:f,size:"xl",scrollBehavior:"inside",children:[t.jsx(r,{}),t.jsxs(i,{children:[t.jsx(a,{children:b("header.about.title")}),t.jsx(o,{}),t.jsxs(l,{paddingBottom:10,children:[t.jsxs(c,{direction:"row",children:[t.jsx(d,{boxSize:"128px",src:"/rmp//logo192.png"}),t.jsxs(c,{direction:"column",width:"100%",alignItems:"center",justifyContent:"center",children:[t.jsx(h,{fontSize:"xl",as:"b",children:b("header.about.rmp")}),t.jsx(h,{children:w}),t.jsx(h,{}),t.jsx(h,{fontSize:"sm",children:b("header.about.railmapgen")})]})]}),t.jsx(u,{margin:5,children:t.jsx(h,{fontSize:"xl",children:b("header.about.desc")})}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.about.contributors")}),t.jsx(x,{as:"h6",size:"xs",my:2,children:b("header.about.coreContributors")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/thekingofcity","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/thekingofcity.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"thekingofcity"}),t.jsx(h,{fontSize:"sm",children:b("header.about.content1")}),t.jsx(h,{fontSize:"sm",align:"right",mb:1,children:b("header.about.content2")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/langonginc","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/langonginc.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"langonginc"}),t.jsx(h,{fontSize:"sm",children:b("header.about.langonginc")}),t.jsx(h,{fontSize:"sm",align:"right",mb:1,children:"--Avicii"})]})]})]}),t.jsx(x,{as:"h6",size:"xs",my:2,children:b("header.about.styleContributors")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/203IhzElttil","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/203IhzElttil.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"203IhzElttil"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.203IhzElttil")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Swiftiecott","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/Swiftiecott.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Swiftiecott"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.Swiftiecott")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Minwtraft","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/Minwtraft.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Minwtraft"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.Minwtraft")})]})]})]}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.about.contactUs")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/railmapgen/rmp/issues","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.about.github")}),t.jsx(h,{fontSize:"sm",children:b("header.about.githubContent")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://join.slack.com/t/railmapgenerator/shared_invite/zt-1odhhta3n-DdZF~fnVwo_q0S0RJmgV8A","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2023.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20270%20270'%20style='enable-background:new%200%200%20270%20270;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23E01E5A;}%20.st1{fill:%2336C5F0;}%20.st2{fill:%232EB67D;}%20.st3{fill:%23ECB22E;}%20%3c/style%3e%3cg%3e%3cg%3e%3cpath%20class='st0'%20d='M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z'/%3e%3cpath%20class='st0'%20d='M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9%20s-12.9-5.8-12.9-12.9V151.2z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z'/%3e%3cpath%20class='st1'%20d='M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9%20s5.8-12.9,12.9-12.9H118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st2'%20d='M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z'/%3e%3cpath%20class='st2'%20d='M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9%20c7.1,0,12.9,5.8,12.9,12.9V118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st3'%20d='M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z'/%3e%3cpath%20class='st3'%20d='M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9%20c0,7.1-5.8,12.9-12.9,12.9H151.2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.about.slack")}),t.jsx(h,{fontSize:"sm",children:b("header.about.slackContent")}),t.jsx(h,{fontSize:"sm",as:"i",children:"#rmp, #gallery, #rmg, #palette-and-templates"})]})]})]}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.donation.title")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://afdian.com/a/rail-map-toolkit","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAC9FBMVEUAAACabOutif+ve/+FbLiVcuaQaOCWb+WYceiLYtuccOingvOYcOeRad6ZcuifeumXcOWhfO6jfPCmhPOUa+aLYtyac+iVbuSMZN2VbeWNZt6RaeGRauKhee2acumQauClfvGTa+OOZd6JYNqWb+Sog/SSauGPaOCogvSNZN2NZN2ngfKogvSngPOfeu6bdemTauSlfvGYcOiohPSngfKQaOCXb+aifO+XcOaVbuWTbOOogfOlf/GmgPKTbOOYceaMZN2pg/WQaN+hee2OZt6RaeCRauGKYtuSa9+bdOmog/SifO+ddumie+6Zcuelf/GSa+Ked+uYcealf/GSauGJYdqpg/SQaOCJYduOZd6jffCJX9qNZN6mgfKMZN2SauKfeOyKYtuXcOWpg/SngfOdduuJYNqQaN+WbuWUbeWmgfOLY9yUbOWlf/GZceeKYNqOaN6mgvKpgvSZceiMZNyVb+WNZt2cdumSauOfee2Wb+WPaN+geu2ddeqMZNypg/Wheu6lf/GZcueJYNmQaN+jffCTbOSphPWog/SWb+WmgPKWb+aYcuekf/Gac+iKYtuVbuWWbuSogvSSa+KWb+SOZt6ifO+feeyngfKRaeGpg/SYcOefeOujfe+VbeSMZd6ac+iJYdqVbeSog/OVbOWcdeqKYtungvObdOmfd+uSa+KNZNyeduuRaeGjfe+XcOWMY9ybdOmngvSOZt6UbuWacuiSbOKgee2bdOmMY9yVbuOmgvSUbeKviP6xif+UaueVa+mMY92ZcOyqhPaOZOKuh/2shPybcu2mf/WhePKcdO6ddeyYb+qZceirhPmpgfmedfCacuuWbuWogfemffefdfKacuqSaOaPZeSRaOKyiv+qg/iogvShd/SYbuyWbeiQZuWNZN+MYt+thvqlffSie/CXbeqTaOeKYdu1jP+jevOccvCbce6Xbeuth/uqgvukevinf/eiePaVau2WbOqXb+ahdvuUaumfdPehee+thP6bb/MemaUsAAAAvXRSTlMAAwEEAwb+/Qv6Cfv8IRAOXiwaFP7++9p3TkwvJSEeGf7++/r59+ri0MmCeFZCPjk3NDEk9PHi4NLIwq2djHp1bmNZUVBIPzwU/v38+fj49/bz6+rl5N7a0s7Hw8LAvq+opqSjlZOSiIBuaGRjYmJaVU1HREQ1KykW+/X19O7r6OXf29vV0c3Mxry4taupnpqZlZGRi4uGgXxzbWtjWlJG8/Px7ezk3dfQwbq4tp2Zh3t6cVxaVtrXz7GdcGlhNM13AAAH1ElEQVRYw+1YVVgbQRDezd2RkODu7pS6u7u7u7u7u7u7u7slkCZESUKCuxQoLVD3vnSPSyW9S6ClD33o/xHOdv6b2f1nZhPwH//xz4EFcRwi/CU2RKY/hayK0+EYdWhr6eGN6CrKCEk6qzZNtwxY0Wtxr8EtK8qIob+Zo/v6i7Ozk8U54jeFMwFeoaUAcMIA/2RxrjhZ6O9v7n/szWjA+nMXkWWbAbni3Nzk3BXDhvUSmpsnZ08BsCJ8E/yTC8XCXqPbzHbpa24u/ODoUpE5hGBKbm6h44ApELj1TRLnvMm50IYUDoQ4UiWGQJBAB/IfXuaLcDB3RXLhsdFbwtyHfXjiKDa/51aWIKBJmRJgilBYOLXpmyfm2ULznNCWsHTRWZDgWLX1tvRwr9p6ZquWU5sjtDwyy9LqW0axjEd8NTm7Lwj7UohWw9Hx9OCBoQMHDx44MLRfv5V9goMX11qwwM8MISUlxcysVtDK8zsmuhOkHW40ZJds8WkOMUyY9CQ7R5jyITIp6UmkHlFRUW8RCkpKSjIzM2MyMwsKYmKyuq4e05owSokBN0ehGC3rkS39FvulILIoPSIjfZFXfgtq1QoK6hkcHNwzqFZX35ji4pismGLf+g/bIlsWY8jc0CeO5jfQKWf2zOZNXcLG7Nq1a0xY2NV9TSfcmOp2pHVV99keHpZeXmg+W0/dt61+z6yiGJ1U6tyEg6wZXWyVkyMUhnHLm6aWh7c5a6U6raLuYdKaBpRjTZPEwshQUi5IbKVxsCgZYjRQLrW9uU4n1SlU962QYBlTxS/KL8nsghundBIIAofMFQ6SiqFIW63TJrIz6s5CNximEbQJjUryi0rpN6aVN/USjMAgi17hWHoZkiSTaycEJMy/xTSRLBxwXYJLIs0iM836DGnsZknoXcIxXJ8WLETnbeNOMeqvvTbKLbSJBxiXhhzustKhxME361GBWc/6l/a18uB89w2WumTjHFt7zo86CdFbxypVKsUBetR64Vu1vNTHLKsgqyDz0aMs36DVQ3aMc61qyaUmpfoGrSrx9WFA/Jy1YLJTYjulDWBKROqmVevGQ/p0dXiEEEN+fLsGrd7qygXWY+cr2FrpcA6Ahia3nNopnWYAjLnrUYOtZk3ccf72cZ20qKiY5E2Q1h9XL0P3LsHZ5tfpghDYKJ3kpzwBZrwvU2dzq9qMHV7f+WSAtIiti03QshMCdralTT+pwibPnOIvskxUeCQ04ttT69kzXHfOfxcQoIpdVwUtHaPkNsd3jL8G8LLKrte4nY1noGnnbmWz32V0PwCRUpiLi/XZZ8pu1QFmui1UdU5QKLS1m9jUTmArFBs9qNLCzFi5ozJ+qMkuhAOi3ssAaaxOoZCi/Ko9mZx+E014VN4n5CJhqi3MOa7S1a3HZltYSJXDLUk3TI5elB+/x9SGCANzl8cmbtj2jm2R0d2Gthj0cjU079U5DEBTvfpKLFulstDKN3jS3aO//2B+3lKkRVNREHVjLSwyOjdBEwrL7sTVFubNq2yCED2Z3F1l8bouqb3ybBW8lsryWwBonA9FnJiYMdyKWtyyPbSvI8s7BKBRPtbm1xZKVZPSelIuQrulr3yMeggB3Piys7y7K6llDC/X7sh24asOEVT2MSYn4ltuC6haDcuzXW2RH9fDFh2ZdX/ttZP8rBdyD/F5o/jL4eHuuBerrAHO/LZZnZWxy70AQTKNPTlkbhl1BEKk6P4aSUPmYBDJqJftjlYBBMnt7vDx/TiTwqH8r9JJFjeJeRwOrO/K5aNK8xICb+f3Dq4GA1m/9lZgd7kR3C3RLLMHXMaIUaLLlS3QkSpiW28alCVIZq5hGjd8KhlUJ12y3p756xIOKjvJj1YH8Ec8LMP4DOseIkztEifz8emybKQnumQgnNHu2SIkmW8zDg348Mb1Jv7isl3/p+k+6XFxaYIelRgYMVCl47OOVQDOLA/XovcOyH0DnzmNaqplXWQSXnTaJADphJ6nnuUfREdmwuKPBoQQWI/cZGsfUdk2YlMaj3+iBs0QAuJcfN5QNNuMEmEZhozMw58+7bHXljw/xEt/3gxg9ETZE/+pWzVaWWBeFByMT+epU3khjabVaFZTpKYTohu23fLjLwIjjCxDbSDzQfzA9qJoQfuaj3kCKmSayagX817tZmCkawZZT6qZns4TCdSP+aJUwX4AGavlHc082Z6yaj/VusJFoseBlaaP6B3YPnANKRvmxr1Q1kkz1A6dYkZLTWml9Gwg4Imej0eX9tUiqhHGej0E0zppOr2oc5BL2jF2W0h6Z319SWpgtGg8GvRjQ2ikJFau87mDTNN/vJ1+rw5Z3wEhTrIBu/0hAjXv6ZJpiB6ZYGiQqW/4nps0cR1exNW53MLu+034IxGtp4/szee35/Mb1ChXHyNjOLRKkybTSHyWNQifXoPz0zP7as0anuHxo0XR/JBKtD2UiU7KmdS/g0SSlqZW+/QIWd+wUfj1B+F7t48Y1DvwMf/5Y75AtKYZlxxYTpCBwIjtq7pI+BK1WhLN50cj8AUCRBYtSBX1HjENI0f99k85EXsbnKmZxhcgJgSBIDVVIFqydnslO0qIZYIuDlJjlcJHNhi0NiRkzdr1Ixrtn16Dq9f1HwD/bga5HGuOPh1pkv9NPw3FDXHyukKgRIhTH1Q9/uM//nl8BYlod8WjsBdLAAAAAElFTkSuQmCC",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",pb:1,children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.donation.afdian")}),t.jsx(h,{fontSize:"sm",children:b("header.donation.viaCNY")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://opencollective.com/rail-map-toolkit","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"/rmp/assets/opencollective-icon-Ciasch0w.webp",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",pb:1,children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.donation.openCollective")}),t.jsx(h,{fontSize:"sm",children:b("header.donation.viaUSD")})]})]})]})]})]})]})}; +System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BdzZVG-I.js","./react-legacy-S3BmMPiz.js","./master-manager-legacy-DBszGOWt.js","./change-type-modal-legacy-Cv1zf2ZW.js"],(function(e,s){"use strict";var t,n,r,i,a,o,l,c,d,h,u,x,p,g,m,j,f,b,w,y,v,S,z,C,k,O,M,_,E,N,A,H,R,W,T,P,L,I,B,Z,G,U,D,K,Y,V,F,J,q,X,Q,$,ee,se,te,ne,re,ie,ae,oe,le,ce,de,he,ue,xe,pe,ge,me,je,fe,be,we,ye,ve,Se,ze,Ce,ke,Oe,Me,_e,Ee,Ne,Ae,He,Re,We,Te,Pe,Le,Ie,Be,Ze,Ge,Ue,De,Ke,Ye,Ve,Fe,Je,qe,Xe,Qe,$e,es,ss,ts,ns,rs,is,as,os,ls,cs,ds,hs,us,xs,ps,gs,ms,js,fs,bs,ws,ys,vs,Ss,zs,Cs,ks,Os,Ms,_s,Es,Ns,As,Hs,Rs,Ws,Ts,Ps,Ls;return{setters:[e=>{t=e.j,n=e.at,r=e.$,i=e.au,a=e.a1,o=e.a2,l=e.a3,c=e.g,d=e.av,h=e.a4,u=e.B,x=e.aw,p=e.ax,g=e.ay,m=e.az,j=e.aA,f=e.h,b=e.O,w=e.a5,y=e.aB,v=e.aC,S=e.aD,z=e.a7,C=e.aE,k=e.a6,O=e.aF,M=e.aG,_=e.af,E=e.aH,N=e.aI,A=e.U,H=e.aJ,R=e.aK,W=e.aL,T=e.al,P=e.d,L=e.R,I=e.q,B=e.Z,Z=e.aM,G=e.aN,U=e.ak,D=e.ae,K=e.aO,Y=e.aP,V=e.aQ,F=e.aR,J=e.aS,q=e.aT,X=e.aU,Q=e.W,$=e.m,ee=e.a8,se=e.a9},e=>{te=e.u,ne=e.r,re=e.C,ie=e.M,ae=e.n,oe=e.L,le=e.S,ce=e.R,de=e.a,he=e.b,ue=e.c,xe=e.d,pe=e.e,ge=e.f,me=e.g,je=e.h,fe=e.i,be=e.E,we=e.s,ye=e.j,ve=e.k,Se=e.m,ze=e.l,Ce=e.o,ke=e.p,Oe=e.q,Me=e.t,_e=e.v,Ee=e.w,Ne=e.x,Ae=e.y,He=e.z,Re=e.A,We=e.B,Te=e.D,Pe=e.F,Le=e.G,Ie=e.H,Be=e.I,Ze=e.J,Ge=e.K,Ue=e.N,De=e.O,Ke=e.P,Ye=e.Q,Ve=e.T,Fe=e.U,Je=e.V,qe=e.W,Xe=e.X,Qe=e.Y,$e=e.Z,es=e._,ss=e.$,ts=e.a0,ns=e.a1,rs=e.a2,is=e.a3,as=e.a4,os=e.a5,ls=e.a6,cs=e.a7,ds=e.a8,hs=e.a9,us=e.aa,xs=e.ab,ps=e.ac,gs=e.ad,ms=e.ae,js=e.af,fs=e.ag,bs=e.ah,ws=e.ai,ys=e.aj,vs=e.ak,Ss=e.al,zs=e.am,Cs=e.an,ks=e.ao},e=>{Os=e.u,Ms=e.b,_s=e.r,Es=e.T},e=>{Ns=e.d,As=e.m,Hs=e.a,Rs=e.i,Ws=e.s,Ts=e.u,Ps=e.M},e=>{Ls=e.C}],execute:function(){e("default",(function(){return t.jsxs(t.Fragment,{children:[t.jsx(tn,{}),t.jsx(nn,{})]})}));var s=function(e){return te(ne.ready(),e)},Is={ar:{ar:"العربية",en:"Arabic",ko:"아랍어","zh-Hans":"阿拉伯文","zh-Hant":"阿拉伯文"},az:{az:"Azərbaycanca",en:"Azerbaijani",ko:"아제르바이잔어","zh-Hans":"阿塞拜疆文","zh-Hant":"阿塞拜疆文"},ca:{ca:"Català",en:"Catalan",ko:"카탈루냐어","zh-Hans":"加泰罗尼亚文","zh-Hant":"加泰隆尼亞文"},da:{da:"Dansk",en:"Danish",ko:"덴마크어","zh-Hans":"丹麦文","zh-Hant":"丹麥文"},de:{de:"Deutsch",en:"German",ko:"독일어","zh-Hans":"德文","zh-Hant":"德文"},el:{el:"Ελληνικά",en:"Greek",ko:"그리스어","zh-Hans":"希腊文","zh-Hant":"希臘文"},en:{en:"English",ja:"英語",ko:"영어","zh-Hans":"英文","zh-Hant":"英文"},es:{en:"Spanish",es:"Español",ko:"스페인어","zh-Hans":"西班牙文","zh-Hant":"西班牙文"},fa:{en:"Persian",fa:"فارسی",ko:"페르시아어","zh-Hans":"波斯文","zh-Hant":"波斯文"},fr:{en:"French",fr:"Français",ko:"프랑스어","zh-Hans":"法文","zh-Hant":"法文"},ga:{en:"Irish",ga:"Gaeilge",ko:"아일랜드어","zh-Hans":"爱尔兰文","zh-Hant":"愛爾蘭文"},gd:{en:"Scottish Gaelic",gd:"Gàidhlig",ko:"스코틀랜드 게일어","zh-Hans":"苏格兰盖尔文","zh-Hant":"蘇格蘭蓋爾文"},hi:{en:"Hindi",hi:"हिन्दी",ko:"힌디어","zh-Hans":"印地文","zh-Hant":"印地文"},hu:{en:"Hungarian",hu:"Magyar",ko:"헝가리어","zh-Hans":"匈牙利文","zh-Hant":"匈牙利文"},id:{en:"Indoesian",id:"Bahasa Indonesia",ko:"인도네시아어","zh-Hans":"印尼文","zh-Hant":"印尼文"},it:{en:"Italian",it:"Italiano",ko:"이탈리아어","zh-Hans":"意大利文","zh-Hant":"意大利文"},ja:{en:"Japanese",ja:"日本語",ko:"일본어","zh-Hans":"日文","zh-Hant":"日文"},kk:{en:"Kazakh",kk:"Қазақша",ko:"카자흐어","zh-Hans":"哈萨克文","zh-Hant":"哈薩克文"},ko:{en:"Korean",ja:"韓国語",ko:"한국어","zh-Hans":"韩文","zh-Hant":"韓文"},ms:{en:"Malay",ko:"말레이어",ms:"Bahasa Melayu","zh-Hans":"马来文","zh-Hant":"馬來文"},no:{en:"Norwegian",ko:"노르웨이어",no:"Norsk","zh-Hans":"挪威文","zh-Hant":"挪威文"},pl:{en:"Polish",ko:"폴란드어",pl:"Polski","zh-Hans":"波兰文","zh-Hant":"波蘭文"},pt:{en:"Portuguese",ko:"포르투갈어",pt:"Português","zh-Hans":"葡萄牙文","zh-Hant":"葡萄牙文"},ro:{en:"Romanian",ko:"루마니아어",ro:"Română","zh-Hans":"罗马尼亚文","zh-Hant":"羅馬尼亞文"},ru:{en:"Russian",ko:"러시아어",ru:"Русский","zh-Hans":"俄文","zh-Hant":"俄文"},sv:{en:"Swedish",ko:"스웨덴어",sv:"Svenska","zh-Hans":"瑞典文","zh-Hant":"瑞典文"},th:{en:"Thai",ko:"태국어",th:"ภาษาไทย","zh-Hans":"泰文","zh-Hant":"泰文"},tr:{en:"Turkish",ko:"튀르키예어",tr:"Türkçe","zh-Hans":"土耳其文","zh-Hant":"土耳其文"},uk:{en:"Ukrainian",ko:"우크라이나어",uk:"Українська","zh-Hans":"乌克兰文","zh-Hant":"烏克蘭文"},ur:{en:"Urdo",ko:"우르두어",ur:"اردو","zh-Hans":"乌尔都文","zh-Hant":"烏爾都文"},uz:{en:"Uzbek",ko:"우즈베크어",uz:"Oʻzbekcha","zh-Hans":"乌兹别克文","zh-Hant":"烏茲別克文"},vi:{en:"Vietnamese",ko:"베트남어",vi:"Tiếng Việt","zh-Hans":"越南文","zh-Hant":"越南文"},zh:{en:"Chinese",ja:"中国語",ko:"중국어",zh:"中文","zh-Hans":"中文","zh-Hant":"中文"},"zh-Hans":{en:"Simplified Chinese",ja:"中国語(簡体字)",ko:"중국어 간체자","zh-Hans":"简体中文","zh-Hant":"簡體中文"},"zh-Hant":{en:"Traditional Chinese",ja:"中国語(繁体字)",ko:"중국어 정체자","zh-Hans":"繁体中文","zh-Hant":"繁體中文"}};const Bs=e=>{const{isOpen:s,onClose:f}=e,{t:b}=Os(),w=ne.getAppVersion();return t.jsxs(n,{isOpen:s,onClose:f,size:"xl",scrollBehavior:"inside",children:[t.jsx(r,{}),t.jsxs(i,{children:[t.jsx(a,{children:b("header.about.title")}),t.jsx(o,{}),t.jsxs(l,{paddingBottom:10,children:[t.jsxs(c,{direction:"row",children:[t.jsx(d,{boxSize:"128px",src:"/rmp//logo192.png"}),t.jsxs(c,{direction:"column",width:"100%",alignItems:"center",justifyContent:"center",children:[t.jsx(h,{fontSize:"xl",as:"b",children:b("header.about.rmp")}),t.jsx(h,{children:w}),t.jsx(h,{}),t.jsx(h,{fontSize:"sm",children:b("header.about.railmapgen")})]})]}),t.jsx(u,{margin:5,children:t.jsx(h,{fontSize:"xl",children:b("header.about.desc")})}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.about.contributors")}),t.jsx(x,{as:"h6",size:"xs",my:2,children:b("header.about.coreContributors")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/thekingofcity","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/thekingofcity.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"thekingofcity"}),t.jsx(h,{fontSize:"sm",children:b("header.about.content1")}),t.jsx(h,{fontSize:"sm",align:"right",mb:1,children:b("header.about.content2")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/langonginc","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/langonginc.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"langonginc"}),t.jsx(h,{fontSize:"sm",children:b("header.about.langonginc")}),t.jsx(h,{fontSize:"sm",align:"right",mb:1,children:"--Avicii"})]})]})]}),t.jsx(x,{as:"h6",size:"xs",my:2,children:b("header.about.styleContributors")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/203IhzElttil","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/203IhzElttil.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"203IhzElttil"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.203IhzElttil")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Swiftiecott","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/Swiftiecott.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Swiftiecott"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.Swiftiecott")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Minwtraft","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"https://github.com/Minwtraft.png",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Minwtraft"}),t.jsx(h,{fontSize:"sm",mb:1,children:b("header.about.Minwtraft")})]})]})]}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.about.contactUs")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/railmapgen/rmp/issues","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.about.github")}),t.jsx(h,{fontSize:"sm",children:b("header.about.githubContent")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://join.slack.com/t/railmapgenerator/shared_invite/zt-1odhhta3n-DdZF~fnVwo_q0S0RJmgV8A","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2023.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20270%20270'%20style='enable-background:new%200%200%20270%20270;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23E01E5A;}%20.st1{fill:%2336C5F0;}%20.st2{fill:%232EB67D;}%20.st3{fill:%23ECB22E;}%20%3c/style%3e%3cg%3e%3cg%3e%3cpath%20class='st0'%20d='M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z'/%3e%3cpath%20class='st0'%20d='M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9%20s-12.9-5.8-12.9-12.9V151.2z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z'/%3e%3cpath%20class='st1'%20d='M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9%20s5.8-12.9,12.9-12.9H118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st2'%20d='M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z'/%3e%3cpath%20class='st2'%20d='M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9%20c7.1,0,12.9,5.8,12.9,12.9V118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st3'%20d='M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z'/%3e%3cpath%20class='st3'%20d='M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9%20c0,7.1-5.8,12.9-12.9,12.9H151.2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.about.slack")}),t.jsx(h,{fontSize:"sm",children:b("header.about.slackContent")}),t.jsx(h,{fontSize:"sm",as:"i",children:"#rmp, #gallery, #rmg, #palette-and-templates"})]})]})]}),t.jsx(x,{as:"h5",size:"sm",mt:3,mb:2,children:b("header.donation.title")}),t.jsxs(p,{children:[t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://afdian.com/a/rail-map-toolkit","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAC9FBMVEUAAACabOutif+ve/+FbLiVcuaQaOCWb+WYceiLYtuccOingvOYcOeRad6ZcuifeumXcOWhfO6jfPCmhPOUa+aLYtyac+iVbuSMZN2VbeWNZt6RaeGRauKhee2acumQauClfvGTa+OOZd6JYNqWb+Sog/SSauGPaOCogvSNZN2NZN2ngfKogvSngPOfeu6bdemTauSlfvGYcOiohPSngfKQaOCXb+aifO+XcOaVbuWTbOOogfOlf/GmgPKTbOOYceaMZN2pg/WQaN+hee2OZt6RaeCRauGKYtuSa9+bdOmog/SifO+ddumie+6Zcuelf/GSa+Ked+uYcealf/GSauGJYdqpg/SQaOCJYduOZd6jffCJX9qNZN6mgfKMZN2SauKfeOyKYtuXcOWpg/SngfOdduuJYNqQaN+WbuWUbeWmgfOLY9yUbOWlf/GZceeKYNqOaN6mgvKpgvSZceiMZNyVb+WNZt2cdumSauOfee2Wb+WPaN+geu2ddeqMZNypg/Wheu6lf/GZcueJYNmQaN+jffCTbOSphPWog/SWb+WmgPKWb+aYcuekf/Gac+iKYtuVbuWWbuSogvSSa+KWb+SOZt6ifO+feeyngfKRaeGpg/SYcOefeOujfe+VbeSMZd6ac+iJYdqVbeSog/OVbOWcdeqKYtungvObdOmfd+uSa+KNZNyeduuRaeGjfe+XcOWMY9ybdOmngvSOZt6UbuWacuiSbOKgee2bdOmMY9yVbuOmgvSUbeKviP6xif+UaueVa+mMY92ZcOyqhPaOZOKuh/2shPybcu2mf/WhePKcdO6ddeyYb+qZceirhPmpgfmedfCacuuWbuWogfemffefdfKacuqSaOaPZeSRaOKyiv+qg/iogvShd/SYbuyWbeiQZuWNZN+MYt+thvqlffSie/CXbeqTaOeKYdu1jP+jevOccvCbce6Xbeuth/uqgvukevinf/eiePaVau2WbOqXb+ahdvuUaumfdPehee+thP6bb/MemaUsAAAAvXRSTlMAAwEEAwb+/Qv6Cfv8IRAOXiwaFP7++9p3TkwvJSEeGf7++/r59+ri0MmCeFZCPjk3NDEk9PHi4NLIwq2djHp1bmNZUVBIPzwU/v38+fj49/bz6+rl5N7a0s7Hw8LAvq+opqSjlZOSiIBuaGRjYmJaVU1HREQ1KykW+/X19O7r6OXf29vV0c3Mxry4taupnpqZlZGRi4uGgXxzbWtjWlJG8/Px7ezk3dfQwbq4tp2Zh3t6cVxaVtrXz7GdcGlhNM13AAAH1ElEQVRYw+1YVVgbQRDezd2RkODu7pS6u7u7u7u7u7u7u7slkCZESUKCuxQoLVD3vnSPSyW9S6ClD33o/xHOdv6b2f1nZhPwH//xz4EFcRwi/CU2RKY/hayK0+EYdWhr6eGN6CrKCEk6qzZNtwxY0Wtxr8EtK8qIob+Zo/v6i7Ozk8U54jeFMwFeoaUAcMIA/2RxrjhZ6O9v7n/szWjA+nMXkWWbAbni3Nzk3BXDhvUSmpsnZ08BsCJ8E/yTC8XCXqPbzHbpa24u/ODoUpE5hGBKbm6h44ApELj1TRLnvMm50IYUDoQ4UiWGQJBAB/IfXuaLcDB3RXLhsdFbwtyHfXjiKDa/51aWIKBJmRJgilBYOLXpmyfm2ULznNCWsHTRWZDgWLX1tvRwr9p6ZquWU5sjtDwyy9LqW0axjEd8NTm7Lwj7UohWw9Hx9OCBoQMHDx44MLRfv5V9goMX11qwwM8MISUlxcysVtDK8zsmuhOkHW40ZJds8WkOMUyY9CQ7R5jyITIp6UmkHlFRUW8RCkpKSjIzM2MyMwsKYmKyuq4e05owSokBN0ehGC3rkS39FvulILIoPSIjfZFXfgtq1QoK6hkcHNwzqFZX35ji4pismGLf+g/bIlsWY8jc0CeO5jfQKWf2zOZNXcLG7Nq1a0xY2NV9TSfcmOp2pHVV99keHpZeXmg+W0/dt61+z6yiGJ1U6tyEg6wZXWyVkyMUhnHLm6aWh7c5a6U6raLuYdKaBpRjTZPEwshQUi5IbKVxsCgZYjRQLrW9uU4n1SlU962QYBlTxS/KL8nsghundBIIAofMFQ6SiqFIW63TJrIz6s5CNximEbQJjUryi0rpN6aVN/USjMAgi17hWHoZkiSTaycEJMy/xTSRLBxwXYJLIs0iM836DGnsZknoXcIxXJ8WLETnbeNOMeqvvTbKLbSJBxiXhhzustKhxME361GBWc/6l/a18uB89w2WumTjHFt7zo86CdFbxypVKsUBetR64Vu1vNTHLKsgqyDz0aMs36DVQ3aMc61qyaUmpfoGrSrx9WFA/Jy1YLJTYjulDWBKROqmVevGQ/p0dXiEEEN+fLsGrd7qygXWY+cr2FrpcA6Ahia3nNopnWYAjLnrUYOtZk3ccf72cZ20qKiY5E2Q1h9XL0P3LsHZ5tfpghDYKJ3kpzwBZrwvU2dzq9qMHV7f+WSAtIiti03QshMCdralTT+pwibPnOIvskxUeCQ04ttT69kzXHfOfxcQoIpdVwUtHaPkNsd3jL8G8LLKrte4nY1noGnnbmWz32V0PwCRUpiLi/XZZ8pu1QFmui1UdU5QKLS1m9jUTmArFBs9qNLCzFi5ozJ+qMkuhAOi3ssAaaxOoZCi/Ko9mZx+E014VN4n5CJhqi3MOa7S1a3HZltYSJXDLUk3TI5elB+/x9SGCANzl8cmbtj2jm2R0d2Gthj0cjU079U5DEBTvfpKLFulstDKN3jS3aO//2B+3lKkRVNREHVjLSwyOjdBEwrL7sTVFubNq2yCED2Z3F1l8bouqb3ybBW8lsryWwBonA9FnJiYMdyKWtyyPbSvI8s7BKBRPtbm1xZKVZPSelIuQrulr3yMeggB3Piys7y7K6llDC/X7sh24asOEVT2MSYn4ltuC6haDcuzXW2RH9fDFh2ZdX/ttZP8rBdyD/F5o/jL4eHuuBerrAHO/LZZnZWxy70AQTKNPTlkbhl1BEKk6P4aSUPmYBDJqJftjlYBBMnt7vDx/TiTwqH8r9JJFjeJeRwOrO/K5aNK8xICb+f3Dq4GA1m/9lZgd7kR3C3RLLMHXMaIUaLLlS3QkSpiW28alCVIZq5hGjd8KhlUJ12y3p756xIOKjvJj1YH8Ec8LMP4DOseIkztEifz8emybKQnumQgnNHu2SIkmW8zDg348Mb1Jv7isl3/p+k+6XFxaYIelRgYMVCl47OOVQDOLA/XovcOyH0DnzmNaqplXWQSXnTaJADphJ6nnuUfREdmwuKPBoQQWI/cZGsfUdk2YlMaj3+iBs0QAuJcfN5QNNuMEmEZhozMw58+7bHXljw/xEt/3gxg9ETZE/+pWzVaWWBeFByMT+epU3khjabVaFZTpKYTohu23fLjLwIjjCxDbSDzQfzA9qJoQfuaj3kCKmSayagX817tZmCkawZZT6qZns4TCdSP+aJUwX4AGavlHc082Z6yaj/VusJFoseBlaaP6B3YPnANKRvmxr1Q1kkz1A6dYkZLTWml9Gwg4Imej0eX9tUiqhHGej0E0zppOr2oc5BL2jF2W0h6Z319SWpgtGg8GvRjQ2ikJFau87mDTNN/vJ1+rw5Z3wEhTrIBu/0hAjXv6ZJpiB6ZYGiQqW/4nps0cR1exNW53MLu+034IxGtp4/szee35/Mb1ChXHyNjOLRKkybTSHyWNQifXoPz0zP7as0anuHxo0XR/JBKtD2UiU7KmdS/g0SSlqZW+/QIWd+wUfj1B+F7t48Y1DvwMf/5Y75AtKYZlxxYTpCBwIjtq7pI+BK1WhLN50cj8AUCRBYtSBX1HjENI0f99k85EXsbnKmZxhcgJgSBIDVVIFqydnslO0qIZYIuDlJjlcJHNhi0NiRkzdr1Ixrtn16Dq9f1HwD/bga5HGuOPh1pkv9NPw3FDXHyukKgRIhTH1Q9/uM//nl8BYlod8WjsBdLAAAAAElFTkSuQmCC",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",pb:1,children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.donation.afdian")}),t.jsx(h,{fontSize:"sm",children:b("header.donation.viaCNY")})]})]}),t.jsxs(g,{size:"lg",w:"85%",onClick:()=>window.open("https://opencollective.com/rail-map-toolkit","_blank"),cursor:"pointer",children:[t.jsx(m,{src:"/rmp/assets/opencollective-icon-Ciasch0w.webp",size:"lg",my:2,ml:-1,mr:2}),t.jsxs(j,{display:"block",width:"100%",pb:1,children:[t.jsx(h,{fontSize:"lg",fontWeight:"bold",mb:1,children:b("header.donation.openCollective")}),t.jsx(h,{fontSize:"sm",children:b("header.donation.viaUSD")})]})]})]})]})]})]})}; /*! * canvas-size * v2.0.0 diff --git a/assets/page-header-BzO8UQTL.js b/assets/page-header-xWWwLvrh.js similarity index 99% rename from assets/page-header-BzO8UQTL.js rename to assets/page-header-xWWwLvrh.js index 7ce129d7..d3d97212 100644 --- a/assets/page-header-BzO8UQTL.js +++ b/assets/page-header-xWWwLvrh.js @@ -1,4 +1,4 @@ -import{j as e,at as Y,$ as F,au as J,a1 as q,a2 as X,a3 as Q,g as Ms,av as at,a4 as w,B as T,aw as Ce,ax as Ne,ay as ne,az as re,aA as oe,h as $e,O as E,a5 as xe,aB as lt,aC as ct,aD as ye,a7 as O,aE as N,a6 as Ds,aF as fs,aG as js,af as ee,aH as bs,aI as ce,U as le,aJ as es,aK as dt,aL as Us,al as Zs,d as Vs,R as Ks,q as Ys,Z as Fs,aM as ze,aN as ht,ak as De,ae as ut,aO as pt,aP as gt,aQ as D,aR as As,aS as mt,aT as k,aU as C,W as xt,m as ie,a8 as ft,a9 as jt}from"./chakra-xNcrfRXW.js";import{u as bt,r as M,C as wt,M as ws,n as ls,L as Js,S as I,R as Ts,a as qs,b as R,c as P,d as B,e as St,f as yt,g as Ct,h as zt,i as ke,E as Me,s as vt,j as Ye,k as ss,m as kt,l as Ot,o as Rs,p as Ss,q as K,t as V,v as se,w as Xs,x as Qs,y as cs,z as Oe,A as Ie,B as Es,D as Ns,F as Mt,G as At,H as Tt,I as Rt,J as Et,K as _s,N as Nt,O as _t,P as It,Q as Ht,T as Wt,U as Lt,V as Bt,W as Pt,X as Gt,Y as Dt,Z as Ut,_ as Zt,$ as Vt,a0 as Kt,a1 as Yt,a2 as Ft,a3 as Ue,a4 as fe,a5 as Jt,a6 as qt,a7 as Xt,a8 as Qt,a9 as pe,aa as $t,ab as en,ac as Is,ad as sn,ae as ts,af as tn,ag as nn,ah as rn,ai as on,aj as an,ak as ln,al as cn,am as dn,an as hn,ao as un}from"./index-C2EPE_tK.js";import{u as L,b,r as Ze,T as Hs}from"./react-D-_si4LB.js";import{d as ds,m as pn,a as gn,i as mn,s as xn,u as ys,M as fn}from"./master-manager-CMGMwlgA.js";import{C as jn}from"./change-type-modal-uJguFedY.js";var Ws=function(s){return bt(M.ready(),s)},bn={ar:{ar:"العربية",en:"Arabic",ko:"아랍어","zh-Hans":"阿拉伯文","zh-Hant":"阿拉伯文"},az:{az:"Azərbaycanca",en:"Azerbaijani",ko:"아제르바이잔어","zh-Hans":"阿塞拜疆文","zh-Hant":"阿塞拜疆文"},ca:{ca:"Català",en:"Catalan",ko:"카탈루냐어","zh-Hans":"加泰罗尼亚文","zh-Hant":"加泰隆尼亞文"},da:{da:"Dansk",en:"Danish",ko:"덴마크어","zh-Hans":"丹麦文","zh-Hant":"丹麥文"},de:{de:"Deutsch",en:"German",ko:"독일어","zh-Hans":"德文","zh-Hant":"德文"},el:{el:"Ελληνικά",en:"Greek",ko:"그리스어","zh-Hans":"希腊文","zh-Hant":"希臘文"},en:{en:"English",ja:"英語",ko:"영어","zh-Hans":"英文","zh-Hant":"英文"},es:{en:"Spanish",es:"Español",ko:"스페인어","zh-Hans":"西班牙文","zh-Hant":"西班牙文"},fa:{en:"Persian",fa:"فارسی",ko:"페르시아어","zh-Hans":"波斯文","zh-Hant":"波斯文"},fr:{en:"French",fr:"Français",ko:"프랑스어","zh-Hans":"法文","zh-Hant":"法文"},ga:{en:"Irish",ga:"Gaeilge",ko:"아일랜드어","zh-Hans":"爱尔兰文","zh-Hant":"愛爾蘭文"},gd:{en:"Scottish Gaelic",gd:"Gàidhlig",ko:"스코틀랜드 게일어","zh-Hans":"苏格兰盖尔文","zh-Hant":"蘇格蘭蓋爾文"},hi:{en:"Hindi",hi:"हिन्दी",ko:"힌디어","zh-Hans":"印地文","zh-Hant":"印地文"},hu:{en:"Hungarian",hu:"Magyar",ko:"헝가리어","zh-Hans":"匈牙利文","zh-Hant":"匈牙利文"},id:{en:"Indoesian",id:"Bahasa Indonesia",ko:"인도네시아어","zh-Hans":"印尼文","zh-Hant":"印尼文"},it:{en:"Italian",it:"Italiano",ko:"이탈리아어","zh-Hans":"意大利文","zh-Hant":"意大利文"},ja:{en:"Japanese",ja:"日本語",ko:"일본어","zh-Hans":"日文","zh-Hant":"日文"},kk:{en:"Kazakh",kk:"Қазақша",ko:"카자흐어","zh-Hans":"哈萨克文","zh-Hant":"哈薩克文"},ko:{en:"Korean",ja:"韓国語",ko:"한국어","zh-Hans":"韩文","zh-Hant":"韓文"},ms:{en:"Malay",ko:"말레이어",ms:"Bahasa Melayu","zh-Hans":"马来文","zh-Hant":"馬來文"},no:{en:"Norwegian",ko:"노르웨이어",no:"Norsk","zh-Hans":"挪威文","zh-Hant":"挪威文"},pl:{en:"Polish",ko:"폴란드어",pl:"Polski","zh-Hans":"波兰文","zh-Hant":"波蘭文"},pt:{en:"Portuguese",ko:"포르투갈어",pt:"Português","zh-Hans":"葡萄牙文","zh-Hant":"葡萄牙文"},ro:{en:"Romanian",ko:"루마니아어",ro:"Română","zh-Hans":"罗马尼亚文","zh-Hant":"羅馬尼亞文"},ru:{en:"Russian",ko:"러시아어",ru:"Русский","zh-Hans":"俄文","zh-Hant":"俄文"},sv:{en:"Swedish",ko:"스웨덴어",sv:"Svenska","zh-Hans":"瑞典文","zh-Hant":"瑞典文"},th:{en:"Thai",ko:"태국어",th:"ภาษาไทย","zh-Hans":"泰文","zh-Hant":"泰文"},tr:{en:"Turkish",ko:"튀르키예어",tr:"Türkçe","zh-Hans":"土耳其文","zh-Hant":"土耳其文"},uk:{en:"Ukrainian",ko:"우크라이나어",uk:"Українська","zh-Hans":"乌克兰文","zh-Hant":"烏克蘭文"},ur:{en:"Urdo",ko:"우르두어",ur:"اردو","zh-Hans":"乌尔都文","zh-Hant":"烏爾都文"},uz:{en:"Uzbek",ko:"우즈베크어",uz:"Oʻzbekcha","zh-Hans":"乌兹别克文","zh-Hant":"烏茲別克文"},vi:{en:"Vietnamese",ko:"베트남어",vi:"Tiếng Việt","zh-Hans":"越南文","zh-Hant":"越南文"},zh:{en:"Chinese",ja:"中国語",ko:"중국어",zh:"中文","zh-Hans":"中文","zh-Hant":"中文"},"zh-Hans":{en:"Simplified Chinese",ja:"中国語(簡体字)",ko:"중국어 간체자","zh-Hans":"简体中文","zh-Hant":"簡體中文"},"zh-Hant":{en:"Traditional Chinese",ja:"中国語(繁体字)",ko:"중국어 정체자","zh-Hans":"繁体中文","zh-Hant":"繁體中文"}};const wn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAC9FBMVEUAAACabOutif+ve/+FbLiVcuaQaOCWb+WYceiLYtuccOingvOYcOeRad6ZcuifeumXcOWhfO6jfPCmhPOUa+aLYtyac+iVbuSMZN2VbeWNZt6RaeGRauKhee2acumQauClfvGTa+OOZd6JYNqWb+Sog/SSauGPaOCogvSNZN2NZN2ngfKogvSngPOfeu6bdemTauSlfvGYcOiohPSngfKQaOCXb+aifO+XcOaVbuWTbOOogfOlf/GmgPKTbOOYceaMZN2pg/WQaN+hee2OZt6RaeCRauGKYtuSa9+bdOmog/SifO+ddumie+6Zcuelf/GSa+Ked+uYcealf/GSauGJYdqpg/SQaOCJYduOZd6jffCJX9qNZN6mgfKMZN2SauKfeOyKYtuXcOWpg/SngfOdduuJYNqQaN+WbuWUbeWmgfOLY9yUbOWlf/GZceeKYNqOaN6mgvKpgvSZceiMZNyVb+WNZt2cdumSauOfee2Wb+WPaN+geu2ddeqMZNypg/Wheu6lf/GZcueJYNmQaN+jffCTbOSphPWog/SWb+WmgPKWb+aYcuekf/Gac+iKYtuVbuWWbuSogvSSa+KWb+SOZt6ifO+feeyngfKRaeGpg/SYcOefeOujfe+VbeSMZd6ac+iJYdqVbeSog/OVbOWcdeqKYtungvObdOmfd+uSa+KNZNyeduuRaeGjfe+XcOWMY9ybdOmngvSOZt6UbuWacuiSbOKgee2bdOmMY9yVbuOmgvSUbeKviP6xif+UaueVa+mMY92ZcOyqhPaOZOKuh/2shPybcu2mf/WhePKcdO6ddeyYb+qZceirhPmpgfmedfCacuuWbuWogfemffefdfKacuqSaOaPZeSRaOKyiv+qg/iogvShd/SYbuyWbeiQZuWNZN+MYt+thvqlffSie/CXbeqTaOeKYdu1jP+jevOccvCbce6Xbeuth/uqgvukevinf/eiePaVau2WbOqXb+ahdvuUaumfdPehee+thP6bb/MemaUsAAAAvXRSTlMAAwEEAwb+/Qv6Cfv8IRAOXiwaFP7++9p3TkwvJSEeGf7++/r59+ri0MmCeFZCPjk3NDEk9PHi4NLIwq2djHp1bmNZUVBIPzwU/v38+fj49/bz6+rl5N7a0s7Hw8LAvq+opqSjlZOSiIBuaGRjYmJaVU1HREQ1KykW+/X19O7r6OXf29vV0c3Mxry4taupnpqZlZGRi4uGgXxzbWtjWlJG8/Px7ezk3dfQwbq4tp2Zh3t6cVxaVtrXz7GdcGlhNM13AAAH1ElEQVRYw+1YVVgbQRDezd2RkODu7pS6u7u7u7u7u7u7u7slkCZESUKCuxQoLVD3vnSPSyW9S6ClD33o/xHOdv6b2f1nZhPwH//xz4EFcRwi/CU2RKY/hayK0+EYdWhr6eGN6CrKCEk6qzZNtwxY0Wtxr8EtK8qIob+Zo/v6i7Ozk8U54jeFMwFeoaUAcMIA/2RxrjhZ6O9v7n/szWjA+nMXkWWbAbni3Nzk3BXDhvUSmpsnZ08BsCJ8E/yTC8XCXqPbzHbpa24u/ODoUpE5hGBKbm6h44ApELj1TRLnvMm50IYUDoQ4UiWGQJBAB/IfXuaLcDB3RXLhsdFbwtyHfXjiKDa/51aWIKBJmRJgilBYOLXpmyfm2ULznNCWsHTRWZDgWLX1tvRwr9p6ZquWU5sjtDwyy9LqW0axjEd8NTm7Lwj7UohWw9Hx9OCBoQMHDx44MLRfv5V9goMX11qwwM8MISUlxcysVtDK8zsmuhOkHW40ZJds8WkOMUyY9CQ7R5jyITIp6UmkHlFRUW8RCkpKSjIzM2MyMwsKYmKyuq4e05owSokBN0ehGC3rkS39FvulILIoPSIjfZFXfgtq1QoK6hkcHNwzqFZX35ji4pismGLf+g/bIlsWY8jc0CeO5jfQKWf2zOZNXcLG7Nq1a0xY2NV9TSfcmOp2pHVV99keHpZeXmg+W0/dt61+z6yiGJ1U6tyEg6wZXWyVkyMUhnHLm6aWh7c5a6U6raLuYdKaBpRjTZPEwshQUi5IbKVxsCgZYjRQLrW9uU4n1SlU962QYBlTxS/KL8nsghundBIIAofMFQ6SiqFIW63TJrIz6s5CNximEbQJjUryi0rpN6aVN/USjMAgi17hWHoZkiSTaycEJMy/xTSRLBxwXYJLIs0iM836DGnsZknoXcIxXJ8WLETnbeNOMeqvvTbKLbSJBxiXhhzustKhxME361GBWc/6l/a18uB89w2WumTjHFt7zo86CdFbxypVKsUBetR64Vu1vNTHLKsgqyDz0aMs36DVQ3aMc61qyaUmpfoGrSrx9WFA/Jy1YLJTYjulDWBKROqmVevGQ/p0dXiEEEN+fLsGrd7qygXWY+cr2FrpcA6Ahia3nNopnWYAjLnrUYOtZk3ccf72cZ20qKiY5E2Q1h9XL0P3LsHZ5tfpghDYKJ3kpzwBZrwvU2dzq9qMHV7f+WSAtIiti03QshMCdralTT+pwibPnOIvskxUeCQ04ttT69kzXHfOfxcQoIpdVwUtHaPkNsd3jL8G8LLKrte4nY1noGnnbmWz32V0PwCRUpiLi/XZZ8pu1QFmui1UdU5QKLS1m9jUTmArFBs9qNLCzFi5ozJ+qMkuhAOi3ssAaaxOoZCi/Ko9mZx+E014VN4n5CJhqi3MOa7S1a3HZltYSJXDLUk3TI5elB+/x9SGCANzl8cmbtj2jm2R0d2Gthj0cjU079U5DEBTvfpKLFulstDKN3jS3aO//2B+3lKkRVNREHVjLSwyOjdBEwrL7sTVFubNq2yCED2Z3F1l8bouqb3ybBW8lsryWwBonA9FnJiYMdyKWtyyPbSvI8s7BKBRPtbm1xZKVZPSelIuQrulr3yMeggB3Piys7y7K6llDC/X7sh24asOEVT2MSYn4ltuC6haDcuzXW2RH9fDFh2ZdX/ttZP8rBdyD/F5o/jL4eHuuBerrAHO/LZZnZWxy70AQTKNPTlkbhl1BEKk6P4aSUPmYBDJqJftjlYBBMnt7vDx/TiTwqH8r9JJFjeJeRwOrO/K5aNK8xICb+f3Dq4GA1m/9lZgd7kR3C3RLLMHXMaIUaLLlS3QkSpiW28alCVIZq5hGjd8KhlUJ12y3p756xIOKjvJj1YH8Ec8LMP4DOseIkztEifz8emybKQnumQgnNHu2SIkmW8zDg348Mb1Jv7isl3/p+k+6XFxaYIelRgYMVCl47OOVQDOLA/XovcOyH0DnzmNaqplXWQSXnTaJADphJ6nnuUfREdmwuKPBoQQWI/cZGsfUdk2YlMaj3+iBs0QAuJcfN5QNNuMEmEZhozMw58+7bHXljw/xEt/3gxg9ETZE/+pWzVaWWBeFByMT+epU3khjabVaFZTpKYTohu23fLjLwIjjCxDbSDzQfzA9qJoQfuaj3kCKmSayagX817tZmCkawZZT6qZns4TCdSP+aJUwX4AGavlHc082Z6yaj/VusJFoseBlaaP6B3YPnANKRvmxr1Q1kkz1A6dYkZLTWml9Gwg4Imej0eX9tUiqhHGej0E0zppOr2oc5BL2jF2W0h6Z319SWpgtGg8GvRjQ2ikJFau87mDTNN/vJ1+rw5Z3wEhTrIBu/0hAjXv6ZJpiB6ZYGiQqW/4nps0cR1exNW53MLu+034IxGtp4/szee35/Mb1ChXHyNjOLRKkybTSHyWNQifXoPz0zP7as0anuHxo0XR/JBKtD2UiU7KmdS/g0SSlqZW+/QIWd+wUfj1B+F7t48Y1DvwMf/5Y75AtKYZlxxYTpCBwIjtq7pI+BK1WhLN50cj8AUCRBYtSBX1HjENI0f99k85EXsbnKmZxhcgJgSBIDVVIFqydnslO0qIZYIuDlJjlcJHNhi0NiRkzdr1Ixrtn16Dq9f1HwD/bga5HGuOPh1pkv9NPw3FDXHyukKgRIhTH1Q9/uM//nl8BYlod8WjsBdLAAAAAElFTkSuQmCC",Sn="data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",yn="/rmp/assets/opencollective-icon-Ciasch0w.webp",Cn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2023.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20270%20270'%20style='enable-background:new%200%200%20270%20270;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23E01E5A;}%20.st1{fill:%2336C5F0;}%20.st2{fill:%232EB67D;}%20.st3{fill:%23ECB22E;}%20%3c/style%3e%3cg%3e%3cg%3e%3cpath%20class='st0'%20d='M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z'/%3e%3cpath%20class='st0'%20d='M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9%20s-12.9-5.8-12.9-12.9V151.2z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z'/%3e%3cpath%20class='st1'%20d='M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9%20s5.8-12.9,12.9-12.9H118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st2'%20d='M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z'/%3e%3cpath%20class='st2'%20d='M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9%20c7.1,0,12.9,5.8,12.9,12.9V118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st3'%20d='M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z'/%3e%3cpath%20class='st3'%20d='M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9%20c0,7.1-5.8,12.9-12.9,12.9H151.2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",zn=s=>{const{isOpen:a,onClose:i}=s,{t:n}=L(),o=M.getAppVersion();return e.jsxs(Y,{isOpen:a,onClose:i,size:"xl",scrollBehavior:"inside",children:[e.jsx(F,{}),e.jsxs(J,{children:[e.jsx(q,{children:n("header.about.title")}),e.jsx(X,{}),e.jsxs(Q,{paddingBottom:10,children:[e.jsxs(Ms,{direction:"row",children:[e.jsx(at,{boxSize:"128px",src:"/rmp//logo192.png"}),e.jsxs(Ms,{direction:"column",width:"100%",alignItems:"center",justifyContent:"center",children:[e.jsx(w,{fontSize:"xl",as:"b",children:n("header.about.rmp")}),e.jsx(w,{children:o}),e.jsx(w,{}),e.jsx(w,{fontSize:"sm",children:n("header.about.railmapgen")})]})]}),e.jsx(T,{margin:5,children:e.jsx(w,{fontSize:"xl",children:n("header.about.desc")})}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.about.contributors")}),e.jsx(Ce,{as:"h6",size:"xs",my:2,children:n("header.about.coreContributors")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/thekingofcity","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/thekingofcity.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"thekingofcity"}),e.jsx(w,{fontSize:"sm",children:n("header.about.content1")}),e.jsx(w,{fontSize:"sm",align:"right",mb:1,children:n("header.about.content2")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/langonginc","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/langonginc.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"langonginc"}),e.jsx(w,{fontSize:"sm",children:n("header.about.langonginc")}),e.jsx(w,{fontSize:"sm",align:"right",mb:1,children:"--Avicii"})]})]})]}),e.jsx(Ce,{as:"h6",size:"xs",my:2,children:n("header.about.styleContributors")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/203IhzElttil","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/203IhzElttil.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"203IhzElttil"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.203IhzElttil")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Swiftiecott","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/Swiftiecott.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Swiftiecott"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.Swiftiecott")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Minwtraft","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/Minwtraft.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Minwtraft"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.Minwtraft")})]})]})]}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.about.contactUs")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/railmapgen/rmp/issues","_blank"),cursor:"pointer",children:[e.jsx(re,{src:Sn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.about.github")}),e.jsx(w,{fontSize:"sm",children:n("header.about.githubContent")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://join.slack.com/t/railmapgenerator/shared_invite/zt-1odhhta3n-DdZF~fnVwo_q0S0RJmgV8A","_blank"),cursor:"pointer",children:[e.jsx(re,{src:Cn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.about.slack")}),e.jsx(w,{fontSize:"sm",children:n("header.about.slackContent")}),e.jsx(w,{fontSize:"sm",as:"i",children:"#rmp, #gallery, #rmg, #palette-and-templates"})]})]})]}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.donation.title")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://afdian.com/a/rail-map-toolkit","_blank"),cursor:"pointer",children:[e.jsx(re,{src:wn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",pb:1,children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.donation.afdian")}),e.jsx(w,{fontSize:"sm",children:n("header.donation.viaCNY")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://opencollective.com/rail-map-toolkit","_blank"),cursor:"pointer",children:[e.jsx(re,{src:yn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",pb:1,children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.donation.openCollective")}),e.jsx(w,{fontSize:"sm",children:n("header.donation.viaUSD")})]})]})]})]})]})]})};/*! +import{j as e,at as Y,$ as F,au as J,a1 as q,a2 as X,a3 as Q,g as Ms,av as at,a4 as w,B as T,aw as Ce,ax as Ne,ay as ne,az as re,aA as oe,h as $e,O as E,a5 as xe,aB as lt,aC as ct,aD as ye,a7 as O,aE as N,a6 as Ds,aF as fs,aG as js,af as ee,aH as bs,aI as ce,U as le,aJ as es,aK as dt,aL as Us,al as Zs,d as Vs,R as Ks,q as Ys,Z as Fs,aM as ze,aN as ht,ak as De,ae as ut,aO as pt,aP as gt,aQ as D,aR as As,aS as mt,aT as k,aU as C,W as xt,m as ie,a8 as ft,a9 as jt}from"./chakra-xNcrfRXW.js";import{u as bt,r as M,C as wt,M as ws,n as ls,L as Js,S as I,R as Ts,a as qs,b as R,c as P,d as B,e as St,f as yt,g as Ct,h as zt,i as ke,E as Me,s as vt,j as Ye,k as ss,m as kt,l as Ot,o as Rs,p as Ss,q as K,t as V,v as se,w as Xs,x as Qs,y as cs,z as Oe,A as Ie,B as Es,D as Ns,F as Mt,G as At,H as Tt,I as Rt,J as Et,K as _s,N as Nt,O as _t,P as It,Q as Ht,T as Wt,U as Lt,V as Bt,W as Pt,X as Gt,Y as Dt,Z as Ut,_ as Zt,$ as Vt,a0 as Kt,a1 as Yt,a2 as Ft,a3 as Ue,a4 as fe,a5 as Jt,a6 as qt,a7 as Xt,a8 as Qt,a9 as pe,aa as $t,ab as en,ac as Is,ad as sn,ae as ts,af as tn,ag as nn,ah as rn,ai as on,aj as an,ak as ln,al as cn,am as dn,an as hn,ao as un}from"./index-KpXBwNUP.js";import{u as L,b,r as Ze,T as Hs}from"./react-D-_si4LB.js";import{d as ds,m as pn,a as gn,i as mn,s as xn,u as ys,M as fn}from"./master-manager-D9XDRPOe.js";import{C as jn}from"./change-type-modal-gChb5e9p.js";var Ws=function(s){return bt(M.ready(),s)},bn={ar:{ar:"العربية",en:"Arabic",ko:"아랍어","zh-Hans":"阿拉伯文","zh-Hant":"阿拉伯文"},az:{az:"Azərbaycanca",en:"Azerbaijani",ko:"아제르바이잔어","zh-Hans":"阿塞拜疆文","zh-Hant":"阿塞拜疆文"},ca:{ca:"Català",en:"Catalan",ko:"카탈루냐어","zh-Hans":"加泰罗尼亚文","zh-Hant":"加泰隆尼亞文"},da:{da:"Dansk",en:"Danish",ko:"덴마크어","zh-Hans":"丹麦文","zh-Hant":"丹麥文"},de:{de:"Deutsch",en:"German",ko:"독일어","zh-Hans":"德文","zh-Hant":"德文"},el:{el:"Ελληνικά",en:"Greek",ko:"그리스어","zh-Hans":"希腊文","zh-Hant":"希臘文"},en:{en:"English",ja:"英語",ko:"영어","zh-Hans":"英文","zh-Hant":"英文"},es:{en:"Spanish",es:"Español",ko:"스페인어","zh-Hans":"西班牙文","zh-Hant":"西班牙文"},fa:{en:"Persian",fa:"فارسی",ko:"페르시아어","zh-Hans":"波斯文","zh-Hant":"波斯文"},fr:{en:"French",fr:"Français",ko:"프랑스어","zh-Hans":"法文","zh-Hant":"法文"},ga:{en:"Irish",ga:"Gaeilge",ko:"아일랜드어","zh-Hans":"爱尔兰文","zh-Hant":"愛爾蘭文"},gd:{en:"Scottish Gaelic",gd:"Gàidhlig",ko:"스코틀랜드 게일어","zh-Hans":"苏格兰盖尔文","zh-Hant":"蘇格蘭蓋爾文"},hi:{en:"Hindi",hi:"हिन्दी",ko:"힌디어","zh-Hans":"印地文","zh-Hant":"印地文"},hu:{en:"Hungarian",hu:"Magyar",ko:"헝가리어","zh-Hans":"匈牙利文","zh-Hant":"匈牙利文"},id:{en:"Indoesian",id:"Bahasa Indonesia",ko:"인도네시아어","zh-Hans":"印尼文","zh-Hant":"印尼文"},it:{en:"Italian",it:"Italiano",ko:"이탈리아어","zh-Hans":"意大利文","zh-Hant":"意大利文"},ja:{en:"Japanese",ja:"日本語",ko:"일본어","zh-Hans":"日文","zh-Hant":"日文"},kk:{en:"Kazakh",kk:"Қазақша",ko:"카자흐어","zh-Hans":"哈萨克文","zh-Hant":"哈薩克文"},ko:{en:"Korean",ja:"韓国語",ko:"한국어","zh-Hans":"韩文","zh-Hant":"韓文"},ms:{en:"Malay",ko:"말레이어",ms:"Bahasa Melayu","zh-Hans":"马来文","zh-Hant":"馬來文"},no:{en:"Norwegian",ko:"노르웨이어",no:"Norsk","zh-Hans":"挪威文","zh-Hant":"挪威文"},pl:{en:"Polish",ko:"폴란드어",pl:"Polski","zh-Hans":"波兰文","zh-Hant":"波蘭文"},pt:{en:"Portuguese",ko:"포르투갈어",pt:"Português","zh-Hans":"葡萄牙文","zh-Hant":"葡萄牙文"},ro:{en:"Romanian",ko:"루마니아어",ro:"Română","zh-Hans":"罗马尼亚文","zh-Hant":"羅馬尼亞文"},ru:{en:"Russian",ko:"러시아어",ru:"Русский","zh-Hans":"俄文","zh-Hant":"俄文"},sv:{en:"Swedish",ko:"스웨덴어",sv:"Svenska","zh-Hans":"瑞典文","zh-Hant":"瑞典文"},th:{en:"Thai",ko:"태국어",th:"ภาษาไทย","zh-Hans":"泰文","zh-Hant":"泰文"},tr:{en:"Turkish",ko:"튀르키예어",tr:"Türkçe","zh-Hans":"土耳其文","zh-Hant":"土耳其文"},uk:{en:"Ukrainian",ko:"우크라이나어",uk:"Українська","zh-Hans":"乌克兰文","zh-Hant":"烏克蘭文"},ur:{en:"Urdo",ko:"우르두어",ur:"اردو","zh-Hans":"乌尔都文","zh-Hant":"烏爾都文"},uz:{en:"Uzbek",ko:"우즈베크어",uz:"Oʻzbekcha","zh-Hans":"乌兹别克文","zh-Hant":"烏茲別克文"},vi:{en:"Vietnamese",ko:"베트남어",vi:"Tiếng Việt","zh-Hans":"越南文","zh-Hant":"越南文"},zh:{en:"Chinese",ja:"中国語",ko:"중국어",zh:"中文","zh-Hans":"中文","zh-Hant":"中文"},"zh-Hans":{en:"Simplified Chinese",ja:"中国語(簡体字)",ko:"중국어 간체자","zh-Hans":"简体中文","zh-Hant":"簡體中文"},"zh-Hant":{en:"Traditional Chinese",ja:"中国語(繁体字)",ko:"중국어 정체자","zh-Hans":"繁体中文","zh-Hant":"繁體中文"}};const wn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAC9FBMVEUAAACabOutif+ve/+FbLiVcuaQaOCWb+WYceiLYtuccOingvOYcOeRad6ZcuifeumXcOWhfO6jfPCmhPOUa+aLYtyac+iVbuSMZN2VbeWNZt6RaeGRauKhee2acumQauClfvGTa+OOZd6JYNqWb+Sog/SSauGPaOCogvSNZN2NZN2ngfKogvSngPOfeu6bdemTauSlfvGYcOiohPSngfKQaOCXb+aifO+XcOaVbuWTbOOogfOlf/GmgPKTbOOYceaMZN2pg/WQaN+hee2OZt6RaeCRauGKYtuSa9+bdOmog/SifO+ddumie+6Zcuelf/GSa+Ked+uYcealf/GSauGJYdqpg/SQaOCJYduOZd6jffCJX9qNZN6mgfKMZN2SauKfeOyKYtuXcOWpg/SngfOdduuJYNqQaN+WbuWUbeWmgfOLY9yUbOWlf/GZceeKYNqOaN6mgvKpgvSZceiMZNyVb+WNZt2cdumSauOfee2Wb+WPaN+geu2ddeqMZNypg/Wheu6lf/GZcueJYNmQaN+jffCTbOSphPWog/SWb+WmgPKWb+aYcuekf/Gac+iKYtuVbuWWbuSogvSSa+KWb+SOZt6ifO+feeyngfKRaeGpg/SYcOefeOujfe+VbeSMZd6ac+iJYdqVbeSog/OVbOWcdeqKYtungvObdOmfd+uSa+KNZNyeduuRaeGjfe+XcOWMY9ybdOmngvSOZt6UbuWacuiSbOKgee2bdOmMY9yVbuOmgvSUbeKviP6xif+UaueVa+mMY92ZcOyqhPaOZOKuh/2shPybcu2mf/WhePKcdO6ddeyYb+qZceirhPmpgfmedfCacuuWbuWogfemffefdfKacuqSaOaPZeSRaOKyiv+qg/iogvShd/SYbuyWbeiQZuWNZN+MYt+thvqlffSie/CXbeqTaOeKYdu1jP+jevOccvCbce6Xbeuth/uqgvukevinf/eiePaVau2WbOqXb+ahdvuUaumfdPehee+thP6bb/MemaUsAAAAvXRSTlMAAwEEAwb+/Qv6Cfv8IRAOXiwaFP7++9p3TkwvJSEeGf7++/r59+ri0MmCeFZCPjk3NDEk9PHi4NLIwq2djHp1bmNZUVBIPzwU/v38+fj49/bz6+rl5N7a0s7Hw8LAvq+opqSjlZOSiIBuaGRjYmJaVU1HREQ1KykW+/X19O7r6OXf29vV0c3Mxry4taupnpqZlZGRi4uGgXxzbWtjWlJG8/Px7ezk3dfQwbq4tp2Zh3t6cVxaVtrXz7GdcGlhNM13AAAH1ElEQVRYw+1YVVgbQRDezd2RkODu7pS6u7u7u7u7u7u7u7slkCZESUKCuxQoLVD3vnSPSyW9S6ClD33o/xHOdv6b2f1nZhPwH//xz4EFcRwi/CU2RKY/hayK0+EYdWhr6eGN6CrKCEk6qzZNtwxY0Wtxr8EtK8qIob+Zo/v6i7Ozk8U54jeFMwFeoaUAcMIA/2RxrjhZ6O9v7n/szWjA+nMXkWWbAbni3Nzk3BXDhvUSmpsnZ08BsCJ8E/yTC8XCXqPbzHbpa24u/ODoUpE5hGBKbm6h44ApELj1TRLnvMm50IYUDoQ4UiWGQJBAB/IfXuaLcDB3RXLhsdFbwtyHfXjiKDa/51aWIKBJmRJgilBYOLXpmyfm2ULznNCWsHTRWZDgWLX1tvRwr9p6ZquWU5sjtDwyy9LqW0axjEd8NTm7Lwj7UohWw9Hx9OCBoQMHDx44MLRfv5V9goMX11qwwM8MISUlxcysVtDK8zsmuhOkHW40ZJds8WkOMUyY9CQ7R5jyITIp6UmkHlFRUW8RCkpKSjIzM2MyMwsKYmKyuq4e05owSokBN0ehGC3rkS39FvulILIoPSIjfZFXfgtq1QoK6hkcHNwzqFZX35ji4pismGLf+g/bIlsWY8jc0CeO5jfQKWf2zOZNXcLG7Nq1a0xY2NV9TSfcmOp2pHVV99keHpZeXmg+W0/dt61+z6yiGJ1U6tyEg6wZXWyVkyMUhnHLm6aWh7c5a6U6raLuYdKaBpRjTZPEwshQUi5IbKVxsCgZYjRQLrW9uU4n1SlU962QYBlTxS/KL8nsghundBIIAofMFQ6SiqFIW63TJrIz6s5CNximEbQJjUryi0rpN6aVN/USjMAgi17hWHoZkiSTaycEJMy/xTSRLBxwXYJLIs0iM836DGnsZknoXcIxXJ8WLETnbeNOMeqvvTbKLbSJBxiXhhzustKhxME361GBWc/6l/a18uB89w2WumTjHFt7zo86CdFbxypVKsUBetR64Vu1vNTHLKsgqyDz0aMs36DVQ3aMc61qyaUmpfoGrSrx9WFA/Jy1YLJTYjulDWBKROqmVevGQ/p0dXiEEEN+fLsGrd7qygXWY+cr2FrpcA6Ahia3nNopnWYAjLnrUYOtZk3ccf72cZ20qKiY5E2Q1h9XL0P3LsHZ5tfpghDYKJ3kpzwBZrwvU2dzq9qMHV7f+WSAtIiti03QshMCdralTT+pwibPnOIvskxUeCQ04ttT69kzXHfOfxcQoIpdVwUtHaPkNsd3jL8G8LLKrte4nY1noGnnbmWz32V0PwCRUpiLi/XZZ8pu1QFmui1UdU5QKLS1m9jUTmArFBs9qNLCzFi5ozJ+qMkuhAOi3ssAaaxOoZCi/Ko9mZx+E014VN4n5CJhqi3MOa7S1a3HZltYSJXDLUk3TI5elB+/x9SGCANzl8cmbtj2jm2R0d2Gthj0cjU079U5DEBTvfpKLFulstDKN3jS3aO//2B+3lKkRVNREHVjLSwyOjdBEwrL7sTVFubNq2yCED2Z3F1l8bouqb3ybBW8lsryWwBonA9FnJiYMdyKWtyyPbSvI8s7BKBRPtbm1xZKVZPSelIuQrulr3yMeggB3Piys7y7K6llDC/X7sh24asOEVT2MSYn4ltuC6haDcuzXW2RH9fDFh2ZdX/ttZP8rBdyD/F5o/jL4eHuuBerrAHO/LZZnZWxy70AQTKNPTlkbhl1BEKk6P4aSUPmYBDJqJftjlYBBMnt7vDx/TiTwqH8r9JJFjeJeRwOrO/K5aNK8xICb+f3Dq4GA1m/9lZgd7kR3C3RLLMHXMaIUaLLlS3QkSpiW28alCVIZq5hGjd8KhlUJ12y3p756xIOKjvJj1YH8Ec8LMP4DOseIkztEifz8emybKQnumQgnNHu2SIkmW8zDg348Mb1Jv7isl3/p+k+6XFxaYIelRgYMVCl47OOVQDOLA/XovcOyH0DnzmNaqplXWQSXnTaJADphJ6nnuUfREdmwuKPBoQQWI/cZGsfUdk2YlMaj3+iBs0QAuJcfN5QNNuMEmEZhozMw58+7bHXljw/xEt/3gxg9ETZE/+pWzVaWWBeFByMT+epU3khjabVaFZTpKYTohu23fLjLwIjjCxDbSDzQfzA9qJoQfuaj3kCKmSayagX817tZmCkawZZT6qZns4TCdSP+aJUwX4AGavlHc082Z6yaj/VusJFoseBlaaP6B3YPnANKRvmxr1Q1kkz1A6dYkZLTWml9Gwg4Imej0eX9tUiqhHGej0E0zppOr2oc5BL2jF2W0h6Z319SWpgtGg8GvRjQ2ikJFau87mDTNN/vJ1+rw5Z3wEhTrIBu/0hAjXv6ZJpiB6ZYGiQqW/4nps0cR1exNW53MLu+034IxGtp4/szee35/Mb1ChXHyNjOLRKkybTSHyWNQifXoPz0zP7as0anuHxo0XR/JBKtD2UiU7KmdS/g0SSlqZW+/QIWd+wUfj1B+F7t48Y1DvwMf/5Y75AtKYZlxxYTpCBwIjtq7pI+BK1WhLN50cj8AUCRBYtSBX1HjENI0f99k85EXsbnKmZxhcgJgSBIDVVIFqydnslO0qIZYIuDlJjlcJHNhi0NiRkzdr1Ixrtn16Dq9f1HwD/bga5HGuOPh1pkv9NPw3FDXHyukKgRIhTH1Q9/uM//nl8BYlod8WjsBdLAAAAAElFTkSuQmCC",Sn="data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",yn="/rmp/assets/opencollective-icon-Ciasch0w.webp",Cn="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2023.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20270%20270'%20style='enable-background:new%200%200%20270%20270;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23E01E5A;}%20.st1{fill:%2336C5F0;}%20.st2{fill:%232EB67D;}%20.st3{fill:%23ECB22E;}%20%3c/style%3e%3cg%3e%3cg%3e%3cpath%20class='st0'%20d='M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z'/%3e%3cpath%20class='st0'%20d='M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9%20s-12.9-5.8-12.9-12.9V151.2z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z'/%3e%3cpath%20class='st1'%20d='M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9%20s5.8-12.9,12.9-12.9H118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st2'%20d='M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z'/%3e%3cpath%20class='st2'%20d='M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9%20c7.1,0,12.9,5.8,12.9,12.9V118.8z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st3'%20d='M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z'/%3e%3cpath%20class='st3'%20d='M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9%20c0,7.1-5.8,12.9-12.9,12.9H151.2z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",zn=s=>{const{isOpen:a,onClose:i}=s,{t:n}=L(),o=M.getAppVersion();return e.jsxs(Y,{isOpen:a,onClose:i,size:"xl",scrollBehavior:"inside",children:[e.jsx(F,{}),e.jsxs(J,{children:[e.jsx(q,{children:n("header.about.title")}),e.jsx(X,{}),e.jsxs(Q,{paddingBottom:10,children:[e.jsxs(Ms,{direction:"row",children:[e.jsx(at,{boxSize:"128px",src:"/rmp//logo192.png"}),e.jsxs(Ms,{direction:"column",width:"100%",alignItems:"center",justifyContent:"center",children:[e.jsx(w,{fontSize:"xl",as:"b",children:n("header.about.rmp")}),e.jsx(w,{children:o}),e.jsx(w,{}),e.jsx(w,{fontSize:"sm",children:n("header.about.railmapgen")})]})]}),e.jsx(T,{margin:5,children:e.jsx(w,{fontSize:"xl",children:n("header.about.desc")})}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.about.contributors")}),e.jsx(Ce,{as:"h6",size:"xs",my:2,children:n("header.about.coreContributors")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/thekingofcity","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/thekingofcity.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"thekingofcity"}),e.jsx(w,{fontSize:"sm",children:n("header.about.content1")}),e.jsx(w,{fontSize:"sm",align:"right",mb:1,children:n("header.about.content2")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/langonginc","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/langonginc.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"langonginc"}),e.jsx(w,{fontSize:"sm",children:n("header.about.langonginc")}),e.jsx(w,{fontSize:"sm",align:"right",mb:1,children:"--Avicii"})]})]})]}),e.jsx(Ce,{as:"h6",size:"xs",my:2,children:n("header.about.styleContributors")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/203IhzElttil","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/203IhzElttil.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"203IhzElttil"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.203IhzElttil")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Swiftiecott","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/Swiftiecott.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Swiftiecott"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.Swiftiecott")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/Minwtraft","_blank"),cursor:"pointer",children:[e.jsx(re,{src:"https://github.com/Minwtraft.png",size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:"Minwtraft"}),e.jsx(w,{fontSize:"sm",mb:1,children:n("header.about.Minwtraft")})]})]})]}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.about.contactUs")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://github.com/railmapgen/rmp/issues","_blank"),cursor:"pointer",children:[e.jsx(re,{src:Sn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.about.github")}),e.jsx(w,{fontSize:"sm",children:n("header.about.githubContent")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://join.slack.com/t/railmapgenerator/shared_invite/zt-1odhhta3n-DdZF~fnVwo_q0S0RJmgV8A","_blank"),cursor:"pointer",children:[e.jsx(re,{src:Cn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.about.slack")}),e.jsx(w,{fontSize:"sm",children:n("header.about.slackContent")}),e.jsx(w,{fontSize:"sm",as:"i",children:"#rmp, #gallery, #rmg, #palette-and-templates"})]})]})]}),e.jsx(Ce,{as:"h5",size:"sm",mt:3,mb:2,children:n("header.donation.title")}),e.jsxs(Ne,{children:[e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://afdian.com/a/rail-map-toolkit","_blank"),cursor:"pointer",children:[e.jsx(re,{src:wn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",pb:1,children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.donation.afdian")}),e.jsx(w,{fontSize:"sm",children:n("header.donation.viaCNY")})]})]}),e.jsxs(ne,{size:"lg",w:"85%",onClick:()=>window.open("https://opencollective.com/rail-map-toolkit","_blank"),cursor:"pointer",children:[e.jsx(re,{src:yn,size:"lg",my:2,ml:-1,mr:2}),e.jsxs(oe,{display:"block",width:"100%",pb:1,children:[e.jsx(w,{fontSize:"lg",fontWeight:"bold",mb:1,children:n("header.donation.openCollective")}),e.jsx(w,{fontSize:"sm",children:n("header.donation.viaUSD")})]})]})]})]})]})]})};/*! * canvas-size * v2.0.0 * https://github.com/jhildenbiddle/canvas-size diff --git a/assets/rmg-palette-app-clip-B9uv6_6N.js b/assets/rmg-palette-app-clip-B2gcc2FF.js similarity index 93% rename from assets/rmg-palette-app-clip-B9uv6_6N.js rename to assets/rmg-palette-app-clip-B2gcc2FF.js index 2d67ae9f..64bb4785 100644 --- a/assets/rmg-palette-app-clip-B9uv6_6N.js +++ b/assets/rmg-palette-app-clip-B2gcc2FF.js @@ -1 +1 @@ -import{j as n,al as C}from"./chakra-xNcrfRXW.js";import{r as E,w as R}from"./index-C2EPE_tK.js";import{b as s}from"./react-D-_si4LB.js";const x="rmg-palette-bridge--",h={position:"relative",h:460,maxH:"70%","& > button":{position:"absolute",right:1,top:1},"& iframe":{h:"100%",w:"100%"}};function v(p){const{isOpen:c,onClose:o,defaultTheme:t,onSelect:l}=p,[r]=s.useState(crypto.randomUUID()),[m,f]=s.useState(!1),d="/rmg-palette/#/picker?"+new URLSearchParams({parentComponent:E.getAppName(),parentId:r}),i=s.useRef();return s.useEffect(()=>{const e=new BroadcastChannel(x+r);return i.current=e,e.onmessage=u=>{const{event:a,data:g}=u.data;console.log("[rmp] Received event from Palette app clip:",a),a==="CLOSE"?o():a==="SELECT"?l(g):a==="LOADED"&&f(!0)},()=>{e.close()}},[]),s.useEffect(()=>{var e;t&&((e=i.current)==null||e.postMessage({event:"OPEN",data:t}))},[m,t==null?void 0:t.toString()]),n.jsxs(R,{size:"md",isOpen:c,onClose:o,sx:h,children:[n.jsx(C,{onClick:o}),n.jsx("iframe",{src:d,loading:"eager"})]})}export{v as default}; +import{j as n,al as C}from"./chakra-xNcrfRXW.js";import{r as E,w as R}from"./index-KpXBwNUP.js";import{b as s}from"./react-D-_si4LB.js";const x="rmg-palette-bridge--",h={position:"relative",h:460,maxH:"70%","& > button":{position:"absolute",right:1,top:1},"& iframe":{h:"100%",w:"100%"}};function v(p){const{isOpen:c,onClose:o,defaultTheme:t,onSelect:l}=p,[r]=s.useState(crypto.randomUUID()),[m,f]=s.useState(!1),d="/rmg-palette/#/picker?"+new URLSearchParams({parentComponent:E.getAppName(),parentId:r}),i=s.useRef();return s.useEffect(()=>{const e=new BroadcastChannel(x+r);return i.current=e,e.onmessage=u=>{const{event:a,data:g}=u.data;console.log("[rmp] Received event from Palette app clip:",a),a==="CLOSE"?o():a==="SELECT"?l(g):a==="LOADED"&&f(!0)},()=>{e.close()}},[]),s.useEffect(()=>{var e;t&&((e=i.current)==null||e.postMessage({event:"OPEN",data:t}))},[m,t==null?void 0:t.toString()]),n.jsxs(R,{size:"md",isOpen:c,onClose:o,sx:h,children:[n.jsx(C,{onClick:o}),n.jsx("iframe",{src:d,loading:"eager"})]})}export{v as default}; diff --git a/assets/rmg-palette-app-clip-legacy-CrM51r0r.js b/assets/rmg-palette-app-clip-legacy-BAK_MCkb.js similarity index 94% rename from assets/rmg-palette-app-clip-legacy-CrM51r0r.js rename to assets/rmg-palette-app-clip-legacy-BAK_MCkb.js index e20231ec..06d7396f 100644 --- a/assets/rmg-palette-app-clip-legacy-CrM51r0r.js +++ b/assets/rmg-palette-app-clip-legacy-BAK_MCkb.js @@ -1 +1 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BGd0L8oF.js","./react-legacy-S3BmMPiz.js"],(function(e,t){"use strict";var n,a,s,r,o;return{setters:[e=>{n=e.j,a=e.al},e=>{s=e.r,r=e.w},e=>{o=e.b}],execute:function(){e("default",(function(e){const{isOpen:i,onClose:l,defaultTheme:u,onSelect:p}=e,[d]=o.useState(crypto.randomUUID()),[g,m]=o.useState(!1),f="/rmg-palette/#/picker?"+new URLSearchParams({parentComponent:s.getAppName(),parentId:d}),v=o.useRef();return o.useEffect((()=>{const e=new BroadcastChannel(t+d);return v.current=e,e.onmessage=e=>{const{event:t,data:n}=e.data;console.log("[rmp] Received event from Palette app clip:",t),"CLOSE"===t?l():"SELECT"===t?p(n):"LOADED"===t&&m(!0)},()=>{e.close()}}),[]),o.useEffect((()=>{var e;u&&(null===(e=v.current)||void 0===e||e.postMessage({event:"OPEN",data:u}))}),[g,null==u?void 0:u.toString()]),n.jsxs(r,{size:"md",isOpen:i,onClose:l,sx:c,children:[n.jsx(a,{onClick:l}),n.jsx("iframe",{src:f,loading:"eager"})]})}));const t="rmg-palette-bridge--",c={position:"relative",h:460,maxH:"70%","& > button":{position:"absolute",right:1,top:1},"& iframe":{h:"100%",w:"100%"}}}}})); +System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BdzZVG-I.js","./react-legacy-S3BmMPiz.js"],(function(e,t){"use strict";var n,a,s,r,o;return{setters:[e=>{n=e.j,a=e.al},e=>{s=e.r,r=e.w},e=>{o=e.b}],execute:function(){e("default",(function(e){const{isOpen:i,onClose:l,defaultTheme:u,onSelect:p}=e,[d]=o.useState(crypto.randomUUID()),[g,m]=o.useState(!1),f="/rmg-palette/#/picker?"+new URLSearchParams({parentComponent:s.getAppName(),parentId:d}),v=o.useRef();return o.useEffect((()=>{const e=new BroadcastChannel(t+d);return v.current=e,e.onmessage=e=>{const{event:t,data:n}=e.data;console.log("[rmp] Received event from Palette app clip:",t),"CLOSE"===t?l():"SELECT"===t?p(n):"LOADED"===t&&m(!0)},()=>{e.close()}}),[]),o.useEffect((()=>{var e;u&&(null===(e=v.current)||void 0===e||e.postMessage({event:"OPEN",data:u}))}),[g,null==u?void 0:u.toString()]),n.jsxs(r,{size:"md",isOpen:i,onClose:l,sx:c,children:[n.jsx(a,{onClick:l}),n.jsx("iframe",{src:f,loading:"eager"})]})}));const t="rmg-palette-bridge--",c={position:"relative",h:460,maxH:"70%","& > button":{position:"absolute",right:1,top:1},"& iframe":{h:"100%",w:"100%"}}}}})); diff --git a/assets/svg-wrapper-DBfiEyAx.js b/assets/svg-wrapper-BxWgeTfJ.js similarity index 98% rename from assets/svg-wrapper-DBfiEyAx.js rename to assets/svg-wrapper-BxWgeTfJ.js index 24ba8170..19d71ffd 100644 --- a/assets/svg-wrapper-DBfiEyAx.js +++ b/assets/svg-wrapper-BxWgeTfJ.js @@ -1 +1 @@ -import{j as E}from"./chakra-xNcrfRXW.js";import{a3 as Et,ap as Ct,aq as Ht,N as Tt,k as et,l as R,ar as Wt,as as Kt,at as Rt,au as Pt,S as Ot,av as wt,c as It,d as st,aw as Q,ax as tt,ay as lt,T as ot,az as kt,aA as Nt,aB as Y,q as dt,t as ct,n as at,m as Xt,o as zt,r as ut,E as ht,v as bt,y as St,U as V,aC as Yt,p as Ft,aD as Ut,a0 as Vt,a1 as Qt,A as xt,z as Dt,a9 as nt,am as Zt,an as qt}from"./index-C2EPE_tK.js";import{s as ft,u as Gt,f as Jt,F as te,l as ee,S as ne,b as se,c as oe}from"./master-manager-CMGMwlgA.js";import{f as Bt,b as j}from"./react-D-_si4LB.js";import{u as H,e as ie,i as re}from"./clipboard-BrQAjoN1.js";import{m as yt}from"./misc-nodes-BRiC9wrX.js";const ae={[Et.Shmetro]:[{"zh-Hans":"安徽南路",en:"South Anhui Road"},{"zh-Hans":"广西西路",en:"West Guangxi Road"},{"zh-Hans":"西藏东路",en:"East Xizang Road"},{"zh-Hans":"湖北北路",en:"North Hubei Road"},{"zh-Hans":"吉林中路",en:"Central Jilin Road"},{"zh-Hans":"乌镇大道",en:"Wuzhen Avenue"},{"zh-Hans":"龙溪公路",en:"Longxi Highway"},{"zh-Hans":"抚顺公园",en:"Fushun Park"},{"zh-Hans":"七星新城",en:"Qixing New Town"},{"zh-Hans":"千灯机场",en:"Qiandeng Airport"},{"zh-Hans":"震泽",en:"Zhengze"},{"zh-Hans":"沧浪高科园区",en:"Canglang High-Tech Park"},{"zh-Hans":"黎里",en:"Lili"},{"zh-Hans":"娄塘新村",en:"Loutang Xincun"},{"zh-Hans":"建设新村",en:"Jianshe Xincun"}],[Et.Bjsubway]:[{"zh-Hans":"青松路",en:"Qingsonglu"},{"zh-Hans":"星海广场",en:"Xinghai Guangchang"},{"zh-Hans":"科技新城",en:"Keji Xincheng"},{"zh-Hans":"东湖桥",en:"Donghuqiao"},{"zh-Hans":"金融中心南",en:"Jinrongzhongxinnan"},{"zh-Hans":"玉泉东路",en:"Yuquan Donglu"},{"zh-Hans":"西山北街",en:"Xishan Beijie"},{"zh-Hans":"天光西门",en:"Tianguangximen"},{"zh-Hans":"翠竹园",en:"Cuizhuyuan"},{"zh-Hans":"明月港",en:"Mingyuegang"},{"zh-Hans":"春华街",en:"Chunhuajie"},{"zh-Hans":"锦绣大道",en:"Jinxiu Dadao"}]},ce=t=>{const e=ae[t];return e.at(Math.floor(Math.random()*e.length))},Mt=Bt("runtime/getStationNames",async({cityName:t},{getState:e,dispatch:d,rejectWithValue:c})=>{const{token:s}=e().account;if(!s){d(Ct({cityName:t,names:[]}));return}const l=await fetch("".concat(Ht,"/").concat(t),{headers:{accept:"application/json","Content-Type":"application/json",Authorization:"Bearer ".concat(s)}});if(!l.ok)return Tt.warn("Failed to fetch random station names",l.statusText),c(l.statusText);const r=await l.json();d(Ct({cityName:t,names:r}))}),_t=Bt("runtime/getOneStationName",async(t,{getState:e,dispatch:d})=>{var h;const{stationNames:c}=e().runtime,s=c[t];if(((h=s==null?void 0:s.length)!=null?h:0)==0)return Tt.debug("No random station names in cache, using fallback"),d(Mt({cityName:t})),Object.values(ce(t));const l=structuredClone(s),r=l.shift();return d(Ct({cityName:t,names:l})),l.length<3&&d(Mt({cityName:t})),Object.values(r)}),$t=(t,e,d,c,s,l)=>{if(!("offsetFrom"in l)||!("offsetTo"in l)||Number.isNaN(l.offsetFrom)||Number.isNaN(l.offsetTo))return;if(l.offsetFrom===l.offsetTo)return jt(t,e,d,c,s)?{x1:e,y1:d,x2:c,y2:s,offset:l.offsetFrom}:void 0;const[r,h]=[l.offsetFrom,l.offsetTo];for(let g=0;gt===d?{x1:t+5*l,y1:e,x2:d+5*l,y2:c,offset:s}:e===c?{x1:t,y1:e+5*l,x2:d,y2:c+5*l,offset:s}:{x1:t+5*Math.SQRT1_2*l,y1:e+5*Math.SQRT1_2*l,x2:d+5*Math.SQRT1_2*l,y2:c+5*Math.SQRT1_2*l,offset:s},jt=(t,e,d,c,s)=>!!((e===c||d===s)&&[et.Diagonal,et.Perpendicular].includes(t)||Math.abs((s-d)/(c-e))===1&&[et.Diagonal,et.RotatePerpendicular].includes(t)),de=(t,e)=>{const d=[],c=[];return Object.values(e).forEach(s=>{var T;if(s.length===1){c.push(...s.map(f=>f.edge));return}const l=t.getEdgeAttribute(s.at(0),"type");if(!s.every(f=>t.getEdgeAttribute(f,"type")===l)){c.push(...s.map(f=>f.edge));return}const r=t.getEdgeAttribute(s.at(0),"style");if(!s.every(f=>t.getEdgeAttribute(f,"style")===r)){c.push(...s.map(f=>f.edge));return}const h={},g=new Set,o=new Set,i=Object.fromEntries(s.map(f=>{var x,C;const[M,a]=t.extremities(f);return h[M]=((x=h[M])!=null?x:0)+1,h[a]=((C=h[a])!=null?C:0)+1,g.add(M),o.add(a),[M,[f.edge,a]]})),u=Array.from(g).filter(f=>h[f]===1),m=Array.from(o).filter(f=>h[f]===1);if(u.length!==1||m.length!==1){c.push(...s.map(f=>f.edge));return}const b=u[0],v=m[0];if(b===v){c.push(...s.map(f=>f.edge));return}const N=[i[b][0]];let z=i[b][1];for(let f=1;fa.edge));return}N.push(i[z][0]),z=M}if(z!==v||N.length!==s.length){c.push(...s.map(f=>f.edge));return}d.push(N)}),{allReconciledLines:d,danglingLines:c}},ue=(t,e)=>{if(!e.every(s=>t.hasEdge(s)))return;const d=e.map(s=>{var m,b,v;const[l,r]=t.extremities(s),h=t.getNodeAttributes(l),g=t.getNodeAttributes(r),{type:o}=t.getEdgeAttributes(s),i=(m=t.getEdgeAttribute(s,o))!=null?m:R[o].defaultAttrs,u=$t(o,h.x,h.y,g.x,g.y,i);if(u){const{x1:N,y1:z,x2:T,y2:f,offset:M}=u;return R[et.Simple].generatePath(N,T,z,f,{offset:M})}return(v=(b=R[o])==null?void 0:b.generatePath(h.x,g.x,h.y,g.y,i))!=null?v:"M ".concat(h.x," ").concat(h.y," L ").concat(g.x," ").concat(g.y)});let c="".concat(d[0]," ");for(let s=1;s[...t.nodeEntries()].map(e=>e.node.startsWith("stn")?{id:e.node,type:"station",station:e.attributes}:{id:e.node,type:"misc-node",miscNode:e.attributes}),fe=t=>{const e={},d={},c=[],s={},l=[];for(const o of t.edgeEntries()){const[i,u,m,b]=[o.sourceAttributes.x,o.sourceAttributes.y,o.targetAttributes.x,o.targetAttributes.y],v=o.attributes[o.attributes.type],N=$t(o.attributes.type,i,u,m,b,v);d[o.edge]=N}for(const o of t.edgeEntries()){let i=d[o.edge];const{parallelIndex:u}=o.attributes;if(u>=0){const m=Wt(t,o.attributes.type,o.edge),b=d[m];if(!b){c.push(o);continue}if(u>0){const{x1:v,y1:N,x2:z,y2:T,offset:f}=b;i=le(v,N,z,T,f,u)}}if(o.attributes.reconcileId!==""){const m=o.attributes.reconcileId;m in s?s[m].push(o):s[m]=[o];continue}if(i){const m=o.edge,b=o.attributes,{x1:v,y1:N,x2:z,y2:T,offset:f}=i;e[m]={attr:b,path:R[et.Simple].generatePath(v,z,N,T,{offset:f})};continue}l.push(o)}const r=new Set;for(;c.length;){const o=c.pop();if(r.has(o.edge))continue;const{parallel:i}=Kt(t,o);if(!i.length)continue;i.forEach(m=>r.add(m.edge));const u=Rt(i);for(const m of i){const b=m.edge;e[b]={attr:m.attributes,path:u[b]}}}const{allReconciledLines:h,danglingLines:g}=de(t,s);for(const o of h){const i=ue(t,o);if(!i)continue;const u=o[0];e[u]={attr:t.getEdgeAttributes(u),path:i}}for(const o of g){const i=t.getEdgeAttributes(o),[u,m]=t.extremities(o),b=t.getNodeAttributes(u),v=t.getNodeAttributes(m);e[o]={attr:i,path:R[et.Simple].generatePath(b.x,v.x,b.y,v.y,R[et.Simple].defaultAttrs)}}for(const o of l){const i=o.edge,u=o.attributes.type,m=o.attributes,[b,v,N,z]=[o.sourceAttributes.x,o.sourceAttributes.y,o.targetAttributes.x,o.targetAttributes.y];if(!(u in R)){e[i]={attr:m,path:"M ".concat(b," ").concat(v," L ").concat(N," ").concat(z)};continue}e[i]={attr:m,path:R[u].generatePath(b,N,v,z,m[u])}}return Object.entries(e).map(([o,i])=>({id:o,type:"line",line:i}))},Lt=t=>{const{id:e,x:d,y:c,handlePointerDown:s,handlePointerMove:l,handlePointerUp:r}=t,h=j.useCallback(i=>s(e,i),[e,s]),g=j.useCallback(i=>l(e,i),[e,l]),o=j.useCallback(i=>r(e,i),[e,r]);return E.jsx("g",{id:e,transform:"translate(".concat(d-6.4," ").concat(c-6.4,")scale(0.025)"),onPointerDown:h,onPointerMove:g,onPointerUp:o,style:{cursor:"move"},children:E.jsx("path",{id:"stn_core_".concat(e),fillRule:"evenodd",clipRule:"evenodd",d:"M256 0c70.69 0 134.7 28.66 181.02 74.98C483.34 121.31 512 185.31 512 256c0 70.69-28.66 134.7-74.98 181.02C390.7 483.34 326.69 512 256 512c-70.69 0-134.69-28.66-181.02-74.98C28.66 390.7 0 326.69 0 256c0-70.69 28.66-134.69 74.98-181.02C121.31 28.66 185.31 0 256 0zm-21.91 302.69v-2.07c.16-13.72 1.51-24.59 4.15-32.67 2.59-8.08 6.32-14.65 11.18-19.63 4.87-5.02 10.72-9.58 17.56-13.72 4.4-2.8 8.39-5.9 11.91-9.37 3.52-3.42 6.32-7.41 8.38-11.91 2.07-4.46 3.11-9.42 3.11-14.91 0-6.53-1.55-12.18-4.66-16.99-3.05-4.77-7.19-8.44-12.27-11.08-5.13-2.59-10.82-3.89-17.09-3.89-5.65 0-11.03 1.15-16.21 3.53-5.12 2.33-9.42 6-12.79 10.97-3.36 4.98-5.33 11.35-5.85 19.11h-33.56c.53-13.21 3.89-24.39 10.05-33.55 6.21-9.16 14.4-16.11 24.55-20.82 10.2-4.71 21.49-7.04 33.81-7.04 13.57 0 25.38 2.48 35.52 7.56 10.15 5.02 18.08 12.06 23.72 21.08 5.59 9 8.44 19.47 8.44 31.48 0 8.23-1.29 15.64-3.88 22.21-2.59 6.58-6.22 12.48-10.98 17.61-4.77 5.18-10.41 9.73-17.03 13.67-6.27 3.94-11.35 7.97-15.18 12.17-3.88 4.19-6.68 9.17-8.44 14.86-1.76 5.74-2.75 12.84-2.9 21.33v2.07h-31.54zm16.68 70.67c-6.06 0-11.24-2.18-15.59-6.48-4.34-4.29-6.47-9.53-6.47-15.63 0-6.01 2.12-11.19 6.47-15.49 4.35-4.3 9.53-6.47 15.59-6.47 5.95 0 11.12 2.19 15.48 6.47 4.39 4.31 6.58 9.48 6.58 15.49 0 4.04-1.05 7.76-3.06 11.08-2.02 3.35-4.66 6.07-7.97 8.03-3.31 1.96-6.99 3-11.03 3z"})})},ye=t=>{const{id:e,path:d,handlePointerDown:c}=t,s=j.useCallback(l=>c(e,l),[e,c]);return E.jsx("path",{id:e,d,fill:"none",stroke:"grey",strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},pe=j.memo(t=>{var g,o,i,u,m,b,v,N,z,T,f,M;const{elements:e,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s,handleEdgePointerDown:l}=t,r=Object.fromEntries(Array.from({length:21},(a,x)=>[x-10,{pre:[],main:[],post:[]}]));for(const a of e)if(a.type==="line"){const x=a.line.attr.type,C=a.line.attr.style,w=a.line.attr[C],A=(g=Pt[C])==null?void 0:g.preComponent;A&&r[a.line.attr.zIndex].pre.push(E.jsx(A,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},"".concat(a.id,".pre")));const y=(i=(o=Pt[C])==null?void 0:o.component)!=null?i:ye;r[a.line.attr.zIndex].main.push(E.jsx(y,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},a.id));const L=(u=Pt[C])==null?void 0:u.postComponent;L&&r[a.line.attr.zIndex].post.push(E.jsx(L,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},"".concat(a.id,".post")))}else if(a.type==="station"){const x=a.station,C=x.type,w=(m=ft[C])==null?void 0:m.preComponent;w&&r[a.station.zIndex].pre.push(E.jsx(w,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".pre")));const A=(v=(b=ft[C])==null?void 0:b.component)!=null?v:Lt;r[a.station.zIndex].main.push(E.jsx(A,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},a.id));const y=(N=ft[C])==null?void 0:N.postComponent;y&&r[a.station.zIndex].post.push(E.jsx(y,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".post")))}else if(a.type==="misc-node"){const x=a.miscNode,C=x.type,w=(z=yt[C])==null?void 0:z.preComponent;w&&r[a.miscNode.zIndex].pre.push(E.jsx(w,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".pre")));const A=(f=(T=yt[C])==null?void 0:T.component)!=null?f:Lt;r[a.miscNode.zIndex].main.push(E.jsx(A,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},a.id));const y=(M=yt[C])==null?void 0:M.postComponent;y&&r[a.miscNode.zIndex].post.push(E.jsx(y,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".post")))}return Array.from({length:21},(a,x)=>(x-10).toString()).map(a=>[...r[a].pre,...r[a].main,...r[a].post]).flat()},(t,e)=>t.elements===e.elements),ge=[...Object.values(Ot),wt.Virtual,wt.Master,wt.LondonArrow],me=()=>{const t=It(),e=j.useRef(window.graph),d=()=>{t(dt()),t(ct()),t(bt(e.current.export()))},{telemetry:{project:c},preference:{autoParallel:s}}=st(A=>A.app),{svgViewBoxZoom:l,svgViewBoxMin:r}=st(A=>A.param),{selected:h,refresh:{nodes:g,edges:o},mode:i,active:u,keepLastPath:m,theme:b}=st(A=>A.runtime),[v,N]=j.useState({x:0,y:0}),[z,T]=j.useState({x:0,y:0}),f=H((A,y)=>{y.stopPropagation(),i==="select"&&t(Q("free"));const L=y.currentTarget,{x:$,y:I}=tt(y);L.setPointerCapture(y.pointerId),N({x:$,y:I}),t(lt(A)),y.shiftKey?h.has(A)?t(kt(A)):t(Nt(A)):h.has(A)||t(ot(new Set([A])))}),M=H((A,y)=>{const{x:L,y:$}=tt(y);i==="free"&&u===A?(h.forEach(I=>{e.current.hasNode(I)&&e.current.updateNodeAttributes(I,O=>({...O,x:Y(O.x-(v.x-L)*l/100,y.altKey?1:5),y:Y(O.y-(v.y-$)*l/100,y.altKey?1:5)}))}),t(dt()),t(ct())):i.startsWith("line")&&T({x:(v.x-L)*l/100,y:(v.y-$)*l/100})}),a=H((A,y)=>{if(i.startsWith("line")){m||t(Q("free"));const L=e.current.hasNode(u)&&ge.includes(e.current.getNodeAttribute(u,"type"));["stn_core_","virtual_circle_"].forEach(I=>{var it,rt;const W=(rt=(it=document.elementsFromPoint(y.clientX,y.clientY)[0].attributes)==null?void 0:it.getNamedItem("id"))==null?void 0:rt.value,F=W==null?void 0:W.startsWith(I);if(L&&F){const K=i.slice(5),Z="line_".concat(at(10)),[X,B]=[u,W.slice(I.length)],U=s?Xt(e.current,K,X,B,"from"):-1;e.current.addDirectedEdgeWithKey(Z,X,B,{visible:!0,zIndex:0,type:K,[K]:structuredClone(R[K].defaultAttrs),style:zt.SingleColor,[zt.SingleColor]:{color:b},reconcileId:"",parallelIndex:U}),t(ot(new Set([Z]))),c&&ut.event(ht.ADD_LINE,{type:K})}}),t(ct()),t(bt(e.current.export()))}else if(i==="free"&&u){const{x:L,y:$}=tt(y);v.x-L===0&&v.y-$===0||t(bt(e.current.export()))}t(lt(void 0))}),x=H((A,y)=>{if(y.stopPropagation(),y.shiftKey||t(St()),y.shiftKey&&h.has(A)?t(kt(A)):t(Nt(A)),i.startsWith("station")||i.startsWith("misc-node-virtual")||i.startsWith("misc-node-master")){const L=y.clientX-document.getElementById("canvas").getBoundingClientRect().left,$=y.clientY-document.getElementById("canvas").getBoundingClientRect().top,I=i.startsWith("station"),O=at(10),W=I?"stn_".concat(O):"misc_node_".concat(O),F=I?i.slice(8):i.slice(10),{x:it,y:rt}=V(L,$,l,r),K=I?structuredClone(ft[F].defaultAttrs):structuredClone(yt[F].defaultAttrs);"color"in K&&(K.color=b),e.current.addNode(W,{visible:!0,zIndex:0,x:Y(it,5),y:Y(rt,5),type:F,[F]:K});const Z=e.current.getEdgeAttributes(A),{zIndex:X,type:B,style:U}=Z,pt=Z[B],gt=Z[U],[q,vt]=e.current.extremities(A),n=s?0:-1;e.current.addDirectedEdgeWithKey("line_".concat(at(10)),q,W,{visible:!0,zIndex:X,type:B,[B]:structuredClone(pt),style:U,[U]:structuredClone(gt),reconcileId:"",parallelIndex:n}),e.current.addDirectedEdgeWithKey("line_".concat(at(10)),W,vt,{visible:!0,zIndex:X,type:B,[B]:structuredClone(pt),style:U,[U]:structuredClone(gt),reconcileId:"",parallelIndex:n}),e.current.dropEdge(A),d(),c&&(ut.event(ht.ADD_STATION,{type:F}),ut.event(ht.ADD_LINE,{type:B})),t(Q("free")),t(ot(new Set([W])))}}),C=j.useMemo(()=>[...fe(e.current),...he(e.current)],[o,g]),w=Yt.component;return E.jsxs(E.Fragment,{children:[E.jsx(pe,{elements:C,handlePointerDown:f,handlePointerMove:M,handlePointerUp:a,handleEdgePointerDown:x}),i.startsWith("line")&&u&&u!=="background"&&E.jsx(w,{id:"line_create_in_progress___no_use",type:i.slice(5),path:R[i.slice(5)].generatePath(e.current.getNodeAttribute(u,"x"),e.current.getNodeAttribute(u,"x")-z.x,e.current.getNodeAttribute(u,"y"),e.current.getNodeAttribute(u,"y")-z.y,R[i.slice(5)].defaultAttrs),styleAttrs:{color:b},newLine:!0,handlePointerDown:()=>{}})]})},we=()=>{const t=It(),e=j.useRef(window.graph),d=()=>{t(dt()),t(ct()),t(bt(e.current.export()))},{activeSubscriptions:c}=st(n=>n.account),{telemetry:{project:s},preference:{randomStationsNames:l}}=st(n=>n.app),{svgViewBoxZoom:r,svgViewBoxMin:h}=st(n=>n.param),{mode:g,lastTool:o,active:i,selected:u,keepLastPath:m,theme:b,refresh:{nodes:v},masterNodesCount:N,parallelLinesCount:z}=st(n=>n.runtime),T=Gt(),{height:f,width:M}=Ft(T),a=!c.RMP_CLOUD&&N+1>Ut,x=!c.RMP_CLOUD&&z+1>Vt,C=!c.RMP_CLOUD||l==="none";j.useEffect(()=>{const n=Jt(e.current);Object.entries(n).filter(([p,S])=>S&&p in te).forEach(([p])=>ee(p))},[v]);const[w,A]=j.useState({x:0,y:0}),[y,L]=j.useState({x:0,y:0}),[$,I]=j.useState({x:0,y:0}),[O,W]=j.useState({x:0,y:0}),F=H(async n=>{const{x:p,y:S}=tt(n);if(g.startsWith("station")){t(Q("free"));const _=at(10),k="stn_".concat(_),P=g.slice(8),D=structuredClone(ft[P].defaultAttrs);if("color"in D&&(D.color=b),!C){const mt=await t(_t(Et.Shmetro));if(_t.fulfilled.match(mt)){const J=mt.payload;D.names.length>J.length?J.push(...Array(D.names.length-J.length).fill(J.at(-1))):D.names.length{if(g==="select"){if(w.x!=0&&w.y!=0){const{x:p,y:S}=tt(n);L(V(p,S,r,h))}}else if(i==="background"){const{x:p,y:S}=tt(n);t(xt({x:O.x+($.x-p)*r/100,y:O.y+($.y-S)*r/100}))}}),rt=H(n=>{if(g==="select"){const{x:p,y:S}=tt(n),{x:_,y:k}=V(p,S,r,h),P=se(e.current,w.x,w.y,_,k),D=oe(e.current,new Set(P));t(ot(new Set([...n.shiftKey?u:[],...P,...D]))),t(Q("free")),A({x:0,y:0}),L({x:0,y:0})}i==="background"&&!n.shiftKey&&t(lt(void 0))}),K=H(n=>{let p=r;n.deltaY>0&&r+10<400?p=r+10:n.deltaY<0&&r-10>0&&(p=r-10),t(Dt(p));const{x:S,y:_}=tt(n),k=n.currentTarget.getBoundingClientRect(),[P,D]=[S/k.width,_/k.height];t(xt({x:h.x+S*r/100-M*p/100*P,y:h.y+_*r/100-f*p/100*D}))}),Z=H(async n=>{if(nt?n.key==="Backspace":n.key==="Delete")u.size>0&&(u.forEach(p=>{e.current.hasNode(p)?e.current.dropNode(p):e.current.hasEdge(p)&&e.current.dropEdge(p)}),t(St()),d());else if(n.key.startsWith("Arrow")){const S=n.key.endsWith("Left")?-1:n.key.endsWith("Right")?1:0,_=n.key.endsWith("Up")?-1:n.key.endsWith("Down")?1:0;t(xt(V(100*S,100*_,r,h)))}else if(n.key==="i"||n.key==="j"||n.key==="k"||n.key==="l"){const S=(n.key==="j"?-1:n.key==="l"?1:0)*10,_=(n.key==="i"?-1:n.key==="k"?1:0)*10;u.size>0&&u.forEach(k=>{e.current.hasNode(k)&&(e.current.updateNodeAttribute(k,"x",P=>(P!=null?P:0)+S),e.current.updateNodeAttribute(k,"y",P=>(P!=null?P:0)+_),d())})}else if(n.key==="f"&&o)t(Q(o));else if(n.key==="z"&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey))nt&&n.preventDefault(),t(Zt()),t(dt()),t(ct());else if(n.key==="s")t(Q("select"));else if((n.key==="c"||n.key==="x")&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey)){const p=ie(e.current,u);navigator.clipboard.writeText(p),n.key==="x"&&(t(St()),u.forEach(S=>{e.current.hasNode(S)?e.current.dropNode(S):e.current.hasEdge(S)&&e.current.dropEdge(S)}),d())}else if(n.key==="v"&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey)){const p=await navigator.clipboard.readText(),{x:S,y:_}=V(M/2,f/2,r,h),{nodes:k,edges:P}=re(p,e.current,a,x,Y(S,5),Y(_,5));d();const D=structuredClone(k);P.forEach(G=>D.add(G)),t(ot(D))}else(nt&&n.key==="z"&&n.metaKey&&n.shiftKey||!nt&&n.key==="y"&&n.ctrlKey)&&(t(qt()),t(dt()),t(ct()))}),[X,B]=j.useState(0),U=H(n=>{if(n.touches.length===2){t(lt(void 0));const[p,S]=[n.touches[0].clientX-n.touches[1].clientX,n.touches[0].clientY-n.touches[1].clientY];B(p*p+S*S)}}),pt=H(n=>{if(X!==0&&n.touches.length===2){const[p,S]=[n.touches[0].clientX-n.touches[1].clientX,n.touches[0].clientY-n.touches[1].clientY],_=p*p+S*S;let k=r;_-X<0&&r+10<=390?k=r+10:_-X>0&&r-10>=10&&(k=r-10),t(Dt(k)),B(_);const P=n.currentTarget.getBoundingClientRect(),[D,G]=[(n.touches[0].clientX+n.touches[1].clientX)/2-P.left,(n.touches[0].clientY+n.touches[1].clientY)/2-P.top],[At,mt]=[D/P.width,G/P.height];t(xt({x:h.x+D*r/100-M*k/100*At,y:h.y+G*r/100-f*k/100*mt}))}}),gt=H(n=>{X!==0&&B(0)}),[q,vt]=j.useState({sx:0,sy:0,ex:0,ey:0});return j.useEffect(()=>{vt({sx:w.x<=y.x?w.x:y.x,ex:w.x>y.x?w.x:y.x,sy:w.y<=y.y?w.y:y.y,ey:w.y>y.y?w.y:y.y})},[y.x,y.y]),E.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",id:"canvas",style:{position:"fixed",top:40,left:40,userSelect:"none",touchAction:"none"},height:f,width:M,viewBox:"".concat(h.x," ").concat(h.y," ").concat(M*r/100," ").concat(f*r/100),onPointerDown:F,onPointerMove:it,onPointerUp:rt,onTouchStart:U,onTouchMove:pt,onTouchEnd:gt,onWheel:K,tabIndex:0,onKeyDown:Z,children:[E.jsx(ne,{children:E.jsx(me,{})}),g==="select"&&w.x!=0&&w.y!=0&&E.jsx("rect",{x:q.sx,y:q.sy,width:q.ex-q.sx,height:q.ey-q.sy,rx:"2",stroke:"#b5b5b6",strokeWidth:"2",strokeOpacity:"0.4",fill:"#b5b5b6",opacity:"0.75"}),E.jsx("defs",{children:E.jsxs("pattern",{id:"opaque",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:[E.jsx("rect",{x:"0",y:"0",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"}),E.jsx("rect",{x:"2.5",y:"2.5",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"})]})})]})};export{we as default}; +import{j as E}from"./chakra-xNcrfRXW.js";import{a3 as Et,ap as Ct,aq as Ht,N as Tt,k as et,l as R,ar as Wt,as as Kt,at as Rt,au as Pt,S as Ot,av as wt,c as It,d as st,aw as Q,ax as tt,ay as lt,T as ot,az as kt,aA as Nt,aB as Y,q as dt,t as ct,n as at,m as Xt,o as zt,r as ut,E as ht,v as bt,y as St,U as V,aC as Yt,p as Ft,aD as Ut,a0 as Vt,a1 as Qt,A as xt,z as Dt,a9 as nt,am as Zt,an as qt}from"./index-KpXBwNUP.js";import{s as ft,u as Gt,f as Jt,F as te,l as ee,S as ne,b as se,c as oe}from"./master-manager-D9XDRPOe.js";import{f as Bt,b as j}from"./react-D-_si4LB.js";import{u as H,e as ie,i as re}from"./clipboard-Bp3Rtabe.js";import{m as yt}from"./misc-nodes-D3tkoIn0.js";const ae={[Et.Shmetro]:[{"zh-Hans":"安徽南路",en:"South Anhui Road"},{"zh-Hans":"广西西路",en:"West Guangxi Road"},{"zh-Hans":"西藏东路",en:"East Xizang Road"},{"zh-Hans":"湖北北路",en:"North Hubei Road"},{"zh-Hans":"吉林中路",en:"Central Jilin Road"},{"zh-Hans":"乌镇大道",en:"Wuzhen Avenue"},{"zh-Hans":"龙溪公路",en:"Longxi Highway"},{"zh-Hans":"抚顺公园",en:"Fushun Park"},{"zh-Hans":"七星新城",en:"Qixing New Town"},{"zh-Hans":"千灯机场",en:"Qiandeng Airport"},{"zh-Hans":"震泽",en:"Zhengze"},{"zh-Hans":"沧浪高科园区",en:"Canglang High-Tech Park"},{"zh-Hans":"黎里",en:"Lili"},{"zh-Hans":"娄塘新村",en:"Loutang Xincun"},{"zh-Hans":"建设新村",en:"Jianshe Xincun"}],[Et.Bjsubway]:[{"zh-Hans":"青松路",en:"Qingsonglu"},{"zh-Hans":"星海广场",en:"Xinghai Guangchang"},{"zh-Hans":"科技新城",en:"Keji Xincheng"},{"zh-Hans":"东湖桥",en:"Donghuqiao"},{"zh-Hans":"金融中心南",en:"Jinrongzhongxinnan"},{"zh-Hans":"玉泉东路",en:"Yuquan Donglu"},{"zh-Hans":"西山北街",en:"Xishan Beijie"},{"zh-Hans":"天光西门",en:"Tianguangximen"},{"zh-Hans":"翠竹园",en:"Cuizhuyuan"},{"zh-Hans":"明月港",en:"Mingyuegang"},{"zh-Hans":"春华街",en:"Chunhuajie"},{"zh-Hans":"锦绣大道",en:"Jinxiu Dadao"}]},ce=t=>{const e=ae[t];return e.at(Math.floor(Math.random()*e.length))},Mt=Bt("runtime/getStationNames",async({cityName:t},{getState:e,dispatch:d,rejectWithValue:c})=>{const{token:s}=e().account;if(!s){d(Ct({cityName:t,names:[]}));return}const l=await fetch("".concat(Ht,"/").concat(t),{headers:{accept:"application/json","Content-Type":"application/json",Authorization:"Bearer ".concat(s)}});if(!l.ok)return Tt.warn("Failed to fetch random station names",l.statusText),c(l.statusText);const r=await l.json();d(Ct({cityName:t,names:r}))}),_t=Bt("runtime/getOneStationName",async(t,{getState:e,dispatch:d})=>{var h;const{stationNames:c}=e().runtime,s=c[t];if(((h=s==null?void 0:s.length)!=null?h:0)==0)return Tt.debug("No random station names in cache, using fallback"),d(Mt({cityName:t})),Object.values(ce(t));const l=structuredClone(s),r=l.shift();return d(Ct({cityName:t,names:l})),l.length<3&&d(Mt({cityName:t})),Object.values(r)}),$t=(t,e,d,c,s,l)=>{if(!("offsetFrom"in l)||!("offsetTo"in l)||Number.isNaN(l.offsetFrom)||Number.isNaN(l.offsetTo))return;if(l.offsetFrom===l.offsetTo)return jt(t,e,d,c,s)?{x1:e,y1:d,x2:c,y2:s,offset:l.offsetFrom}:void 0;const[r,h]=[l.offsetFrom,l.offsetTo];for(let g=0;gt===d?{x1:t+5*l,y1:e,x2:d+5*l,y2:c,offset:s}:e===c?{x1:t,y1:e+5*l,x2:d,y2:c+5*l,offset:s}:{x1:t+5*Math.SQRT1_2*l,y1:e+5*Math.SQRT1_2*l,x2:d+5*Math.SQRT1_2*l,y2:c+5*Math.SQRT1_2*l,offset:s},jt=(t,e,d,c,s)=>!!((e===c||d===s)&&[et.Diagonal,et.Perpendicular].includes(t)||Math.abs((s-d)/(c-e))===1&&[et.Diagonal,et.RotatePerpendicular].includes(t)),de=(t,e)=>{const d=[],c=[];return Object.values(e).forEach(s=>{var T;if(s.length===1){c.push(...s.map(f=>f.edge));return}const l=t.getEdgeAttribute(s.at(0),"type");if(!s.every(f=>t.getEdgeAttribute(f,"type")===l)){c.push(...s.map(f=>f.edge));return}const r=t.getEdgeAttribute(s.at(0),"style");if(!s.every(f=>t.getEdgeAttribute(f,"style")===r)){c.push(...s.map(f=>f.edge));return}const h={},g=new Set,o=new Set,i=Object.fromEntries(s.map(f=>{var x,C;const[M,a]=t.extremities(f);return h[M]=((x=h[M])!=null?x:0)+1,h[a]=((C=h[a])!=null?C:0)+1,g.add(M),o.add(a),[M,[f.edge,a]]})),u=Array.from(g).filter(f=>h[f]===1),m=Array.from(o).filter(f=>h[f]===1);if(u.length!==1||m.length!==1){c.push(...s.map(f=>f.edge));return}const b=u[0],v=m[0];if(b===v){c.push(...s.map(f=>f.edge));return}const N=[i[b][0]];let z=i[b][1];for(let f=1;fa.edge));return}N.push(i[z][0]),z=M}if(z!==v||N.length!==s.length){c.push(...s.map(f=>f.edge));return}d.push(N)}),{allReconciledLines:d,danglingLines:c}},ue=(t,e)=>{if(!e.every(s=>t.hasEdge(s)))return;const d=e.map(s=>{var m,b,v;const[l,r]=t.extremities(s),h=t.getNodeAttributes(l),g=t.getNodeAttributes(r),{type:o}=t.getEdgeAttributes(s),i=(m=t.getEdgeAttribute(s,o))!=null?m:R[o].defaultAttrs,u=$t(o,h.x,h.y,g.x,g.y,i);if(u){const{x1:N,y1:z,x2:T,y2:f,offset:M}=u;return R[et.Simple].generatePath(N,T,z,f,{offset:M})}return(v=(b=R[o])==null?void 0:b.generatePath(h.x,g.x,h.y,g.y,i))!=null?v:"M ".concat(h.x," ").concat(h.y," L ").concat(g.x," ").concat(g.y)});let c="".concat(d[0]," ");for(let s=1;s[...t.nodeEntries()].map(e=>e.node.startsWith("stn")?{id:e.node,type:"station",station:e.attributes}:{id:e.node,type:"misc-node",miscNode:e.attributes}),fe=t=>{const e={},d={},c=[],s={},l=[];for(const o of t.edgeEntries()){const[i,u,m,b]=[o.sourceAttributes.x,o.sourceAttributes.y,o.targetAttributes.x,o.targetAttributes.y],v=o.attributes[o.attributes.type],N=$t(o.attributes.type,i,u,m,b,v);d[o.edge]=N}for(const o of t.edgeEntries()){let i=d[o.edge];const{parallelIndex:u}=o.attributes;if(u>=0){const m=Wt(t,o.attributes.type,o.edge),b=d[m];if(!b){c.push(o);continue}if(u>0){const{x1:v,y1:N,x2:z,y2:T,offset:f}=b;i=le(v,N,z,T,f,u)}}if(o.attributes.reconcileId!==""){const m=o.attributes.reconcileId;m in s?s[m].push(o):s[m]=[o];continue}if(i){const m=o.edge,b=o.attributes,{x1:v,y1:N,x2:z,y2:T,offset:f}=i;e[m]={attr:b,path:R[et.Simple].generatePath(v,z,N,T,{offset:f})};continue}l.push(o)}const r=new Set;for(;c.length;){const o=c.pop();if(r.has(o.edge))continue;const{parallel:i}=Kt(t,o);if(!i.length)continue;i.forEach(m=>r.add(m.edge));const u=Rt(i);for(const m of i){const b=m.edge;e[b]={attr:m.attributes,path:u[b]}}}const{allReconciledLines:h,danglingLines:g}=de(t,s);for(const o of h){const i=ue(t,o);if(!i)continue;const u=o[0];e[u]={attr:t.getEdgeAttributes(u),path:i}}for(const o of g){const i=t.getEdgeAttributes(o),[u,m]=t.extremities(o),b=t.getNodeAttributes(u),v=t.getNodeAttributes(m);e[o]={attr:i,path:R[et.Simple].generatePath(b.x,v.x,b.y,v.y,R[et.Simple].defaultAttrs)}}for(const o of l){const i=o.edge,u=o.attributes.type,m=o.attributes,[b,v,N,z]=[o.sourceAttributes.x,o.sourceAttributes.y,o.targetAttributes.x,o.targetAttributes.y];if(!(u in R)){e[i]={attr:m,path:"M ".concat(b," ").concat(v," L ").concat(N," ").concat(z)};continue}e[i]={attr:m,path:R[u].generatePath(b,N,v,z,m[u])}}return Object.entries(e).map(([o,i])=>({id:o,type:"line",line:i}))},Lt=t=>{const{id:e,x:d,y:c,handlePointerDown:s,handlePointerMove:l,handlePointerUp:r}=t,h=j.useCallback(i=>s(e,i),[e,s]),g=j.useCallback(i=>l(e,i),[e,l]),o=j.useCallback(i=>r(e,i),[e,r]);return E.jsx("g",{id:e,transform:"translate(".concat(d-6.4," ").concat(c-6.4,")scale(0.025)"),onPointerDown:h,onPointerMove:g,onPointerUp:o,style:{cursor:"move"},children:E.jsx("path",{id:"stn_core_".concat(e),fillRule:"evenodd",clipRule:"evenodd",d:"M256 0c70.69 0 134.7 28.66 181.02 74.98C483.34 121.31 512 185.31 512 256c0 70.69-28.66 134.7-74.98 181.02C390.7 483.34 326.69 512 256 512c-70.69 0-134.69-28.66-181.02-74.98C28.66 390.7 0 326.69 0 256c0-70.69 28.66-134.69 74.98-181.02C121.31 28.66 185.31 0 256 0zm-21.91 302.69v-2.07c.16-13.72 1.51-24.59 4.15-32.67 2.59-8.08 6.32-14.65 11.18-19.63 4.87-5.02 10.72-9.58 17.56-13.72 4.4-2.8 8.39-5.9 11.91-9.37 3.52-3.42 6.32-7.41 8.38-11.91 2.07-4.46 3.11-9.42 3.11-14.91 0-6.53-1.55-12.18-4.66-16.99-3.05-4.77-7.19-8.44-12.27-11.08-5.13-2.59-10.82-3.89-17.09-3.89-5.65 0-11.03 1.15-16.21 3.53-5.12 2.33-9.42 6-12.79 10.97-3.36 4.98-5.33 11.35-5.85 19.11h-33.56c.53-13.21 3.89-24.39 10.05-33.55 6.21-9.16 14.4-16.11 24.55-20.82 10.2-4.71 21.49-7.04 33.81-7.04 13.57 0 25.38 2.48 35.52 7.56 10.15 5.02 18.08 12.06 23.72 21.08 5.59 9 8.44 19.47 8.44 31.48 0 8.23-1.29 15.64-3.88 22.21-2.59 6.58-6.22 12.48-10.98 17.61-4.77 5.18-10.41 9.73-17.03 13.67-6.27 3.94-11.35 7.97-15.18 12.17-3.88 4.19-6.68 9.17-8.44 14.86-1.76 5.74-2.75 12.84-2.9 21.33v2.07h-31.54zm16.68 70.67c-6.06 0-11.24-2.18-15.59-6.48-4.34-4.29-6.47-9.53-6.47-15.63 0-6.01 2.12-11.19 6.47-15.49 4.35-4.3 9.53-6.47 15.59-6.47 5.95 0 11.12 2.19 15.48 6.47 4.39 4.31 6.58 9.48 6.58 15.49 0 4.04-1.05 7.76-3.06 11.08-2.02 3.35-4.66 6.07-7.97 8.03-3.31 1.96-6.99 3-11.03 3z"})})},ye=t=>{const{id:e,path:d,handlePointerDown:c}=t,s=j.useCallback(l=>c(e,l),[e,c]);return E.jsx("path",{id:e,d,fill:"none",stroke:"grey",strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:s})},pe=j.memo(t=>{var g,o,i,u,m,b,v,N,z,T,f,M;const{elements:e,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s,handleEdgePointerDown:l}=t,r=Object.fromEntries(Array.from({length:21},(a,x)=>[x-10,{pre:[],main:[],post:[]}]));for(const a of e)if(a.type==="line"){const x=a.line.attr.type,C=a.line.attr.style,w=a.line.attr[C],A=(g=Pt[C])==null?void 0:g.preComponent;A&&r[a.line.attr.zIndex].pre.push(E.jsx(A,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},"".concat(a.id,".pre")));const y=(i=(o=Pt[C])==null?void 0:o.component)!=null?i:ye;r[a.line.attr.zIndex].main.push(E.jsx(y,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},a.id));const L=(u=Pt[C])==null?void 0:u.postComponent;L&&r[a.line.attr.zIndex].post.push(E.jsx(L,{id:a.id,type:x,path:a.line.path,styleAttrs:w,newLine:!1,handlePointerDown:l},"".concat(a.id,".post")))}else if(a.type==="station"){const x=a.station,C=x.type,w=(m=ft[C])==null?void 0:m.preComponent;w&&r[a.station.zIndex].pre.push(E.jsx(w,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".pre")));const A=(v=(b=ft[C])==null?void 0:b.component)!=null?v:Lt;r[a.station.zIndex].main.push(E.jsx(A,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},a.id));const y=(N=ft[C])==null?void 0:N.postComponent;y&&r[a.station.zIndex].post.push(E.jsx(y,{id:a.id,x:x.x,y:x.y,attrs:x,handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".post")))}else if(a.type==="misc-node"){const x=a.miscNode,C=x.type,w=(z=yt[C])==null?void 0:z.preComponent;w&&r[a.miscNode.zIndex].pre.push(E.jsx(w,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".pre")));const A=(f=(T=yt[C])==null?void 0:T.component)!=null?f:Lt;r[a.miscNode.zIndex].main.push(E.jsx(A,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},a.id));const y=(M=yt[C])==null?void 0:M.postComponent;y&&r[a.miscNode.zIndex].post.push(E.jsx(y,{id:a.id,x:x.x,y:x.y,attrs:x[C],handlePointerDown:d,handlePointerMove:c,handlePointerUp:s},"".concat(a.id,".post")))}return Array.from({length:21},(a,x)=>(x-10).toString()).map(a=>[...r[a].pre,...r[a].main,...r[a].post]).flat()},(t,e)=>t.elements===e.elements),ge=[...Object.values(Ot),wt.Virtual,wt.Master,wt.LondonArrow],me=()=>{const t=It(),e=j.useRef(window.graph),d=()=>{t(dt()),t(ct()),t(bt(e.current.export()))},{telemetry:{project:c},preference:{autoParallel:s}}=st(A=>A.app),{svgViewBoxZoom:l,svgViewBoxMin:r}=st(A=>A.param),{selected:h,refresh:{nodes:g,edges:o},mode:i,active:u,keepLastPath:m,theme:b}=st(A=>A.runtime),[v,N]=j.useState({x:0,y:0}),[z,T]=j.useState({x:0,y:0}),f=H((A,y)=>{y.stopPropagation(),i==="select"&&t(Q("free"));const L=y.currentTarget,{x:$,y:I}=tt(y);L.setPointerCapture(y.pointerId),N({x:$,y:I}),t(lt(A)),y.shiftKey?h.has(A)?t(kt(A)):t(Nt(A)):h.has(A)||t(ot(new Set([A])))}),M=H((A,y)=>{const{x:L,y:$}=tt(y);i==="free"&&u===A?(h.forEach(I=>{e.current.hasNode(I)&&e.current.updateNodeAttributes(I,O=>({...O,x:Y(O.x-(v.x-L)*l/100,y.altKey?1:5),y:Y(O.y-(v.y-$)*l/100,y.altKey?1:5)}))}),t(dt()),t(ct())):i.startsWith("line")&&T({x:(v.x-L)*l/100,y:(v.y-$)*l/100})}),a=H((A,y)=>{if(i.startsWith("line")){m||t(Q("free"));const L=e.current.hasNode(u)&&ge.includes(e.current.getNodeAttribute(u,"type"));["stn_core_","virtual_circle_"].forEach(I=>{var it,rt;const W=(rt=(it=document.elementsFromPoint(y.clientX,y.clientY)[0].attributes)==null?void 0:it.getNamedItem("id"))==null?void 0:rt.value,F=W==null?void 0:W.startsWith(I);if(L&&F){const K=i.slice(5),Z="line_".concat(at(10)),[X,B]=[u,W.slice(I.length)],U=s?Xt(e.current,K,X,B,"from"):-1;e.current.addDirectedEdgeWithKey(Z,X,B,{visible:!0,zIndex:0,type:K,[K]:structuredClone(R[K].defaultAttrs),style:zt.SingleColor,[zt.SingleColor]:{color:b},reconcileId:"",parallelIndex:U}),t(ot(new Set([Z]))),c&&ut.event(ht.ADD_LINE,{type:K})}}),t(ct()),t(bt(e.current.export()))}else if(i==="free"&&u){const{x:L,y:$}=tt(y);v.x-L===0&&v.y-$===0||t(bt(e.current.export()))}t(lt(void 0))}),x=H((A,y)=>{if(y.stopPropagation(),y.shiftKey||t(St()),y.shiftKey&&h.has(A)?t(kt(A)):t(Nt(A)),i.startsWith("station")||i.startsWith("misc-node-virtual")||i.startsWith("misc-node-master")){const L=y.clientX-document.getElementById("canvas").getBoundingClientRect().left,$=y.clientY-document.getElementById("canvas").getBoundingClientRect().top,I=i.startsWith("station"),O=at(10),W=I?"stn_".concat(O):"misc_node_".concat(O),F=I?i.slice(8):i.slice(10),{x:it,y:rt}=V(L,$,l,r),K=I?structuredClone(ft[F].defaultAttrs):structuredClone(yt[F].defaultAttrs);"color"in K&&(K.color=b),e.current.addNode(W,{visible:!0,zIndex:0,x:Y(it,5),y:Y(rt,5),type:F,[F]:K});const Z=e.current.getEdgeAttributes(A),{zIndex:X,type:B,style:U}=Z,pt=Z[B],gt=Z[U],[q,vt]=e.current.extremities(A),n=s?0:-1;e.current.addDirectedEdgeWithKey("line_".concat(at(10)),q,W,{visible:!0,zIndex:X,type:B,[B]:structuredClone(pt),style:U,[U]:structuredClone(gt),reconcileId:"",parallelIndex:n}),e.current.addDirectedEdgeWithKey("line_".concat(at(10)),W,vt,{visible:!0,zIndex:X,type:B,[B]:structuredClone(pt),style:U,[U]:structuredClone(gt),reconcileId:"",parallelIndex:n}),e.current.dropEdge(A),d(),c&&(ut.event(ht.ADD_STATION,{type:F}),ut.event(ht.ADD_LINE,{type:B})),t(Q("free")),t(ot(new Set([W])))}}),C=j.useMemo(()=>[...fe(e.current),...he(e.current)],[o,g]),w=Yt.component;return E.jsxs(E.Fragment,{children:[E.jsx(pe,{elements:C,handlePointerDown:f,handlePointerMove:M,handlePointerUp:a,handleEdgePointerDown:x}),i.startsWith("line")&&u&&u!=="background"&&E.jsx(w,{id:"line_create_in_progress___no_use",type:i.slice(5),path:R[i.slice(5)].generatePath(e.current.getNodeAttribute(u,"x"),e.current.getNodeAttribute(u,"x")-z.x,e.current.getNodeAttribute(u,"y"),e.current.getNodeAttribute(u,"y")-z.y,R[i.slice(5)].defaultAttrs),styleAttrs:{color:b},newLine:!0,handlePointerDown:()=>{}})]})},we=()=>{const t=It(),e=j.useRef(window.graph),d=()=>{t(dt()),t(ct()),t(bt(e.current.export()))},{activeSubscriptions:c}=st(n=>n.account),{telemetry:{project:s},preference:{randomStationsNames:l}}=st(n=>n.app),{svgViewBoxZoom:r,svgViewBoxMin:h}=st(n=>n.param),{mode:g,lastTool:o,active:i,selected:u,keepLastPath:m,theme:b,refresh:{nodes:v},masterNodesCount:N,parallelLinesCount:z}=st(n=>n.runtime),T=Gt(),{height:f,width:M}=Ft(T),a=!c.RMP_CLOUD&&N+1>Ut,x=!c.RMP_CLOUD&&z+1>Vt,C=!c.RMP_CLOUD||l==="none";j.useEffect(()=>{const n=Jt(e.current);Object.entries(n).filter(([p,S])=>S&&p in te).forEach(([p])=>ee(p))},[v]);const[w,A]=j.useState({x:0,y:0}),[y,L]=j.useState({x:0,y:0}),[$,I]=j.useState({x:0,y:0}),[O,W]=j.useState({x:0,y:0}),F=H(async n=>{const{x:p,y:S}=tt(n);if(g.startsWith("station")){t(Q("free"));const _=at(10),k="stn_".concat(_),P=g.slice(8),D=structuredClone(ft[P].defaultAttrs);if("color"in D&&(D.color=b),!C){const mt=await t(_t(Et.Shmetro));if(_t.fulfilled.match(mt)){const J=mt.payload;D.names.length>J.length?J.push(...Array(D.names.length-J.length).fill(J.at(-1))):D.names.length{if(g==="select"){if(w.x!=0&&w.y!=0){const{x:p,y:S}=tt(n);L(V(p,S,r,h))}}else if(i==="background"){const{x:p,y:S}=tt(n);t(xt({x:O.x+($.x-p)*r/100,y:O.y+($.y-S)*r/100}))}}),rt=H(n=>{if(g==="select"){const{x:p,y:S}=tt(n),{x:_,y:k}=V(p,S,r,h),P=se(e.current,w.x,w.y,_,k),D=oe(e.current,new Set(P));t(ot(new Set([...n.shiftKey?u:[],...P,...D]))),t(Q("free")),A({x:0,y:0}),L({x:0,y:0})}i==="background"&&!n.shiftKey&&t(lt(void 0))}),K=H(n=>{let p=r;n.deltaY>0&&r+10<400?p=r+10:n.deltaY<0&&r-10>0&&(p=r-10),t(Dt(p));const{x:S,y:_}=tt(n),k=n.currentTarget.getBoundingClientRect(),[P,D]=[S/k.width,_/k.height];t(xt({x:h.x+S*r/100-M*p/100*P,y:h.y+_*r/100-f*p/100*D}))}),Z=H(async n=>{if(nt?n.key==="Backspace":n.key==="Delete")u.size>0&&(u.forEach(p=>{e.current.hasNode(p)?e.current.dropNode(p):e.current.hasEdge(p)&&e.current.dropEdge(p)}),t(St()),d());else if(n.key.startsWith("Arrow")){const S=n.key.endsWith("Left")?-1:n.key.endsWith("Right")?1:0,_=n.key.endsWith("Up")?-1:n.key.endsWith("Down")?1:0;t(xt(V(100*S,100*_,r,h)))}else if(n.key==="i"||n.key==="j"||n.key==="k"||n.key==="l"){const S=(n.key==="j"?-1:n.key==="l"?1:0)*10,_=(n.key==="i"?-1:n.key==="k"?1:0)*10;u.size>0&&u.forEach(k=>{e.current.hasNode(k)&&(e.current.updateNodeAttribute(k,"x",P=>(P!=null?P:0)+S),e.current.updateNodeAttribute(k,"y",P=>(P!=null?P:0)+_),d())})}else if(n.key==="f"&&o)t(Q(o));else if(n.key==="z"&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey))nt&&n.preventDefault(),t(Zt()),t(dt()),t(ct());else if(n.key==="s")t(Q("select"));else if((n.key==="c"||n.key==="x")&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey)){const p=ie(e.current,u);navigator.clipboard.writeText(p),n.key==="x"&&(t(St()),u.forEach(S=>{e.current.hasNode(S)?e.current.dropNode(S):e.current.hasEdge(S)&&e.current.dropEdge(S)}),d())}else if(n.key==="v"&&(nt?n.metaKey&&!n.shiftKey:n.ctrlKey)){const p=await navigator.clipboard.readText(),{x:S,y:_}=V(M/2,f/2,r,h),{nodes:k,edges:P}=re(p,e.current,a,x,Y(S,5),Y(_,5));d();const D=structuredClone(k);P.forEach(G=>D.add(G)),t(ot(D))}else(nt&&n.key==="z"&&n.metaKey&&n.shiftKey||!nt&&n.key==="y"&&n.ctrlKey)&&(t(qt()),t(dt()),t(ct()))}),[X,B]=j.useState(0),U=H(n=>{if(n.touches.length===2){t(lt(void 0));const[p,S]=[n.touches[0].clientX-n.touches[1].clientX,n.touches[0].clientY-n.touches[1].clientY];B(p*p+S*S)}}),pt=H(n=>{if(X!==0&&n.touches.length===2){const[p,S]=[n.touches[0].clientX-n.touches[1].clientX,n.touches[0].clientY-n.touches[1].clientY],_=p*p+S*S;let k=r;_-X<0&&r+10<=390?k=r+10:_-X>0&&r-10>=10&&(k=r-10),t(Dt(k)),B(_);const P=n.currentTarget.getBoundingClientRect(),[D,G]=[(n.touches[0].clientX+n.touches[1].clientX)/2-P.left,(n.touches[0].clientY+n.touches[1].clientY)/2-P.top],[At,mt]=[D/P.width,G/P.height];t(xt({x:h.x+D*r/100-M*k/100*At,y:h.y+G*r/100-f*k/100*mt}))}}),gt=H(n=>{X!==0&&B(0)}),[q,vt]=j.useState({sx:0,sy:0,ex:0,ey:0});return j.useEffect(()=>{vt({sx:w.x<=y.x?w.x:y.x,ex:w.x>y.x?w.x:y.x,sy:w.y<=y.y?w.y:y.y,ey:w.y>y.y?w.y:y.y})},[y.x,y.y]),E.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",id:"canvas",style:{position:"fixed",top:40,left:40,userSelect:"none",touchAction:"none"},height:f,width:M,viewBox:"".concat(h.x," ").concat(h.y," ").concat(M*r/100," ").concat(f*r/100),onPointerDown:F,onPointerMove:it,onPointerUp:rt,onTouchStart:U,onTouchMove:pt,onTouchEnd:gt,onWheel:K,tabIndex:0,onKeyDown:Z,children:[E.jsx(ne,{children:E.jsx(me,{})}),g==="select"&&w.x!=0&&w.y!=0&&E.jsx("rect",{x:q.sx,y:q.sy,width:q.ex-q.sx,height:q.ey-q.sy,rx:"2",stroke:"#b5b5b6",strokeWidth:"2",strokeOpacity:"0.4",fill:"#b5b5b6",opacity:"0.75"}),E.jsx("defs",{children:E.jsxs("pattern",{id:"opaque",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:[E.jsx("rect",{x:"0",y:"0",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"}),E.jsx("rect",{x:"2.5",y:"2.5",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"})]})})]})};export{we as default}; diff --git a/assets/svg-wrapper-legacy-D5BZK6CT.js b/assets/svg-wrapper-legacy-DhKZKQt2.js similarity index 99% rename from assets/svg-wrapper-legacy-D5BZK6CT.js rename to assets/svg-wrapper-legacy-DhKZKQt2.js index 1994f13e..43d741c4 100644 --- a/assets/svg-wrapper-legacy-D5BZK6CT.js +++ b/assets/svg-wrapper-legacy-DhKZKQt2.js @@ -1 +1 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BGd0L8oF.js","./master-manager-legacy-Cv1g7wby.js","./react-legacy-S3BmMPiz.js","./clipboard-legacy-XecFptqh.js","./misc-nodes-legacy-EAdJkjZQ.js"],(function(e,t){"use strict";var n,s,o,i,r,a,l,c,d,u,h,y,p,f,g,x,m,v,b,w,P,A,z,N,k,j,S,D,C,E,I,M,_,$,H,T,W,K,L,R,O,U,B,X,Y,F,Q,V,q,J,Z,G,ee,te,ne,se;return{setters:[e=>{n=e.j},e=>{s=e.a3,o=e.ap,i=e.aq,r=e.N,a=e.k,l=e.l,c=e.ar,d=e.as,u=e.at,h=e.au,y=e.S,p=e.av,f=e.c,g=e.d,x=e.aw,m=e.ax,v=e.ay,b=e.T,w=e.az,P=e.aA,A=e.aB,z=e.q,N=e.t,k=e.n,j=e.m,S=e.o,D=e.r,C=e.E,E=e.v,I=e.y,M=e.U,_=e.aC,$=e.p,H=e.aD,T=e.a0,W=e.a1,K=e.A,L=e.z,R=e.a9,O=e.am,U=e.an},e=>{B=e.s,X=e.u,Y=e.f,F=e.F,Q=e.l,V=e.S,q=e.b,J=e.c},e=>{Z=e.f,G=e.b},e=>{ee=e.u,te=e.e,ne=e.i},e=>{se=e.m}],execute:function(){const t={[s.Shmetro]:[{"zh-Hans":"安徽南路",en:"South Anhui Road"},{"zh-Hans":"广西西路",en:"West Guangxi Road"},{"zh-Hans":"西藏东路",en:"East Xizang Road"},{"zh-Hans":"湖北北路",en:"North Hubei Road"},{"zh-Hans":"吉林中路",en:"Central Jilin Road"},{"zh-Hans":"乌镇大道",en:"Wuzhen Avenue"},{"zh-Hans":"龙溪公路",en:"Longxi Highway"},{"zh-Hans":"抚顺公园",en:"Fushun Park"},{"zh-Hans":"七星新城",en:"Qixing New Town"},{"zh-Hans":"千灯机场",en:"Qiandeng Airport"},{"zh-Hans":"震泽",en:"Zhengze"},{"zh-Hans":"沧浪高科园区",en:"Canglang High-Tech Park"},{"zh-Hans":"黎里",en:"Lili"},{"zh-Hans":"娄塘新村",en:"Loutang Xincun"},{"zh-Hans":"建设新村",en:"Jianshe Xincun"}],[s.Bjsubway]:[{"zh-Hans":"青松路",en:"Qingsonglu"},{"zh-Hans":"星海广场",en:"Xinghai Guangchang"},{"zh-Hans":"科技新城",en:"Keji Xincheng"},{"zh-Hans":"东湖桥",en:"Donghuqiao"},{"zh-Hans":"金融中心南",en:"Jinrongzhongxinnan"},{"zh-Hans":"玉泉东路",en:"Yuquan Donglu"},{"zh-Hans":"西山北街",en:"Xishan Beijie"},{"zh-Hans":"天光西门",en:"Tianguangximen"},{"zh-Hans":"翠竹园",en:"Cuizhuyuan"},{"zh-Hans":"明月港",en:"Mingyuegang"},{"zh-Hans":"春华街",en:"Chunhuajie"},{"zh-Hans":"锦绣大道",en:"Jinxiu Dadao"}]},oe=Z("runtime/getStationNames",(async({cityName:e},{getState:t,dispatch:n,rejectWithValue:s})=>{const{token:a}=t().account;if(!a)return void n(o({cityName:e,names:[]}));const l=await fetch(`${i}/${e}`,{headers:{accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`}});if(!l.ok)return r.warn("Failed to fetch random station names",l.statusText),s(l.statusText);const c=await l.json();n(o({cityName:e,names:c}))})),ie=Z("runtime/getOneStationName",(async(e,{getState:n,dispatch:s})=>{var i;const{stationNames:a}=n().runtime,l=a[e];if(0==(null!==(i=null==l?void 0:l.length)&&void 0!==i?i:0))return r.debug("No random station names in cache, using fallback"),s(oe({cityName:e})),Object.values((e=>{const n=t[e];return n.at(Math.floor(Math.random()*n.length))})(e));const c=structuredClone(l),d=c.shift();return s(o({cityName:e,names:c})),c.length<3&&s(oe({cityName:e})),Object.values(d)})),re=(e,t,n,s,o,i)=>{if(!("offsetFrom"in i)||!("offsetTo"in i))return;if(Number.isNaN(i.offsetFrom)||Number.isNaN(i.offsetTo))return;if(i.offsetFrom===i.offsetTo)return le(e,t,n,s,o)?{x1:t,y1:n,x2:s,y2:o,offset:i.offsetFrom}:void 0;const[r,a]=[i.offsetFrom,i.offsetTo];for(let l=0;le===n?{x1:e+5*i,y1:t,x2:n+5*i,y2:s,offset:o}:t===s?{x1:e,y1:t+5*i,x2:n,y2:s+5*i,offset:o}:{x1:e+5*Math.SQRT1_2*i,y1:t+5*Math.SQRT1_2*i,x2:n+5*Math.SQRT1_2*i,y2:s+5*Math.SQRT1_2*i,offset:o},le=(e,t,n,s,o)=>!(t!==s&&n!==o||![a.Diagonal,a.Perpendicular].includes(e))||!(1!==Math.abs((o-n)/(s-t))||![a.Diagonal,a.RotatePerpendicular].includes(e)),ce=(e,t)=>{if(!t.every((t=>e.hasEdge(t))))return;const n=t.map((t=>{var n,s,o;const[i,r]=e.extremities(t),c=e.getNodeAttributes(i),d=e.getNodeAttributes(r),{type:u}=e.getEdgeAttributes(t),h=null!==(n=e.getEdgeAttribute(t,u))&&void 0!==n?n:l[u].defaultAttrs,y=re(u,c.x,c.y,d.x,d.y,h);if(y){const{x1:e,y1:t,x2:n,y2:s,offset:o}=y;return l[a.Simple].generatePath(e,n,t,s,{offset:o})}return null!==(s=null===(o=l[u])||void 0===o?void 0:o.generatePath(c.x,d.x,c.y,d.y,h))&&void 0!==s?s:`M ${c.x} ${c.y} L ${d.x} ${d.y}`}));let s=`${n[0]} `;for(let o=1;o[...e.nodeEntries()].map((e=>e.node.startsWith("stn")?{id:e.node,type:"station",station:e.attributes}:{id:e.node,type:"misc-node",miscNode:e.attributes})),ue=e=>{const t={},n={},s=[],o={},i=[];for(const a of e.edgeEntries()){const[e,t,s,o]=[a.sourceAttributes.x,a.sourceAttributes.y,a.targetAttributes.x,a.targetAttributes.y],i=a.attributes[a.attributes.type],r=re(a.attributes.type,e,t,s,o,i);n[a.edge]=r}for(const d of e.edgeEntries()){let r=n[d.edge];const{parallelIndex:u}=d.attributes;if(u>=0){const t=n[c(e,d.attributes.type,d.edge)];if(!t){s.push(d);continue}if(u>0){const{x1:e,y1:n,x2:s,y2:o,offset:i}=t;r=ae(e,n,s,o,i,u)}}if(""===d.attributes.reconcileId)if(r){const e=d.edge,n=d.attributes,{x1:s,y1:o,x2:i,y2:c,offset:u}=r;t[e]={attr:n,path:l[a.Simple].generatePath(s,i,o,c,{offset:u})}}else i.push(d);else{const e=d.attributes.reconcileId;e in o?o[e].push(d):o[e]=[d]}}const r=new Set;for(;s.length;){const n=s.pop();if(r.has(n.edge))continue;const{parallel:o}=d(e,n);if(!o.length)continue;o.forEach((e=>r.add(e.edge)));const i=u(o);for(const e of o){const n=e.edge;t[n]={attr:e.attributes,path:i[n]}}}const{allReconciledLines:h,danglingLines:y}=((e,t)=>{const n=[],s=[];return Object.values(t).forEach((t=>{if(1===t.length)return void s.push(...t.map((e=>e.edge)));const o=e.getEdgeAttribute(t.at(0),"type");if(!t.every((t=>e.getEdgeAttribute(t,"type")===o)))return void s.push(...t.map((e=>e.edge)));const i=e.getEdgeAttribute(t.at(0),"style");if(!t.every((t=>e.getEdgeAttribute(t,"style")===i)))return void s.push(...t.map((e=>e.edge)));const r={},a=new Set,l=new Set,c=Object.fromEntries(t.map((t=>{var n,s;const[o,i]=e.extremities(t);return r[o]=(null!==(n=r[o])&&void 0!==n?n:0)+1,r[i]=(null!==(s=r[i])&&void 0!==s?s:0)+1,a.add(o),l.add(i),[o,[t.edge,i]]}))),d=Array.from(a).filter((e=>1===r[e])),u=Array.from(l).filter((e=>1===r[e]));if(1!==d.length||1!==u.length)return void s.push(...t.map((e=>e.edge)));const h=d[0],y=u[0];if(h===y)return void s.push(...t.map((e=>e.edge)));const p=[c[h][0]];let f=c[h][1];for(let e=1;ee.edge)));p.push(c[f][0]),f=e}f===y&&p.length===t.length?n.push(p):s.push(...t.map((e=>e.edge)))})),{allReconciledLines:n,danglingLines:s}})(e,o);for(const a of h){const n=ce(e,a);if(!n)continue;const s=a[0];t[s]={attr:e.getEdgeAttributes(s),path:n}}for(const c of y){const n=e.getEdgeAttributes(c),[s,o]=e.extremities(c),i=e.getNodeAttributes(s),r=e.getNodeAttributes(o);t[c]={attr:n,path:l[a.Simple].generatePath(i.x,r.x,i.y,r.y,l[a.Simple].defaultAttrs)}}for(const a of i){const e=a.edge,n=a.attributes.type,s=a.attributes,[o,i,r,c]=[a.sourceAttributes.x,a.sourceAttributes.y,a.targetAttributes.x,a.targetAttributes.y];t[e]=n in l?{attr:s,path:l[n].generatePath(o,r,i,c,s[n])}:{attr:s,path:`M ${o} ${i} L ${r} ${c}`}}return Object.entries(t).map((([e,t])=>({id:e,type:"line",line:t})))},he=e=>{const{id:t,x:s,y:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:a}=e,l=G.useCallback((e=>i(t,e)),[t,i]),c=G.useCallback((e=>r(t,e)),[t,r]),d=G.useCallback((e=>a(t,e)),[t,a]);return n.jsx("g",{id:t,transform:`translate(${s-6.4} ${o-6.4})scale(0.025)`,onPointerDown:l,onPointerMove:c,onPointerUp:d,style:{cursor:"move"},children:n.jsx("path",{id:`stn_core_${t}`,fillRule:"evenodd",clipRule:"evenodd",d:"M256 0c70.69 0 134.7 28.66 181.02 74.98C483.34 121.31 512 185.31 512 256c0 70.69-28.66 134.7-74.98 181.02C390.7 483.34 326.69 512 256 512c-70.69 0-134.69-28.66-181.02-74.98C28.66 390.7 0 326.69 0 256c0-70.69 28.66-134.69 74.98-181.02C121.31 28.66 185.31 0 256 0zm-21.91 302.69v-2.07c.16-13.72 1.51-24.59 4.15-32.67 2.59-8.08 6.32-14.65 11.18-19.63 4.87-5.02 10.72-9.58 17.56-13.72 4.4-2.8 8.39-5.9 11.91-9.37 3.52-3.42 6.32-7.41 8.38-11.91 2.07-4.46 3.11-9.42 3.11-14.91 0-6.53-1.55-12.18-4.66-16.99-3.05-4.77-7.19-8.44-12.27-11.08-5.13-2.59-10.82-3.89-17.09-3.89-5.65 0-11.03 1.15-16.21 3.53-5.12 2.33-9.42 6-12.79 10.97-3.36 4.98-5.33 11.35-5.85 19.11h-33.56c.53-13.21 3.89-24.39 10.05-33.55 6.21-9.16 14.4-16.11 24.55-20.82 10.2-4.71 21.49-7.04 33.81-7.04 13.57 0 25.38 2.48 35.52 7.56 10.15 5.02 18.08 12.06 23.72 21.08 5.59 9 8.44 19.47 8.44 31.48 0 8.23-1.29 15.64-3.88 22.21-2.59 6.58-6.22 12.48-10.98 17.61-4.77 5.18-10.41 9.73-17.03 13.67-6.27 3.94-11.35 7.97-15.18 12.17-3.88 4.19-6.68 9.17-8.44 14.86-1.76 5.74-2.75 12.84-2.9 21.33v2.07h-31.54zm16.68 70.67c-6.06 0-11.24-2.18-15.59-6.48-4.34-4.29-6.47-9.53-6.47-15.63 0-6.01 2.12-11.19 6.47-15.49 4.35-4.3 9.53-6.47 15.59-6.47 5.95 0 11.12 2.19 15.48 6.47 4.39 4.31 6.58 9.48 6.58 15.49 0 4.04-1.05 7.76-3.06 11.08-2.02 3.35-4.66 6.07-7.97 8.03-3.31 1.96-6.99 3-11.03 3z"})})},ye=e=>{const{id:t,path:s,handlePointerDown:o}=e,i=G.useCallback((e=>o(t,e)),[t,o]);return n.jsx("path",{id:t,d:s,fill:"none",stroke:"grey",strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:i})},pe=G.memo((e=>{const{elements:t,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i,handleEdgePointerDown:r}=e,a=Object.fromEntries(Array.from({length:21},((e,t)=>[t-10,{pre:[],main:[],post:[]}])));for(const w of t)if("line"===w.type){var l,c,d,u;const e=w.line.attr.type,t=w.line.attr.style,s=w.line.attr[t],o=null===(l=h[t])||void 0===l?void 0:l.preComponent;o&&a[w.line.attr.zIndex].pre.push(n.jsx(o,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},`${w.id}.pre`));const i=null!==(c=null===(d=h[t])||void 0===d?void 0:d.component)&&void 0!==c?c:ye;a[w.line.attr.zIndex].main.push(n.jsx(i,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},w.id));const y=null===(u=h[t])||void 0===u?void 0:u.postComponent;y&&a[w.line.attr.zIndex].post.push(n.jsx(y,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},`${w.id}.post`))}else if("station"===w.type){var y,p,f,g;const e=w.station,t=e.type,r=null===(y=B[t])||void 0===y?void 0:y.preComponent;r&&a[w.station.zIndex].pre.push(n.jsx(r,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.pre`));const l=null!==(p=null===(f=B[t])||void 0===f?void 0:f.component)&&void 0!==p?p:he;a[w.station.zIndex].main.push(n.jsx(l,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},w.id));const c=null===(g=B[t])||void 0===g?void 0:g.postComponent;c&&a[w.station.zIndex].post.push(n.jsx(c,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.post`))}else if("misc-node"===w.type){var x,m,v,b;const e=w.miscNode,t=e.type,r=null===(x=se[t])||void 0===x?void 0:x.preComponent;r&&a[w.miscNode.zIndex].pre.push(n.jsx(r,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.pre`));const l=null!==(m=null===(v=se[t])||void 0===v?void 0:v.component)&&void 0!==m?m:he;a[w.miscNode.zIndex].main.push(n.jsx(l,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},w.id));const c=null===(b=se[t])||void 0===b?void 0:b.postComponent;c&&a[w.miscNode.zIndex].post.push(n.jsx(c,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.post`))}return Array.from({length:21},((e,t)=>(t-10).toString())).map((e=>[...a[e].pre,...a[e].main,...a[e].post])).flat()}),((e,t)=>e.elements===t.elements)),fe=[...Object.values(y),p.Virtual,p.Master,p.LondonArrow],ge=()=>{const e=f(),t=G.useRef(window.graph),{telemetry:{project:s},preference:{autoParallel:o}}=g((e=>e.app)),{svgViewBoxZoom:i,svgViewBoxMin:r}=g((e=>e.param)),{selected:a,refresh:{nodes:c,edges:d},mode:u,active:h,keepLastPath:y,theme:p}=g((e=>e.runtime)),[$,H]=G.useState({x:0,y:0}),[T,W]=G.useState({x:0,y:0}),K=ee(((t,n)=>{n.stopPropagation(),"select"===u&&e(x("free"));const s=n.currentTarget,{x:o,y:i}=m(n);s.setPointerCapture(n.pointerId),H({x:o,y:i}),e(v(t)),n.shiftKey?a.has(t)?e(w(t)):e(P(t)):a.has(t)||e(b(new Set([t])))})),L=ee(((n,s)=>{const{x:o,y:r}=m(s);"free"===u&&h===n?(a.forEach((e=>{t.current.hasNode(e)&&t.current.updateNodeAttributes(e,(e=>({...e,x:A(e.x-($.x-o)*i/100,s.altKey?1:5),y:A(e.y-($.y-r)*i/100,s.altKey?1:5)})))})),e(z()),e(N())):u.startsWith("line")&&W({x:($.x-o)*i/100,y:($.y-r)*i/100})})),R=ee(((n,i)=>{if(u.startsWith("line")){y||e(x("free"));const n=t.current.hasNode(h)&&fe.includes(t.current.getNodeAttribute(h,"type"));["stn_core_","virtual_circle_"].forEach((r=>{var a;const c=null===(a=document.elementsFromPoint(i.clientX,i.clientY)[0].attributes)||void 0===a||null===(a=a.getNamedItem("id"))||void 0===a?void 0:a.value,d=null==c?void 0:c.startsWith(r);if(n&&d){const n=u.slice(5),i=`line_${k(10)}`,[a,d]=[h,c.slice(r.length)],y=o?j(t.current,n,a,d,"from"):-1;t.current.addDirectedEdgeWithKey(i,a,d,{visible:!0,zIndex:0,type:n,[n]:structuredClone(l[n].defaultAttrs),style:S.SingleColor,[S.SingleColor]:{color:p},reconcileId:"",parallelIndex:y}),e(b(new Set([i]))),s&&D.event(C.ADD_LINE,{type:n})}})),e(N()),e(E(t.current.export()))}else if("free"===u&&h){const{x:n,y:s}=m(i);$.x-n==0&&$.y-s==0||e(E(t.current.export()))}e(v(void 0))})),O=ee(((n,l)=>{if(l.stopPropagation(),l.shiftKey||e(I()),l.shiftKey&&a.has(n)?e(w(n)):e(P(n)),u.startsWith("station")||u.startsWith("misc-node-virtual")||u.startsWith("misc-node-master")){const a=l.clientX-document.getElementById("canvas").getBoundingClientRect().left,c=l.clientY-document.getElementById("canvas").getBoundingClientRect().top,d=u.startsWith("station"),h=k(10),y=d?`stn_${h}`:`misc_node_${h}`,f=d?u.slice(8):u.slice(10),{x:g,y:m}=M(a,c,i,r),v=d?structuredClone(B[f].defaultAttrs):structuredClone(se[f].defaultAttrs);"color"in v&&(v.color=p),t.current.addNode(y,{visible:!0,zIndex:0,x:A(g,5),y:A(m,5),type:f,[f]:v});const w=t.current.getEdgeAttributes(n),{zIndex:P,type:j,style:S}=w,I=w[j],_=w[S],[$,H]=t.current.extremities(n),T=o?0:-1;t.current.addDirectedEdgeWithKey(`line_${k(10)}`,$,y,{visible:!0,zIndex:P,type:j,[j]:structuredClone(I),style:S,[S]:structuredClone(_),reconcileId:"",parallelIndex:T}),t.current.addDirectedEdgeWithKey(`line_${k(10)}`,y,H,{visible:!0,zIndex:P,type:j,[j]:structuredClone(I),style:S,[S]:structuredClone(_),reconcileId:"",parallelIndex:T}),t.current.dropEdge(n),e(z()),e(N()),e(E(t.current.export())),s&&(D.event(C.ADD_STATION,{type:f}),D.event(C.ADD_LINE,{type:j})),e(x("free")),e(b(new Set([y])))}})),U=G.useMemo((()=>[...ue(t.current),...de(t.current)]),[d,c]),X=_.component;return n.jsxs(n.Fragment,{children:[n.jsx(pe,{elements:U,handlePointerDown:K,handlePointerMove:L,handlePointerUp:R,handleEdgePointerDown:O}),u.startsWith("line")&&h&&"background"!==h&&n.jsx(X,{id:"line_create_in_progress___no_use",type:u.slice(5),path:l[u.slice(5)].generatePath(t.current.getNodeAttribute(h,"x"),t.current.getNodeAttribute(h,"x")-T.x,t.current.getNodeAttribute(h,"y"),t.current.getNodeAttribute(h,"y")-T.y,l[u.slice(5)].defaultAttrs),styleAttrs:{color:p},newLine:!0,handlePointerDown:()=>{}})]})};e("default",(()=>{const e=f(),t=G.useRef(window.graph),o=()=>{e(z()),e(N()),e(E(t.current.export()))},{activeSubscriptions:i}=g((e=>e.account)),{telemetry:{project:r},preference:{randomStationsNames:a}}=g((e=>e.app)),{svgViewBoxZoom:l,svgViewBoxMin:c}=g((e=>e.param)),{mode:d,lastTool:u,active:h,selected:y,keepLastPath:p,theme:w,refresh:{nodes:P},masterNodesCount:j,parallelLinesCount:S}=g((e=>e.runtime)),_=X(),{height:Z,width:oe}=$(_),re=!i.RMP_CLOUD&&j+1>H,ae=!i.RMP_CLOUD&&S+1>T,le=!i.RMP_CLOUD||"none"===a;G.useEffect((()=>{const e=Y(t.current);Object.entries(e).filter((([e,t])=>t&&e in F)).forEach((([e])=>Q(e)))}),[P]);const[ce,de]=G.useState({x:0,y:0}),[ue,he]=G.useState({x:0,y:0}),[ye,pe]=G.useState({x:0,y:0}),[fe,xe]=G.useState({x:0,y:0}),me=ee((async n=>{const{x:i,y:a}=m(n);if(d.startsWith("station")){e(x("free"));const n=`stn_${k(10)}`,u=d.slice(8),h=structuredClone(B[u].defaultAttrs);if("color"in h&&(h.color=w),!le){const t=await e(ie(s.Shmetro));if(ie.fulfilled.match(t)){const e=t.payload;h.names.length>e.length?e.push(...Array(h.names.length-e.length).fill(e.at(-1))):h.names.length{if("select"===d){if(0!=ce.x&&0!=ce.y){const{x:e,y:n}=m(t);he(M(e,n,l,c))}}else if("background"===h){const{x:n,y:s}=m(t);e(K({x:fe.x+(ye.x-n)*l/100,y:fe.y+(ye.y-s)*l/100}))}})),be=ee((n=>{if("select"===d){const{x:s,y:o}=m(n),{x:i,y:r}=M(s,o,l,c),a=q(t.current,ce.x,ce.y,i,r),d=J(t.current,new Set(a));e(b(new Set([...n.shiftKey?y:[],...a,...d]))),e(x("free")),de({x:0,y:0}),he({x:0,y:0})}"background"!==h||n.shiftKey||e(v(void 0))})),we=ee((t=>{let n=l;t.deltaY>0&&l+10<400?n=l+10:t.deltaY<0&&l-10>0&&(n=l-10),e(L(n));const{x:s,y:o}=m(t),i=t.currentTarget.getBoundingClientRect(),[r,a]=[s/i.width,o/i.height];e(K({x:c.x+s*l/100-oe*n/100*r,y:c.y+o*l/100-Z*n/100*a}))})),Pe=ee((async n=>{if(R?"Backspace"===n.key:"Delete"===n.key)y.size>0&&(y.forEach((e=>{t.current.hasNode(e)?t.current.dropNode(e):t.current.hasEdge(e)&&t.current.dropEdge(e)})),e(I()),o());else if(n.key.startsWith("Arrow")){const t=100,s=n.key.endsWith("Left")?-1:n.key.endsWith("Right")?1:0,o=n.key.endsWith("Up")?-1:n.key.endsWith("Down")?1:0;e(K(M(t*s,t*o,l,c)))}else if("i"===n.key||"j"===n.key||"k"===n.key||"l"===n.key){const e=10,s=("j"===n.key?-1:"l"===n.key?1:0)*e,i=("i"===n.key?-1:"k"===n.key?1:0)*e;y.size>0&&y.forEach((e=>{t.current.hasNode(e)&&(t.current.updateNodeAttribute(e,"x",(e=>(null!=e?e:0)+s)),t.current.updateNodeAttribute(e,"y",(e=>(null!=e?e:0)+i)),o())}))}else if("f"===n.key&&u)e(x(u));else if("z"===n.key&&(R?n.metaKey&&!n.shiftKey:n.ctrlKey))R&&n.preventDefault(),e(O()),e(z()),e(N());else if("s"===n.key)e(x("select"));else if("c"!==n.key&&"x"!==n.key||!(R?n.metaKey&&!n.shiftKey:n.ctrlKey))if("v"===n.key&&(R?n.metaKey&&!n.shiftKey:n.ctrlKey)){const n=await navigator.clipboard.readText(),{x:s,y:i}=M(oe/2,Z/2,l,c),{nodes:r,edges:a}=ne(n,t.current,re,ae,A(s,5),A(i,5));o();const d=structuredClone(r);a.forEach((e=>d.add(e))),e(b(d))}else(R&&"z"===n.key&&n.metaKey&&n.shiftKey||!R&&"y"===n.key&&n.ctrlKey)&&(e(U()),e(z()),e(N()));else{const s=te(t.current,y);navigator.clipboard.writeText(s),"x"===n.key&&(e(I()),y.forEach((e=>{t.current.hasNode(e)?t.current.dropNode(e):t.current.hasEdge(e)&&t.current.dropEdge(e)})),o())}})),[Ae,ze]=G.useState(0),Ne=ee((t=>{if(2===t.touches.length){e(v(void 0));const[n,s]=[t.touches[0].clientX-t.touches[1].clientX,t.touches[0].clientY-t.touches[1].clientY];ze(n*n+s*s)}})),ke=ee((t=>{if(0!==Ae&&2===t.touches.length){const[n,s]=[t.touches[0].clientX-t.touches[1].clientX,t.touches[0].clientY-t.touches[1].clientY],o=n*n+s*s;let i=l;o-Ae<0&&l+10<=390?i=l+10:o-Ae>0&&l-10>=10&&(i=l-10),e(L(i)),ze(o);const r=t.currentTarget.getBoundingClientRect(),[a,d]=[(t.touches[0].clientX+t.touches[1].clientX)/2-r.left,(t.touches[0].clientY+t.touches[1].clientY)/2-r.top],[u,h]=[a/r.width,d/r.height];e(K({x:c.x+a*l/100-oe*i/100*u,y:c.y+d*l/100-Z*i/100*h}))}})),je=ee((e=>{0!==Ae&&ze(0)})),[Se,De]=G.useState({sx:0,sy:0,ex:0,ey:0});return G.useEffect((()=>{De({sx:ce.x<=ue.x?ce.x:ue.x,ex:ce.x>ue.x?ce.x:ue.x,sy:ce.y<=ue.y?ce.y:ue.y,ey:ce.y>ue.y?ce.y:ue.y})}),[ue.x,ue.y]),n.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",id:"canvas",style:{position:"fixed",top:40,left:40,userSelect:"none",touchAction:"none"},height:Z,width:oe,viewBox:`${c.x} ${c.y} ${oe*l/100} ${Z*l/100}`,onPointerDown:me,onPointerMove:ve,onPointerUp:be,onTouchStart:Ne,onTouchMove:ke,onTouchEnd:je,onWheel:we,tabIndex:0,onKeyDown:Pe,children:[n.jsx(V,{children:n.jsx(ge,{})}),"select"===d&&0!=ce.x&&0!=ce.y&&n.jsx("rect",{x:Se.sx,y:Se.sy,width:Se.ex-Se.sx,height:Se.ey-Se.sy,rx:"2",stroke:"#b5b5b6",strokeWidth:"2",strokeOpacity:"0.4",fill:"#b5b5b6",opacity:"0.75"}),n.jsx("defs",{children:n.jsxs("pattern",{id:"opaque",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:[n.jsx("rect",{x:"0",y:"0",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"}),n.jsx("rect",{x:"2.5",y:"2.5",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"})]})})]})}))}}})); +System.register(["./chakra-legacy-DsJcG_7N.js","./index-legacy-BdzZVG-I.js","./master-manager-legacy-DBszGOWt.js","./react-legacy-S3BmMPiz.js","./clipboard-legacy-NH9E7Htu.js","./misc-nodes-legacy-kef96jcz.js"],(function(e,t){"use strict";var n,s,o,i,r,a,l,c,d,u,h,y,p,f,g,x,m,v,b,w,P,A,z,N,k,j,S,D,C,E,I,M,_,$,H,T,W,K,L,R,O,U,B,X,Y,F,Q,V,q,J,Z,G,ee,te,ne,se;return{setters:[e=>{n=e.j},e=>{s=e.a3,o=e.ap,i=e.aq,r=e.N,a=e.k,l=e.l,c=e.ar,d=e.as,u=e.at,h=e.au,y=e.S,p=e.av,f=e.c,g=e.d,x=e.aw,m=e.ax,v=e.ay,b=e.T,w=e.az,P=e.aA,A=e.aB,z=e.q,N=e.t,k=e.n,j=e.m,S=e.o,D=e.r,C=e.E,E=e.v,I=e.y,M=e.U,_=e.aC,$=e.p,H=e.aD,T=e.a0,W=e.a1,K=e.A,L=e.z,R=e.a9,O=e.am,U=e.an},e=>{B=e.s,X=e.u,Y=e.f,F=e.F,Q=e.l,V=e.S,q=e.b,J=e.c},e=>{Z=e.f,G=e.b},e=>{ee=e.u,te=e.e,ne=e.i},e=>{se=e.m}],execute:function(){const t={[s.Shmetro]:[{"zh-Hans":"安徽南路",en:"South Anhui Road"},{"zh-Hans":"广西西路",en:"West Guangxi Road"},{"zh-Hans":"西藏东路",en:"East Xizang Road"},{"zh-Hans":"湖北北路",en:"North Hubei Road"},{"zh-Hans":"吉林中路",en:"Central Jilin Road"},{"zh-Hans":"乌镇大道",en:"Wuzhen Avenue"},{"zh-Hans":"龙溪公路",en:"Longxi Highway"},{"zh-Hans":"抚顺公园",en:"Fushun Park"},{"zh-Hans":"七星新城",en:"Qixing New Town"},{"zh-Hans":"千灯机场",en:"Qiandeng Airport"},{"zh-Hans":"震泽",en:"Zhengze"},{"zh-Hans":"沧浪高科园区",en:"Canglang High-Tech Park"},{"zh-Hans":"黎里",en:"Lili"},{"zh-Hans":"娄塘新村",en:"Loutang Xincun"},{"zh-Hans":"建设新村",en:"Jianshe Xincun"}],[s.Bjsubway]:[{"zh-Hans":"青松路",en:"Qingsonglu"},{"zh-Hans":"星海广场",en:"Xinghai Guangchang"},{"zh-Hans":"科技新城",en:"Keji Xincheng"},{"zh-Hans":"东湖桥",en:"Donghuqiao"},{"zh-Hans":"金融中心南",en:"Jinrongzhongxinnan"},{"zh-Hans":"玉泉东路",en:"Yuquan Donglu"},{"zh-Hans":"西山北街",en:"Xishan Beijie"},{"zh-Hans":"天光西门",en:"Tianguangximen"},{"zh-Hans":"翠竹园",en:"Cuizhuyuan"},{"zh-Hans":"明月港",en:"Mingyuegang"},{"zh-Hans":"春华街",en:"Chunhuajie"},{"zh-Hans":"锦绣大道",en:"Jinxiu Dadao"}]},oe=Z("runtime/getStationNames",(async({cityName:e},{getState:t,dispatch:n,rejectWithValue:s})=>{const{token:a}=t().account;if(!a)return void n(o({cityName:e,names:[]}));const l=await fetch(`${i}/${e}`,{headers:{accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`}});if(!l.ok)return r.warn("Failed to fetch random station names",l.statusText),s(l.statusText);const c=await l.json();n(o({cityName:e,names:c}))})),ie=Z("runtime/getOneStationName",(async(e,{getState:n,dispatch:s})=>{var i;const{stationNames:a}=n().runtime,l=a[e];if(0==(null!==(i=null==l?void 0:l.length)&&void 0!==i?i:0))return r.debug("No random station names in cache, using fallback"),s(oe({cityName:e})),Object.values((e=>{const n=t[e];return n.at(Math.floor(Math.random()*n.length))})(e));const c=structuredClone(l),d=c.shift();return s(o({cityName:e,names:c})),c.length<3&&s(oe({cityName:e})),Object.values(d)})),re=(e,t,n,s,o,i)=>{if(!("offsetFrom"in i)||!("offsetTo"in i))return;if(Number.isNaN(i.offsetFrom)||Number.isNaN(i.offsetTo))return;if(i.offsetFrom===i.offsetTo)return le(e,t,n,s,o)?{x1:t,y1:n,x2:s,y2:o,offset:i.offsetFrom}:void 0;const[r,a]=[i.offsetFrom,i.offsetTo];for(let l=0;le===n?{x1:e+5*i,y1:t,x2:n+5*i,y2:s,offset:o}:t===s?{x1:e,y1:t+5*i,x2:n,y2:s+5*i,offset:o}:{x1:e+5*Math.SQRT1_2*i,y1:t+5*Math.SQRT1_2*i,x2:n+5*Math.SQRT1_2*i,y2:s+5*Math.SQRT1_2*i,offset:o},le=(e,t,n,s,o)=>!(t!==s&&n!==o||![a.Diagonal,a.Perpendicular].includes(e))||!(1!==Math.abs((o-n)/(s-t))||![a.Diagonal,a.RotatePerpendicular].includes(e)),ce=(e,t)=>{if(!t.every((t=>e.hasEdge(t))))return;const n=t.map((t=>{var n,s,o;const[i,r]=e.extremities(t),c=e.getNodeAttributes(i),d=e.getNodeAttributes(r),{type:u}=e.getEdgeAttributes(t),h=null!==(n=e.getEdgeAttribute(t,u))&&void 0!==n?n:l[u].defaultAttrs,y=re(u,c.x,c.y,d.x,d.y,h);if(y){const{x1:e,y1:t,x2:n,y2:s,offset:o}=y;return l[a.Simple].generatePath(e,n,t,s,{offset:o})}return null!==(s=null===(o=l[u])||void 0===o?void 0:o.generatePath(c.x,d.x,c.y,d.y,h))&&void 0!==s?s:`M ${c.x} ${c.y} L ${d.x} ${d.y}`}));let s=`${n[0]} `;for(let o=1;o[...e.nodeEntries()].map((e=>e.node.startsWith("stn")?{id:e.node,type:"station",station:e.attributes}:{id:e.node,type:"misc-node",miscNode:e.attributes})),ue=e=>{const t={},n={},s=[],o={},i=[];for(const a of e.edgeEntries()){const[e,t,s,o]=[a.sourceAttributes.x,a.sourceAttributes.y,a.targetAttributes.x,a.targetAttributes.y],i=a.attributes[a.attributes.type],r=re(a.attributes.type,e,t,s,o,i);n[a.edge]=r}for(const d of e.edgeEntries()){let r=n[d.edge];const{parallelIndex:u}=d.attributes;if(u>=0){const t=n[c(e,d.attributes.type,d.edge)];if(!t){s.push(d);continue}if(u>0){const{x1:e,y1:n,x2:s,y2:o,offset:i}=t;r=ae(e,n,s,o,i,u)}}if(""===d.attributes.reconcileId)if(r){const e=d.edge,n=d.attributes,{x1:s,y1:o,x2:i,y2:c,offset:u}=r;t[e]={attr:n,path:l[a.Simple].generatePath(s,i,o,c,{offset:u})}}else i.push(d);else{const e=d.attributes.reconcileId;e in o?o[e].push(d):o[e]=[d]}}const r=new Set;for(;s.length;){const n=s.pop();if(r.has(n.edge))continue;const{parallel:o}=d(e,n);if(!o.length)continue;o.forEach((e=>r.add(e.edge)));const i=u(o);for(const e of o){const n=e.edge;t[n]={attr:e.attributes,path:i[n]}}}const{allReconciledLines:h,danglingLines:y}=((e,t)=>{const n=[],s=[];return Object.values(t).forEach((t=>{if(1===t.length)return void s.push(...t.map((e=>e.edge)));const o=e.getEdgeAttribute(t.at(0),"type");if(!t.every((t=>e.getEdgeAttribute(t,"type")===o)))return void s.push(...t.map((e=>e.edge)));const i=e.getEdgeAttribute(t.at(0),"style");if(!t.every((t=>e.getEdgeAttribute(t,"style")===i)))return void s.push(...t.map((e=>e.edge)));const r={},a=new Set,l=new Set,c=Object.fromEntries(t.map((t=>{var n,s;const[o,i]=e.extremities(t);return r[o]=(null!==(n=r[o])&&void 0!==n?n:0)+1,r[i]=(null!==(s=r[i])&&void 0!==s?s:0)+1,a.add(o),l.add(i),[o,[t.edge,i]]}))),d=Array.from(a).filter((e=>1===r[e])),u=Array.from(l).filter((e=>1===r[e]));if(1!==d.length||1!==u.length)return void s.push(...t.map((e=>e.edge)));const h=d[0],y=u[0];if(h===y)return void s.push(...t.map((e=>e.edge)));const p=[c[h][0]];let f=c[h][1];for(let e=1;ee.edge)));p.push(c[f][0]),f=e}f===y&&p.length===t.length?n.push(p):s.push(...t.map((e=>e.edge)))})),{allReconciledLines:n,danglingLines:s}})(e,o);for(const a of h){const n=ce(e,a);if(!n)continue;const s=a[0];t[s]={attr:e.getEdgeAttributes(s),path:n}}for(const c of y){const n=e.getEdgeAttributes(c),[s,o]=e.extremities(c),i=e.getNodeAttributes(s),r=e.getNodeAttributes(o);t[c]={attr:n,path:l[a.Simple].generatePath(i.x,r.x,i.y,r.y,l[a.Simple].defaultAttrs)}}for(const a of i){const e=a.edge,n=a.attributes.type,s=a.attributes,[o,i,r,c]=[a.sourceAttributes.x,a.sourceAttributes.y,a.targetAttributes.x,a.targetAttributes.y];t[e]=n in l?{attr:s,path:l[n].generatePath(o,r,i,c,s[n])}:{attr:s,path:`M ${o} ${i} L ${r} ${c}`}}return Object.entries(t).map((([e,t])=>({id:e,type:"line",line:t})))},he=e=>{const{id:t,x:s,y:o,handlePointerDown:i,handlePointerMove:r,handlePointerUp:a}=e,l=G.useCallback((e=>i(t,e)),[t,i]),c=G.useCallback((e=>r(t,e)),[t,r]),d=G.useCallback((e=>a(t,e)),[t,a]);return n.jsx("g",{id:t,transform:`translate(${s-6.4} ${o-6.4})scale(0.025)`,onPointerDown:l,onPointerMove:c,onPointerUp:d,style:{cursor:"move"},children:n.jsx("path",{id:`stn_core_${t}`,fillRule:"evenodd",clipRule:"evenodd",d:"M256 0c70.69 0 134.7 28.66 181.02 74.98C483.34 121.31 512 185.31 512 256c0 70.69-28.66 134.7-74.98 181.02C390.7 483.34 326.69 512 256 512c-70.69 0-134.69-28.66-181.02-74.98C28.66 390.7 0 326.69 0 256c0-70.69 28.66-134.69 74.98-181.02C121.31 28.66 185.31 0 256 0zm-21.91 302.69v-2.07c.16-13.72 1.51-24.59 4.15-32.67 2.59-8.08 6.32-14.65 11.18-19.63 4.87-5.02 10.72-9.58 17.56-13.72 4.4-2.8 8.39-5.9 11.91-9.37 3.52-3.42 6.32-7.41 8.38-11.91 2.07-4.46 3.11-9.42 3.11-14.91 0-6.53-1.55-12.18-4.66-16.99-3.05-4.77-7.19-8.44-12.27-11.08-5.13-2.59-10.82-3.89-17.09-3.89-5.65 0-11.03 1.15-16.21 3.53-5.12 2.33-9.42 6-12.79 10.97-3.36 4.98-5.33 11.35-5.85 19.11h-33.56c.53-13.21 3.89-24.39 10.05-33.55 6.21-9.16 14.4-16.11 24.55-20.82 10.2-4.71 21.49-7.04 33.81-7.04 13.57 0 25.38 2.48 35.52 7.56 10.15 5.02 18.08 12.06 23.72 21.08 5.59 9 8.44 19.47 8.44 31.48 0 8.23-1.29 15.64-3.88 22.21-2.59 6.58-6.22 12.48-10.98 17.61-4.77 5.18-10.41 9.73-17.03 13.67-6.27 3.94-11.35 7.97-15.18 12.17-3.88 4.19-6.68 9.17-8.44 14.86-1.76 5.74-2.75 12.84-2.9 21.33v2.07h-31.54zm16.68 70.67c-6.06 0-11.24-2.18-15.59-6.48-4.34-4.29-6.47-9.53-6.47-15.63 0-6.01 2.12-11.19 6.47-15.49 4.35-4.3 9.53-6.47 15.59-6.47 5.95 0 11.12 2.19 15.48 6.47 4.39 4.31 6.58 9.48 6.58 15.49 0 4.04-1.05 7.76-3.06 11.08-2.02 3.35-4.66 6.07-7.97 8.03-3.31 1.96-6.99 3-11.03 3z"})})},ye=e=>{const{id:t,path:s,handlePointerDown:o}=e,i=G.useCallback((e=>o(t,e)),[t,o]);return n.jsx("path",{id:t,d:s,fill:"none",stroke:"grey",strokeWidth:"5",strokeLinecap:"round",cursor:"pointer",onPointerDown:i})},pe=G.memo((e=>{const{elements:t,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i,handleEdgePointerDown:r}=e,a=Object.fromEntries(Array.from({length:21},((e,t)=>[t-10,{pre:[],main:[],post:[]}])));for(const w of t)if("line"===w.type){var l,c,d,u;const e=w.line.attr.type,t=w.line.attr.style,s=w.line.attr[t],o=null===(l=h[t])||void 0===l?void 0:l.preComponent;o&&a[w.line.attr.zIndex].pre.push(n.jsx(o,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},`${w.id}.pre`));const i=null!==(c=null===(d=h[t])||void 0===d?void 0:d.component)&&void 0!==c?c:ye;a[w.line.attr.zIndex].main.push(n.jsx(i,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},w.id));const y=null===(u=h[t])||void 0===u?void 0:u.postComponent;y&&a[w.line.attr.zIndex].post.push(n.jsx(y,{id:w.id,type:e,path:w.line.path,styleAttrs:s,newLine:!1,handlePointerDown:r},`${w.id}.post`))}else if("station"===w.type){var y,p,f,g;const e=w.station,t=e.type,r=null===(y=B[t])||void 0===y?void 0:y.preComponent;r&&a[w.station.zIndex].pre.push(n.jsx(r,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.pre`));const l=null!==(p=null===(f=B[t])||void 0===f?void 0:f.component)&&void 0!==p?p:he;a[w.station.zIndex].main.push(n.jsx(l,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},w.id));const c=null===(g=B[t])||void 0===g?void 0:g.postComponent;c&&a[w.station.zIndex].post.push(n.jsx(c,{id:w.id,x:e.x,y:e.y,attrs:e,handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.post`))}else if("misc-node"===w.type){var x,m,v,b;const e=w.miscNode,t=e.type,r=null===(x=se[t])||void 0===x?void 0:x.preComponent;r&&a[w.miscNode.zIndex].pre.push(n.jsx(r,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.pre`));const l=null!==(m=null===(v=se[t])||void 0===v?void 0:v.component)&&void 0!==m?m:he;a[w.miscNode.zIndex].main.push(n.jsx(l,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},w.id));const c=null===(b=se[t])||void 0===b?void 0:b.postComponent;c&&a[w.miscNode.zIndex].post.push(n.jsx(c,{id:w.id,x:e.x,y:e.y,attrs:e[t],handlePointerDown:s,handlePointerMove:o,handlePointerUp:i},`${w.id}.post`))}return Array.from({length:21},((e,t)=>(t-10).toString())).map((e=>[...a[e].pre,...a[e].main,...a[e].post])).flat()}),((e,t)=>e.elements===t.elements)),fe=[...Object.values(y),p.Virtual,p.Master,p.LondonArrow],ge=()=>{const e=f(),t=G.useRef(window.graph),{telemetry:{project:s},preference:{autoParallel:o}}=g((e=>e.app)),{svgViewBoxZoom:i,svgViewBoxMin:r}=g((e=>e.param)),{selected:a,refresh:{nodes:c,edges:d},mode:u,active:h,keepLastPath:y,theme:p}=g((e=>e.runtime)),[$,H]=G.useState({x:0,y:0}),[T,W]=G.useState({x:0,y:0}),K=ee(((t,n)=>{n.stopPropagation(),"select"===u&&e(x("free"));const s=n.currentTarget,{x:o,y:i}=m(n);s.setPointerCapture(n.pointerId),H({x:o,y:i}),e(v(t)),n.shiftKey?a.has(t)?e(w(t)):e(P(t)):a.has(t)||e(b(new Set([t])))})),L=ee(((n,s)=>{const{x:o,y:r}=m(s);"free"===u&&h===n?(a.forEach((e=>{t.current.hasNode(e)&&t.current.updateNodeAttributes(e,(e=>({...e,x:A(e.x-($.x-o)*i/100,s.altKey?1:5),y:A(e.y-($.y-r)*i/100,s.altKey?1:5)})))})),e(z()),e(N())):u.startsWith("line")&&W({x:($.x-o)*i/100,y:($.y-r)*i/100})})),R=ee(((n,i)=>{if(u.startsWith("line")){y||e(x("free"));const n=t.current.hasNode(h)&&fe.includes(t.current.getNodeAttribute(h,"type"));["stn_core_","virtual_circle_"].forEach((r=>{var a;const c=null===(a=document.elementsFromPoint(i.clientX,i.clientY)[0].attributes)||void 0===a||null===(a=a.getNamedItem("id"))||void 0===a?void 0:a.value,d=null==c?void 0:c.startsWith(r);if(n&&d){const n=u.slice(5),i=`line_${k(10)}`,[a,d]=[h,c.slice(r.length)],y=o?j(t.current,n,a,d,"from"):-1;t.current.addDirectedEdgeWithKey(i,a,d,{visible:!0,zIndex:0,type:n,[n]:structuredClone(l[n].defaultAttrs),style:S.SingleColor,[S.SingleColor]:{color:p},reconcileId:"",parallelIndex:y}),e(b(new Set([i]))),s&&D.event(C.ADD_LINE,{type:n})}})),e(N()),e(E(t.current.export()))}else if("free"===u&&h){const{x:n,y:s}=m(i);$.x-n==0&&$.y-s==0||e(E(t.current.export()))}e(v(void 0))})),O=ee(((n,l)=>{if(l.stopPropagation(),l.shiftKey||e(I()),l.shiftKey&&a.has(n)?e(w(n)):e(P(n)),u.startsWith("station")||u.startsWith("misc-node-virtual")||u.startsWith("misc-node-master")){const a=l.clientX-document.getElementById("canvas").getBoundingClientRect().left,c=l.clientY-document.getElementById("canvas").getBoundingClientRect().top,d=u.startsWith("station"),h=k(10),y=d?`stn_${h}`:`misc_node_${h}`,f=d?u.slice(8):u.slice(10),{x:g,y:m}=M(a,c,i,r),v=d?structuredClone(B[f].defaultAttrs):structuredClone(se[f].defaultAttrs);"color"in v&&(v.color=p),t.current.addNode(y,{visible:!0,zIndex:0,x:A(g,5),y:A(m,5),type:f,[f]:v});const w=t.current.getEdgeAttributes(n),{zIndex:P,type:j,style:S}=w,I=w[j],_=w[S],[$,H]=t.current.extremities(n),T=o?0:-1;t.current.addDirectedEdgeWithKey(`line_${k(10)}`,$,y,{visible:!0,zIndex:P,type:j,[j]:structuredClone(I),style:S,[S]:structuredClone(_),reconcileId:"",parallelIndex:T}),t.current.addDirectedEdgeWithKey(`line_${k(10)}`,y,H,{visible:!0,zIndex:P,type:j,[j]:structuredClone(I),style:S,[S]:structuredClone(_),reconcileId:"",parallelIndex:T}),t.current.dropEdge(n),e(z()),e(N()),e(E(t.current.export())),s&&(D.event(C.ADD_STATION,{type:f}),D.event(C.ADD_LINE,{type:j})),e(x("free")),e(b(new Set([y])))}})),U=G.useMemo((()=>[...ue(t.current),...de(t.current)]),[d,c]),X=_.component;return n.jsxs(n.Fragment,{children:[n.jsx(pe,{elements:U,handlePointerDown:K,handlePointerMove:L,handlePointerUp:R,handleEdgePointerDown:O}),u.startsWith("line")&&h&&"background"!==h&&n.jsx(X,{id:"line_create_in_progress___no_use",type:u.slice(5),path:l[u.slice(5)].generatePath(t.current.getNodeAttribute(h,"x"),t.current.getNodeAttribute(h,"x")-T.x,t.current.getNodeAttribute(h,"y"),t.current.getNodeAttribute(h,"y")-T.y,l[u.slice(5)].defaultAttrs),styleAttrs:{color:p},newLine:!0,handlePointerDown:()=>{}})]})};e("default",(()=>{const e=f(),t=G.useRef(window.graph),o=()=>{e(z()),e(N()),e(E(t.current.export()))},{activeSubscriptions:i}=g((e=>e.account)),{telemetry:{project:r},preference:{randomStationsNames:a}}=g((e=>e.app)),{svgViewBoxZoom:l,svgViewBoxMin:c}=g((e=>e.param)),{mode:d,lastTool:u,active:h,selected:y,keepLastPath:p,theme:w,refresh:{nodes:P},masterNodesCount:j,parallelLinesCount:S}=g((e=>e.runtime)),_=X(),{height:Z,width:oe}=$(_),re=!i.RMP_CLOUD&&j+1>H,ae=!i.RMP_CLOUD&&S+1>T,le=!i.RMP_CLOUD||"none"===a;G.useEffect((()=>{const e=Y(t.current);Object.entries(e).filter((([e,t])=>t&&e in F)).forEach((([e])=>Q(e)))}),[P]);const[ce,de]=G.useState({x:0,y:0}),[ue,he]=G.useState({x:0,y:0}),[ye,pe]=G.useState({x:0,y:0}),[fe,xe]=G.useState({x:0,y:0}),me=ee((async n=>{const{x:i,y:a}=m(n);if(d.startsWith("station")){e(x("free"));const n=`stn_${k(10)}`,u=d.slice(8),h=structuredClone(B[u].defaultAttrs);if("color"in h&&(h.color=w),!le){const t=await e(ie(s.Shmetro));if(ie.fulfilled.match(t)){const e=t.payload;h.names.length>e.length?e.push(...Array(h.names.length-e.length).fill(e.at(-1))):h.names.length{if("select"===d){if(0!=ce.x&&0!=ce.y){const{x:e,y:n}=m(t);he(M(e,n,l,c))}}else if("background"===h){const{x:n,y:s}=m(t);e(K({x:fe.x+(ye.x-n)*l/100,y:fe.y+(ye.y-s)*l/100}))}})),be=ee((n=>{if("select"===d){const{x:s,y:o}=m(n),{x:i,y:r}=M(s,o,l,c),a=q(t.current,ce.x,ce.y,i,r),d=J(t.current,new Set(a));e(b(new Set([...n.shiftKey?y:[],...a,...d]))),e(x("free")),de({x:0,y:0}),he({x:0,y:0})}"background"!==h||n.shiftKey||e(v(void 0))})),we=ee((t=>{let n=l;t.deltaY>0&&l+10<400?n=l+10:t.deltaY<0&&l-10>0&&(n=l-10),e(L(n));const{x:s,y:o}=m(t),i=t.currentTarget.getBoundingClientRect(),[r,a]=[s/i.width,o/i.height];e(K({x:c.x+s*l/100-oe*n/100*r,y:c.y+o*l/100-Z*n/100*a}))})),Pe=ee((async n=>{if(R?"Backspace"===n.key:"Delete"===n.key)y.size>0&&(y.forEach((e=>{t.current.hasNode(e)?t.current.dropNode(e):t.current.hasEdge(e)&&t.current.dropEdge(e)})),e(I()),o());else if(n.key.startsWith("Arrow")){const t=100,s=n.key.endsWith("Left")?-1:n.key.endsWith("Right")?1:0,o=n.key.endsWith("Up")?-1:n.key.endsWith("Down")?1:0;e(K(M(t*s,t*o,l,c)))}else if("i"===n.key||"j"===n.key||"k"===n.key||"l"===n.key){const e=10,s=("j"===n.key?-1:"l"===n.key?1:0)*e,i=("i"===n.key?-1:"k"===n.key?1:0)*e;y.size>0&&y.forEach((e=>{t.current.hasNode(e)&&(t.current.updateNodeAttribute(e,"x",(e=>(null!=e?e:0)+s)),t.current.updateNodeAttribute(e,"y",(e=>(null!=e?e:0)+i)),o())}))}else if("f"===n.key&&u)e(x(u));else if("z"===n.key&&(R?n.metaKey&&!n.shiftKey:n.ctrlKey))R&&n.preventDefault(),e(O()),e(z()),e(N());else if("s"===n.key)e(x("select"));else if("c"!==n.key&&"x"!==n.key||!(R?n.metaKey&&!n.shiftKey:n.ctrlKey))if("v"===n.key&&(R?n.metaKey&&!n.shiftKey:n.ctrlKey)){const n=await navigator.clipboard.readText(),{x:s,y:i}=M(oe/2,Z/2,l,c),{nodes:r,edges:a}=ne(n,t.current,re,ae,A(s,5),A(i,5));o();const d=structuredClone(r);a.forEach((e=>d.add(e))),e(b(d))}else(R&&"z"===n.key&&n.metaKey&&n.shiftKey||!R&&"y"===n.key&&n.ctrlKey)&&(e(U()),e(z()),e(N()));else{const s=te(t.current,y);navigator.clipboard.writeText(s),"x"===n.key&&(e(I()),y.forEach((e=>{t.current.hasNode(e)?t.current.dropNode(e):t.current.hasEdge(e)&&t.current.dropEdge(e)})),o())}})),[Ae,ze]=G.useState(0),Ne=ee((t=>{if(2===t.touches.length){e(v(void 0));const[n,s]=[t.touches[0].clientX-t.touches[1].clientX,t.touches[0].clientY-t.touches[1].clientY];ze(n*n+s*s)}})),ke=ee((t=>{if(0!==Ae&&2===t.touches.length){const[n,s]=[t.touches[0].clientX-t.touches[1].clientX,t.touches[0].clientY-t.touches[1].clientY],o=n*n+s*s;let i=l;o-Ae<0&&l+10<=390?i=l+10:o-Ae>0&&l-10>=10&&(i=l-10),e(L(i)),ze(o);const r=t.currentTarget.getBoundingClientRect(),[a,d]=[(t.touches[0].clientX+t.touches[1].clientX)/2-r.left,(t.touches[0].clientY+t.touches[1].clientY)/2-r.top],[u,h]=[a/r.width,d/r.height];e(K({x:c.x+a*l/100-oe*i/100*u,y:c.y+d*l/100-Z*i/100*h}))}})),je=ee((e=>{0!==Ae&&ze(0)})),[Se,De]=G.useState({sx:0,sy:0,ex:0,ey:0});return G.useEffect((()=>{De({sx:ce.x<=ue.x?ce.x:ue.x,ex:ce.x>ue.x?ce.x:ue.x,sy:ce.y<=ue.y?ce.y:ue.y,ey:ce.y>ue.y?ce.y:ue.y})}),[ue.x,ue.y]),n.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",id:"canvas",style:{position:"fixed",top:40,left:40,userSelect:"none",touchAction:"none"},height:Z,width:oe,viewBox:`${c.x} ${c.y} ${oe*l/100} ${Z*l/100}`,onPointerDown:me,onPointerMove:ve,onPointerUp:be,onTouchStart:Ne,onTouchMove:ke,onTouchEnd:je,onWheel:we,tabIndex:0,onKeyDown:Pe,children:[n.jsx(V,{children:n.jsx(ge,{})}),"select"===d&&0!=ce.x&&0!=ce.y&&n.jsx("rect",{x:Se.sx,y:Se.sy,width:Se.ex-Se.sx,height:Se.ey-Se.sy,rx:"2",stroke:"#b5b5b6",strokeWidth:"2",strokeOpacity:"0.4",fill:"#b5b5b6",opacity:"0.75"}),n.jsx("defs",{children:n.jsxs("pattern",{id:"opaque",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:[n.jsx("rect",{x:"0",y:"0",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"}),n.jsx("rect",{x:"2.5",y:"2.5",width:"2.5",height:"2.5",fill:"black",fillOpacity:"50%"})]})})]})}))}}})); diff --git a/assets/tools-Bzy7j58n.js b/assets/tools-B2RMBMZd.js similarity index 95% rename from assets/tools-Bzy7j58n.js rename to assets/tools-B2RMBMZd.js index bca5f032..4dda4014 100644 --- a/assets/tools-Bzy7j58n.js +++ b/assets/tools-B2RMBMZd.js @@ -1 +1 @@ -import{a6 as F,j as e,g as j,O as i,aV as H,aW as b,aX as g,B as M,aY as T,aZ as I,a4 as U,U as v,aM as X,aK as q,a_ as K,a7 as Q,aE as Y}from"./chakra-xNcrfRXW.js";import{u as $,b as S}from"./react-D-_si4LB.js";import{c as Z,d as w,aM as G,aD as J,aN as ee,aO as se,aw as u,V as ae,W as ne,k as E,l as P,av as o,S as te,aP as oe,b as le,aQ as ie}from"./index-C2EPE_tK.js";import{m as d}from"./misc-nodes-BRiC9wrX.js";import{s as D}from"./master-manager-CMGMwlgA.js";const c={justifyContent:"flex-start",p:0,w:"100%",h:10},A={p:2.5,h:10},N={p:0,display:"flex",flexDirection:"column"},ce=e.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:e.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeDasharray:"2",fill:"none"})}),O=.3,me=()=>{const{t:n}=$(),t=Z(),{activeSubscriptions:m}=w(s=>s.account),{preference:{unlockSimplePathAttempts:f,toolsPanel:{expand:r}}}=w(s=>s.app),{mode:l,theme:h,paletteAppClip:{output:x},masterNodesCount:V}=w(s=>s.runtime),B=F("white","var(--chakra-colors-gray-800)"),[L,C]=S.useState(!1);S.useEffect(()=>{L&&x&&(t(G(x)),C(!1))},[x==null?void 0:x.toString()]);const[a,k]=S.useState(r),_=()=>{r?k(!1):setTimeout(()=>k(!0),(O+.02)*1e3),t(ie(!r))},y=s=>t(u("station-".concat(s))),z=s=>t(u("line-".concat(s))),p=s=>t(u("misc-node-".concat(s))),W=!m.RMP_CLOUD&&V+1>J;return e.jsxs(j,{flexShrink:"0",direction:"column",width:r?450:10,maxWidth:"100%",height:"100%",bg:B,zIndex:"5",transition:"width ".concat(O,"s ease-in-out"),children:[e.jsx(i,{"aria-label":"Menu",leftIcon:a?e.jsx(ee,{size:40,transform:"rotate(90)"}):e.jsx(se,{size:40,transform:"rotate(90)"}),onClick:_,sx:c,children:a?n("panel.tools.showLess"):void 0}),e.jsx(j,{className:"tools",overflow:"auto",children:e.jsxs(H,{width:"100%",allowMultiple:!0,defaultIndex:[0,1,2],children:[e.jsx(i,{"aria-label":"select",leftIcon:ce,onClick:()=>t(u(l==="select"?"free":"select")),variant:l==="select"?"solid":"outline",sx:c,children:a?n("panel.tools.select"):void 0}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.lineDrawing")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[e.jsxs(j,{children:[e.jsx(ae,{theme:h,onClick:()=>{C(!0),t(ne(h))}}),e.jsx(U,{fontWeight:"600",pl:"1",alignSelf:"center",children:a?n("color"):void 0})]}),Object.values(E).filter(s=>!(s===E.Simple&&f>=0)).map(s=>e.jsx(i,{"aria-label":s,leftIcon:P[s].icon,onClick:()=>z(s),variant:l==="line-".concat(s)?"solid":"outline",sx:c,children:a?n(P[s].metadata.displayName):void 0},s)),e.jsx(i,{"aria-label":o.Virtual,leftIcon:d[o.Virtual].icon,onClick:()=>p(o.Virtual),variant:l==="misc-node-".concat(o.Virtual)?"solid":"outline",sx:c,children:a?n(d[o.Virtual].metadata.displayName):void 0})]})]}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.stations")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[Object.values(te).map(s=>e.jsx(i,{"aria-label":s,leftIcon:D[s].icon,onClick:()=>y(s),variant:l==="station-".concat(s)?"solid":"outline",sx:c,children:a?n(D[s].metadata.displayName):void 0},s)),e.jsx(R,{type:"station",expand:a})]})]}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.miscellaneousNodes")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[e.jsxs(i,{"aria-label":o.Master,leftIcon:d[o.Master].icon,onClick:()=>p(o.Master),variant:l==="misc-node-".concat(o.Master)?"solid":"outline",isDisabled:W,sx:c,children:[a?n(d[o.Master].metadata.displayName):void 0,a?e.jsxs(e.Fragment,{children:[e.jsx(v,{ml:"1",colorScheme:"green",children:"New"}),e.jsx(X,{label:n("header.settings.proWithTrial"),children:e.jsx(v,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",mr:"auto",children:"PRO"})})]}):void 0]}),Object.values(o).filter(s=>s!==o.Virtual&&s!==o.I18nText&&s!==o.Master).map(s=>e.jsx(i,{"aria-label":s,leftIcon:d[s].icon,onClick:()=>p(s),variant:l==="misc-node-".concat(s)?"solid":"outline",sx:c,children:a?n(d[s].metadata.displayName):void 0},s)),e.jsx(R,{type:"misc-node",expand:a})]})]})]})})]})},R=n=>{const{type:t,expand:m}=n,{t:f}=$(),r=t==="misc-node"?"nodes":t==="station"?"stations":"line-styles",l=t==="line"?"xs":void 0,h=t==="line"?"30px":"40px";return e.jsxs(q,{fontSize:l,children:[t!=="line"&&e.jsx(K.Provider,{value:{style:{padding:5},size:h},children:e.jsx(oe,{})}),m&&e.jsxs(e.Fragment,{children:[e.jsx(Q,{color:"teal.500",href:"https://github.com/railmapgen/rmp/blob/main/docs/".concat(r,".md"),isExternal:!0,children:f("panel.tools.learnHowToAdd.".concat(t))}),e.jsx(Y,{as:le,color:"teal.500",mr:"auto"})]})]})};export{R as LearnHowToAdd,me as default}; +import{a6 as F,j as e,g as j,O as i,aV as H,aW as b,aX as g,B as M,aY as T,aZ as I,a4 as U,U as v,aM as X,aK as q,a_ as K,a7 as Q,aE as Y}from"./chakra-xNcrfRXW.js";import{u as $,b as S}from"./react-D-_si4LB.js";import{c as Z,d as w,aM as G,aD as J,aN as ee,aO as se,aw as u,V as ae,W as ne,k as E,l as P,av as o,S as te,aP as oe,b as le,aQ as ie}from"./index-KpXBwNUP.js";import{m as d}from"./misc-nodes-D3tkoIn0.js";import{s as D}from"./master-manager-D9XDRPOe.js";const c={justifyContent:"flex-start",p:0,w:"100%",h:10},A={p:2.5,h:10},N={p:0,display:"flex",flexDirection:"column"},ce=e.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:e.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeDasharray:"2",fill:"none"})}),O=.3,me=()=>{const{t:n}=$(),t=Z(),{activeSubscriptions:m}=w(s=>s.account),{preference:{unlockSimplePathAttempts:f,toolsPanel:{expand:r}}}=w(s=>s.app),{mode:l,theme:h,paletteAppClip:{output:x},masterNodesCount:V}=w(s=>s.runtime),B=F("white","var(--chakra-colors-gray-800)"),[L,C]=S.useState(!1);S.useEffect(()=>{L&&x&&(t(G(x)),C(!1))},[x==null?void 0:x.toString()]);const[a,k]=S.useState(r),_=()=>{r?k(!1):setTimeout(()=>k(!0),(O+.02)*1e3),t(ie(!r))},y=s=>t(u("station-".concat(s))),z=s=>t(u("line-".concat(s))),p=s=>t(u("misc-node-".concat(s))),W=!m.RMP_CLOUD&&V+1>J;return e.jsxs(j,{flexShrink:"0",direction:"column",width:r?450:10,maxWidth:"100%",height:"100%",bg:B,zIndex:"5",transition:"width ".concat(O,"s ease-in-out"),children:[e.jsx(i,{"aria-label":"Menu",leftIcon:a?e.jsx(ee,{size:40,transform:"rotate(90)"}):e.jsx(se,{size:40,transform:"rotate(90)"}),onClick:_,sx:c,children:a?n("panel.tools.showLess"):void 0}),e.jsx(j,{className:"tools",overflow:"auto",children:e.jsxs(H,{width:"100%",allowMultiple:!0,defaultIndex:[0,1,2],children:[e.jsx(i,{"aria-label":"select",leftIcon:ce,onClick:()=>t(u(l==="select"?"free":"select")),variant:l==="select"?"solid":"outline",sx:c,children:a?n("panel.tools.select"):void 0}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.lineDrawing")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[e.jsxs(j,{children:[e.jsx(ae,{theme:h,onClick:()=>{C(!0),t(ne(h))}}),e.jsx(U,{fontWeight:"600",pl:"1",alignSelf:"center",children:a?n("color"):void 0})]}),Object.values(E).filter(s=>!(s===E.Simple&&f>=0)).map(s=>e.jsx(i,{"aria-label":s,leftIcon:P[s].icon,onClick:()=>z(s),variant:l==="line-".concat(s)?"solid":"outline",sx:c,children:a?n(P[s].metadata.displayName):void 0},s)),e.jsx(i,{"aria-label":o.Virtual,leftIcon:d[o.Virtual].icon,onClick:()=>p(o.Virtual),variant:l==="misc-node-".concat(o.Virtual)?"solid":"outline",sx:c,children:a?n(d[o.Virtual].metadata.displayName):void 0})]})]}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.stations")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[Object.values(te).map(s=>e.jsx(i,{"aria-label":s,leftIcon:D[s].icon,onClick:()=>y(s),variant:l==="station-".concat(s)?"solid":"outline",sx:c,children:a?n(D[s].metadata.displayName):void 0},s)),e.jsx(R,{type:"station",expand:a})]})]}),e.jsxs(b,{children:[e.jsxs(g,{sx:A,children:[a&&e.jsx(M,{as:"span",flex:"1",textAlign:"left",children:n("panel.tools.section.miscellaneousNodes")}),e.jsx(T,{})]}),e.jsxs(I,{sx:N,children:[e.jsxs(i,{"aria-label":o.Master,leftIcon:d[o.Master].icon,onClick:()=>p(o.Master),variant:l==="misc-node-".concat(o.Master)?"solid":"outline",isDisabled:W,sx:c,children:[a?n(d[o.Master].metadata.displayName):void 0,a?e.jsxs(e.Fragment,{children:[e.jsx(v,{ml:"1",colorScheme:"green",children:"New"}),e.jsx(X,{label:n("header.settings.proWithTrial"),children:e.jsx(v,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",mr:"auto",children:"PRO"})})]}):void 0]}),Object.values(o).filter(s=>s!==o.Virtual&&s!==o.I18nText&&s!==o.Master).map(s=>e.jsx(i,{"aria-label":s,leftIcon:d[s].icon,onClick:()=>p(s),variant:l==="misc-node-".concat(s)?"solid":"outline",sx:c,children:a?n(d[s].metadata.displayName):void 0},s)),e.jsx(R,{type:"misc-node",expand:a})]})]})]})})]})},R=n=>{const{type:t,expand:m}=n,{t:f}=$(),r=t==="misc-node"?"nodes":t==="station"?"stations":"line-styles",l=t==="line"?"xs":void 0,h=t==="line"?"30px":"40px";return e.jsxs(q,{fontSize:l,children:[t!=="line"&&e.jsx(K.Provider,{value:{style:{padding:5},size:h},children:e.jsx(oe,{})}),m&&e.jsxs(e.Fragment,{children:[e.jsx(Q,{color:"teal.500",href:"https://github.com/railmapgen/rmp/blob/main/docs/".concat(r,".md"),isExternal:!0,children:f("panel.tools.learnHowToAdd.".concat(t))}),e.jsx(Y,{as:le,color:"teal.500",mr:"auto"})]})]})};export{R as LearnHowToAdd,me as default}; diff --git a/assets/tools-legacy-Bg5ZY7Wv.js b/assets/tools-legacy-DeIjKjaU.js similarity index 97% rename from assets/tools-legacy-Bg5ZY7Wv.js rename to assets/tools-legacy-DeIjKjaU.js index ac748e32..d5c3f62c 100644 --- a/assets/tools-legacy-Bg5ZY7Wv.js +++ b/assets/tools-legacy-DeIjKjaU.js @@ -1 +1 @@ -System.register(["./chakra-legacy-DsJcG_7N.js","./react-legacy-S3BmMPiz.js","./index-legacy-BGd0L8oF.js","./misc-nodes-legacy-EAdJkjZQ.js","./master-manager-legacy-Cv1g7wby.js"],(function(e,s){"use strict";var a,l,t,i,n,o,r,c,d,x,h,j,m,u,p,f,g,v,b,y,k,w,C,S,M,I,N,$,V,A,O,D,P,z,T,W,E;return{setters:[e=>{a=e.a6,l=e.j,t=e.g,i=e.O,n=e.aV,o=e.aW,r=e.aX,c=e.B,d=e.aY,x=e.aZ,h=e.a4,j=e.U,m=e.aM,u=e.aK,p=e.a_,f=e.a7,g=e.aE},e=>{v=e.u,b=e.b},e=>{y=e.c,k=e.d,w=e.aM,C=e.aD,S=e.aN,M=e.aO,I=e.aw,N=e.V,$=e.W,V=e.k,A=e.l,O=e.av,D=e.S,P=e.aP,z=e.b,T=e.aQ},e=>{W=e.m},e=>{E=e.s}],execute:function(){const s={justifyContent:"flex-start",p:0,w:"100%",h:10},L={p:2.5,h:10},B={p:0,display:"flex",flexDirection:"column"},F=l.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeDasharray:"2",fill:"none"})}),H=(e("default",(()=>{const{t:e}=v(),u=y(),{activeSubscriptions:p}=k((e=>e.account)),{preference:{unlockSimplePathAttempts:f,toolsPanel:{expand:g}}}=k((e=>e.app)),{mode:P,theme:z,paletteAppClip:{output:R},masterNodesCount:U}=k((e=>e.runtime)),_=a("white","var(--chakra-colors-gray-800)"),[K,Q]=b.useState(!1);b.useEffect((()=>{K&&R&&(u(w(R)),Q(!1))}),[null==R?void 0:R.toString()]);const[X,Y]=b.useState(g),Z=e=>u(I(`misc-node-${e}`)),q=!p.RMP_CLOUD&&U+1>C;return l.jsxs(t,{flexShrink:"0",direction:"column",width:g?450:10,maxWidth:"100%",height:"100%",bg:_,zIndex:"5",transition:"width 0.3s ease-in-out",children:[l.jsx(i,{"aria-label":"Menu",leftIcon:X?l.jsx(S,{size:40,transform:"rotate(90)"}):l.jsx(M,{size:40,transform:"rotate(90)"}),onClick:()=>{g?Y(!1):setTimeout((()=>Y(!0)),320),u(T(!g))},sx:s,children:X?e("panel.tools.showLess"):void 0}),l.jsx(t,{className:"tools",overflow:"auto",children:l.jsxs(n,{width:"100%",allowMultiple:!0,defaultIndex:[0,1,2],children:[l.jsx(i,{"aria-label":"select",leftIcon:F,onClick:()=>u(I("select"===P?"free":"select")),variant:"select"===P?"solid":"outline",sx:s,children:X?e("panel.tools.select"):void 0}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.lineDrawing")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[l.jsxs(t,{children:[l.jsx(N,{theme:z,onClick:()=>{Q(!0),u($(z))}}),l.jsx(h,{fontWeight:"600",pl:"1",alignSelf:"center",children:X?e("color"):void 0})]}),Object.values(V).filter((e=>!(e===V.Simple&&f>=0))).map((a=>l.jsx(i,{"aria-label":a,leftIcon:A[a].icon,onClick:()=>(e=>u(I(`line-${e}`)))(a),variant:P===`line-${a}`?"solid":"outline",sx:s,children:X?e(A[a].metadata.displayName):void 0},a))),l.jsx(i,{"aria-label":O.Virtual,leftIcon:W[O.Virtual].icon,onClick:()=>Z(O.Virtual),variant:P===`misc-node-${O.Virtual}`?"solid":"outline",sx:s,children:X?e(W[O.Virtual].metadata.displayName):void 0})]})]}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.stations")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[Object.values(D).map((a=>l.jsx(i,{"aria-label":a,leftIcon:E[a].icon,onClick:()=>(e=>u(I(`station-${e}`)))(a),variant:P===`station-${a}`?"solid":"outline",sx:s,children:X?e(E[a].metadata.displayName):void 0},a))),l.jsx(H,{type:"station",expand:X})]})]}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.miscellaneousNodes")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[l.jsxs(i,{"aria-label":O.Master,leftIcon:W[O.Master].icon,onClick:()=>Z(O.Master),variant:P===`misc-node-${O.Master}`?"solid":"outline",isDisabled:q,sx:s,children:[X?e(W[O.Master].metadata.displayName):void 0,X?l.jsxs(l.Fragment,{children:[l.jsx(j,{ml:"1",colorScheme:"green",children:"New"}),l.jsx(m,{label:e("header.settings.proWithTrial"),children:l.jsx(j,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",mr:"auto",children:"PRO"})})]}):void 0]}),Object.values(O).filter((e=>e!==O.Virtual&&e!==O.I18nText&&e!==O.Master)).map((a=>l.jsx(i,{"aria-label":a,leftIcon:W[a].icon,onClick:()=>Z(a),variant:P===`misc-node-${a}`?"solid":"outline",sx:s,children:X?e(W[a].metadata.displayName):void 0},a))),l.jsx(H,{type:"misc-node",expand:X})]})]})]})})]})})),e("LearnHowToAdd",(e=>{const{type:s,expand:a}=e,{t:t}=v(),i="misc-node"===s?"nodes":"station"===s?"stations":"line-styles",n="line"===s?"xs":void 0,o="line"===s?"30px":"40px";return l.jsxs(u,{fontSize:n,children:["line"!==s&&l.jsx(p.Provider,{value:{style:{padding:5},size:o},children:l.jsx(P,{})}),a&&l.jsxs(l.Fragment,{children:[l.jsx(f,{color:"teal.500",href:`https://github.com/railmapgen/rmp/blob/main/docs/${i}.md`,isExternal:!0,children:t(`panel.tools.learnHowToAdd.${s}`)}),l.jsx(g,{as:z,color:"teal.500",mr:"auto"})]})]})})))}}})); +System.register(["./chakra-legacy-DsJcG_7N.js","./react-legacy-S3BmMPiz.js","./index-legacy-BdzZVG-I.js","./misc-nodes-legacy-kef96jcz.js","./master-manager-legacy-DBszGOWt.js"],(function(e,s){"use strict";var a,l,t,i,n,o,r,c,d,x,h,j,m,u,p,f,g,v,b,y,k,w,C,S,M,I,N,$,V,A,O,D,P,z,T,W,E;return{setters:[e=>{a=e.a6,l=e.j,t=e.g,i=e.O,n=e.aV,o=e.aW,r=e.aX,c=e.B,d=e.aY,x=e.aZ,h=e.a4,j=e.U,m=e.aM,u=e.aK,p=e.a_,f=e.a7,g=e.aE},e=>{v=e.u,b=e.b},e=>{y=e.c,k=e.d,w=e.aM,C=e.aD,S=e.aN,M=e.aO,I=e.aw,N=e.V,$=e.W,V=e.k,A=e.l,O=e.av,D=e.S,P=e.aP,z=e.b,T=e.aQ},e=>{W=e.m},e=>{E=e.s}],execute:function(){const s={justifyContent:"flex-start",p:0,w:"100%",h:10},L={p:2.5,h:10},B={p:0,display:"flex",flexDirection:"column"},F=l.jsx("svg",{viewBox:"0 0 24 24",height:40,width:40,focusable:!1,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2",stroke:"currentColor",strokeDasharray:"2",fill:"none"})}),H=(e("default",(()=>{const{t:e}=v(),u=y(),{activeSubscriptions:p}=k((e=>e.account)),{preference:{unlockSimplePathAttempts:f,toolsPanel:{expand:g}}}=k((e=>e.app)),{mode:P,theme:z,paletteAppClip:{output:R},masterNodesCount:U}=k((e=>e.runtime)),_=a("white","var(--chakra-colors-gray-800)"),[K,Q]=b.useState(!1);b.useEffect((()=>{K&&R&&(u(w(R)),Q(!1))}),[null==R?void 0:R.toString()]);const[X,Y]=b.useState(g),Z=e=>u(I(`misc-node-${e}`)),q=!p.RMP_CLOUD&&U+1>C;return l.jsxs(t,{flexShrink:"0",direction:"column",width:g?450:10,maxWidth:"100%",height:"100%",bg:_,zIndex:"5",transition:"width 0.3s ease-in-out",children:[l.jsx(i,{"aria-label":"Menu",leftIcon:X?l.jsx(S,{size:40,transform:"rotate(90)"}):l.jsx(M,{size:40,transform:"rotate(90)"}),onClick:()=>{g?Y(!1):setTimeout((()=>Y(!0)),320),u(T(!g))},sx:s,children:X?e("panel.tools.showLess"):void 0}),l.jsx(t,{className:"tools",overflow:"auto",children:l.jsxs(n,{width:"100%",allowMultiple:!0,defaultIndex:[0,1,2],children:[l.jsx(i,{"aria-label":"select",leftIcon:F,onClick:()=>u(I("select"===P?"free":"select")),variant:"select"===P?"solid":"outline",sx:s,children:X?e("panel.tools.select"):void 0}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.lineDrawing")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[l.jsxs(t,{children:[l.jsx(N,{theme:z,onClick:()=>{Q(!0),u($(z))}}),l.jsx(h,{fontWeight:"600",pl:"1",alignSelf:"center",children:X?e("color"):void 0})]}),Object.values(V).filter((e=>!(e===V.Simple&&f>=0))).map((a=>l.jsx(i,{"aria-label":a,leftIcon:A[a].icon,onClick:()=>(e=>u(I(`line-${e}`)))(a),variant:P===`line-${a}`?"solid":"outline",sx:s,children:X?e(A[a].metadata.displayName):void 0},a))),l.jsx(i,{"aria-label":O.Virtual,leftIcon:W[O.Virtual].icon,onClick:()=>Z(O.Virtual),variant:P===`misc-node-${O.Virtual}`?"solid":"outline",sx:s,children:X?e(W[O.Virtual].metadata.displayName):void 0})]})]}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.stations")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[Object.values(D).map((a=>l.jsx(i,{"aria-label":a,leftIcon:E[a].icon,onClick:()=>(e=>u(I(`station-${e}`)))(a),variant:P===`station-${a}`?"solid":"outline",sx:s,children:X?e(E[a].metadata.displayName):void 0},a))),l.jsx(H,{type:"station",expand:X})]})]}),l.jsxs(o,{children:[l.jsxs(r,{sx:L,children:[X&&l.jsx(c,{as:"span",flex:"1",textAlign:"left",children:e("panel.tools.section.miscellaneousNodes")}),l.jsx(d,{})]}),l.jsxs(x,{sx:B,children:[l.jsxs(i,{"aria-label":O.Master,leftIcon:W[O.Master].icon,onClick:()=>Z(O.Master),variant:P===`misc-node-${O.Master}`?"solid":"outline",isDisabled:q,sx:s,children:[X?e(W[O.Master].metadata.displayName):void 0,X?l.jsxs(l.Fragment,{children:[l.jsx(j,{ml:"1",colorScheme:"green",children:"New"}),l.jsx(m,{label:e("header.settings.proWithTrial"),children:l.jsx(j,{ml:"1",color:"gray.50",background:"radial-gradient(circle, #3f5efb, #fc466b)",mr:"auto",children:"PRO"})})]}):void 0]}),Object.values(O).filter((e=>e!==O.Virtual&&e!==O.I18nText&&e!==O.Master)).map((a=>l.jsx(i,{"aria-label":a,leftIcon:W[a].icon,onClick:()=>Z(a),variant:P===`misc-node-${a}`?"solid":"outline",sx:s,children:X?e(W[a].metadata.displayName):void 0},a))),l.jsx(H,{type:"misc-node",expand:X})]})]})]})})]})})),e("LearnHowToAdd",(e=>{const{type:s,expand:a}=e,{t:t}=v(),i="misc-node"===s?"nodes":"station"===s?"stations":"line-styles",n="line"===s?"xs":void 0,o="line"===s?"30px":"40px";return l.jsxs(u,{fontSize:n,children:["line"!==s&&l.jsx(p.Provider,{value:{style:{padding:5},size:o},children:l.jsx(P,{})}),a&&l.jsxs(l.Fragment,{children:[l.jsx(f,{color:"teal.500",href:`https://github.com/railmapgen/rmp/blob/main/docs/${i}.md`,isExternal:!0,children:t(`panel.tools.learnHowToAdd.${s}`)}),l.jsx(g,{as:z,color:"teal.500",mr:"auto"})]})]})})))}}})); diff --git a/index.html b/index.html index c30045eb..0ae52333 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ Rail Map Painter - + @@ -52,6 +52,6 @@ - + diff --git a/info.json b/info.json index 77576f75..e9b8d6b3 100644 --- a/info.json +++ b/info.json @@ -1,6 +1,6 @@ { "component": "rmp", - "version": "5.1.38", + "version": "5.1.39", "environment": "PRD", "instance": "GitHub" }