@layers-app/editor 0.5.6-optimization → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/README.md +0 -19
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.js +10 -12
  4. package/dist/layers.52famHy6.js +1 -0
  5. package/dist/layers.59MV1gHs.js +41 -0
  6. package/dist/layers.6IaGqrl-.js +39 -0
  7. package/dist/layers.6lqPO-3Z.js +32 -0
  8. package/dist/layers.7JqFgE4-.js +15 -0
  9. package/dist/layers.8CsJHG7m.js +139 -0
  10. package/dist/layers.9pNaFvaX.js +1 -0
  11. package/dist/layers.AK6shBV6.js +42 -0
  12. package/dist/layers.AamAEMA7.js +160 -0
  13. package/dist/layers.B-WGMHL6.js +11 -0
  14. package/dist/layers.B19hGmey.js +1 -0
  15. package/dist/layers.B2wUdnez.js +437 -0
  16. package/dist/layers.B3D4g2HH.js +1 -0
  17. package/dist/layers.B6FBUZ1Z.js +9 -0
  18. package/dist/layers.B7-Kk2kp.js +11 -0
  19. package/dist/layers.B7K7JjK6.js +1510 -0
  20. package/dist/layers.B7USkgSi.js +6 -0
  21. package/dist/layers.B7hegMVr.js +1034 -0
  22. package/dist/layers.BAtv1CM7.js +1 -0
  23. package/dist/layers.BBSE_YmF.js +37 -0
  24. package/dist/layers.BCG8kdU-.js +32 -0
  25. package/dist/layers.BCUz59rh.js +39 -0
  26. package/dist/layers.BF8ID4w9.js +39 -0
  27. package/dist/layers.BIZaN3QR.js +7 -0
  28. package/dist/layers.BIeVwYKL.js +1 -0
  29. package/dist/layers.BJDrjORS.js +244 -0
  30. package/dist/layers.BK35bp4_.js +931 -0
  31. package/dist/layers.BKrHVgKG.js +11 -0
  32. package/dist/layers.BLd2spTm.js +1 -0
  33. package/dist/layers.BQj7sYv9.js +4 -0
  34. package/dist/layers.BSTBZrFn.js +1 -0
  35. package/dist/layers.BTnY40Hl.js +230 -0
  36. package/dist/layers.BW6eTqTQ.js +9 -0
  37. package/dist/layers.BX50pyFe.js +42 -0
  38. package/dist/layers.BXiMBNCf.js +7 -0
  39. package/dist/layers.BY0saexf.js +44 -0
  40. package/dist/layers.BYyHDhdF.js +40 -0
  41. package/dist/layers.B_SkKQaN.js +7 -0
  42. package/dist/layers.Bb45BkB7.js +35 -0
  43. package/dist/layers.BbCfEXyj.js +55 -0
  44. package/dist/layers.Bbx2DS9P.js +10 -0
  45. package/dist/layers.BeRqUeUL.js +1 -0
  46. package/dist/layers.BfBHY8YH.js +8 -0
  47. package/dist/layers.BfPqzMs9.js +1 -0
  48. package/dist/layers.Bfqazne8.js +70 -0
  49. package/dist/layers.BgzFjX4U.js +35 -0
  50. package/dist/layers.BhL3qtd0.js +1126 -0
  51. package/dist/layers.BitUjngp.js +11 -0
  52. package/dist/layers.BmR6H-fP.js +2966 -0
  53. package/dist/layers.Bn7g95cI.js +39 -0
  54. package/dist/layers.Bn7hw-zZ.js +13 -0
  55. package/dist/layers.BnYpz8RW.js +1359 -0
  56. package/dist/layers.BoIdFEtV.js +186 -0
  57. package/dist/layers.BorvTy9p.js +33 -0
  58. package/dist/layers.BpilXLfW.js +6 -0
  59. package/dist/layers.Bt8HOTA6.js +10 -0
  60. package/dist/layers.BvVfdnbz.js +41 -0
  61. package/dist/layers.BzUNMS1L.js +2 -0
  62. package/dist/layers.C-FZw43o.js +41 -0
  63. package/dist/layers.C0Lgw_Sx.js +11688 -0
  64. package/dist/layers.C4ToPutV.js +40 -0
  65. package/dist/layers.C4wkiWhv.js +8 -0
  66. package/dist/layers.C5ZDJAAD.js +220 -0
  67. package/dist/layers.C6P4YEcq.js +257 -0
  68. package/dist/layers.C7x1USYv.js +139 -0
  69. package/dist/layers.C8_lu5UH.js +23 -0
  70. package/dist/layers.C99jO8bw.js +1 -0
  71. package/dist/layers.C9KoadvU.js +122 -0
  72. package/dist/layers.C9PwfpMh.js +39 -0
  73. package/dist/layers.CA8KMZRI.js +1 -0
  74. package/dist/layers.CAGTppwS.js +4 -0
  75. package/dist/layers.CAgoPdOX.js +1088 -0
  76. package/dist/layers.CBb84SJY.js +10 -0
  77. package/dist/layers.CCaOiFeL.js +9 -0
  78. package/dist/layers.CChtus6s.js +9 -0
  79. package/dist/layers.CDpYDf4E.js +41 -0
  80. package/dist/layers.CElZbgj1.js +61 -0
  81. package/dist/layers.CFXi5TGg.js +5 -0
  82. package/dist/layers.CGvSf-pD.js +10 -0
  83. package/dist/layers.CH7Yhxyl.js +1 -0
  84. package/dist/layers.CHZsXQcr.js +1 -0
  85. package/dist/layers.CHbqHHw4.js +10 -0
  86. package/dist/layers.CIK15Iw8.js +1 -0
  87. package/dist/layers.CIpcY9uj.js +38 -0
  88. package/dist/layers.CK2ePV5l.js +1 -0
  89. package/dist/layers.CKOfAypO.js +1 -0
  90. package/dist/layers.CKuoZO2o.js +5 -0
  91. package/dist/layers.CLELtUjk.js +40 -0
  92. package/dist/layers.CNmEkwvP.js +84 -0
  93. package/dist/layers.CPJv1Tc9.js +46859 -0
  94. package/dist/layers.CPlQgHvJ.js +37 -0
  95. package/dist/layers.CR9KcJml.js +9 -0
  96. package/dist/layers.CRFf4NzO.js +10 -0
  97. package/dist/layers.CSI1-wyP.js +1 -0
  98. package/dist/layers.CTmWmJtN.js +32 -0
  99. package/dist/layers.CXqT56ec.js +304 -0
  100. package/dist/layers.CZ5YSh6D.js +8 -0
  101. package/dist/layers.C_2s_qym.js +3 -0
  102. package/dist/layers.C_IvrzZ3.js +7 -0
  103. package/dist/layers.C_fjSuvx.js +1 -0
  104. package/dist/layers.CaMAncU5.js +423 -0
  105. package/dist/layers.CcaiUz4r.js +1 -0
  106. package/dist/layers.Cd1zz9ej.js +39 -0
  107. package/dist/layers.CeafY0UM.js +37 -0
  108. package/dist/layers.CfcMk6Ta.js +1 -0
  109. package/dist/layers.Cfl_HoMI.js +769 -0
  110. package/dist/layers.CfpNlmP9.js +1 -0
  111. package/dist/layers.CiTTUiMF.js +8 -0
  112. package/dist/layers.Cj4cFFtZ.js +189 -0
  113. package/dist/layers.CmdoC_9-.js +7 -0
  114. package/dist/layers.CoGB8bed.js +8 -0
  115. package/dist/layers.Cpy28Z7d.js +35 -0
  116. package/dist/layers.CqVTtuYm.js +6 -0
  117. package/dist/layers.Cu93NN5Z.js +41 -0
  118. package/dist/layers.Cu9NodvY.js +1089 -0
  119. package/dist/layers.CvBE5BLz.js +118 -0
  120. package/dist/layers.Cx9zn9dM.js +41 -0
  121. package/dist/layers.CxJcDiDE.js +65 -0
  122. package/dist/layers.Cyzu9PKQ.js +1 -0
  123. package/dist/layers.CzAsjHtw.js +34 -0
  124. package/dist/layers.D0kgeXsw.js +1619 -0
  125. package/dist/layers.D0zn4_Mx.js +1 -0
  126. package/dist/layers.D1Vfjokq.js +32 -0
  127. package/dist/layers.D1rIvRN6.js +9 -0
  128. package/dist/layers.D22i1Ls7.js +6 -0
  129. package/dist/layers.D25D_N3C.js +7 -0
  130. package/dist/layers.D4T8fTcj.js +1223 -0
  131. package/dist/layers.D4fXRymr.js +40 -0
  132. package/dist/layers.D4gUAtLW.js +41 -0
  133. package/dist/layers.D59PMsKH.js +51 -0
  134. package/dist/layers.D5_C65FS.js +2479 -0
  135. package/dist/layers.D5j-6Vz3.js +36 -0
  136. package/dist/layers.D7ikYTua.js +2235 -0
  137. package/dist/layers.D7jGxypv.js +8 -0
  138. package/dist/layers.D7n2QyFM.js +48146 -0
  139. package/dist/layers.D8fdxG58.js +295 -0
  140. package/dist/layers.D9h1AMfz.js +8 -0
  141. package/dist/layers.DAsAtqWK.js +4 -0
  142. package/dist/layers.DBVrBhF0.js +1 -0
  143. package/dist/layers.DCWjWRvL.js +9 -0
  144. package/dist/layers.DD9dfhit.js +40 -0
  145. package/dist/layers.DHD10kvJ.js +1 -0
  146. package/dist/layers.DHZBzVaT.js +1283 -0
  147. package/dist/layers.DHfSJOOW.js +1 -0
  148. package/dist/layers.DKJQWPVn.js +32 -0
  149. package/dist/layers.DKUfWSX1.js +904 -0
  150. package/dist/layers.DLK-HpMV.js +1 -0
  151. package/dist/layers.DLjZPfF1.js +802 -0
  152. package/dist/layers.DLwuMfdd.js +84 -0
  153. package/dist/layers.DMIDFKxo.js +36 -0
  154. package/dist/layers.DMkBISW1.js +1 -0
  155. package/dist/layers.DN9HoVxI.js +18 -0
  156. package/dist/layers.DOrgOHBr.js +1 -0
  157. package/dist/layers.DRvKjryx.js +1265 -0
  158. package/dist/layers.DTMLuJKN.js +33 -0
  159. package/dist/layers.DUJa2ZOS.js +8 -0
  160. package/dist/layers.DVUWZ8Wt.js +37 -0
  161. package/dist/layers.DVrOJIL5.js +7 -0
  162. package/dist/layers.DY6GA9ww.js +9166 -0
  163. package/dist/layers.D_Imug13.js +8 -0
  164. package/dist/layers.D_KJI4uf.js +1 -0
  165. package/dist/layers.D_vzZUhY.js +1 -0
  166. package/dist/layers.DaCB9yHC.js +4 -0
  167. package/dist/layers.DbaKVP5e.js +1 -0
  168. package/dist/layers.DcjluSHw.js +84 -0
  169. package/dist/layers.De0fDaHO.js +40 -0
  170. package/dist/layers.DeEGG6FS.js +42 -0
  171. package/dist/layers.DfFJCPRD.js +373 -0
  172. package/dist/layers.DfLz3NUP.js +320 -0
  173. package/dist/layers.DhW2E_US.js +1580 -0
  174. package/dist/layers.DjUOC4st.js +16 -0
  175. package/dist/layers.DjbsplkN.js +32 -0
  176. package/dist/layers.DkaJchxc.js +6 -0
  177. package/dist/layers.DlGVcszu.js +1 -0
  178. package/dist/layers.DlfnKTKF.js +42 -0
  179. package/dist/layers.DnxO-9oO.js +1 -0
  180. package/dist/layers.DqSkTf9R.js +21763 -0
  181. package/dist/layers.Dr1JK1_Z.js +202 -0
  182. package/dist/layers.Dr8zNYOs.js +5 -0
  183. package/dist/layers.DsiNLArY.js +40 -0
  184. package/dist/layers.DtP3hMV0.js +10 -0
  185. package/dist/layers.Du1ZlY6H.js +40 -0
  186. package/dist/layers.Du8uQ4JH.js +1 -0
  187. package/dist/layers.DuQ8oZjN.js +1 -0
  188. package/dist/layers.DuwNlZRl.js +11 -0
  189. package/dist/layers.Dw7Dmv6Y.js +19 -0
  190. package/dist/layers.DxA6ocdw.js +70 -0
  191. package/dist/layers.Dy1naDTQ.js +14 -0
  192. package/dist/layers.E1TwhuY2.js +791 -0
  193. package/dist/layers.Eelq_G9Y.js +803 -0
  194. package/dist/layers.Eodu_OXz.js +2 -0
  195. package/dist/layers.H36OYk_h.js +5 -0
  196. package/dist/layers.HVpHwo9E.js +5 -0
  197. package/dist/layers.I-tmhwFG.js +39 -0
  198. package/dist/layers.Is4NOcYC.js +9 -0
  199. package/dist/layers.J20L8tWx.js +501 -0
  200. package/dist/layers.JWCLFILJ.js +1 -0
  201. package/dist/layers.Jm82B3Oj.js +116 -0
  202. package/dist/layers.L60GQ2sb.js +8 -0
  203. package/dist/layers.LJC22eKQ.js +7 -0
  204. package/dist/layers.MW6tobI-.js +6 -0
  205. package/dist/layers.MZ6d0DZp.js +10 -0
  206. package/dist/layers.M_62Sbj7.js +268 -0
  207. package/dist/layers.O8Nxijec.js +793 -0
  208. package/dist/layers.OLlYwVPc.js +14 -0
  209. package/dist/layers.Pw46DBip.js +59 -0
  210. package/dist/layers.U98UFPWm.js +207 -0
  211. package/dist/layers.VXlo2W40.js +36 -0
  212. package/dist/layers.VlKfhmpq.js +10 -0
  213. package/dist/layers.YOQy_t6q.js +40 -0
  214. package/dist/layers.ZoMyFX9M.js +2 -0
  215. package/dist/layers._1XiIhPh.js +7 -0
  216. package/dist/layers.ay_dYKjj.js +960 -0
  217. package/dist/layers.b0h5ZBmD.js +61 -0
  218. package/dist/layers.dDe6FHmh.js +36 -0
  219. package/dist/layers.dVkHa3a_.js +39 -0
  220. package/dist/layers.et7zjoY9.js +52 -0
  221. package/dist/layers.gryxZo3n.js +10 -0
  222. package/dist/layers.hPuFhhxl.js +41 -0
  223. package/dist/layers.hweLqW3I.js +261 -0
  224. package/dist/layers.kaOt41rd.js +9 -0
  225. package/dist/layers.lCpg7dOn.js +21 -0
  226. package/dist/layers.lLFiut9N.js +8 -0
  227. package/dist/layers.lNSz2AQQ.js +6 -0
  228. package/dist/layers.mV8zYAS9.js +39 -0
  229. package/dist/layers.oyyMMK1Q.js +21938 -0
  230. package/dist/layers.qFWUlMDP.js +282 -0
  231. package/dist/layers.t46sYkQh.js +96 -0
  232. package/dist/layers.tdFdnJVX.js +38 -0
  233. package/dist/layers.u4sk_7sk.js +6 -0
  234. package/dist/layers.uEa7jWOw.js +42 -0
  235. package/dist/layers.uKwUcHfW.js +9 -0
  236. package/dist/layers.v6694Ulr.js +425 -0
  237. package/dist/layers.xkw2pWfm.js +40 -0
  238. package/dist/layers.ytXaFkr-.js +1 -0
  239. package/dist/layers.z5ZNUv1T.js +38 -0
  240. package/package.json +18 -76
  241. package/dist/layers.7jmq6tBR.js +0 -2227
  242. package/dist/layers.B90YwJga.js +0 -4
  243. package/dist/layers.C03OvlLb.js +0 -6
  244. package/dist/layers.CJiIq6YQ.js +0 -1
  245. package/dist/layers.CXffIp2y.js +0 -864
  246. package/dist/layers.CZPeYQ9g.js +0 -3
  247. package/dist/layers.CZ_Lt7IL.js +0 -7
  248. package/dist/layers.Ci1-qkbn.js +0 -341
  249. package/dist/layers.Cnm-pECN.js +0 -2
  250. package/dist/layers.D6d62qQ_.js +0 -6774
  251. package/dist/layers.DNCgFYS7.js +0 -27
  252. package/dist/layers.Dev6Yrwi.js +0 -530
  253. package/dist/layers.Dgok89qX.js +0 -1
  254. package/dist/layers.Dq3o7sh3.js +0 -7723
  255. package/dist/layers.Duy8YzsH.js +0 -2511
  256. package/dist/layers.QjAkD17S.js +0 -3677
@@ -0,0 +1,40 @@
1
+ import "./layers.DqSkTf9R.js";
2
+ var u = { paste: "붙여넣기", pasteAsPlaintext: "일반 텍스트로 붙여넣기", pasteCharts: "차트 붙여넣기", selectAll: "전체 선택", multiSelect: "선택 영역에 추가하기", moveCanvas: "캔버스 이동", cut: "잘라내기", copy: "복사", copyAsPng: "클립보드로 PNG 이미지 복사", copyAsSvg: "클립보드로 SVG 이미지 복사", copyText: "클립보드로 텍스트 복사", copySource: "소스코드를 클립보드로 복사", convertToCode: "코드로 변환", bringForward: "앞으로 가져오기", sendToBack: "맨 뒤로 보내기", bringToFront: "맨 앞으로 가져오기", sendBackward: "뒤로 보내기", delete: "삭제", copyStyles: "스타일 복사하기", pasteStyles: "스타일 붙여넣기", stroke: "선 색상", background: "배경색", fill: "채우기", strokeWidth: "선 굵기", strokeStyle: "선", strokeStyle_solid: "실선", strokeStyle_dashed: "파선", strokeStyle_dotted: "점선", sloppiness: "대충 긋기", opacity: "불투명도", textAlign: "텍스트 정렬", edges: "가장자리", sharp: "뾰족하게", round: "둥글게", arrowheads: "화살촉", arrowhead_none: "없음", arrowhead_arrow: "화살표", arrowhead_bar: "막대", arrowhead_circle: "원", arrowhead_circle_outline: "원 (외곽선)", arrowhead_triangle: "삼각형", arrowhead_triangle_outline: "삼각형 (외곽선)", arrowhead_diamond: "마름모", arrowhead_diamond_outline: "마름모 (외곽선)", fontSize: "글자 크기", fontFamily: "글꼴", addWatermark: '"Made with Excalidraw" 추가', handDrawn: "손글씨", normal: "일반", code: "코드", small: "작게", medium: "보통", large: "크게", veryLarge: "매우 크게", solid: "단색", hachure: "평행선", zigzag: "지그재그", crossHatch: "교차선", thin: "얇게", bold: "굵게", left: "왼쪽", center: "가운데", right: "오른쪽", extraBold: "매우 굵게", architect: "건축가", artist: "예술가", cartoonist: "만화가", fileTitle: "파일 이름", colorPicker: "색상 선택기", canvasColors: "캔버스에서 사용되었음", canvasBackground: "캔버스 배경", drawingCanvas: "캔버스 그리기", layers: "레이어", actions: "동작", language: "언어", liveCollaboration: "실시간 협업...", duplicateSelection: "복제", untitled: "제목 없음", name: "이름", yourName: "이름 입력", madeWithExcalidraw: "Made with Excalidraw", group: "그룹 생성", ungroup: "그룹 해제", collaborators: "공동 작업자", showGrid: "그리드 보기", addToLibrary: "라이브러리에 추가", removeFromLibrary: "라이브러리에서 제거", libraryLoadingMessage: "라이브러리 불러오는 중…", libraries: "라이브러리 찾기", loadingScene: "화면 불러오는 중…", align: "정렬", alignTop: "상단 정렬", alignBottom: "하단 정렬", alignLeft: "왼쪽 정렬", alignRight: "오른쪽 정렬", centerVertically: "수직으로 중앙 정렬", centerHorizontally: "수평으로 중앙 정렬", distributeHorizontally: "수평으로 분배", distributeVertically: "수직으로 분배", flipHorizontal: "좌우반전", flipVertical: "상하반전", viewMode: "보기 모드", share: "공유", showStroke: "윤곽선 색상 선택기 열기", showBackground: "배경 색상 선택기 열기", toggleTheme: "테마 전환", personalLib: "개인 라이브러리", excalidrawLib: "Excalidraw 라이브러리", decreaseFontSize: "폰트 사이즈 줄이기", increaseFontSize: "폰트 사이즈 키우기", unbindText: "텍스트 분리", bindText: "텍스트를 컨테이너에 결합", createContainerFromText: "텍스트를 컨테이너에 담기", link: { edit: "링크 수정하기", editEmbed: "링크 & 임베드 수정하기", create: "링크 만들기", createEmbed: "링크 & 임베드 만들기", label: "링크", labelEmbed: "링크 & 임베드", empty: "링크를 지정하지 않았습니다" }, lineEditor: { edit: "선 수정하기", exit: "선 편집기 종료" }, elementLock: { lock: "잠금", unlock: "잠금 해제", lockAll: "모두 잠금", unlockAll: "모두 잠금 해제" }, statusPublished: "게시됨", sidebarLock: "사이드바 유지", selectAllElementsInFrame: "프레임의 모든 요소 선택", removeAllElementsFromFrame: "프레임의 모든 요소 삭제", eyeDropper: "캔버스에서 색상 고르기", textToDiagram: "텍스트를 다이어그램으로", prompt: "프롬프트" }, C = { noItems: "추가된 아이템 없음", hint_emptyLibrary: "캔버스 위에서 아이템을 선택하여 여기에 추가를 하거나, 아래의 공용 저장소에서 라이브러리를 설치하세요.", hint_emptyPrivateLibrary: "캔버스 위에서 아이템을 선택하여 여기 추가하세요." }, B = { clearReset: "캔버스 초기화", exportJSON: "파일로 내보내기", exportImage: "이미지 내보내기", export: "다른 이름으로 저장...", copyToClipboard: "클립보드로 복사", save: "현재 파일에 저장", saveAs: "다른 이름으로 저장", load: "열기", getShareableLink: "공유 가능한 링크 생성", close: "닫기", selectLanguage: "언어 선택", scrollBackToContent: "콘텐츠 영역으로 스크롤하기", zoomIn: "확대", zoomOut: "축소", resetZoom: "확대/축소 초기화", menu: "메뉴", done: "완료", edit: "수정", undo: "실행 취소", redo: "다시 실행", resetLibrary: "라이브러리 리셋", createNewRoom: "방 만들기", fullScreen: "전체화면", darkMode: "다크 모드", lightMode: "밝은 모드", zenMode: "젠 모드", objectsSnapMode: "다른 요소들에 정렬시키기", exitZenMode: "젠 모드 종료하기", cancel: "취소", clear: "지우기", remove: "삭제", embed: "임베딩 토글", publishLibrary: "게시하기", submit: "제출", confirm: "확인", embeddableInteractionButton: "클릭하여 상호작용" }, D = { clearReset: "모든 작업 내용이 초기화됩니다. 계속하시겠습니까?", couldNotCreateShareableLink: "공유 가능한 링크를 생성할 수 없습니다.", couldNotCreateShareableLinkTooBig: "공유 가능한 링크를 생성할 수 없습니다: 화면이 너무 큽니다.", couldNotLoadInvalidFile: "유효하지 않은 파일입니다.", importBackendFailed: "서버로부터 불러 오지 못했습니다.", cannotExportEmptyCanvas: "빈 캔버스를 내보낼 수 없습니다.", couldNotCopyToClipboard: "클립보드로 복사하지 못했습니다.", decryptFailed: "데이터를 복호화하지 못했습니다.", uploadedSecurly: "업로드는 종단 간 암호화로 보호되므로 Excalidraw 서버 및 타사가 콘텐츠를 읽을 수 없습니다.", loadSceneOverridePrompt: "외부 파일을 불러 오면 기존 콘텐츠가 대체됩니다. 계속 진행할까요?", collabStopOverridePrompt: `협업 세션을 종료하면 로컬 저장소에 있는 그림이 협업 세션의 그림으로 대체됩니다. 진행하겠습니까?
3
+
4
+ (로컬 저장소에 있는 그림을 유지하려면 현재 브라우저 탭을 닫아주세요.)`, errorAddingToLibrary: "아이템을 라이브러리에 추가 할수 없습니다", errorRemovingFromLibrary: "라이브러리에서 아이템을 삭제할수 없습니다", confirmAddLibrary: "{{numShapes}}개의 모양이 라이브러리에 추가됩니다. 계속하시겠어요?", imageDoesNotContainScene: "이 이미지는 화면 데이터를 포함하고 있지 않은 것 같습니다. 내보낼 때 화면을 첨부하도록 설정하셨나요?", cannotRestoreFromImage: "이미지 파일에서 화면을 복구할 수 없었습니다", invalidSceneUrl: "제공된 URL에서 화면을 가져오는데 실패했습니다. 주소가 잘못되거나, 유효한 Excalidraw JSON 데이터를 포함하고 있지 않은 것일 수 있습니다.", resetLibrary: "당신의 라이브러리를 초기화 합니다. 계속하시겠습니까?", removeItemsFromsLibrary: "{{count}}개의 아이템을 라이브러리에서 삭제하시겠습니까?", invalidEncryptionKey: "암호화 키는 반드시 22글자여야 합니다. 실시간 협업이 비활성화됩니다.", collabOfflineWarning: `인터넷에 연결되어 있지 않습니다.
5
+ 변경 사항들이 저장되지 않습니다!` }, A = { unsupportedFileType: "지원하지 않는 파일 형식 입니다.", imageInsertError: "이미지를 삽입할 수 없습니다. 나중에 다시 시도 하십시오", fileTooBig: "파일이 너무 큽니다. 최대 크기는 {{maxSize}} 입니다.", svgImageInsertError: "SVG 이미지를 삽입하지 못했습니다. SVG 문법이 유효하지 않은 것 같습니다.", failedToFetchImage: "이미지를 가져오는데 실패했습니다.", invalidSVGString: "유효하지 않은 SVG입니다.", cannotResolveCollabServer: "협업 서버에 접속하는데 실패했습니다. 페이지를 새로고침하고 다시 시도해보세요.", importLibraryError: "라이브러리를 불러오지 못했습니다.", collabSaveFailed: "데이터베이스에 저장하지 못했습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.", collabSaveFailed_sizeExceeded: "데이터베이스에 저장하지 못했습니다. 캔버스가 너무 큰 거 같습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.", imageToolNotSupported: "이미지가 비활성화 되었습니다.", brave_measure_text_error: { line1: "귀하께서는 <bold>강력한 지문 차단 설정</bold>이 활성화된 Brave browser를 사용하고 계신 것 같습니다.", line2: "이 기능으로 인해 화이트보드의 <bold>텍스트 요소들</bold>이 손상될 수 있습니다.", line3: "저희는 해당 기능을 비활성화하는 것을 강력히 권장 드립니다. 비활성화 방법에 대해서는 <link>이 게시글</link>을 참고해주세요.", line4: "만약 이 설정을 껐음에도 텍스트 요소들이 올바르게 표시되지 않는다면, 저희 Github에 <issueLink>이슈</issueLink>를 올려주시거나 <discordLink>Discord</discordLink>로 알려주세요." }, libraryElementTypeError: { embeddable: "임베드 요소들은 라이브러리에 추가할 수 없습니다.", iframe: "IFrame 요소들은 라이브러리에 추가할 수 없습니다.", image: "라이브러리에 이미지 삽입 기능은 곧 지원될 예정입니다!" }, asyncPasteFailedOnRead: "붙여넣는데 실패했습니다. (시스템 클립보드를 읽는데 실패했습니다)", asyncPasteFailedOnParse: "붙여넣는데 실패했습니다.", copyToSystemClipboardFailed: "클립보드로 복사하는데 실패했습니다." }, e = { selection: "선택", image: "이미지 삽입", rectangle: "사각형", diamond: "다이아몬드", ellipse: "타원", arrow: "화살표", line: "선", freedraw: "그리기", text: "텍스트", library: "라이브러리", lock: "선택된 도구 유지하기", penMode: "펜 모드 - 터치 방지", link: "선택한 도형에 대해서 링크를 추가/업데이트", eraser: "지우개", frame: "프레임 도구", magicframe: "와이어프레임을 코드로", embeddable: "웹 임베드", laser: "레이저 포인터", hand: "손 (패닝 도구)", extraTools: "다른 도구", mermaidToExcalidraw: "Mermaid에서 불러오기", magicSettings: "AI 설정" }, E = { canvasActions: "캔버스 동작", selectedShapeActions: "선택된 모양 동작", shapes: "모양" }, a = { canvasPanning: "캔버스를 옮기려면 마우스 휠이나 스페이스바를 누르고 드래그하거나, 손 도구를 사용하기", linearElement: "여러 점을 연결하려면 클릭하고, 직선을 그리려면 바로 드래그하세요.", freeDraw: "클릭 후 드래그하세요. 완료되면 놓으세요.", text: "팁: 선택 툴로 아무 곳이나 더블 클릭해 텍스트를 추가할 수도 있습니다.", embeddable: "클릭 및 드래그하여 웹사이트 임베드 만들기", text_selected: "더블 클릭 또는 ENTER를 눌러서 텍스트 수정", text_editing: "ESC나 CtrlOrCmd+ENTER를 눌러서 수정을 종료하기", linearElementMulti: "마지막 지점을 클릭하거나 Esc 또는 Enter 키를 눌러 완료하세요.", lockAngle: "SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.", resize: `SHIFT 키를 누르면서 조정하면 크기의 비율이 제한됩니다.
6
+ ALT를 누르면서 조정하면 중앙을 기준으로 크기를 조정합니다.`, resizeImage: `SHIFT를 눌러서 자유롭게 크기를 변경하거나,
7
+ ALT를 눌러서 중앙을 고정하고 크기를 변경하기`, rotate: "SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.", lineEditor_info: "꼭짓점을 수정하려면 CtrlOrCmd 키를 누르고 더블 클릭을 하거나 CtrlOrCmd + Enter를 누르세요.", lineEditor_pointSelected: `Delete 키로 꼭짓점을 제거하거나,
8
+ CtrlOrCmd+D 로 복제하거나, 드래그 해서 이동시키기`, lineEditor_nothingSelected: `꼭짓점을 선택해서 수정하거나 (SHIFT를 눌러서 여러개 선택),
9
+ Alt를 누르고 클릭해서 새로운 꼭짓점 추가하기`, placeImage: "클릭해서 이미지를 배치하거나, 클릭하고 드래그해서 사이즈를 조정하기", publishLibrary: "당신만의 라이브러리를 게시하기", bindTextToElement: "Enter 키를 눌러서 텍스트 추가하기", deepBoxSelect: "CtrlOrCmd 키를 눌러서 깊게 선택하고, 드래그하지 않도록 하기", eraserRevert: "Alt를 눌러서 삭제하도록 지정된 요소를 되돌리기", firefox_clipboard_write: '이 기능은 설정에서 "dom.events.asyncClipboard.clipboardItem" 플래그를 "true"로 설정하여 활성화할 수 있습니다. Firefox에서 브라우저 플래그를 수정하려면, "about:config" 페이지에 접속하세요.', disableSnapping: "CtrlOrCmd 키를 눌러서 다른 요소와의 정렬 무시하기" }, r = { cannotShowPreview: "미리보기를 볼 수 없습니다", canvasTooBig: "캔버스가 너무 큽니다.", canvasTooBigTip: "팁: 멀리 있는 요소들을 좀 더 가까이로 붙여 보세요." }, o = { headingMain: "오류가 발생했습니다. <button>페이지 새로고침</button>", clearCanvasMessage: "새로고침으로 해결되지 않을 경우, <button>캔버스 비우기</button>", clearCanvasCaveat: " 작업 내용을 잃게 됩니다 ", trackedToSentry: "오류 {{eventId}} 가 시스템에서 발견되었습니다.", openIssueMessage: "저희는 화면 정보를 오류에 포함하지 않도록 매우 주의하고 있습니다. 혹시 화면에 민감한 내용이 없다면 이곳에 업로드를 고려해주세요.<button>버그 트래커</button> 아래 정보를 GitHub 이슈에 복사 및 붙여넣기해 주세요.", sceneContent: "화면 내용:" }, t = { desc_intro: "현재 화면에 공동 작업자를 초대해 협업할 수 있습니다.", desc_privacy: "안심하세요, 세션은 종단 간 암호화를 사용하므로 당신의 작업은 비공개로 유지되며 서버조차도 작업 내용을 알 수 없습니다.", button_startSession: "세션 시작", button_stopSession: "세션 중단", desc_inProgressIntro: "실시간 협업 세션이 진행 중입니다.", desc_shareLink: "공동 작업자에게 이 링크를 공유하세요.", desc_exitSession: "세션을 중단하면 연결은 끊어지나 작업을 이어갈 수 있습니다. 이 작업은 다른 작업자에게 영향을 미치지 않으며 각자의 공동 작업은 계속 유지됩니다.", shareTitle: "Excalidraw의 실시간 협업 세션에 참가하기" }, i = { title: "오류" }, l = { disk_title: "디스크에 저장", disk_details: "나중에 다시 불러올 수 있도록 화면 데이터를 내보냅니다.", disk_button: "파일로 저장", link_title: "공유 가능한 링크 생성", link_details: "읽기 전용 링크로 내보냅니다.", link_button: "링크로 내보내기", excalidrawplus_description: "화면을 당신의 Excalidraw+ 작업 공간으로 저장합니다.", excalidrawplus_button: "내보내기", excalidrawplus_exportError: "지금은 Excalidraw+로 내보낼 수 없습니다..." }, n = { blog: "블로그 읽어보기", click: "클릭", deepSelect: "깊게 선택", deepBoxSelect: "영역을 깊게 선택하고, 드래그하지 않도록 하기", curvedArrow: "곡선 화살표", curvedLine: "곡선", documentation: "설명서", doubleClick: "더블 클릭", drag: "드래그", editor: "에디터", editLineArrowPoints: "직선 / 화살표 꼭짓점 수정", editText: "텍스트 수정 / 라벨 추가", github: "문제 제보하기", howto: "가이드 참고하기", or: "또는", preventBinding: "화살표가 붙지 않게 하기", tools: "도구", shortcuts: "키보드 단축키", textFinish: "편집 완료 (텍스트 에디터)", textNewLine: "줄바꿈(텍스트 에디터)", title: "도움말", view: "보기", zoomToFit: "모든 요소가 보이도록 확대/축소", zoomToSelection: "선택 영역으로 확대/축소", toggleElementLock: "선택한 항목을 잠금/잠금 해제", movePageUpDown: "페이지 움직이기 위/아래", movePageLeftRight: "페이지 움직이기 좌/우" }, s = { title: "캔버스 지우기" }, d = { title: "라이브러리 게시하기", itemName: "아이템 이름", authorName: "저자명", githubUsername: "깃허브 사용자이름", twitterUsername: "트위터 사용자이름", libraryName: "라이브러리 이름", libraryDesc: "라이브러리 설명", website: "웹사이트", placeholder: { authorName: "이름 또는 사용자명", libraryName: "당신의 라이브러리 이름", libraryDesc: "사람들에게 라이브러리의 용도를 알기 쉽게 설명해주세요", githubHandle: "GitHub 사용자명 (선택), 제출한 뒤에도 심사를 위해서 라이브러리를 수정할 때 사용됩니다", twitterHandle: "Twitter 사용자명 (선택), Twitter를 통해서 홍보할 때 제작자를 밝히기 위해 사용됩니다", website: "개인 웹사이트나 다른 어딘가의 링크 (선택)" }, errors: { required: "필수사항", website: "유효한 URL을 입력하세요" }, noteDescription: "당신의 라이브러리를 제출하여 <link>공개 라이브러리 저장소</link>에서 다른 사람들의 그림에 사용할 수 있도록 하세요.", noteGuidelines: "라이브러리는 먼저 수동으로 승인되어야 합니다. 제출하기 전에 <link>가이드라인</link>을 먼저 읽어보세요. 의견을 공유하거나 변경사항을 만들기 위해선 GitHub 계정이 필요하지만, 반드시 필요하진 않습니다.", noteLicense: "제출함으로써, 당신은 라이브러리가 <link>MIT 라이선스 </link>하에 배포됨을, 즉 아무나 제약 없이 사용할 수 있음에 동의합니다.", noteItems: "각각의 라이브러리는 분류할 수 있도록 고유한 이름을 가져야 합니다. 다음의 라이브러리 항목이 포함됩니다:", atleastOneLibItem: "최소한 하나의 라이브러리를 선택해주세요", republishWarning: "참고: 선택된 항목의 일부는 이미 제출/게시되었습니다. 기존의 라이브러리나 제출물을 업데이트하는 경우에만 제출하세요." }, F = { title: "라이브러리 제출됨", content: "{{authorName}}님 감사합니다. 당신의 라이브러리가 심사를 위해 제출되었습니다. 진행 상황을<link>여기에서 확인하실 수 있습니다.</link>" }, c = { resetLibrary: "라이브러리 리셋", removeItemsFromLib: "선택한 항목을 라이브러리에서 제거" }, m = { header: "이미지 내보내기", label: { withBackground: "배경", onlySelected: "선택한 항목만", darkMode: "다크 모드", embedScene: "화면을 담기", scale: "크기", padding: "여백" }, tooltip: { embedScene: "화면 정보가 내보내는 PNG/SVG 파일에 저장되어 이후에 파일에서 화면을 복구할 수 있습니다. 파일 크기가 증가합니다." }, title: { exportToPng: "PNG로 내보내기", exportToSvg: "SVG로 내보내기", copyPngToClipboard: "클립보드로 PNG 복사" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "클립보드로 복사" } }, b = { tooltip: "그림은 종단 간 암호화되므로 Excalidraw의 서버는 절대로 내용을 알 수 없습니다.", link: "Excalidraw의 종단 간 암호화에 대한 블로그 포스트" }, p = { angle: "각도", element: "요소", elements: "요소", height: "높이", scene: "화면", selected: "선택됨", storage: "저장공간", title: "덕후들을 위한 통계", total: "합계", version: "버전", versionCopy: "복사하려면 클릭", versionNotAvailable: "해당 버전 사용 불가능", width: "너비" }, g = { addedToLibrary: "라이브러리에 추가되었습니다", copyStyles: "스타일 복사.", copyToClipboard: "클립보드로 복사.", copyToClipboardAsPng: `{{exportSelection}}를 클립보드에 PNG로 복사했습니다
10
+ ({{exportColorScheme}})`, fileSaved: "파일이 저장되었습니다.", fileSavedToFilename: "{filename} 로 저장되었습니다", canvas: "캔버스", selection: "선택한 요소", pasteAsSingleElement: "단일 요소로 붙여넣거나, 기존 텍스트 에디터에 붙여넣으려면 {{shortcut}} 을 사용하세요.", unableToEmbed: "이 URL의 임베딩이 허용되지 않았습니다. GitHub에 이슈를 남겨서 이 URL이 화이트리스트에 등재될 수 있도록 요청하세요", unrecognizedLinkFormat: '임베딩하려는 링크의 형식이 잘못된 것 같습니다. 원본 사이트에서 제공하는 "임베딩" 텍스트를 그대로 붙여 넣어 주세요' }, h = { transparent: "투명", black: "블랙", white: "화이트", red: "레드", pink: "핑크", grape: "그레이프", violet: "바이올렛", gray: "그레이", blue: "블루", cyan: "시안", teal: "틸", green: "그린", yellow: "옐로우", orange: "오렌지", bronze: "브론즈" }, S = { app: { center_heading: "모든 데이터는 브라우저에 안전하게 저장됩니다.", center_heading_plus: "대신 Excalidraw+로 이동하시겠습니까?", menuHint: "내보내기, 설정, 언어, ..." }, defaults: { menuHint: "내보내기, 설정, 등등...", center_heading: "간단하게 만드는 다이어그램.", toolbarHint: "도구를 선택하고, 그리세요!", helpHint: "단축키 & 도움말" } }, y = { mostUsedCustomColors: "가장 많이 사용된 색상들", colors: "색상", shades: "색조", hexCode: "Hex 코드", noShades: "사용할 수 있는 색조가 없음" }, w = { action: { exportToImage: { title: "이미지로 내보내기", button: "이미지로 내보내기", description: "나중에 다시 불러올 수 있도록 화면 데이터를 이미지로 내보냅니다." }, saveToDisk: { title: "디스크에 저장", button: "디스크에 저장", description: "나중에 다시 불러올 수 있도록 화면 데이터를 내보냅니다." }, excalidrawPlus: { title: "Excalidraw+", button: "Excalidraw+로 내보내기", description: "화면을 당신의 Excalidraw+ 작업 공간으로 저장합니다." } }, modal: { loadFromFile: { title: "파일에서 불러오기", button: "파일에서 불러오기", description: "파일을 불러오면 <bold>현재 작성된 데이터를 덮어쓰게 됩니다</bold>.<br></br>다음 옵션 중 하나를 선택하여 작업물을 백업해 둘 수 있습니다." }, shareableLink: { title: "주소에서 불러오기", button: "컨텐츠를 덮어쓰기", description: "외부 작업물을 불러오면 <bold>현재 작성된 데이터를 덮어쓰게 됩니다</bold>.<br></br>다음 옵션 중 하나를 선택하여 작업물을 백업해 둘 수 있습니다." } } }, k = { title: "Mermaid에서 불러오기", button: "삽입하기", description: "지금은 <flowchartLink>순서도</flowchartLink>,<sequenceLink> 시퀀스</sequenceLink>, <classLink>클래스 </classLink>다이어그램만 지원합니다. 다른 형식들은 Excalidraw에서는 이미지로 표시됩니다.", syntax: "Mermaid 구문", preview: "미리보기" }, x = { labels: u, library: C, buttons: B, alerts: D, errors: A, toolBar: e, headings: E, hints: a, canvasError: r, errorSplash: o, roomDialog: t, errorDialog: i, exportDialog: l, helpDialog: n, clearCanvasDialog: s, publishDialog: d, publishSuccessDialog: F, confirmDialog: c, imageExportDialog: m, encrypted: b, stats: p, toast: g, colors: h, welcomeScreen: S, colorPicker: y, overwriteConfirm: w, mermaid: k };
11
+ export {
12
+ D as alerts,
13
+ B as buttons,
14
+ r as canvasError,
15
+ s as clearCanvasDialog,
16
+ y as colorPicker,
17
+ h as colors,
18
+ c as confirmDialog,
19
+ x as default,
20
+ b as encrypted,
21
+ i as errorDialog,
22
+ o as errorSplash,
23
+ A as errors,
24
+ l as exportDialog,
25
+ E as headings,
26
+ n as helpDialog,
27
+ a as hints,
28
+ m as imageExportDialog,
29
+ u as labels,
30
+ C as library,
31
+ k as mermaid,
32
+ w as overwriteConfirm,
33
+ d as publishDialog,
34
+ F as publishSuccessDialog,
35
+ t as roomDialog,
36
+ p as stats,
37
+ g as toast,
38
+ e as toolBar,
39
+ S as welcomeScreen
40
+ };
@@ -0,0 +1,41 @@
1
+ import "./layers.DqSkTf9R.js";
2
+ var u = { paste: "لصق", pasteAsPlaintext: "اللصق كنص عادي", pasteCharts: "لصق الرسوم البيانية", selectAll: "تحديد الكل", multiSelect: "إضافة عنصر للتحديد", moveCanvas: "نقل لوح الرسم", cut: "قص", copy: "نسخ", copyAsPng: "نسخ إلى الحافظة بصيغة PNG", copyAsSvg: "نسخ إلى الحافظة بصيغة SVG", copyText: "نسخ إلى الحافظة كنص", copySource: "", convertToCode: "", bringForward: "جلب للأمام", sendToBack: "أرسل للخلف", bringToFront: "أحضر للأمام", sendBackward: "أرسل للخلف", delete: "حذف", copyStyles: "نسخ الأنماط", pasteStyles: "لصق الأنماط", stroke: "الخط", background: "الخلفية", fill: "التعبئة", strokeWidth: "سُمك الخط", strokeStyle: "نمط الخط", strokeStyle_solid: "متصل", strokeStyle_dashed: "متقطع", strokeStyle_dotted: "منقط", sloppiness: "الإمالة", opacity: "الشفافية", textAlign: "محاذاة النص", edges: "الحواف", sharp: "حادة", round: "دائرية", arrowheads: "رؤوس الأسهم", arrowhead_none: "لا شيء", arrowhead_arrow: "سهم", arrowhead_bar: "شريط", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "مثلث", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "حجم الخط", fontFamily: "نوع الخط", addWatermark: 'إضافة "مصنوعة بواسطة Excalidraw"', handDrawn: "رسم باليد", normal: "عادي", code: "رمز", small: "صغير", medium: "متوسط", large: "كبير", veryLarge: "كبير جدا", solid: "كامل", hachure: "خطوط", zigzag: "متعرج", crossHatch: "خطوط متقطعة", thin: "نحيف", bold: "داكن", left: "الـيسار", center: "وسط", right: "يمين", extraBold: "عريض", architect: "معماري", artist: "رسام", cartoonist: "كرتوني", fileTitle: "إسم الملف", colorPicker: "منتقي اللون", canvasColors: "تستخدم على القماش", canvasBackground: "خلفية اللوحة", drawingCanvas: "لوحة الرسم", layers: "الطبقات", actions: "الإجراءات", language: "اللغة", liveCollaboration: "التعاون المباشر...", duplicateSelection: "تكرار", untitled: "غير معنون", name: "الاسم", yourName: "اسمك", madeWithExcalidraw: "مصنوعة بواسطة Excalidraw", group: "تحديد مجموعة", ungroup: "إلغاء تحديد مجموعة", collaborators: "المتعاونون", showGrid: "إظهار الشبكة", addToLibrary: "أضف إلى المكتبة", removeFromLibrary: "حذف من المكتبة", libraryLoadingMessage: "جارٍ تحميل المكتبة…", libraries: "تصفح المكتبات", loadingScene: "جاري تحميل المشهد…", align: "محاذاة", alignTop: "محاذاة إلى اﻷعلى", alignBottom: "محاذاة إلى اﻷسفل", alignLeft: "محاذاة إلى اليسار", alignRight: "محاذاة إلى اليمين", centerVertically: "توسيط عمودي", centerHorizontally: "توسيط أفقي", distributeHorizontally: "التوزيع الأفقي", distributeVertically: "التوزيع عمودياً", flipHorizontal: "قلب عامودي", flipVertical: "قلب أفقي", viewMode: "نمط العرض", share: "مشاركة", showStroke: "إظهار منتقي لون الخط", showBackground: "إظهار منتقي لون الخلفية", toggleTheme: "غير النمط", personalLib: "المكتبة الشخصية", excalidrawLib: "مكتبتنا", decreaseFontSize: "تصغير حجم الخط", increaseFontSize: "تكبير حجم الخط", unbindText: "فك ربط النص", bindText: "ربط النص بالحاوية", createContainerFromText: "نص مغلف في حاوية", link: { edit: "تعديل الرابط", editEmbed: "تحرير الرابط وإدراجه", create: "إنشاء رابط", createEmbed: "إنشاء رابط و إدراجه", label: "رابط", labelEmbed: "رابط و إدراج", empty: "لم يتم تعيين رابط" }, lineEditor: { edit: "تحرير السطر", exit: "الخروج من المُحرر" }, elementLock: { lock: "قفل", unlock: "فتح", lockAll: "قفل الكل", unlockAll: "فتح الكل" }, statusPublished: "نُشر", sidebarLock: "إبقاء الشريط الجانبي مفتوح", selectAllElementsInFrame: "تحديد جميع العناصر في الإطار", removeAllElementsFromFrame: "إزالة جميع العناصر من الإطار", eyeDropper: "اختيار اللون من القماش", textToDiagram: "", prompt: "" }, A = { noItems: "لا توجد عناصر أضيفت بعد...", hint_emptyLibrary: "حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.", hint_emptyPrivateLibrary: "حدد عنصر على القماش لإضافته هنا." }, e = { clearReset: "إعادة تعيين اللوحة", exportJSON: "صدر الملف", exportImage: "تصدير الصورة...", export: "حفظ إلى...", copyToClipboard: "نسخ إلى الحافظة", save: "احفظ للملف الحالي", saveAs: "حفظ كـ", load: "فتح", getShareableLink: "احصل على رابط المشاركة", close: "غلق", selectLanguage: "اختر اللغة", scrollBackToContent: "الرجوع إلى المحتوى", zoomIn: "تكبير", zoomOut: "تصغير", resetZoom: "إعادة تعيين الشاشة", menu: "القائمة", done: "تم", edit: "تعديل", undo: "تراجع", redo: "إعادة تنفيذ", resetLibrary: "إعادة ضبط المكتبة", createNewRoom: "إنشاء غرفة جديدة", fullScreen: "شاشة كاملة", darkMode: "الوضع المظلم", lightMode: "الوضع المضيء", zenMode: "وضع التأمل", objectsSnapMode: "التقط إلى العناصر", exitZenMode: "إلغاء الوضع الليلى", cancel: "إلغاء", clear: "مسح", remove: "إزالة", embed: "تبديل الإدراج", publishLibrary: "انشر", submit: "أرسل", confirm: "تأكيد", embeddableInteractionButton: "اضغط للتفاعل" }, a = { clearReset: "هذا سيُزيل كامل اللوحة. هل أنت متأكد؟", couldNotCreateShareableLink: "تعذر إنشاء رابطة المشاركة.", couldNotCreateShareableLinkTooBig: "تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا", couldNotLoadInvalidFile: "تعذر التحميل، الملف غير صالح", importBackendFailed: "فشل الاستيراد من الخادوم.", cannotExportEmptyCanvas: "لا يمكن تصدير لوحة فارغة.", couldNotCopyToClipboard: "تعذر النسخ إلى الحافظة.", decryptFailed: "تعذر فك تشفير البيانات.", uploadedSecurly: "تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.", loadSceneOverridePrompt: "تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟", collabStopOverridePrompt: `إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
3
+
4
+ (إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`, errorAddingToLibrary: "تعذر إضافة العنصر للمكتبة", errorRemovingFromLibrary: "تعذر إزالة العنصر من المكتبة", confirmAddLibrary: "هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟", imageDoesNotContainScene: "يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟", cannotRestoreFromImage: "تعذر استعادة المشهد من ملف الصورة", invalidSceneUrl: "تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.", resetLibrary: "هذا سوف يمسح مكتبتك. هل أنت متأكد؟", removeItemsFromsLibrary: "حذف {{count}} عنصر (عناصر) من المكتبة؟", invalidEncryptionKey: "مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.", collabOfflineWarning: `لا يوجد اتصال بالانترنت.
5
+ لن يتم حفظ التغييرات التي قمت بها!` }, r = { unsupportedFileType: "نوع الملف غير مدعوم.", imageInsertError: "تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...", fileTooBig: "الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.", svgImageInsertError: "تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.", failedToFetchImage: "", invalidSVGString: "SVG غير صالح.", cannotResolveCollabServer: "تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.", importLibraryError: "تعذر تحميل المكتبة", collabSaveFailed: "تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.", collabSaveFailed_sizeExceeded: "تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.", imageToolNotSupported: "", brave_measure_text_error: { line1: "يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.", line2: "قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.", line3: "من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.", line4: "إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>" }, libraryElementTypeError: { embeddable: "لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.", iframe: "", image: "سوف يتم دعم إضافة صور إلى المكتبة قريباً!" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, o = { selection: "تحديد", image: "إدراج صورة", rectangle: "مستطيل", diamond: "مضلع", ellipse: "دائرة", arrow: "سهم", line: "خط", freedraw: "رسم", text: "نص", library: "مكتبة", lock: "الحفاظ على أداة التحديد نشطة بعد الرسم", penMode: "وضع القلم - امنع اللمس", link: "إضافة/تحديث الرابط للشكل المحدد", eraser: "ممحاة", frame: "أداة الإطار", magicframe: "", embeddable: "تضمين ويب", laser: "مؤشر ليزر", hand: "يد (أداة الإزاحة)", extraTools: "المزيد من أﻷدوات", mermaidToExcalidraw: "", magicSettings: "" }, t = { canvasActions: "إجراءات اللوحة", selectedShapeActions: "إجراءات الشكل المحدد", shapes: "الأشكال" }, i = { canvasPanning: "لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد", linearElement: "انقر لبدء نقاط متعددة، اسحب لخط واحد", freeDraw: "انقر واسحب، افرج عند الانتهاء", text: "نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار", embeddable: "اضغط مع السحب لإنشاء موقع ويب مضمّن", text_selected: "انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص", text_editing: "اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل", linearElementMulti: "انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء", lockAngle: "يمكنك تقييد الزاوية بالضغط على SHIFT", resize: `يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
6
+ اضغط على ALT لتغيير الحجم من المركز`, resizeImage: `يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،
7
+ اضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز`, rotate: "يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران", lineEditor_info: "اضغط على مفتاح (Ctrl أو Cmd) و انقر بشكل مزدوج، أو اضغط على مفتاحي (Ctrl أو Cmd) و (Enter) لتعديل النقاط", lineEditor_pointSelected: "اضغط على حذف لإزالة النقطة (النِّقَاط)، Ctrl/Cmd+D للتكرار، أو اسحب للانتقال", lineEditor_nothingSelected: `اختر نقطة لتعديلها (اضغط على SHIFT لتحديد عدة نِقَاط),
8
+ أو اضغط على ALT و انقر بالفأرة لإضافة نِقَاط جديدة`, placeImage: "انقر لوضع الصورة، أو انقر واسحب لتعيين حجمها يدوياً", publishLibrary: "نشر مكتبتك", bindTextToElement: "اضغط على إدخال لإضافة نص", deepBoxSelect: "اضغط على Ctrl\\Cmd للاختيار العميق، ولمنع السحب", eraserRevert: "اضغط على Alt لاستعادة العناصر المعلَّمة للحذف", firefox_clipboard_write: 'يمكن على الأرجح تمكين هذه الميزة عن طريق تعيين علم "dom.events.asyncClipboard.clipboardItem" إلى "true". لتغيير أعلام المتصفح في Firefox، قم بزيارة صفحة "about:config".', disableSnapping: "اضغط على Ctrl أو Cmd لتعطيل الالتقاط" }, l = { cannotShowPreview: "تعذر عرض المعاينة", canvasTooBig: "قد تكون اللوحة كبيرة جداً.", canvasTooBigTip: "نصيحة: حاول تحريك العناصر البعيدة بشكل أقرب قليلاً." }, F = { headingMain: "حدث خطأ. حاول <button>تحديث الصفحة</button>.", clearCanvasMessage: "إذا لم تعمل إعادة التحميل، حاول مرة أخرى ", clearCanvasCaveat: " هذا سيؤدي إلى فقدان العمل ", trackedToSentry: "تم تتبع الخطأ في المعرف {{eventId}} على نظامنا.", openIssueMessage: "حرصنا على عدم إضافة معلومات المشهد في بلاغ الخطأ. في حال كون مشهدك لا يحمل أي معلومات خاصة نرجو المتابعة على <button>نظام تتبع الأخطاء</button>. نرجو إضافة المعلومات أدناه بنسخها ولصقها في محتوى البلاغ على GitHub.", sceneContent: "محتوى المشهد:" }, n = { desc_intro: "يمكنك دعوة الآخرين لمشاركتك نفس الجلسة التي تعمل عليها.", desc_privacy: "لا تقلق، الجلسة تستخدم التشفير من النهاية إلى النهاية، لذلك فإن أي شيء ترسمه سيبقى خاصاً. لن يتمكن حتى الخادوم الخاص بنا من رؤية ما توصلت إليه.", button_startSession: "بدء الجلسة", button_stopSession: "إيقاف الجلسة", desc_inProgressIntro: "تجري الآن المشاركة الحية.", desc_shareLink: "شارك هذا الرابط مع أي شخص تريده أن يشاركك الجلسة:", desc_exitSession: "إيقاف الجلسة سيؤدي إلى قطع الاتصال الخاص بك من الغرفة، ولكن ستتمكن من مواصلة العمل مع المشهد، محليا. لاحظ أن هذا لن يؤثر على الأشخاص الآخرين، و سيظلون قادرين على التعاون في إصدارهم.", shareTitle: "الانضمام إلى جلسة تعاون حية على Excalidraw" }, s = { title: "خطأ" }, D = { disk_title: "حفظ الملف للجهاز", disk_details: "تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً.", disk_button: "إحفظ لملف", link_title: "رابط قابل للمشاركة", link_details: "صدر الملف للمشاهدة فقط.", link_button: "التصدير كرابط", excalidrawplus_description: "حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك.", excalidrawplus_button: "تصدير", excalidrawplus_exportError: "تعذر التصدير إلى +Excalidraw في الوقت الحالي..." }, d = { blog: "اقرأ مدونتنا", click: "انقر", deepSelect: "تحديد عميق", deepBoxSelect: "تحديد عميق داخل المربع، ومنع السحب", curvedArrow: "سهم مائل", curvedLine: "خط مائل", documentation: "دليل الاستخدام", doubleClick: "انقر مرتين", drag: "اسحب", editor: "المحرر", editLineArrowPoints: "تحرير سطر/نقاط سهم", editText: "تعديل النص / إضافة تسمية", github: "عثرت على مشكلة؟ إرسال", howto: "اتبع التعليمات", or: "أو", preventBinding: "منع ارتبط السهم", tools: "الأدوات", shortcuts: "اختصارات لوحة المفاتيح", textFinish: "إنهاء التعديل (محرر النص)", textNewLine: "أضف سطر جديد (محرر نص)", title: "المساعدة", view: "عرض", zoomToFit: "تكبير للملائمة", zoomToSelection: "تكبير للعنصر المحدد", toggleElementLock: "إغلاق/فتح المحدد", movePageUpDown: "نقل الصفحة أعلى/أسفل", movePageLeftRight: "نقل الصفحة يسار/يمين" }, c = { title: "مسح اللوحة" }, C = { title: "نشر المكتبة", itemName: "إسم العنصر", authorName: "إسم المؤلف", githubUsername: "اسم المستخدم في جيت هب", twitterUsername: "اسم المستخدم في تويتر", libraryName: "اسم المكتبة", libraryDesc: "وصف المكتبة", website: "الموقع", placeholder: { authorName: "اسمك أو اسم المستخدم", libraryName: "اسم مكتبتك", libraryDesc: "وصف مكتبتك لمساعدة الناس على فهم استخدامها", githubHandle: "معالج GitHub (اختياري)، حتى تتمكن من تحرير المكتبة عند إرسالها للمراجعة", twitterHandle: "اسم مستخدم تويتر (اختياري)، حتى نعرف من الذي سيتم الإشارة إليه عند الترويج عبر تويتر", website: "رابط إلى موقعك الشخصي أو في مكان آخر (اختياري)" }, errors: { required: "مطلوب", website: "أدخل عنوان URL صالح" }, noteDescription: "تقديم مكتبتك لتضمينها في مستودع المكتبة العامة <link></link> لأشخاص آخرين لاستخدامها في رسومهم.", noteGuidelines: "تحتاج المكتبة إلى الموافقة أولا. يرجى قراءة <link>المعايير</link> قبل تقديمها. سوف تحتاج إلى حساب GitHub للتواصل وإجراء التغييرات عند الطلب، ولكن ليس مطلوبا بشكل صارم.", noteLicense: "تقديمك يعني موافقتك على نشر المكتبة المقدمة تحت <link>MIT ترخيص</link>، ما يعني أن لأي أحد الحق في استخدامها دون قيود.", noteItems: "يجب أن يكون لكل عنصر مكتبة اسمه الخاص حتى يكون قابلاً للتصفية. سيتم تضمين عناصر المكتبة التالية:", atleastOneLibItem: "يرجى تحديد عنصر مكتبة واحد على الأقل للبدء", republishWarning: "ملاحظة: بعض العناصر المحددة معينة على أنه نشرها أو تقديمها من قبل. يجب عليك فقط إعادة إرسال العناصر عند تحديث مكتبة موجودة أو إرسالها." }, E = { title: "تم إرسال المكتبة", content: "شكرا لك {{authorName}}. لقد تم إرسال مكتبتك للمراجعة. يمكنك تتبع الحالة" }, m = { resetLibrary: "إعادة ضبط المكتبة", removeItemsFromLib: "إزالة العناصر المحددة من المكتبة" }, b = { header: "تصدير الصورة", label: { withBackground: "الخلفية", onlySelected: "المحدد فقط", darkMode: "الوضع الداكن", embedScene: "تضمين المشهد", scale: "الحجم", padding: "الهوامش" }, tooltip: { embedScene: `سيتم حفظ بيانات المشهد في ملف PNG/SVG المصدّر بحيث يمكن استعادة المشهد منه.
9
+ سيزيد حجم الملف المصدر.` }, title: { exportToPng: "تصدير بصيغة PNG", exportToSvg: "تصدير بصيغة SVG", copyPngToClipboard: "نسخ الـ PNG إلى الحافظة" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "نسخ إلى الحافظة" } }, p = { tooltip: "رسوماتك مشفرة من النهاية إلى النهاية حتى أن خوادم Excalidraw لن تراها أبدا.", link: "مشاركة المدونة في التشفير من النهاية إلى النهاية في Excalidraw" }, g = { angle: "الزاوية", element: "عنصر", elements: "العناصر", height: "الارتفاع", scene: "المشهد", selected: "المحدد", storage: "التخزين", title: "إحصائيات للمهووسين", total: "المجموع", version: "الإصدار", versionCopy: "انقر للنسخ", versionNotAvailable: "الإصدار غير متوفر", width: "العرض" }, h = { addedToLibrary: "تمت الاضافة الى المكتبة!", copyStyles: "نسخت الانماط.", copyToClipboard: "نسخ إلى الحافظة.", copyToClipboardAsPng: `تم نسخ {{exportSelection}} إلى الحافظة بصيغة PNG
10
+ ({{exportColorScheme}})`, fileSaved: "تم حفظ الملف.", fileSavedToFilename: "حفظ باسم {filename}", canvas: "لوحة الرسم", selection: "العنصر المحدد", pasteAsSingleElement: `استخدم {{shortcut}} للصق كعنصر واحد،
11
+ أو لصق في محرر نص موجود`, unableToEmbed: "تضمين هذا الرابط غير مسموح حاليًا. افتح بلاغاً على GitHub لطلب عنوان Url القائمة البيضاء", unrecognizedLinkFormat: "الرابط الذي ضمنته لا يتطابق مع التنسيق المتوقع. الرجاء محاولة لصق النص 'المضمن' المُزوَد من موقع المصدر" }, S = { transparent: "شفاف", black: "أسود", white: "أبيض", red: "أحمر", pink: "وردي", grape: "عنبي", violet: "بنفسجي", gray: "رمادي", blue: "أزرق", cyan: "سماوي", teal: "أزرق مخضر", green: "أخضر", yellow: "أصفر", orange: "برتقالي", bronze: "برونزي" }, y = { app: { center_heading: "جميع بياناتك محفوظة محليا في المتصفح الخاص بك.", center_heading_plus: "هل تريد الذهاب إلى Excalidraw+ بدلاً من ذلك؟", menuHint: "التصدير والتفضيلات واللغات ..." }, defaults: { menuHint: "التصدير والتفضيلات وغيرها...", center_heading: "الرسم البياني التصويري. بشكل مبسط.", toolbarHint: "اختر أداة و ابدأ الرسم!", helpHint: "الاختصارات و المساعدة" } }, v = { mostUsedCustomColors: "الألوان المخصصة الأكثر استخداما", colors: "الألوان", shades: "الدرجات", hexCode: "رمز Hex", noShades: "لا تتوفر درجات لهذا اللون" }, x = { action: { exportToImage: { title: "تصدير كصورة", button: "تصدير كصورة", description: "تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً." }, saveToDisk: { title: "حفظ الملف للجهاز", button: "حفظ الملف للجهاز", description: "تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً." }, excalidrawPlus: { title: "Excalidraw+", button: "تصدير إلى Excalidraw+", description: "حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك." } }, modal: { loadFromFile: { title: "تحميل من ملف", button: "تحميل من ملف", description: "سيتم التحميل من الملف <bold>استبدال المحتوى الموجود</bold>.<br></br>يمكنك النسخ الاحتياطي لرسمك أولاً باستخدام أحد الخيارات أدناه." }, shareableLink: { title: "تحميل من رابط", button: "استبدال محتواي", description: "سيتسبب تحميل رسمة خارجية <bold>باستبدال محتواك الموجود حالياً</bold>.<br></br>بإمكانك إجراء النسخ الاحتياطي لرسمتك الحالية باستخدام أحد الخيارات أدناه." } } }, w = { title: "", button: "", description: "", syntax: "", preview: "" }, B = { labels: u, library: A, buttons: e, alerts: a, errors: r, toolBar: o, headings: t, hints: i, canvasError: l, errorSplash: F, roomDialog: n, errorDialog: s, exportDialog: D, helpDialog: d, clearCanvasDialog: c, publishDialog: C, publishSuccessDialog: E, confirmDialog: m, imageExportDialog: b, encrypted: p, stats: g, toast: h, colors: S, welcomeScreen: y, colorPicker: v, overwriteConfirm: x, mermaid: w };
12
+ export {
13
+ a as alerts,
14
+ e as buttons,
15
+ l as canvasError,
16
+ c as clearCanvasDialog,
17
+ v as colorPicker,
18
+ S as colors,
19
+ m as confirmDialog,
20
+ B as default,
21
+ p as encrypted,
22
+ s as errorDialog,
23
+ F as errorSplash,
24
+ r as errors,
25
+ D as exportDialog,
26
+ t as headings,
27
+ d as helpDialog,
28
+ i as hints,
29
+ b as imageExportDialog,
30
+ u as labels,
31
+ A as library,
32
+ w as mermaid,
33
+ x as overwriteConfirm,
34
+ C as publishDialog,
35
+ E as publishSuccessDialog,
36
+ n as roomDialog,
37
+ g as stats,
38
+ h as toast,
39
+ o as toolBar,
40
+ y as welcomeScreen
41
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./layers.t46sYkQh.js"),pt=require("./layers.BLd2spTm.js");require("lodash-es");const _t=require("./layers.Cyzu9PKQ.js");require("./layers.BTnY40Hl.js");const gt=require("./layers.DlGVcszu.js"),Et=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function mt(t){return typeof t=="string"&&Et.test(t)}const M=[];for(let t=0;t<256;++t)M.push((t+256).toString(16).slice(1));function kt(t,e=0){return M[t[e+0]]+M[t[e+1]]+M[t[e+2]]+M[t[e+3]]+"-"+M[t[e+4]]+M[t[e+5]]+"-"+M[t[e+6]]+M[t[e+7]]+"-"+M[t[e+8]]+M[t[e+9]]+"-"+M[t[e+10]]+M[t[e+11]]+M[t[e+12]]+M[t[e+13]]+M[t[e+14]]+M[t[e+15]]}function xt(t){if(!mt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Ot(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}const Rt="6ba7b810-9dad-11d1-80b4-00c04fd430c8",bt="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Nt(t,e,r){function u(c,p,f,o){var h;if(typeof c=="string"&&(c=Ot(c)),typeof p=="string"&&(p=xt(p)),((h=p)===null||h===void 0?void 0:h.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+c.length);if(_.set(p),_.set(c,p.length),_=r(_),_[6]=_[6]&15|e,_[8]=_[8]&63|128,f){o=o||0;for(let m=0;m<16;++m)f[o+m]=_[m];return f}return kt(_)}try{u.name=t}catch{}return u.DNS=Rt,u.URL=bt,u}function Tt(t,e,r,u){switch(t){case 0:return e&r^~e&u;case 1:return e^r^u;case 2:return e&r^e&u^r&u;case 3:return e^r^u}}function et(t,e){return t<<e|t>>>32-e}function At(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o<f.length;++o)t.push(f.charCodeAt(o))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);const u=t.length/4+2,c=Math.ceil(u/16),p=new Array(c);for(let f=0;f<c;++f){const o=new Uint32Array(16);for(let h=0;h<16;++h)o[h]=t[f*64+h*4]<<24|t[f*64+h*4+1]<<16|t[f*64+h*4+2]<<8|t[f*64+h*4+3];p[f]=o}p[c-1][14]=(t.length-1)*8/Math.pow(2,32),p[c-1][14]=Math.floor(p[c-1][14]),p[c-1][15]=(t.length-1)*8&4294967295;for(let f=0;f<c;++f){const o=new Uint32Array(80);for(let y=0;y<16;++y)o[y]=p[f][y];for(let y=16;y<80;++y)o[y]=et(o[y-3]^o[y-8]^o[y-14]^o[y-16],1);let h=r[0],_=r[1],m=r[2],k=r[3],O=r[4];for(let y=0;y<80;++y){const T=Math.floor(y/20),D=et(h,5)+Tt(T,_,m,k)+O+e[T]+o[y]>>>0;O=k,k=m,m=et(_,30)>>>0,_=h,h=D}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+k>>>0,r[4]=r[4]+O>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Mt=Nt("v5",80,At);var rt=(function(){var t=function(w,n,a,l){for(a=a||{},l=w.length;l--;a[w[l]]=n);return a},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],c=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],k=[1,24],O=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],T=[1,34],D=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],P=[1,54],A=[1,53],S=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(n,a,l,d,g,i,V){var s=i.length-1;switch(g){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:c,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:c,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:k,45:O}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:T},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(D,[2,34]),t(D,[2,35]),t(D,[2,36]),t(D,[2,37]),t(D,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:T},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:k,45:O},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:P,38:A}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:A}),t(W,[2,25]),t(S,[2,29]),t(W,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:T},t(W,[2,26]),{35:60,37:P},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(n,a){if(a.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=a,l}},parse:function(n){var a=this,l=[0],d=[],g=[null],i=[],V=this.table,s="",X=0,nt=0,dt=2,at=1,ut=i.slice.call(arguments,1),N=Object.create(this.lexer),H={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(H.yy[j]=this.yy[j]);N.setInput(n,H.yy),H.yy.lexer=N,H.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var J=N.yylloc;i.push(J);var ft=N.options&&N.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var Z;return Z=d.pop()||N.lex()||at,typeof Z!="number"&&(Z instanceof Array&&(d=Z,Z=d.pop()),Z=a.symbols_[Z]||Z),Z}for(var I,z,v,$,K={},Q,Y,st,q;;){if(z=l[l.length-1],this.defaultActions[z]?v=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=yt()),v=V[z]&&V[z][I]),typeof v>"u"||!v.length||!v[0]){var tt="";q=[];for(Q in V[z])this.terminals_[Q]&&Q>dt&&q.push("'"+this.terminals_[Q]+"'");N.showPosition?tt="Parse error on line "+(X+1)+`:
2
+ `+N.showPosition()+`
3
+ Expecting `+q.join(", ")+", got '"+(this.terminals_[I]||I)+"'":tt="Parse error on line "+(X+1)+": Unexpected "+(I==at?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(tt,{text:N.match,token:this.terminals_[I]||I,line:N.yylineno,loc:J,expected:q})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(v[0]){case 1:l.push(I),g.push(N.yytext),i.push(N.yylloc),l.push(v[1]),I=null,nt=N.yyleng,s=N.yytext,X=N.yylineno,J=N.yylloc;break;case 2:if(Y=this.productions_[v[1]][1],K.$=g[g.length-Y],K._$={first_line:i[i.length-(Y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(Y||1)].first_column,last_column:i[i.length-1].last_column},ft&&(K._$.range=[i[i.length-(Y||1)].range[0],i[i.length-1].range[1]]),$=this.performAction.apply(K,[s,nt,X,H.yy,v[1],g,i].concat(ut)),typeof $<"u")return $;Y&&(l=l.slice(0,-1*Y*2),g=g.slice(0,-1*Y),i=i.slice(0,-1*Y)),l.push(this.productions_[v[1]][0]),g.push(K.$),i.push(K._$),st=V[l[l.length-2]][l[l.length-1]],l.push(st);break;case 3:return!0}}return!0}},b=(function(){var w={EOF:1,parseError:function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},setInput:function(n,a){return this.yy=a||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var a=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var g=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===d.length?this.yylloc.first_column:0)+d[d.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[g[0],g[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
5
+ `+a+"^"},test_match:function(n,a){var l,d,g;if(this.options.backtrack_lexer&&(g={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(g.yylloc.range=this.yylloc.range.slice(0))),d=n[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],l=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var i in g)this[i]=g[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,a,l,d;this._more||(this.yytext="",this.match="");for(var g=this._currentRules(),i=0;i<g.length;i++)if(l=this._input.match(this.rules[g[i]]),l&&(!a||l[0].length>a[0].length)){if(a=l,d=i,this.options.backtrack_lexer){if(n=this.test_match(l,g[i]),n!==!1)return n;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(n=this.test_match(a,g[d]),n!==!1?n:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(a,l,d,g){switch(d){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return l.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return l.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return w})();R.lexer=b;function L(){this.yy={}}return L.prototype=R,R.Parser=L,new L})();rt.parser=rt;const St=rt;let U={},it=[];const wt={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},It={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},lt=function(t,e=void 0){return U[t]===void 0?(U[t]={attributes:[],alias:e},E.log$1.info("Added new entity :",t)):U[t]&&!U[t].alias&&e&&(U[t].alias=e,E.log$1.info(`Add alias '${e}' to entity '${t}'`)),U[t]},Dt=()=>U,vt=function(t,e){let r=lt(t),u;for(u=e.length-1;u>=0;u--)r.attributes.push(e[u]),E.log$1.debug("Added attribute ",e[u].attributeName)},Lt=function(t,e,r,u){let c={entityA:t,roleA:e,entityB:r,relSpec:u};it.push(c),E.log$1.debug("Added new relationship :",c)},Bt=()=>it,Ct=function(){U={},it=[],E.clear()},Pt={Cardinality:wt,Identification:It,getConfig:()=>E.getConfig().er,addEntity:lt,addAttributes:vt,getEntities:Dt,addRelationship:Lt,getRelationships:Bt,clear:Ct,setAccTitle:E.setAccTitle,getAccTitle:E.getAccTitle,setAccDescription:E.setAccDescription,getAccDescription:E.getAccDescription,setDiagramTitle:E.setDiagramTitle,getDiagramTitle:E.getDiagramTitle},B={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},Yt=function(t,e){let r;t.append("defs").append("marker").attr("id",B.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",B.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",B.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",B.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",B.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",B.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",B.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",B.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",B.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",B.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},C={ERMarkers:B,insertMarkers:Yt},Zt=/[^\dA-Za-z](\W)*/g;let x={},G=new Map;const Ft=function(t){const e=Object.keys(t);for(const r of e)x[r]=t[r]},Wt=(t,e,r)=>{const u=x.entityPadding/3,c=x.entityPadding/3,p=x.fontSize*.85,f=e.node().getBBox(),o=[];let h=!1,_=!1,m=0,k=0,O=0,y=0,T=f.height+u*2,D=1;r.forEach(A=>{A.attributeKeyTypeList!==void 0&&A.attributeKeyTypeList.length>0&&(h=!0),A.attributeComment!==void 0&&(_=!0)}),r.forEach(A=>{const S=`${e.node().id}-attr-${D}`;let R=0;const b=E.parseGenericTypes(A.attributeType),L=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",E.getConfig().fontFamily).style("font-size",p+"px").text(b),w=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",E.getConfig().fontFamily).style("font-size",p+"px").text(A.attributeName),n={};n.tn=L,n.nn=w;const a=L.node().getBBox(),l=w.node().getBBox();if(m=Math.max(m,a.width),k=Math.max(k,l.width),R=Math.max(a.height,l.height),h){const d=A.attributeKeyTypeList!==void 0?A.attributeKeyTypeList.join(","):"",g=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",E.getConfig().fontFamily).style("font-size",p+"px").text(d);n.kn=g;const i=g.node().getBBox();O=Math.max(O,i.width),R=Math.max(R,i.height)}if(_){const d=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",E.getConfig().fontFamily).style("font-size",p+"px").text(A.attributeComment||"");n.cn=d;const g=d.node().getBBox();y=Math.max(y,g.width),R=Math.max(R,g.height)}n.height=R,o.push(n),T+=R+u*2,D+=1});let F=4;h&&(F+=2),_&&(F+=2);const W=m+k+O+y,P={width:Math.max(x.minEntityWidth,Math.max(f.width+x.entityPadding*2,W+c*F)),height:r.length>0?T:Math.max(x.minEntityHeight,f.height+x.entityPadding*2)};if(r.length>0){const A=Math.max(0,(P.width-W-c*F)/(F/2));e.attr("transform","translate("+P.width/2+","+(u+f.height/2)+")");let S=f.height+u*2,R="attributeBoxOdd";o.forEach(b=>{const L=S+u+b.height/2;b.tn.attr("transform","translate("+c+","+L+")");const w=t.insert("rect","#"+b.tn.node().id).classed(`er ${R}`,!0).attr("x",0).attr("y",S).attr("width",m+c*2+A).attr("height",b.height+u*2),n=parseFloat(w.attr("x"))+parseFloat(w.attr("width"));b.nn.attr("transform","translate("+(n+c)+","+L+")");const a=t.insert("rect","#"+b.nn.node().id).classed(`er ${R}`,!0).attr("x",n).attr("y",S).attr("width",k+c*2+A).attr("height",b.height+u*2);let l=parseFloat(a.attr("x"))+parseFloat(a.attr("width"));if(h){b.kn.attr("transform","translate("+(l+c)+","+L+")");const d=t.insert("rect","#"+b.kn.node().id).classed(`er ${R}`,!0).attr("x",l).attr("y",S).attr("width",O+c*2+A).attr("height",b.height+u*2);l=parseFloat(d.attr("x"))+parseFloat(d.attr("width"))}_&&(b.cn.attr("transform","translate("+(l+c)+","+L+")"),t.insert("rect","#"+b.cn.node().id).classed(`er ${R}`,"true").attr("x",l).attr("y",S).attr("width",y+c*2+A).attr("height",b.height+u*2)),S+=b.height+u*2,R=R==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else P.height=Math.max(x.minEntityHeight,T),e.attr("transform","translate("+P.width/2+","+P.height/2+")");return P},Ut=function(t,e,r){const u=Object.keys(e);let c;return u.forEach(function(p){const f=Xt(p,"entity");G.set(p,f);const o=t.append("g").attr("id",f);c=c===void 0?f:c;const h="text-"+f,_=o.append("text").classed("er entityLabel",!0).attr("id",h).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",E.getConfig().fontFamily).style("font-size",x.fontSize+"px").text(e[p].alias??p),{width:m,height:k}=Wt(o,_,e[p].attributes),y=o.insert("rect","#"+h).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",m).attr("height",k).node().getBBox();r.setNode(f,{width:y.width,height:y.height,shape:"rect",id:f})}),c},Ht=function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},ht=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},zt=function(t,e){return t.forEach(function(r){e.setEdge(G.get(r.entityA),G.get(r.entityB),{relationship:r},ht(r))}),t};let ot=0;const Kt=function(t,e,r,u,c){ot++;const p=r.edge(G.get(e.entityA),G.get(e.entityB),ht(e)),f=gt.line().x(function(T){return T.x}).y(function(T){return T.y}).curve(E.curveBasis),o=t.insert("path","#"+u).classed("er relationshipLine",!0).attr("d",f(p.points)).style("stroke",x.stroke).style("fill","none");e.relSpec.relType===c.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let h="";switch(x.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case c.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+h+"#"+C.ERMarkers.ZERO_OR_ONE_END+")");break;case c.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+h+"#"+C.ERMarkers.ZERO_OR_MORE_END+")");break;case c.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+h+"#"+C.ERMarkers.ONE_OR_MORE_END+")");break;case c.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+h+"#"+C.ERMarkers.ONLY_ONE_END+")");break;case c.db.Cardinality.MD_PARENT:o.attr("marker-end","url("+h+"#"+C.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case c.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+h+"#"+C.ERMarkers.ZERO_OR_ONE_START+")");break;case c.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+h+"#"+C.ERMarkers.ZERO_OR_MORE_START+")");break;case c.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+h+"#"+C.ERMarkers.ONE_OR_MORE_START+")");break;case c.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+h+"#"+C.ERMarkers.ONLY_ONE_START+")");break;case c.db.Cardinality.MD_PARENT:o.attr("marker-start","url("+h+"#"+C.ERMarkers.MD_PARENT_START+")");break}const _=o.node().getTotalLength(),m=o.node().getPointAtLength(_*.5),k="rel"+ot,y=t.append("text").classed("er relationshipLabel",!0).attr("id",k).attr("x",m.x).attr("y",m.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",E.getConfig().fontFamily).style("font-size",x.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+k).classed("er relationshipLabelBox",!0).attr("x",m.x-y.width/2).attr("y",m.y-y.height/2).attr("width",y.width).attr("height",y.height)},Vt=function(t,e,r,u){x=E.getConfig().er,E.log$1.info("Drawing ER diagram");const c=E.getConfig().securityLevel;let p;c==="sandbox"&&(p=E.select("#i"+e));const o=(c==="sandbox"?E.select(p.nodes()[0].contentDocument.body):E.select("body")).select(`[id='${e}']`);C.insertMarkers(o,x);let h;h=new pt.Graph({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:x.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=Ut(o,u.db.getEntities(),h),m=zt(u.db.getRelationships(),h);_t.layout(h),Ht(o,h),m.forEach(function(D){Kt(o,D,h,_,u)});const k=x.diagramPadding;E.utils.insertTitle(o,"entityTitleText",x.titleTopMargin,u.db.getDiagramTitle());const O=o.node().getBBox(),y=O.width+k*2,T=O.height+k*2;E.configureSvgSize(o,T,y,x.useMaxWidth),o.attr("viewBox",`${O.x-k} ${O.y-k} ${y} ${T}`)},Gt="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Xt(t="",e=""){const r=t.replace(Zt,"");return`${ct(e)}${ct(r)}${Mt(t,Gt)}`}function ct(t=""){return t.length>0?`${t}-`:""}const Qt={setConf:Ft,draw:Vt},qt=t=>`
7
+ .entityBox {
8
+ fill: ${t.mainBkg};
9
+ stroke: ${t.nodeBorder};
10
+ }
11
+
12
+ .attributeBoxOdd {
13
+ fill: ${t.attributeBackgroundColorOdd};
14
+ stroke: ${t.nodeBorder};
15
+ }
16
+
17
+ .attributeBoxEven {
18
+ fill: ${t.attributeBackgroundColorEven};
19
+ stroke: ${t.nodeBorder};
20
+ }
21
+
22
+ .relationshipLabelBox {
23
+ fill: ${t.tertiaryColor};
24
+ opacity: 0.7;
25
+ background-color: ${t.tertiaryColor};
26
+ rect {
27
+ opacity: 0.5;
28
+ }
29
+ }
30
+
31
+ .relationshipLine {
32
+ stroke: ${t.lineColor};
33
+ }
34
+
35
+ .entityTitleText {
36
+ text-anchor: middle;
37
+ font-size: 18px;
38
+ fill: ${t.textColor};
39
+ }
40
+ #MD_PARENT_START {
41
+ fill: #f5f5f5 !important;
42
+ stroke: ${t.lineColor} !important;
43
+ stroke-width: 1;
44
+ }
45
+ #MD_PARENT_END {
46
+ fill: #f5f5f5 !important;
47
+ stroke: ${t.lineColor} !important;
48
+ stroke-width: 1;
49
+ }
50
+
51
+ `,jt=qt,Jt={parser:St,db:Pt,renderer:Qt,styles:jt};exports.diagram=Jt;