koboyo 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/assets/editor/assets/DialogDescription-Ddhk2rmF.js +1 -0
- package/assets/editor/assets/DialogRoot-DUeVfNhS.js +1 -0
- package/assets/editor/assets/DialogTitle-D5au2NAn.js +1 -0
- package/assets/editor/assets/FloatingPortalLite-HnWQWrLk.js +1 -0
- package/assets/editor/assets/{IconAlertTriangle-CxPhYpe-.js → IconAlertTriangle-B33xznYN.js} +1 -1
- package/assets/editor/assets/{IconArrowLeft-DFk3Krim.js → IconArrowLeft-B4Zcy-Fc.js} +1 -1
- package/assets/editor/assets/IconChevronLeft-D7e7QC0h.js +1 -0
- package/assets/editor/assets/IconChevronRight-csfMBSUs.js +1 -0
- package/assets/editor/assets/{IconCode-hd05zxU4.js → IconCode-CHIz1nCU.js} +1 -1
- package/assets/editor/assets/IconCornerDownRight-DDiBMO4O.js +1 -0
- package/assets/editor/assets/{IconEraser-DlZQe3-r.js → IconEraser-CYfXj27R.js} +1 -1
- package/assets/editor/assets/{IconFocusCentered-C5PcDeR0.js → IconFocusCentered-Cn8rbfRI.js} +1 -1
- package/assets/editor/assets/IconHelp-CaEwHrsN.js +2 -0
- package/assets/editor/assets/IconLink-VS5p9Ytk.js +1 -0
- package/assets/editor/assets/IconLoader2-CzCTn-Sn.js +1 -0
- package/assets/editor/assets/IconMinus-BcaDLts8.js +1 -0
- package/assets/editor/assets/{IconMoodSmile-Bic_fw54.js → IconMoodSmile-CSZ5p_Hy.js} +1 -1
- package/assets/editor/assets/{IconPencil-C5Y-Y4dC.js → IconPencil-D_pQsAyv.js} +1 -1
- package/assets/editor/assets/{IconPhoto-CR36IK-b.js → IconPhoto-5zuCDtnR.js} +1 -1
- package/assets/editor/assets/{IconPlayerPlayFilled-D4OODBX7.js → IconPlayerPlayFilled-DVAWmYt7.js} +1 -1
- package/assets/editor/assets/{IconPlayerStopFilled-BUbX6ZO5.js → IconPlayerStopFilled-D4qdct2R.js} +1 -1
- package/assets/editor/assets/IconPlus-D4tAoi-A.js +1 -0
- package/assets/editor/assets/{IconPresentation-DCrY3PKL.js → IconPresentation-BMKzt7fv.js} +1 -1
- package/assets/editor/assets/{IconSearch-C1K0_Pq_.js → IconSearch-CCpMt02s.js} +1 -1
- package/assets/editor/assets/{IconSparkles-WDcg8BA9.js → IconSparkles-CnCp3BCQ.js} +1 -1
- package/assets/editor/assets/{IconTrash-DbN_RxB7.js → IconTrash-C8w6ThWx.js} +1 -1
- package/assets/editor/assets/{IconUsers-Bwnyj4mm.js → IconUsers-Dp85N225.js} +1 -1
- package/assets/editor/assets/IconX-KrRqxr2j.js +1 -0
- package/assets/editor/assets/MenuSubmenuTrigger-KacA9GM8.js +1 -0
- package/assets/editor/assets/PopoverPopup-B3Y0VRYc.js +1 -0
- package/assets/editor/assets/{asset-glyph-B3c--Mx2.js → asset-glyph-C1E6cGwM.js} +1 -1
- package/assets/editor/assets/billing-BSXr-z2r.js +1 -0
- package/assets/editor/assets/build-pips-BV-uwXlP.js +1 -0
- package/assets/editor/assets/build-visibility-DyML9SHt.js +1 -0
- package/assets/editor/assets/builders-DMHAOPEv.js +1 -0
- package/assets/editor/assets/{chart-Z4HQx-0h.js → chart-4iRduYdU.js} +4 -4
- package/assets/editor/assets/{chrome-layout-B8YmHznO.js → chrome-layout-BzPU9far.js} +1 -1
- package/assets/editor/assets/{code-panel-BfsykjSz.js → code-panel-koBUgEWp.js} +7 -7
- package/assets/editor/assets/command-palette-BR-_ChOL.js +1 -0
- package/assets/editor/assets/config-D8b1QyEk.js +1 -0
- package/assets/editor/assets/connector-labels-CrEgadsC.js +2 -0
- package/assets/editor/assets/copy-image-dialog-BzGP7Xw8.js +1 -0
- package/assets/editor/assets/{core-CBnmD9hT.js → core-CmsJyU_-.js} +1 -1
- package/assets/editor/assets/createReactComponent-C51FAx3B.js +1 -0
- package/assets/editor/assets/{diagram-fingerprint-CsqZK4xZ.js → diagram-fingerprint-WGQ5iVXx.js} +1 -1
- package/assets/editor/assets/dialog-DnXgEbpz.js +1 -0
- package/assets/editor/assets/{edit-BJ_kibk8.js → edit-C0sBxxsg.js} +1 -1
- package/assets/editor/assets/editor-BeufBV54.js +1 -0
- package/assets/editor/assets/{elk-api-DnfklSaw.js → elk-api-C4wlHVIw.js} +1 -1
- package/assets/editor/assets/{elk-worker-loader-CC-I9MmI.js → elk-worker-loader-CVBdN1je.js} +1 -1
- package/assets/editor/assets/{export-ChP0k5F5.js → export-Bce6ra0N.js} +1 -1
- package/assets/editor/assets/export-K2VWg76n.js +6 -0
- package/assets/editor/assets/export-dialog-x2n2a4KX.js +1 -0
- package/assets/editor/assets/flow-layer-ewaL7g2y.js +1 -0
- package/assets/editor/assets/flow-panel-BzXNGGke.js +1 -0
- package/assets/editor/assets/flow-stage-Ba_CAggI.js +1 -0
- package/assets/editor/assets/flow-start-CpAvU-9P.js +1 -0
- package/assets/editor/assets/{flows-GGbkNqs8.js → flows-Cj7AFMIA.js} +2 -2
- package/assets/editor/assets/frames-Cp1QD3LR.js +1 -0
- package/assets/editor/assets/icon-picker-Cg39IKNJ.js +1 -0
- package/assets/editor/assets/image-library-JQu_tb8P.js +1 -0
- package/assets/editor/assets/index-CBPPqsiR.js +24 -0
- package/assets/editor/assets/{index-CC2h28V_.css → index-DBrN0u0i.css} +1 -1
- package/assets/editor/assets/jsx-runtime-DKdBMi_L.js +1 -0
- package/assets/editor/assets/layout-offthread-mRHRulkS.js +18 -0
- package/assets/editor/assets/{layout.worker-BIE1_z0S.js → layout.worker-CekYkaxO.js} +2 -2
- package/assets/editor/assets/menu-B9BAk63v.js +1 -0
- package/assets/editor/assets/panel-controls-DWVXiNUZ.js +1 -0
- package/assets/editor/assets/{panel-shell-CG2aq4Ia.js → panel-shell-BnMOHgWM.js} +1 -1
- package/assets/editor/assets/{plan-jQm1jDpt.js → plan-CkgM52Yh.js} +1 -1
- package/assets/editor/assets/presentation-DJUO0t7I.js +1 -0
- package/assets/editor/assets/presenter-keys-Bs3LnmOa.js +1 -0
- package/assets/editor/assets/{jsx-runtime-2Zwg-L3c.js → react-lCSYwAWP.js} +1 -1
- package/assets/editor/assets/reflow-DaYiVkwp.js +1 -0
- package/assets/editor/assets/registry-rEGZW7Ab.js +1 -0
- package/assets/editor/assets/renderer-environment-D3n3hbug.js +1 -0
- package/assets/editor/assets/ride-overlay-Hx90v4ZK.js +1 -0
- package/assets/editor/assets/selection-overlay-primitives-BRp854AD.js +1 -0
- package/assets/editor/assets/shape-meta-COE2ATNh.js +1 -0
- package/assets/editor/assets/sign-in-dialog-tmQEB2bx.js +1 -0
- package/assets/editor/assets/slide-notes-dialog-BQBXpep6.js +1 -0
- package/assets/editor/assets/slides-D686obFO.js +15 -0
- package/assets/editor/assets/slides-panel-BEJCevJi.js +26 -0
- package/assets/editor/assets/text-breaks-DM4W6y5f.js +7 -0
- package/assets/editor/assets/{theme-palette-D1nbDFBC.js → theme-palette-Dl_G_VIJ.js} +1 -1
- package/assets/editor/assets/tidy-browser-dF3BON7J.js +1 -0
- package/assets/editor/assets/tidy-scope-BGG3ZXvZ.js +1 -0
- package/assets/editor/assets/toast-Czv_DJ-4.js +1 -0
- package/assets/editor/assets/tool-catalog-DXPhX2S1.js +1 -0
- package/assets/editor/assets/tool-drawer-CWOX_njp.js +1 -0
- package/assets/editor/assets/tooltip-CyBz17g8.js +1 -0
- package/assets/editor/assets/tree-KSgPjntC.js +1 -0
- package/assets/editor/assets/upgrade-dialog-DhSZnDpx.js +1 -0
- package/assets/editor/assets/use-drag-reorder-ye8-kpyR.js +1 -0
- package/assets/editor/assets/use-export-command-sC9UHj3_.js +2 -0
- package/assets/editor/assets/use-grid-keyboard-nav-DhQKecO1.js +0 -0
- package/assets/editor/assets/use-icon-node-BxqH7H27.js +1 -0
- package/assets/editor/assets/use-key-held-094C3Mn3.js +1 -0
- package/assets/editor/assets/use-recent-list-DuazDypH.js +1 -0
- package/assets/editor/assets/useAnchoredPopupScrollLock-i8D5Dm1d.js +1 -0
- package/assets/editor/assets/useBaseUiId-D2RfU0uY.js +1 -0
- package/assets/editor/assets/useButton-CLQYGhRJ.js +1 -0
- package/assets/editor/assets/useControlled-BE8zdmih.js +1 -0
- package/assets/editor/assets/usePositioner-AtbrPc7w.js +1 -0
- package/assets/editor/assets/useScrollLock-CQpr0n6U.js +1 -0
- package/assets/editor/assets/useValueChanged-SqLfIDi5.js +1 -0
- package/assets/editor/assets/web-controls-CLE9zr7i.js +1 -0
- package/assets/editor/assets/web-embed-dialog-XUNelFFM.js +1 -0
- package/assets/editor/assets/web-html-dialog-BcAyzH5D.js +1 -0
- package/assets/editor/assets/web-shape-C941TGTy.js +1 -0
- package/assets/editor/assets/widget-source-CHujvUeA.js +1 -0
- package/assets/editor/index.html +73 -69
- package/dist/koboyo.js +258 -214
- package/package.json +5 -5
- package/skills/koboyo/SKILL.md +22 -2
- package/skills/koboyo/references/architecture.md +1 -1
- package/skills/koboyo/references/bpmn.md +1 -1
- package/skills/koboyo/references/chart.md +1 -1
- package/skills/koboyo/references/cycle.md +1 -1
- package/skills/koboyo/references/erd.md +1 -1
- package/skills/koboyo/references/flowchart.md +1 -1
- package/skills/koboyo/references/funnel.md +1 -1
- package/skills/koboyo/references/gantt.md +1 -1
- package/skills/koboyo/references/gitgraph.md +1 -1
- package/skills/koboyo/references/journey.md +1 -1
- package/skills/koboyo/references/matrix.md +1 -1
- package/skills/koboyo/references/mindmap.md +1 -1
- package/skills/koboyo/references/orgchart.md +1 -1
- package/skills/koboyo/references/pyramid.md +1 -1
- package/skills/koboyo/references/sankey.md +1 -1
- package/skills/koboyo/references/sequence.md +1 -1
- package/skills/koboyo/references/statemachine.md +1 -1
- package/skills/koboyo/references/timeline.md +1 -1
- package/skills/koboyo/references/venn.md +1 -1
- package/skills/koboyo/references/wireframe.md +1 -1
- package/assets/editor/assets/DialogDescription-ZtZCUsfy.js +0 -1
- package/assets/editor/assets/DialogRoot-mHGRFW9m.js +0 -1
- package/assets/editor/assets/DialogTitle-CFhr-gP9.js +0 -1
- package/assets/editor/assets/FloatingPortalLite-Bf0q6fmL.js +0 -1
- package/assets/editor/assets/IconArrowBackUp-Brd2WpCh.js +0 -1
- package/assets/editor/assets/IconChevronLeft-BR0iwdRI.js +0 -1
- package/assets/editor/assets/IconChevronRight-DBDnxPYT.js +0 -1
- package/assets/editor/assets/IconHelp-DKNacRqS.js +0 -2
- package/assets/editor/assets/IconLoader2-BQaF1LKo.js +0 -1
- package/assets/editor/assets/IconMinus-y4ejub-s.js +0 -1
- package/assets/editor/assets/IconNote-CSELvWzx.js +0 -1
- package/assets/editor/assets/IconPlus-BbmieIBT.js +0 -1
- package/assets/editor/assets/IconX-AlbPkO_g.js +0 -1
- package/assets/editor/assets/MenuSubmenuTrigger-CpN67g09.js +0 -1
- package/assets/editor/assets/PopoverPopup-BqGWd_uB.js +0 -1
- package/assets/editor/assets/billing-C-BNGM3Z.js +0 -1
- package/assets/editor/assets/build-pips-CIaHaEPB.js +0 -1
- package/assets/editor/assets/build-visibility-E1mHeDCW.js +0 -1
- package/assets/editor/assets/builders-DbF28yId.js +0 -1
- package/assets/editor/assets/command-palette-BjFnQHnz.js +0 -1
- package/assets/editor/assets/config-a_lz-57R.js +0 -1
- package/assets/editor/assets/connector-labels-vVnYQJRz.js +0 -2
- package/assets/editor/assets/copy-image-dialog-CCY_6fM4.js +0 -1
- package/assets/editor/assets/createReactComponent-9UsI5fmM.js +0 -1
- package/assets/editor/assets/dialog-B32krrce.js +0 -1
- package/assets/editor/assets/editor-B0tARd79.js +0 -1
- package/assets/editor/assets/export-DEFKKRRi.js +0 -6
- package/assets/editor/assets/export-dialog-DPg1uzX5.js +0 -1
- package/assets/editor/assets/flow-layer-BC35drcK.js +0 -1
- package/assets/editor/assets/flow-panel-D_K9wgZi.js +0 -1
- package/assets/editor/assets/flow-stage-fiF5Nggn.js +0 -1
- package/assets/editor/assets/flow-start-ccYJ2KB9.js +0 -1
- package/assets/editor/assets/frames-CRP8oPP8.js +0 -1
- package/assets/editor/assets/icon-picker-NboB5Fvv.js +0 -1
- package/assets/editor/assets/image-library-Bb6bV6eK.js +0 -1
- package/assets/editor/assets/index-DfNbwHl_.js +0 -24
- package/assets/editor/assets/layout-offthread-BwetpTFH.js +0 -18
- package/assets/editor/assets/menu-BPrc8Ara.js +0 -1
- package/assets/editor/assets/panel-controls-DYZ7QFT5.js +0 -1
- package/assets/editor/assets/presentation-BavfNtxp.js +0 -1
- package/assets/editor/assets/presenter-keys-DVQcBdy1.js +0 -1
- package/assets/editor/assets/reflow-Cv75wPSh.js +0 -1
- package/assets/editor/assets/registry-DCgwH8wI.js +0 -1
- package/assets/editor/assets/renderer-environment-DmWXvuT4.js +0 -1
- package/assets/editor/assets/ride-overlay-DhygYdx1.js +0 -1
- package/assets/editor/assets/selection-overlay-primitives-hWJ1xjF7.js +0 -1
- package/assets/editor/assets/shape-meta-BpwsiB82.js +0 -1
- package/assets/editor/assets/sign-in-dialog-DRooo5xw.js +0 -1
- package/assets/editor/assets/slide-notes-dialog-DLdTmd7_.js +0 -1
- package/assets/editor/assets/slides-D9bnXqtf.js +0 -15
- package/assets/editor/assets/slides-panel-DV-zQJhV.js +0 -26
- package/assets/editor/assets/text-breaks-YU-ymaF9.js +0 -7
- package/assets/editor/assets/tidy-browser-BwodBnAH.js +0 -1
- package/assets/editor/assets/tidy-scope-BgBSUklT.js +0 -1
- package/assets/editor/assets/toast-Nu_fiCd9.js +0 -1
- package/assets/editor/assets/tool-catalog-ChSwaLIq.js +0 -1
- package/assets/editor/assets/tool-drawer-CG7-cnML.js +0 -1
- package/assets/editor/assets/tooltip-DgEojto1.js +0 -1
- package/assets/editor/assets/tree-rq4RTGgw.js +0 -1
- package/assets/editor/assets/upgrade-dialog-DpZeaLDB.js +0 -1
- package/assets/editor/assets/use-drag-reorder-C3h4ZMoZ.js +0 -1
- package/assets/editor/assets/use-export-command-CPc7qug1.js +0 -2
- package/assets/editor/assets/use-grid-keyboard-nav-B88Qw-cQ.js +0 -0
- package/assets/editor/assets/use-icon-node-DJZFjABX.js +0 -1
- package/assets/editor/assets/use-recent-list-BEG0iBIm.js +0 -1
- package/assets/editor/assets/useAnchoredPopupScrollLock-BGKchwpi.js +0 -1
- package/assets/editor/assets/useBaseUiId-C0Zm5sUV.js +0 -1
- package/assets/editor/assets/useButton-D3eS7fh5.js +0 -1
- package/assets/editor/assets/useControlled-C5xhvPXX.js +0 -1
- package/assets/editor/assets/usePositioner-DA3aR0-T.js +0 -1
- package/assets/editor/assets/useScrollLock-B7mQdXyv.js +0 -1
- package/assets/editor/assets/useValueChanged-p8z-93L4.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{G as e,V as t,Y as n,Z as r,it as i}from"./style-BENGW2ZV.js";import{$r as a,$t as o,A as s,E as c,J as l,Nr as u,O as d,Qr as f,Qt as p,U as m,Ut as h,Xt as g,Y as _,ai as v,an as y,en as b,ii as x,in as S,j as C,ni as w,oi as T,sn as E}from"./slides-D9bnXqtf.js";var ee=[`solid`,`dashed`,`dotted`,`none`],te=[`curved`,`elbow`],ne=[`arrow`,`sweep`,`triangle`,`triangleOutline`,`diamond`,`diamondOutline`,`circle`,`circleOutline`,`bar`,`cross`,`crowOne`,`crowMany`,`crowOneOrMany`,`crowOnlyOne`,`crowZeroOrOne`,`crowZeroOrMany`],re=[`pastel`,`bold`,`outline`,`shadow`],ie=[`left`,`center`,`right`],ae=[`top`,`middle`,`bottom`],oe=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],se=`rectangle.ellipse.diamond.triangle.oval.parallelogram.trapezoid.cylinder.note.hexagon.star.checkbox.crossbox.heart.cloud.arrow-up.arrow-down.arrow-left.arrow-right.plus.speech-bubble.bolt.queue.callout.document.predefined-process.manual-input.pentagon.chevron.octagon.cube.actor.double-circle.card.delay.fork-join.multi-document.multi-process.package.component.brace`.split(`.`),ce=[`fade`,`rise`,`scale`,`pop`,`blur`,`wipe`,`draw`,`type`,`pulse`,`shake`,`glow`],le=[`up`,`down`,`left`,`right`],ue=[`enter`,`emphasis`,`exit`],de=[`sharp`,`rounded`],fe=[`simple`,`phone`,`tablet`,`browser`,`window`,`lanes`,`vlanes`,`boundary`],pe=[`call`,`async`,`reply`],me=[`bar`,`line`,`area`,`scatter`,`pie`,`donut`,`radar`,`quadrant`],he=[`number`,`percent`,`currency`],ge=`button.input.search.checkbox.radio.toggle.dropdown.slider.navbar.tabs.image.avatar.heading.paragraph.divider.link.textarea.stepper.badge.progress.breadcrumbs.pagination.rating.card.list.alert.menu.tooltip.accordion.datepicker.sidebar.scrollbar.segmented.tabbar.statusbar.fab.stepbadge`.split(`.`);function D(e){return`kind`in e&&e.kind===`path`}function _e(e){return e.type===`line`?e.points:e.type===`arrow`?[{x:e.x,y:e.y},{x:e.x2,y:e.y2}]:null}function O(n,r){let i=_e(n)??[t(y(n))],a=Math.max(0,Math.min(r.seg,i.length-2)),o=i[a],s=i[a+1]??o,c=e(r.t);return{x:o.x+(s.x-o.x)*c,y:o.y+(s.y-o.y)*c}}function k(e,t){return t?D(e)?t.type===`line`||t.type===`arrow`:t.type!==`arrow`:!1}function ve(e,t,n){let r=new Set,i=[n];for(;i.length>0;){let n=i.pop();if(n===t)return!0;if(r.has(n))continue;r.add(n);let a=s(e,n);a?.type===`arrow`&&(a.startBinding&&i.push(a.startBinding.shapeId),a.endBinding&&i.push(a.endBinding.shapeId))}return!1}function ye(e,t){let n=Math.abs(t.x-e.x),r=Math.abs(t.x-(e.x+e.width)),i=Math.abs(t.y-e.y),a=Math.abs(t.y-(e.y+e.height)),o=Math.min(n,r,i,a);return o===n?{x:-1,y:0}:o===r?{x:1,y:0}:o===i?{x:0,y:-1}:{x:0,y:1}}function A(e,t){return e.type===`icon`?b(e,t):e.type===`control`&&e.kind===`lifeline`?_(e):y(e,t)}function j(e,n){return t(y(e,n))}var M=6,be=14;function N(e){return e.type===`text`?be:M}var xe=new Set(u);function P(e,t,n){let r=n===`start`?t.startArrow:t.endArrow,i=n===`start`?t.startHead:t.endHead;return r&&i&&xe.has(i)?0:N(e)}function Se(e){if(e.type!==`rectangle`)return null;let t=e.kind;return t!==`diamond`&&t!==`ellipse`&&t!==`double-circle`?null:t}function F(e,t){return e===`diamond`?1-t:Math.sqrt(Math.max(0,1-t*t))}function Ce(e,t,n){let r=Se(e);if(r===null)return n;let i=ye(t,n),a=t.x+t.width/2,o=t.y+t.height/2,s=i.x!==0,c=s?t.width/2:t.height/2,l=s?t.height/2:t.width/2,u=s?n.y-o:n.x-a,d=F(r,l===0?0:Math.min(1,Math.abs(u)/l)),f=s?i.x:i.y;return s?{x:a+f*c*d,y:n.y}:{x:n.x,y:o+f*c*d}}var I=.002;function L(e,t,n=0,r){let i=A(e,r),a=H(i,t);if(t.x>I&&t.x<1-I&&t.y>I&&t.y<1-I)return V(e,a,r);let o=Ce(e,i,a),s=e.type===`text`?Math.max(n,be):n;if(s<=0)return V(e,o,r);let c=ye(i,a);return V(e,{x:o.x+c.x*s,y:o.y+c.y*s},r)}var R=.2;function we(e,t){return U(A(e,t),j(e,t))}function z(e,t,n){let r=we(e,n);return Math.abs(t.x-r.x)<=R&&Math.abs(t.y-r.y)<=R}function Te(t){let n=e(t.x),r=e(t.y),i=n,a=1-n,o=r,s=1-r,c=Math.min(i,a,o,s);return c===i?{x:0,y:r}:c===a?{x:1,y:r}:c===o?{x:n,y:0}:{x:n,y:1}}function B(e,n,r){let i=E(e)*Math.PI/180;return i?S(n,t(y(e,r)),-i):n}function V(e,n,r){let i=E(e)*Math.PI/180;return i?S(n,t(y(e,r)),i):n}function H(e,t){return{x:e.x+t.x*e.width,y:e.y+t.y*e.height}}function U(e,t){return{x:e.width===0?.5:(t.x-e.x)/e.width,y:e.height===0?.5:(t.y-e.y)/e.height}}function W(e,t){return!e||t.has(e.shapeId)?!1:D(e)?!0:e.precise}function G(e,t){return e.type===`arrow`&&W(e.startBinding,t)&&W(e.endBinding,t)}function Ee(t,n,r){let i=_e(n);if(!i||i.length<2)return null;let a=Math.max(0,Math.min(t.seg,i.length-2)),o=i[a],s=i[a+1],c=s.x-o.x,l=s.y-o.y,u=Math.hypot(c,l);if(u<1e-6)return null;let d=(r.x*c+r.y*l)/u;return{...t,seg:a,t:e(t.t+d/u)}}function De(t,n,r,i){if(E(n)!==0)return null;let a=A(n,i),{anchor:o}=t;if(Y(n))return a.height>0?{...t,anchor:{x:o.x,y:e(o.y+r.y/a.height)}}:null;let s=.001,c=o.x<=s||o.x>=1-s,l=o.y<=s||o.y>=1-s;return c&&(!l||Math.abs(r.y)>=Math.abs(r.x))&&a.height>0?{...t,anchor:{x:o.x,y:e(o.y+r.y/a.height)},port:void 0}:l&&a.width>0?{...t,anchor:{x:e(o.x+r.x/a.width),y:o.y},port:void 0}:null}function K(e,t,n,r){return D(e)?Ee(e,t,n):De(e,t,n,r)}function Oe(e,t,n,r,i){if(!G(e,r))return null;let a=e,o=a.startBinding?.shapeId,c=a.endBinding?.shapeId,l=o?s(n,o):void 0,u=c?s(n,c):void 0;if(!l||!u||!a.startBinding||!a.endBinding)return null;let d=K(a.startBinding,l,t,i),f=K(a.endBinding,u,t,i);return!d||!f?null:{...a,startBinding:d,endBinding:f}}function ke(e,t,n,r,i){let a=Oe(e,t,n,r,i);if(a)return a;let o=h(e,t);if(o.type!==`arrow`)return o;let s=e=>e&&r.has(e.shapeId)?e:null,c=s(o.startBinding),l=s(o.endBinding);return c===o.startBinding&&l===o.endBinding?o:{...o,startBinding:c,endBinding:l}}function Ae(e,t,n,i){for(let a=e.length-1;a>=0;--a){let s=e[a];if(s.type===`arrow`||s.type===`line`||s.type===`draw`||s.type===`polygon`||s.type===`figure`||n&&s.id===n||!o(s)&&!r(t,p(s)))continue;let c=s.type===`icon`?b(s,i):y(s,i);if(r(B(s,t,i),c))return s}return null}var je={n:{x:.5,y:0},s:{x:.5,y:1},e:{x:1,y:.5},w:{x:0,y:.5},ne:{x:1,y:0},nw:{x:0,y:0},se:{x:1,y:1},sw:{x:0,y:1}},q=8;function Me(e,t){return e.x===0||e.x===1?Math.abs(e.y-.5)*t.height<=q?{x:e.x,y:.5}:e:Math.abs(e.x-.5)*t.width<=q?{x:.5,y:e.y}:e}function Ne(t,n,r){if(t.type!==`control`||t.kind!==`entity`||n.x!==0&&n.x!==1)return n;let i=m(t);if(i.length===0)return n;let a=r.y+n.y*r.height,o=i.reduce((e,t)=>Math.abs(t.cy-a)<Math.abs(e.cy-a)?t:e);return{x:n.x,y:e((o.cy-r.y)/r.height)}}function J(e,t,n){return Ne(e,Me(Te(t),n),n)}function Pe(t,n,r){let i=A(t,r),a=U(i,B(t,n,r));return t.type===`control`&&t.kind===`lifeline`?{shapeId:t.id,anchor:{x:.5,y:e(a.y)},precise:!0}:z(t,a,r)?{shapeId:t.id,anchor:{x:e(a.x),y:e(a.y)},precise:!1}:{shapeId:t.id,anchor:J(t,a,i),precise:!0}}function Fe(e){return e.port?je[e.port]:e.anchor}function Ie(t,n,r){let i=A(t,r);if(t.type===`control`&&t.kind===`lifeline`){let a=U(i,B(t,n,r));return{x:i.x+i.width/2,y:i.y+e(a.y)*i.height}}let a=U(i,B(t,n,r));return z(t,a,r)?j(t,r):V(t,H(i,J(t,a,i)),r)}function Le(e,t=M){return n(e,t)}function Y(e){return e.type===`control`&&e.kind===`lifeline`}function Re(t,n,r,i){let a=A(t),o=a.x+a.width/2,s=a.y+e(n)*a.height,c=t.type===`control`?l(t,s):null,u=r.x<=o;return{x:(c?u?c.x:c.x+c.width:o)+(u?-i:i),y:s}}function X(t,n,r){if(D(n))return O(t,n);if(Y(t)&&n.precise){let r=A(t);return{x:r.x+r.width/2,y:r.y+e(n.anchor.y)*r.height}}return n.precise?L(t,Fe(n),N(t),r):j(t,r)}function Z(e,t,n,r=N(e),a){return D(t)?O(e,t):Y(e)&&t.precise?Re(e,t.anchor.y,n,r):t.precise?L(e,Fe(t),r,a):V(e,i(Le(A(e,a),r),j(e,a),B(e,n,a)),a)}function ze(e,t,n,i,a){let o=Le(A(e,a),i),s=n?1/64:-1/64,c=+!n;for(let n=1;n<=64;n+=1){let n=c+s;if(!r(B(e,t.pointAt(n),a),o)){let i=c,s=n;for(let n=0;n<16;n+=1){let n=(i+s)/2;r(B(e,t.pointAt(n),a),o)?i=n:s=n}return i}if(c=n,n<=0||n>=1)break}return+!n}function Be(e,t,n,r,i){let a=e=>i?i.get(e):s(t,e),o=e.startBinding?a(e.startBinding.shapeId):void 0,c=e.endBinding?a(e.endBinding.shapeId):void 0;return{start:e.startBinding&&k(e.startBinding,o)?n(o,e.startBinding,`start`):r({x:e.x,y:e.y}),end:e.endBinding&&k(e.endBinding,c)?n(c,e.endBinding,`end`):r({x:e.x2,y:e.y2})}}function Ve(e,t,n,r){return Be(e,t,(e,t)=>X(e,t,r),e=>e,n)}function He(e,n){let r=A(e,n),i=E(e)*Math.PI/180;return i?g(r,t(y(e,n)),i):r}function Ue(e,t,n){return e.type===`icon`?U(y(e,n),H(A(e,n),t)):t}function We(e,t){let n=e.x-.5,r=e.y-.5;if(t){let e=t*Math.PI/180,i=Math.cos(e),a=Math.sin(e),o=n*i-r*a,s=n*a+r*i;n=o,r=s}return Math.abs(n)<1e-6&&Math.abs(r)<1e-6?null:Math.abs(n)>Math.abs(r)-1e-4?n<0?`left`:`right`:r<0?`top`:`bottom`}function Ge(e,t){if(E(e)!==0)return;let n=Se(e);if(n===null)return;let r=y(e),i=r.x+r.width/2,a=r.y+r.height/2,o=r.width/2,s=r.height/2,c=t===`left`||t===`right`,l=t===`right`||t===`bottom`?1:-1;return e=>{let t=c?i:a,r=c?o:s,u=c?a:i,d=c?s:o,f=d===0?0:Math.min(1,Math.abs(e-u)/d),p=F(n,f);return t+l*r*p}}function Q(e,t,n,r=N(e),i){if(D(t))return x(O(e,t),n);let a=t.precise?We(Ue(e,t.anchor,i),E(e)):null;return{bounds:He(e,i),target:t.precise?L(e,t.anchor,0,i):j(e,i),gap:r,minEnd:n*w,side:a,outline:a?Ge(e,a):void 0,isPoint:!1}}function Ke(e,t,n,r){return Be(e,t,(t,n,i)=>Q(t,n,e.strokeWidth,P(t,e,i),r),t=>x(t,e.strokeWidth),n)}function qe(e,t,n,r){let i=Ke(e,t,n,r);return T(i.start,i.end,e.elbowMid??.5)}function Je(e,t){return{...e,elbowPoints:t,elbowRoute:t,elbowMidHandle:void 0,x:t[0].x,y:t[0].y,x2:t[t.length-1].x,y2:t[t.length-1].y}}function Ye(e){return{...e,elbowPoints:void 0,elbowRoute:void 0,elbowMidHandle:void 0}}function Xe(e,t,n,r){if(!e.elbowPoints)return e;let i=Ke(e,t,n,r),a=v(e.elbowPoints,i.start,i.end);return a?Je(e,a):Ye(e)}var Ze=24;function Qe(e,t,n){let r=e.x+e.width,i=t.x,a=e.y+n.fromTop*e.height,o=Math.max(1,n.fromSpan*e.height),s=t.y+n.toTop*t.height,c=Math.max(1,n.toSpan*t.height),l=r+(i-r)/3,u=i-(i-r)/3,d=(e,t,n)=>{let r=1-e;return r*r*r*t+3*r*r*e*t+3*r*e*e*n+e*e*e*n},f=e=>{let t=1-e;return t*t*t*r+3*t*t*e*l+3*t*e*e*u+e*e*e*i},p=[],m=[];for(let e=0;e<=Ze;e+=1){let t=e/Ze,n=f(t);p.push({x:n,y:d(t,a,s)}),m.push({x:n,y:d(t,a+o,s+c)})}return[...p,...m.reverse()]}function $e(e,t,n){let r=e.band;if(!r||n&&!n.has(e.id)&&!n.has(r.from)&&!n.has(r.to))return e;let i=t.get(r.from),a=t.get(r.to);if(!i||!a||!et(i)||!et(a))return e;let o=Qe(i,a,r);return tt(o,e.points)?e:{...e,points:o}}function et(e){return`width`in e&&`height`in e&&`x`in e&&`y`in e}function tt(e,t){return e.length===t.length&&e.every((e,n)=>e.x===t[n].x&&e.y===t[n].y)}function nt(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(Math.abs(e[n].x-t[n].x)>.01||Math.abs(e[n].y-t[n].y)>.01)return!1;return!0}function rt(e,t,n,r){if(t==null){let t=e;for(let e=0;e<4;e+=1){let e=lt(t,n);if(e===t)break;t=e}return t}if(t.size===0)return e;let i=e,a=t;for(let e=0;e<4&&a.size>0;e+=1){let t=dt(i,a,n,e===0?r:void 0);if(t.shapes===i)break;i=t.shapes,a=t.moved}return i}function it(e){let t=new Set(e.map(e=>e.id)),n=new Set;for(let r of e)if(r.type===`arrow`){let{startBinding:e,endBinding:i}=r;e&&i&&t.has(e.shapeId)&&t.has(i.shapeId)&&n.add(r.id)}else r.type===`polygon`&&r.band&&t.has(r.band.from)&&t.has(r.band.to)&&n.add(r.id);return n}function at(e,t){return!!(t.has(e.id)||e.startBinding&&t.has(e.startBinding.shapeId)||e.endBinding&&t.has(e.endBinding.shapeId))}function ot(e,t,n,r,i,a,o,s){let{x:c,y:l,x2:u,y2:d}=e;if(t&&n){let r=Z(t,n,o,P(t,e,`start`),s);c=r.x,l=r.y}if(r&&i){let t=Z(r,i,a,P(r,e,`end`),s);u=t.x,d=t.y}return{x:c,y:l,x2:u,y2:d}}function st(e,t,n,r,i,a,o,s){let{x:c,y:l,x2:u,y2:d}=e,f=e.elbowPoints,p=e.elbowRoute,m=e.elbowMidHandle,h=t&&n?Q(t,n,e.strokeWidth,P(t,e,`start`),s):x({x:e.x,y:e.y},e.strokeWidth),g=r&&i?Q(r,i,e.strokeWidth,P(r,e,`end`),s):x({x:e.x2,y:e.y2},e.strokeWidth),_=null;if(f&&f.length>=3&&t&&t===r){let e=(e,t)=>e.map(n=>({x:n.x+t.x-e[0].x,y:n.y+t.y-e[0].y})),t=v(e(f,h.target),h,g)?.[0];t&&(f=e(f,t))}if(f&&f.length>=3)_=v(f,h,g),_||(f=void 0);else if(f){let e=e=>!e||D(e)||e.precise;e(n)&&e(i)?_=[{x:h.target.x,y:h.target.y},{x:g.target.x,y:g.target.y}]:f=void 0}if(_)({elbowPoints:f,elbowRoute:p,elbowMidHandle:m,x:c,y:l,x2:u,y2:d}=Je(e,_));else{let f=T(h,g,e.elbowMid??.5);f.route&&f.route.length>=2?(p=f.route,m=f.midHandle??void 0,c=f.route[0].x,l=f.route[0].y,u=f.route[f.route.length-1].x,d=f.route[f.route.length-1].y):(p=void 0,m=void 0,{x:c,y:l,x2:u,y2:d}=ot(e,t,n,r,i,a,o,s))}return{x:c,y:l,x2:u,y2:d,bend:e.bend,bendAlong:e.bendAlong,bow:e.bow,bowAlong:e.bowAlong,elbowPoints:f,elbowRoute:p,elbowMidHandle:m}}function ct(e,t,n,r,i,o,s,c){let{x:l,y:u,x2:d,y2:p}=e,m=e.bend,h=e.bendAlong,g=e.bow??e.bend??0,_=e.bowAlong??e.bendAlong??0,v=g,y=_,b=f(o,s,g,_),x=!1;if(b){let o=t&&n&&!D(n)?ze(t,b,!0,P(t,e,`start`),c):0,s=r&&i&&!D(i)?ze(r,b,!1,P(r,e,`end`),c):1;if(s-o>.02){let e=b.pointAt(o),t=b.pointAt(s);if(l=e.x,u=e.y,d=t.x,p=t.y,_===0)m=a(e,t,b.pointAt((o+s)/2)).bow,h=0;else if(b.apexT>o+.01&&b.apexT<s-.01){let n=a(e,t,b.apex);m=n.bow,h=n.bowAlong}else m=a(e,t,b.pointAt((o+s)/2)).bow,h=0;x=!0}}return x||({x:l,y:u,x2:d,y2:p}=ot(e,t,n,r,i,o,s,c),m=0,h=0),{x:l,y:u,x2:d,y2:p,bend:m,bendAlong:h,bow:v,bowAlong:y,elbowPoints:e.elbowPoints,elbowRoute:void 0,elbowMidHandle:void 0}}function $(e,t,n,r){if(e.type===`polygon`)return $e(e,t,n);if(e.type!==`arrow`||!e.startBinding&&!e.endBinding||n&&!at(e,n))return e;let i=e.startBinding,a=e.endBinding,o=i?t.get(i.shapeId):void 0,s=a?t.get(a.shapeId):void 0;i&&!k(i,o)&&(i=null),a&&!k(a,s)&&(a=null);let c=o&&i?X(o,i,r):{x:e.x,y:e.y},l=s&&a?X(s,a,r):{x:e.x2,y:e.y2},u=(e.bendStyle===`elbow`?st:ct)(e,o,i,s,a,c,l,r),{x:d,y:f,x2:p,y2:m,bend:h,bendAlong:g,bow:_,bowAlong:v}=u,y=u.elbowPoints,b=u.elbowRoute,x=u.elbowMidHandle,S=!nt(b,e.elbowRoute);S||(b=e.elbowRoute);let C=!nt(y,e.elbowPoints);C||(y=e.elbowPoints);let w=!ft(x,e.elbowMidHandle);return w||(x=e.elbowMidHandle),d===e.x&&f===e.y&&p===e.x2&&m===e.y2&&h===e.bend&&g===e.bendAlong&&_===e.bow&&v===e.bowAlong&&!S&&!C&&!w&&i===e.startBinding&&a===e.endBinding?e:{...e,x:d,y:f,x2:p,y2:m,bend:h,bendAlong:g,bow:_,bowAlong:v,elbowPoints:y,elbowRoute:b,elbowMidHandle:x,startBinding:i,endBinding:a}}function lt(e,t){let n=new Map(e.map(e=>[e.id,e])),r=!1,i=e.map(e=>{let i=$(e,n,null,t);return i!==e&&(r=!0),i});return r?i:e}function ut(e,t){return e.type===`arrow`?(e.startBinding!==null||e.endBinding!==null)&&at(e,t):e.type===`polygon`&&e.band?t.has(e.id)||t.has(e.band.from)||t.has(e.band.to):!1}function dt(e,t,n,r){let{position:i,dependents:a}=C(e),o=new Set,s=n=>{if(n===void 0||o.has(n))return;let i=e[n];ut(i,t)&&!r?.has(i.id)&&o.add(n)};for(let e of t){s(i.get(e));for(let t of a.get(e)??[])s(i.get(t))}let l=new Set;if(o.size===0)return{shapes:e,moved:l};let u=new Map;for(let t of o)for(let n of c(e[t])){let t=i.get(n);t!==void 0&&u.set(n,e[t])}let f=null,p=[];for(let r of o){let i=e[r],a=$(i,u,t,n);a!==i&&(f??=e.slice(),f[r]=a,p.push(r),l.add(i.id))}return f?(d(e,f,p),{shapes:f,moved:l}):{shapes:e,moved:l}}function ft(e,t){return e===t?!0:!e||!t?!1:e.axis===t.axis&&Math.abs(e.x-t.x)<=.01&&Math.abs(e.y-t.y)<=.01&&Math.abs(e.span-t.span)<=.01}export{ie as A,ee as C,se as D,fe as E,ge as M,he as O,de as S,pe as T,ce as _,ve as a,te as b,G as c,ke as d,Ae as f,le as g,Z as h,Ve as i,ae as j,oe as k,qe as l,Xe as m,it as n,Pe as o,X as p,Qe as r,Ie as s,rt as t,D as u,ue as v,re as w,me as x,ne as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,G as t,b as n}from"./style-BENGW2ZV.js";import{Ar as r,At as i,B as a,Bn as o,Ct as s,Hn as c,I as l,Mr as u,P as d,Tt as f,Wn as p,_t as m,an as h,at as g,bt as ee,ct as _,dt as v,et as te,ft as ne,gt as y,ht as re,it as b,jr as x,lt as ie,mt as S,nt as ae,pt as oe,rt as C,st as w,tt as T,ut as se,vt as E,xt as D,yt as ce}from"./slides-D9bnXqtf.js";function O(e){return(e.value??0)>=.5}function le(t){let{bounds:n,shape:r,ink:i}=t,a=[],o=w(r);if(o&&a.push({kind:`rect`,x:n.x,y:n.y,width:n.width,height:n.height,rx:10,fill:o}),a.push(...y(t,u(n.x,n.y,n.width,n.height,10),i)),r.label){let s=o?e(o):i;a.push(E(t,n.x+n.width/2,n.y+n.height/2,r.label,s,{anchor:`middle`}))}return a}function k(e,t=12){let{bounds:n,shape:r,ink:i}=e,a=y(e,u(n.x,n.y,n.width,n.height,6),i);return r.label&&a.push(E(e,n.x+t,n.y+n.height/2,r.label,b)),a}function ue(e){let{bounds:t,ink:n}=e,i=ne(t),a=t.x+12+i,o=t.y+t.height/2-i*.4,s=k(e,oe(t));return s.push(...y(e,r(a,o,i),n,T)),s.push(...y(e,x(a+i*.72,o+i*.72,a+i*1.7,o+i*1.7),n,T)),s}function de(e){let{bounds:t,shape:n,ink:r}=e,i=t.x,a=t.y+t.height/2-22/2,o=y(e,u(i,a,22,22,4),r);if(O(n)){let t=`M ${i+22*.22} ${a+22*.55} L ${i+22*.45} ${a+22*.75} L ${i+22*.8} ${a+22*.25}`;o.push(...y(e,t,r,2.2))}return n.label&&o.push(E(e,i+22+10,t.y+t.height/2,n.label,r)),o}function fe(e){let{bounds:t,shape:n,ink:i}=e,a=t.x+11,o=t.y+t.height/2,s=y(e,r(a,o,11),i);return O(n)&&s.push({kind:`circle`,cx:a,cy:o,r:4.5,fill:i}),n.label&&s.push(E(e,a+11+10,o,n.label,i)),s}function pe(e){let{bounds:t,shape:n,ink:i}=e,a=ce(t),s=a*1.9,c=t.x,l=t.y+t.height/2-a/2,d=t.y+t.height/2,f=O(n),p=[];f&&p.push({kind:`rect`,x:c,y:l,width:s,height:a,rx:a/2,fill:w(n)??`#4dabf7`}),p.push(...y(e,u(c,l,s,a,a/2),i));let m=a/2-4,h=f?c+s-a/2:c+a/2;return p.push({kind:`circle`,cx:h,cy:d,r:m,fill:o.paper}),p.push(...y(e,r(h,d,m),i,T)),n.label&&p.push(E(e,t.x+ee(t),d,n.label,i)),p}function me(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=t.x+t.width,o=y(e,u(t.x,t.y,t.width,t.height,6),r);n.label&&o.push(E(e,t.x+12,i,n.label,r));let s=`M ${a-25} ${i-4} L ${a-18} ${i+4} L ${a-11} ${i-4}`;return o.push(...y(e,s,r,T)),o}function he(e){let{bounds:n,shape:i,ink:a}=e,s=t(i.value??.5),c=n.y+n.height/2+(i.label?n.height*.12:0),l=n.x+8,u=n.x+n.width-8,d=l+s*(u-l),f=y(e,x(l,c,u,c),b,T);return f.push({kind:`line`,x1:l,y1:c,x2:d,y2:c,stroke:a,width:3}),f.push({kind:`circle`,cx:d,cy:c,r:8,fill:o.paper}),f.push(...y(e,r(d,c,8),a,T)),i.label&&f.push(E(e,n.x,n.y+2,i.label,b,{size:i.fontSize*.7,baseline:`hanging`})),f}function ge(e){let{bounds:t,ink:n}=e,i=t.x+t.width/2,a=t.y+t.height/2,o=Math.min(t.width,t.height)/2-2,s=y(e,r(i,a,o),n);s.push(...y(e,r(i,a-o*.3,o*.32),n,T));let c=`M ${i-o*.55} ${a+o*.72} A ${o*.55} ${o*.55} 0 0 1 ${i+o*.55} ${a+o*.72}`;return s.push(...y(e,c,n,T)),s}function _e(e){let{bounds:t,shape:n,ink:r}=e;return n.label?[E(e,t.x,t.y+t.height/2,n.label,r,{size:n.fontSize*ae})]:[]}function ve(e,t,n,r){let i=(e+t)/2;return`M ${e} ${n} Q ${i} ${n-r} ${t} ${n} Q ${i} ${n+r} ${e} ${n} Z`}function ye(e,t,n,r){return{kind:`path`,d:ve(e,t,n,r),fill:b,stroke:`none`}}function be(e){let{bounds:t,shape:n,ink:r}=e;if(n.label){let i=n.fontSize*.9,a=i*1.4,o=s(n.label,t.width,i),c=Math.max(1,Math.floor(t.height/a));return o.slice(0,c).map((n,o)=>E(e,t.x,t.y+a*(o+.6),n,r,{size:i}))}let i=n.fontSize*1.4,a=Math.max(2,Math.floor(t.height/i)),o=[];for(let e=0;e<a;e+=1){let n=t.y+i*(e+.7),r=e===a-1?.6:1;o.push(ye(t.x,t.x+t.width*r,n,3))}return o}function A(e,t,n){let r=n*.45,i=[];for(let a=0;a<10;a+=1){let o=a%2==0?n:r,s=-Math.PI/2+a*Math.PI/5,c=e+Math.cos(s)*o,l=t+Math.sin(s)*o;i.push(`${a===0?`M`:`L`} ${c} ${l}`)}return`${i.join(` `)} Z`}function xe(e){let{bounds:t}=e,n=t.y+t.height/2;return y(e,x(t.x,n,t.x+t.width,n),b,T)}function j(e){let{bounds:t,shape:r}=e;if(!r.label)return[];let i=t.x+t.width/2,a=t.y+t.height/2,o=Math.min(t.width,r.label.length*r.fontSize*.55),s=a+r.fontSize*.6;return[E(e,i,a,r.label,n,{anchor:`middle`}),...y(e,x(i-o/2,s,i+o/2,s),n,T)]}function M(e){let{bounds:t,shape:n,ink:r}=e,i=y(e,u(t.x,t.y,t.width,t.height,6),r),a=n.fontSize*.9,o=a*1.4;if(n.label){let c=s(n.label,t.width-24,a),l=Math.max(1,Math.floor((t.height-12)/o));c.slice(0,l).forEach((n,s)=>{i.push(E(e,t.x+12,t.y+12+o*(s+.5),n,r,{size:a}))})}else i.push(E(e,t.x+12,t.y+12+o*.5,`Type here…`,b,{size:a}));let c=t.x+t.width-6,l=t.y+t.height-6;return i.push(...y(e,x(c-6,l,c,l-6),b,T)),i.push(...y(e,x(c-11,l,c,l-11),b,T)),i}function Se(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=re(t),o=t.x+a,s=t.x+t.width-a,c=y(e,u(t.x,t.y,t.width,t.height,6),r);c.push(...y(e,x(o,t.y,o,t.y+t.height),r,T)),c.push(...y(e,x(s,t.y,s,t.y+t.height),r,T));let l=t.x+a/2,d=t.x+t.width-a/2,f=Math.min(n.fontSize*.42,a*.4,t.height*.3);return c.push(...y(e,x(l-f,i,l+f,i),r,2.2)),c.push(...y(e,x(d-f,i,d+f,i),r,2.2)),c.push(...y(e,x(d,i-f,d,i+f),r,2.2)),n.label&&c.push(E(e,(o+s)/2,i,n.label,r,{anchor:`middle`})),c}function Ce(e){let{bounds:t,shape:n,ink:r}=e,i=t.height/2,a=w(n),o=[];return a&&o.push({kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:i,fill:a}),o.push(...y(e,u(t.x,t.y,t.width,t.height,i),r)),n.label&&o.push(E(e,t.x+t.width/2,t.y+t.height/2,n.label,r,{anchor:`middle`,size:n.fontSize*te})),o}var N=`#ffd43b`;function we(t){let{bounds:n,shape:r}=t,i=n.x+n.width/2,a=n.y+n.height/2,o=Math.min(n.width,n.height)/2,s=w(r)??`#ffd43b`,c=f(i,a,o,r,t.nextSalt()).map(e=>({kind:`path`,d:e,fill:s,stroke:`none`}));return r.label&&c.push(E(t,i,a,r.label,e(s),{anchor:`middle`,size:o*.95})),c}function Te(e){let{bounds:n,shape:r,ink:i}=e,a=t(r.value??.6),o=Math.min(n.height,14),s=n.y+n.height/2-o/2,c=o/2,l=[],d=Math.max(o,n.width*a);return l.push({kind:`rect`,x:n.x,y:s,width:d,height:o,rx:c,fill:w(r)??i}),l.push(...y(e,u(n.x,s,n.width,o,c),i,T)),l}function Ee(e){let{bounds:t,shape:n,ink:r}=e,i=Math.max(0,Math.min(5,Math.round(n.value??3))),a=t.y+t.height/2,o=t.width/5,s=Math.min(o,t.height)*.42,c=[];for(let l=0;l<5;l+=1){let u=t.x+o*(l+.5);l<i&&c.push({kind:`path`,d:A(u,a,s),fill:w(n)??r}),c.push(...y(e,A(u,a,s),r,T))}return c}function De(e){let{bounds:n,shape:r,ink:i}=e,a=t(r.value??.3),o=n.width/2,s=y(e,u(n.x,n.y,n.width,n.height,o),b,T),c=Math.max(n.width*1.5,n.height*.32),l=n.y+a*(n.height-c);return s.push({kind:`rect`,x:n.x,y:l,width:n.width,height:c,rx:o,fill:w(r)??i}),s.push(...y(e,u(n.x,l,n.width,c,o),i,T)),s}var Oe={button:le,input:k,search:ue,checkbox:de,radio:fe,toggle:pe,dropdown:me,slider:he,avatar:ge,heading:_e,paragraph:be,divider:xe,link:j,textarea:M,stepper:Se,badge:Ce,progress:Te,rating:Ee,scrollbar:De,stepbadge:we},P=`rectangle.ellipse.circle.diamond.cylinder.queue.callout.hexagon.parallelogram.trapezoid.triangle.cloud.star.speech-bubble.note.sticky.checkbox.crossbox.heart.arrow-up.arrow-down.arrow-left.arrow-right.plus.bolt.document.predefined-process.manual-input.pentagon.chevron.octagon.cube.actor.double-circle.card.delay.fork-join.multi-document.multi-process.package.component.brace`.split(`.`),ke=[`browser`,`phone`,`window`,`tablet`],Ae={architecture:`architecture`,graph:`architecture`,flowchart:`flowchart`,flow:`flowchart`,bpmn:`bpmn`,orgchart:`orgchart`,org:`orgchart`,statemachine:`statemachine`,state:`statemachine`,fsm:`statemachine`,sequence:`sequence`,erd:`erd`,class:`erd`,uml:`erd`,wireframe:`wireframe`},je=[`architecture`,`flowchart`,`bpmn`,`orgchart`,`statemachine`,`sequence`,`erd`,`wireframe`],F=[`blue`,`green`,`red`,`orange`,`violet`,`teal`,`pink`,`yellow`,`gray`];function I(e){return Object.fromEntries(e.map(e=>[e,e]))}var Me={...I(F),grey:`gray`,purple:`violet`},Ne={...I(P),box:`rectangle`,oval:`ellipse`,decision:`diamond`,database:`cylinder`,db:`cylinder`,storage:`cylinder`,process:`rectangle`,terminator:`ellipse`,start:`ellipse`,end:`ellipse`,data:`parallelogram`,io:`parallelogram`,prep:`hexagon`,preparation:`hexagon`,crossedbox:`crossbox`,lightning:`bolt`,cross:`plus`,doc:`document`,subroutine:`predefined-process`,offpage:`pentagon`,"off-page":`pentagon`,stop:`octagon`,box3d:`cube`,person:`actor`,activity:`rectangle`,event:`ellipse`,gateway:`diamond`,doublecircle:`double-circle`,ring:`double-circle`,"notched-rectangle":`card`,fork:`fork-join`,join:`fork-join`,"stacked-document":`multi-document`,documents:`multi-document`,"stacked-rectangle":`multi-process`,processes:`multi-process`},Pe={app:`app-window`,money:`banknote`};function Fe(e){let t=e.replace(`/`,`:`),n=/^(tech|aws|gcp|azure)-(.+)$/.exec(t);return n?`${n[1]}:${n[2]}`:Pe[t]??t}var Ie=[`pastel`,`bold`,`outline`],Le=[`sharp`,`rounded`],Re=[`arrow`,`circle`,`cross`],ze=[`right`,`down`,`left`,`up`],Be=[`loop`,`alt`,`opt`,`par`,`break`],Ve=[`public`,`private`,`protected`,`package`],He={public:`+`,private:`-`,protected:`#`,package:`~`},Ue=[`zeroOrOne`,`one`,`zeroOrMany`,`oneOrMany`],We=[`inheritance`,`realization`,`composition`,`aggregation`,`dependency`,`association`];function Ge(e){if(e.fromCard||e.toCard)return{from:e.fromCard??`one`,to:e.toCard??`one`};switch(e.cardinality){case`1:1`:return{from:`one`,to:`one`};case`1:N`:return{from:`one`,to:`oneOrMany`};case`N:M`:return{from:`oneOrMany`,to:`oneOrMany`};default:return null}}var Ke=[`full`,`twoThirds`,`half`,`third`],L=[`info`,`success`,`warning`,`error`],qe=[`timeline`,`journey`,`cycle`,`funnel`,`pyramid`,`venn`,`matrix`],Je={min:0,max:5,default:3},Ye=[`normal`,`reverse`,`highlight`],Xe=[`done`,`active`,`critical`,`milestone`];function Ze(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=t.y+t.height,o=y(e,u(t.x,t.y,t.width,t.height,4),r);return o.push(...y(e,x(t.x,t.y,i,a),r,T)),o.push(...y(e,x(i,t.y,t.x,a),r,T)),n.label&&o.push(E(e,t.x+t.width/2,t.y+t.height/2+Math.min(t.height*.25,n.fontSize*1.4),n.label,b,{size:n.fontSize*.8,anchor:`middle`})),o}var R=`Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`,z=1.3;function B(e,t){return Math.min(e.height*.5,Math.max(0,e.height-t*4))}function V(e){let t=h(e),n=e.fontSize,r=e.fontSize*.85,i=t.x+12,a=t.width-24,o=t.y+B(t,e.fontSize)+8,s=t.y+t.height-6,c=n*z,l=Math.max(1,e.label.trim()?D(e.label.trim(),a,n).length:1),u=Math.min(l*c,s-o),d=Math.min(o+u+4,s);return{title:{field:`label`,x:i,y:o,width:a,height:u,fontSize:n},body:{field:`body`,x:i,y:d,width:a,height:Math.max(r,s-d),fontSize:r}}}function H(e,t,n,r){let i=n.trim();if(!i)return[];let a=t.fontSize*z,o=Math.max(1,Math.floor(t.height/a));return D(i,t.width,t.fontSize).slice(0,o).map((n,i)=>E(e,t.x,t.y+a*i+2,n,r,{size:t.fontSize,baseline:`hanging`,testId:t.field===`body`?`card-body`:`card-title`}))}function Qe(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=t.y+B(t,n.fontSize),o=v(e,10);o.push(...y(e,x(t.x,a,i,a),r,T)),o.push(...y(e,x(t.x,t.y,i,a),b,T)),o.push(...y(e,x(i,t.y,t.x,a),b,T));let s=V(n);return o.push(...H(e,s.title,n.label,r)),o.push(...H(e,s.body,n.body??``,b)),o}function $e(e){let{bounds:t,shape:n,ink:r}=e,i=S(n.label),a=v(e,6);if(i.length===0)return a;let o=t.height/i.length;return i.forEach((n,s)=>{let c=t.y+o*s,l=c+o/2,u=t.x+12;a.push({kind:`circle`,cx:u,cy:l,r:2.4,fill:b}),a.push(E(e,u+12,l,n,r)),s<i.length-1&&a.push(...y(e,x(t.x,c+o,t.x+t.width,c+o),b,1))}),a}var et={info:{label:`Info`,tint:`#e7f5ff`,ink:`#1971c2`},success:{label:`Success`,tint:`#ebfbee`,ink:`#2f9e44`},warning:{label:`Warning`,tint:`#fff9db`,ink:`#f08c00`},error:{label:`Error`,tint:`#fff5f5`,ink:`#e03131`}},U=L.map(e=>({key:e,...et[e]}));function tt(e){return U[Math.max(0,Math.min(U.length-1,Math.round(e.value??0)))]}function nt(e,t,n,i,a,o){let s=[];return t===`warning`?s.push(...y(e,`M ${n} ${i-a} L ${n+a} ${i+a*.85} L ${n-a} ${i+a*.85} Z`,o,T)):s.push(...y(e,r(n,i,a),o,T)),t===`success`?(s.push(...y(e,`M ${n-a*.45} ${i} L ${n-a*.1} ${i+a*.4} L ${n+a*.5} ${i-a*.4}`,o,2)),s):t===`info`?(s.push({kind:`circle`,cx:n,cy:i-a*.45,r:1.5,fill:o}),s.push(...y(e,x(n,i-a*.1,n,i+a*.5),o,2)),s):t===`warning`?(s.push(...y(e,x(n,i-a*.08,n,i+a*.28),o,2)),s.push({kind:`circle`,cx:n,cy:i+a*.5,r:1.4,fill:o}),s):(s.push(...y(e,x(n,i-a*.42,n,i+a*.12),o,2)),s.push({kind:`circle`,cx:n,cy:i+a*.42,r:1.4,fill:o}),s)}function rt(e){let{bounds:t,shape:n}=e,r=tt(n),i=t.y+t.height/2,a=[{kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:8,fill:r.tint}];a.push(...y(e,u(t.x,t.y,t.width,t.height,8),r.ink));let o=ie(t),s=t.x+o+12;if(a.push(...nt(e,r.key,s,i,o,r.ink)),n.label){let o=t.x+se(t);a.push(E(e,o,i,n.label,r.ink,{size:n.fontSize*.92}))}return a}function it(e){let{bounds:t,shape:n,ink:r}=e,i=S(n.label),a=v(e,8);if(i.length===0)return a;let o=t.height/i.length,s=_(n,i.length);return i.forEach((n,i)=>{let c=t.y+o*i,l=c+o/2;i===s&&a.push({kind:`rect`,x:t.x+4,y:c+3,width:t.width-8,height:o-6,rx:5,fill:C}),a.push(E(e,t.x+12,l,n,r))}),a}function at(t){let{bounds:n,shape:r,ink:i}=t,a=n.height-8,o=n.x+n.width/2,s=[],c=w(r),l=n.x,u=n.x+n.width,d=n.y,f=n.y+a,p=Math.min(6,a/2,n.width/2),m=`M ${l+p} ${d} H ${u-p} Q ${u} ${d} ${u} ${d+p} V ${f-p} Q ${u} ${f} ${u-p} ${f} H ${o+8} L ${o} ${f+8} L ${o-8} ${f} H ${l+p} Q ${l} ${f} ${l} ${f-p} V ${d+p} Q ${l} ${d} ${l+p} ${d} Z`;if(c&&(s.push({kind:`rect`,x:l,y:d,width:n.width,height:a,rx:p,fill:c}),s.push({kind:`path`,d:`M ${o-8} ${f} L ${o} ${f+8} L ${o+8} ${f} Z`,fill:c,stroke:`none`})),s.push(...y(t,m,i)),r.label){let l=c?e(c):i;s.push(E(t,o,n.y+a/2,r.label,l,{anchor:`middle`,size:r.fontSize*.9}))}return s}function ot(e){let{bounds:t,shape:n,ink:r}=e,i=S(n.label),a=v(e,8);if(i.length===0)return a;let o=_(n,i.length),s=Math.min(38,t.height/i.length),c=Math.max(0,t.height-s*i.length),l=t.x+t.width,u=t.y;return i.forEach((d,f)=>{let p=u+s/2,m=l-20,h=f===o,g=h?`M ${m-5} ${p-3} L ${m} ${p+3} L ${m+5} ${p-3}`:`M ${m-3} ${p-5} L ${m+3} ${p} L ${m-3} ${p+5}`;if(a.push(E(e,t.x+12,p,d,r)),a.push(...y(e,g,b,T)),u+=s,h&&c>0){let r=Math.max(1,Math.floor(c/(n.fontSize*1.4)));for(let i=0;i<r;i+=1){let o=u+n.fontSize*1.4*(i+.6);if(o>u+c)break;let s=i===r-1?.6:.92;a.push(...y(e,x(t.x+12,o,t.x+t.width*s,o),b,1))}u+=c}f<i.length-1&&a.push(...y(e,x(t.x,u,l,u),b,1))}),a}var st=`Are you sure you want to continue?`;function W(e){return Math.min(46,e.height*.24)}function G(e){return Math.min(56,e.height*.28)}function K(e){let t=e.x+e.width,n=e.y+e.height,r=G(e),i=n-r,a=Math.min(34,r-14),o=i+(r-a)/2,s=Math.min(88,(e.width-24-10)/2);if(s<=24)return null;let c=t-12-s;return{secondary:{x:c-10-s,y:o,width:s,height:a},primary:{x:c,y:o,width:s,height:a}}}function q(e){return e.primaryLabel??`OK`}function J(e){return e.secondaryLabel??`Cancel`}function ct(t){let{bounds:n,shape:r,ink:i}=t,a=n.x+n.width,o=n.y+n.height,s=W(n),l=o-G(n),d=v(t,12);r.label&&d.push(E(t,n.x+12,n.y+s/2,r.label,i,{testId:`card-title`}));let f=a-12-4,p=n.y+s/2;d.push(...y(t,x(f-5,p-5,f+5,p+5),b,T)),d.push(...y(t,x(f+5,p-5,f-5,p+5),b,T)),d.push(...y(t,x(n.x,n.y+s,a,n.y+s),b,1));let m=r.body??``;if(m){let e=r.fontSize*.92,a=e*1.4,o=n.y+s+10,c=D(m,n.width-24,e),u=Math.max(1,Math.floor((l-o)/a));c.slice(0,u).forEach((r,s)=>d.push(E(t,n.x+12,o+a*(s+.5),r,i,{size:e,testId:`card-body`})))}d.push(...y(t,x(n.x,l,a,l),b,1));let h=K(n);if(h){let{secondary:n,primary:a}=h,o=r.fontSize*.82,s=c(i)??e(i);d.push({kind:`rect`,x:a.x,y:a.y,width:a.width,height:a.height,rx:8,fill:i}),d.push(...y(t,u(a.x,a.y,a.width,a.height,8),i)),d.push(...y(t,u(n.x,n.y,n.width,n.height,8),i));let l=q(r),f=J(r);l&&d.push(E(t,a.x+a.width/2,a.y+a.height/2,l,s,{anchor:`middle`,size:o,testId:`modal-primary`})),f&&d.push(E(t,n.x+n.width/2,n.y+n.height/2,f,i,{anchor:`middle`,size:o,testId:`modal-secondary`}))}return d}var lt={image:Ze,card:Qe,list:$e,alert:rt,menu:it,tooltip:at,accordion:ot,modal:ct};function ut(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=y(e,u(t.x,t.y,t.width,t.height,8),r),o=S(n.label),s=_(n,o.length);return o.forEach((n,c)=>{let l=t.x+t.width*(c+.5)/o.length;a.push(E(e,l,i,n,c===s?r:b,{anchor:`middle`}))}),a}var dt=14;function ft(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=t.y+t.height-1,o=[{kind:`line`,x1:t.x,y1:a,x2:t.x+t.width,y2:a,stroke:b,width:1}],s=S(n.label);if(s.length>0){let c=_(n,s.length),l=n.fontSize*.55,u=t.x;s.forEach((t,n)=>{let s=t.length*l+dt*2;n===c&&o.push(...y(e,x(u+4,a,u+s-4,a),r,2.5)),o.push(E(e,u+s/2,i,t,n===c?r:b,{anchor:`middle`})),u+=s})}return o}function pt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=S(n.label),o=n.fontSize*.4,s=[],c=t.x;return a.forEach((t,n)=>{let l=n===a.length-1;s.push(E(e,c,i,t,l?r:b,{anchor:`start`})),c+=m(e,t),l||(c+=o,s.push(E(e,c,i,`/`,b,{anchor:`start`})),c+=m(e,`/`)+o)}),s}function mt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=S(n.label),o=t.height*.5,s=[],c=t.x+o*.5;s.push(...y(e,`M ${c+3} ${i-5} L ${c-3} ${i} L ${c+3} ${i+5}`,b,T));let l=t.x+t.width-o*.5;if(s.push(...y(e,`M ${l-3} ${i-5} L ${l+3} ${i} L ${l-3} ${i+5}`,b,T)),a.length>0){let c={x:t.x+o,width:t.width-o*2},l=c.width/a.length,d=_(n,a.length),f=Math.min(t.height,l)*.82;a.forEach((t,a)=>{let o=c.x+l*(a+.5);a===d&&s.push(...y(e,u(o-f/2,i-f/2,f,f,5),r,T)),s.push(E(e,o,i,t,a===d?r:b,{anchor:`middle`,size:n.fontSize*.85}))})}return s}function ht(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=Math.min(34,t.height*.2),o=y(e,u(t.x,t.y,t.width,t.height,8),r),s=t.y+a/2;o.push(...y(e,`M ${t.x+18} ${s-4} L ${t.x+12} ${s} L ${t.x+18} ${s+4}`,b,T)),o.push(...y(e,`M ${i-18} ${s-4} L ${i-12} ${s} L ${i-18} ${s+4}`,b,T)),o.push(E(e,t.x+t.width/2,s,n.label||`Month`,b,{anchor:`middle`,size:n.fontSize*.85})),o.push(...y(e,x(t.x,t.y+a,i,t.y+a),b,1));let c=t.y+a+8,l=t.y+t.height-c-8,d=t.width/7,f=l/5,p=Math.min(d,f)*.16,m=Math.round((n.value??.4)*34);for(let e=0;e<5;e+=1)for(let i=0;i<7;i+=1){let a=t.x+d*(i+.5),s=c+f*(e+.5);e*7+i===m?o.push({kind:`circle`,cx:a,cy:s,r:p*1.8,fill:w(n)??r}):o.push({kind:`circle`,cx:a,cy:s,r:p,fill:b})}return o}function gt(e){let{bounds:t,shape:n,ink:r}=e,i=S(n.label),a=v(e,8);if(i.length===0)return a;let o=t.y+12,s=Math.min(40,(t.height-24)/i.length),c=_(n,i.length);return i.forEach((i,l)=>{let u=o+s*l,d=u+s/2;l===c&&a.push({kind:`rect`,x:t.x+6,y:u+3,width:t.width-12,height:s-6,rx:6,fill:C});let f=t.x+12+2;a.push({kind:`circle`,cx:f,cy:d,r:3,fill:l===c?r:b}),a.push(E(e,f+14,d,i,l===c?r:b,{size:n.fontSize*.9}))}),a}function Y(t){let{bounds:n,shape:r,ink:i}=t,a=S(r.label),o=Math.max(a.length,1),s=n.width/o,c=Math.min(8,n.height/2),l=n.y+n.height/2,d=_(r,a.length),f=w(r)??`#4dabf7`,p=[];a.length>0&&p.push({kind:`rect`,x:n.x+d*s,y:n.y,width:s,height:n.height,rx:d===0||d===o-1?c:0,fill:f}),p.push(...y(t,u(n.x,n.y,n.width,n.height,c),i));for(let e=1;e<o;e+=1){let r=n.x+e*s;p.push(...y(t,x(r,n.y,r,n.y+n.height),i,T))}return a.forEach((r,i)=>{let a=n.x+(i+.5)*s,o=i===d?e(f):b;p.push(E(t,a,l,r,o,{anchor:`middle`}))}),p}function _t(e){let{bounds:t,shape:n,ink:i}=e,a=S(n.label),o=Math.max(a.length,1),s=t.width/o,c=_(n,a.length),l=y(e,x(t.x,t.y,t.x+t.width,t.y),b,T),u=Math.min(8,t.height*.18),d=t.y+t.height*.4;return a.forEach((a,o)=>{let f=t.x+(o+.5)*s,p=o===c?i:b;l.push(...y(e,r(f,d,u),p,T)),l.push(E(e,f,t.y+t.height*.8,a,p,{anchor:`middle`,size:n.fontSize*.78}))}),l}function vt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=n.label&&n.label.length>0?n.label:`9:41`,o=[E(e,t.x+8,i,a,r,{size:n.fontSize*g})],s=t.x+t.width-8,c=Math.min(11,t.height*.5),l=c*2,d=s-l-2,f=i-c/2;o.push(...y(e,u(d,f,l,c,2),r,T)),o.push({kind:`rect`,x:d+l+1.5,y:i-c*.2,width:2,height:c*.4,fill:r}),o.push({kind:`rect`,x:d+1.5,y:f+1.5,width:(l-3)*.6,height:c-3,fill:r});let p=i+5,m=d-30;for(let e=0;e<4;e+=1){let t=3+e*2.2;o.push({kind:`rect`,x:m,y:p-t,width:3,height:t,fill:r}),m+=5}return o}function yt(t){let{bounds:n,shape:i,ink:a}=t,o=n.x+n.width/2,s=n.y+n.height/2,c=Math.min(n.width,n.height)/2-2,l=w(i),u=[];l&&u.push({kind:`circle`,cx:o,cy:s,r:c,fill:l}),u.push(...y(t,r(o,s,c),a));let d=c*.42,f=l?e(l):a;return u.push(...y(t,x(o-d,s,o+d,s),f,2.5)),u.push(...y(t,x(o,s-d,o,s+d),f,2.5)),u}var bt={navbar:ut,tabs:ft,breadcrumbs:pt,pagination:mt,datepicker:ht,sidebar:gt,segmented:Y,tabbar:_t,statusbar:vt,fab:yt},X=`#1e1e1e`,xt={...Oe,...bt,...lt,...a};function St(e,t){let n=h(e),r=0,i={shape:e,bounds:n,ink:p(e.color===`transparent`?X:e.color),text:t,nextSalt:()=>(r+=1,r)};return xt[e.kind](i)}var Z={button:{width:140,height:46},input:{width:220,height:46},search:{width:220,height:46},checkbox:{width:160,height:32},radio:{width:160,height:32},toggle:{width:140,height:36},dropdown:{width:200,height:46},slider:{width:220,height:42},navbar:{width:360,height:52},tabs:{width:320,height:46},image:{width:240,height:160},avatar:{width:72,height:72},heading:{width:240,height:46},paragraph:{width:280,height:84},divider:{width:240,height:16},link:{width:120,height:28},textarea:{width:240,height:110},stepper:{width:140,height:46},badge:{width:76,height:28},progress:{width:240,height:16},breadcrumbs:{width:280,height:32},pagination:{width:240,height:40},rating:{width:150,height:32},card:{width:240,height:200},list:{width:240,height:150},alert:{width:320,height:56},menu:{width:200,height:150},tooltip:{width:160,height:48},accordion:{width:280,height:170},datepicker:{width:240,height:220},sidebar:{width:180,height:280},scrollbar:{width:14,height:220},segmented:{width:240,height:36},tabbar:{width:360,height:56},statusbar:{width:320,height:28},fab:{width:56,height:56},modal:{width:320,height:210},stepbadge:{width:44,height:44},entity:{width:200,height:176},lifeline:{width:150,height:300},fragment:{width:300,height:180}},Q={button:`Button`,input:`Type here…`,search:`Search…`,dropdown:`Select…`,heading:`Heading`,navbar:`Home | About | Contact`,tabs:`First | Second`,checkbox:`Checkbox`,radio:`Option`,toggle:`Toggle`,link:`Link text`,badge:`New`,breadcrumbs:`Home | Library | Item`,pagination:`1 | 2 | 3 | 4`,card:`Card title`,list:`Item one | Item two | Item three`,alert:`Heads up. Something needs attention.`,menu:`New | Open | Save | Close`,tooltip:`Tooltip text`,accordion:`Section one | Section two | Section three`,sidebar:`Dashboard | Projects | Team | Settings`,segmented:`Day | Week | Month`,tabbar:`Home | Search | Profile`,statusbar:`9:41`,modal:`Dialog title`,stepbadge:`1`,entity:`User`,lifeline:`Participant`,fragment:`opt`},$={button:{resize:`free`,fill:!0,font:!0,label:!0},input:{resize:`width`,fill:!1,font:!0,label:!0},search:{resize:`width`,fill:!1,font:!0,label:!0},checkbox:{resize:`width`,fill:!1,font:!0,label:!0,value:`toggle`},radio:{resize:`width`,fill:!1,font:!0,label:!0,value:`toggle`},toggle:{resize:`width`,fill:!0,font:!0,label:!0,value:`toggle`},dropdown:{resize:`width`,fill:!1,font:!0,label:!0},slider:{resize:`width`,fill:!1,font:!0,label:!0,value:`range`},navbar:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},tabs:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},image:{resize:`free`,fill:!1,font:!0,label:!0},avatar:{resize:`aspect`,fill:!1,font:!1,label:!1},heading:{resize:`free`,fill:!1,font:!0,label:!0},paragraph:{resize:`free`,fill:!1,font:!0,label:!0},divider:{resize:`width`,fill:!1,font:!1,label:!1},link:{resize:`width`,fill:!1,font:!0,label:!0},textarea:{resize:`free`,fill:!1,font:!0,label:!0},stepper:{resize:`width`,fill:!1,font:!0,label:!0},badge:{resize:`width`,fill:!0,font:!0,label:!0},progress:{resize:`width`,fill:!0,font:!1,label:!1,value:`range`},breadcrumbs:{resize:`width`,fill:!1,font:!0,label:!0},pagination:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},rating:{resize:`width`,fill:!0,font:!1,label:!1,value:`stars`},card:{resize:`free`,fill:!0,font:!0,label:!0},list:{resize:`free`,fill:!0,font:!0,label:!0},alert:{resize:`width`,fill:!1,font:!0,label:!0,value:`alert`},menu:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},tooltip:{resize:`width`,fill:!0,font:!0,label:!0},accordion:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},datepicker:{resize:`free`,fill:!1,font:!1,label:!1},sidebar:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},scrollbar:{resize:`height`,fill:!0,font:!1,label:!1,value:`range`},segmented:{resize:`width`,fill:!0,font:!0,label:!0,value:`index`},tabbar:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},statusbar:{resize:`width`,fill:!1,font:!0,label:!0},fab:{resize:`aspect`,fill:!0,font:!1,label:!1},modal:{resize:`free`,fill:!0,font:!0,label:!0},stepbadge:{resize:`aspect`,fill:!0,font:!0,label:!0},entity:{resize:`free`,fill:!0,font:!0,label:!0},lifeline:{resize:`free`,fill:!0,font:!0,label:!0,value:`activation`},fragment:{resize:`free`,fill:!0,font:!0,label:!0,value:`operator`}};function Ct(e){return $[e].label}function wt(e,t,n){let r=Z[e];return{id:i(),type:`control`,kind:e,x:t.x,y:t.y,width:r.width,height:r.height,rotation:0,label:Q[e]??``,...e===`card`?{body:R}:{},...e===`modal`?{body:st}:{},...e===`entity`?{body:d}:{},...e===`fragment`?{fill:l}:{},...e===`stepbadge`?{fill:N}:{},fontSize:16,fontFamily:n.fontFamily,color:n.color===`transparent`?X:n.color,opacity:n.opacity,value:Tt(e)}}function Tt(e){if(e===`toggle`||e===`checkbox`||e===`radio`)return 1;if(e===`slider`||e===`progress`)return .6;if(e===`scrollbar`)return .3;if(e===`rating`)return 3;if(e===`alert`||e===`navbar`||e===`tabs`||e===`pagination`||e===`menu`||e===`accordion`||e===`sidebar`||e===`segmented`||e===`tabbar`)return 0}export{Le as A,Xe as C,Je as D,qe as E,He as F,Ve as I,Ge as L,P as M,Ne as N,F as O,Be as P,Fe as R,Ae as S,ke as T,We as _,Ct as a,Re as b,R as c,G as d,W as f,je as g,L as h,St as i,Ie as j,Me as k,V as l,J as m,Q as n,wt as o,q as p,Z as r,U as s,$ as t,K as u,Ke as v,Ye as w,Ue as x,ze as y,N as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t}from"./jsx-runtime-2Zwg-L3c.js";var n=e(t(),1),r=(0,n.createContext)(null),i=r.Provider;function a(){let e=(0,n.useContext)(r);if(!e)throw Error(`useRendererEnvironment must be used within a <Canvas>`);return e}export{a as n,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-2Zwg-L3c.js";import{o as r,s as i}from"./editor-B0tARd79.js";import{H as a,J as o,K as s,Q as c,W as l}from"./style-BENGW2ZV.js";import{C as u,Kr as d,Ur as f,an as p,in as m,mn as h,sn as ee,w as g}from"./slides-D9bnXqtf.js";import{n as te}from"./renderer-environment-DmWXvuT4.js";import{r as ne,s as re,t as ie}from"./IconHelp-DKNacRqS.js";import{t as ae}from"./editable-target-BTLnvKNi.js";import{t as _}from"./createReactComponent-9UsI5fmM.js";import{n as oe,r as se,t as ce}from"./IconTrash-DbN_RxB7.js";import{t as le}from"./IconArrowLeft-DFk3Krim.js";import{n as v,t as ue}from"./IconPlayerStopFilled-BUbX6ZO5.js";import{t as y}from"./IconEraser-DlZQe3-r.js";import{t as de}from"./IconFocusCentered-C5PcDeR0.js";import{t as fe}from"./IconPencil-C5Y-Y4dC.js";import{t as pe}from"./IconX-AlbPkO_g.js";import{t as me}from"./IconPlayerPlayFilled-D4OODBX7.js";import{t as he}from"./storage-CvDRYh5V.js";import{s as b}from"./chrome-C2RCq3SI.js";import{i as ge,n as x,r as S,t as C}from"./DialogRoot-mHGRFW9m.js";import{n as w,t as _e}from"./DialogTitle-CFhr-gP9.js";import{t as T}from"./DialogDescription-ZtZCUsfy.js";import{n as ve}from"./connector-labels-vVnYQJRz.js";var ye=_(`outline`,`volume-off`,`VolumeOff`,[[`path`,{d:`M15 8a5 5 0 0 1 1.912 4.934m-1.377 2.602a5 5 0 0 1 -.535 .464`,key:`svg-0`}],[`path`,{d:`M17.7 5a9 9 0 0 1 2.362 11.086m-1.676 2.299a9 9 0 0 1 -.686 .615`,key:`svg-1`}],[`path`,{d:`M9.069 5.054l.431 -.554a.8 .8 0 0 1 1.5 .5v2m0 4v8a.8 .8 0 0 1 -1.5 .5l-3.5 -4.5h-2a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h2l1.294 -1.664`,key:`svg-2`}],[`path`,{d:`M3 3l18 18`,key:`svg-3`}]]),be=_(`outline`,`volume`,`Volume`,[[`path`,{d:`M15 8a5 5 0 0 1 0 8`,key:`svg-0`}],[`path`,{d:`M17.7 5a9 9 0 0 1 0 14`,key:`svg-1`}],[`path`,{d:`M6 15h-2a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h2l3.5 -4.5a.8 .8 0 0 1 1.5 .5v14a.8 .8 0 0 1 -1.5 .5l-3.5 -4.5`,key:`svg-2`}]]),E=e(t(),1),D=200,xe=24,O=48,k=new Set([`ellipse`,`oval`,`double-circle`,`delay`]);function A(e,t){return`${e}:${t}`}function Se(e){if(e.bendStyle===`elbow`)return d(e);let t={x:e.x,y:e.y},n={x:e.x2,y:e.y2};if(Math.abs(e.bend)<.5)return[t,n];let r=f(e),i={x:2*r.x-(t.x+n.x)/2,y:2*r.y-(t.y+n.y)/2},a=[];for(let e=0;e<=xe;e++){let r=e/xe,o=1-r;a.push({x:o*o*t.x+2*o*r*i.x+r*r*n.x,y:o*o*t.y+2*o*r*i.y+r*r*n.y})}return a}function j(e,t){let{x:n,y:r,width:i,height:a}=t,o=e.type===`rectangle`?e.kind:null;if(o&&k.has(o)){let e=[];for(let t=0;t<=O;t++){let o=t/O*Math.PI*2;e.push({x:n+i/2+Math.cos(o)*i/2,y:r+a/2+Math.sin(o)*a/2})}return e}return o===`diamond`?[{x:n+i/2,y:r},{x:n+i,y:r+a/2},{x:n+i/2,y:r+a},{x:n,y:r+a/2},{x:n+i/2,y:r}]:o===`triangle`?[{x:n+i/2,y:r},{x:n+i,y:r+a},{x:n,y:r+a},{x:n+i/2,y:r}]:[{x:n,y:r},{x:n+i,y:r},{x:n+i,y:r+a},{x:n,y:r+a},{x:n,y:r}]}var Ce=6;function M(e){if(e.length<3)return e;let t=[e[0]];for(let n=1;n<e.length-1;n++){let r=t[t.length-1];Math.hypot(e[n].x-r.x,e[n].y-r.y)>=Ce&&t.push(e[n])}return t.push(e[e.length-1]),t}function we(e){if(e.type===`draw`)return[M(e.points)];if(e.type===`line`)return[e.points];if(e.type===`polygon`)return e.points.length>2?[[...e.points,e.points[0]]]:[];if(e.type===`arrow`)return[Se(e)];if(e.type===`text`||e.type===`figure`||!h(e)&&e.type!==`table`)return[];let t=p(e),n=j(e,t),r=ee(e);if(!r)return[n];let i={x:t.x+t.width/2,y:t.y+t.height/2},a=r*Math.PI/180;return[n.map(e=>m(e,i,a))]}function N(e,t){let n=Math.floor(Math.min(t.a.x,t.b.x)/D),r=Math.floor(Math.max(t.a.x,t.b.x)/D),i=Math.floor(Math.min(t.a.y,t.b.y)/D),a=Math.floor(Math.max(t.a.y,t.b.y)/D);for(let o=n;o<=r;o++)for(let n=i;n<=a;n++){let r=A(o,n),i=e.get(r);i?i.push(t):e.set(r,[t])}}function Te(e,t){for(let n=1;n<t.length;n++){let r=t[n-1],i=t[n];!Number.isFinite(r.x+r.y+i.x+i.y)||r.x===i.x&&r.y===i.y||(N(e.cells,{a:r,b:i}),e.bottom=Math.max(e.bottom,r.y,i.y),e.empty=!1)}}function Ee(e){return e.flatMap(we)}function De(e,t=[]){let n={cells:new Map,bottom:-1/0,empty:!0};for(let t of e)Te(n,t);for(let e of t)Te(n,M(e));return n}function P(e,t,n){let r=Math.floor((t.x-n)/D),i=Math.floor((t.x+n)/D),a=Math.floor((t.y-n)/D),o=Math.floor((t.y+n)/D),s=[];for(let t=r;t<=i;t++)for(let n=a;n<=o;n++){let r=e.cells.get(A(t,n));r&&s.push(...r)}return s}function Oe(e,t){let n=Math.floor(t.x/D),r=Math.floor(e.bottom/D);for(let i=Math.floor(t.y/D);i<=r;i++)for(let{a:r,b:a}of e.cells.get(A(n,i))??[]){let e=Math.min(r.x,a.x),n=Math.max(r.x,a.x);if(t.x<e||t.x>n)continue;let i=n===e?0:(t.x-r.x)/(a.x-r.x);if(Math.max(r.y,a.y)>=t.y&&r.y+(a.y-r.y)*i>=t.y)return!0}return!1}var ke=1500,F={x:8,y:-40},Ae={x:11,y:-29},I=7,L=.1,je=.02,R=5e3,Me=32,Ne=1300,Pe=1100,Fe=650,z=7,B=10,V=1,H=.15,U=2.5,Ie=3,Le=8,Re=1.2,ze=1700,Be=2400,Ve=.2,He=620,Ue=.15,We=1.4,Ge=700,Ke=4e3,qe=160,Je={left:!1,right:!1,boost:!1,duck:!1};function Ye(e,t){return{position:{...e},velocity:{...t},grounded:!1,normal:null}}function Xe(e,t){return{...Ye(e,t),spin:0}}function Ze(e){let t={x:0,y:0};return{left:Xe({x:e.x-23,y:e.y},t),right:Xe({x:e.x+23,y:e.y},t),facing:1,ducking:!1,rider:null,crashedFor:0,jumpBuffer:0,outcome:`riding`,distance:0,topSpeed:0,air:0,longestAir:0,angle:0,airTurn:0,groundTurn:0,leanLock:0,wasGrounded:!1,touchedDown:!1,lastGroundY:e.y,startY:e.y,trail:[{...e}],events:[]}}function W(e){return Math.hypot(e.x,e.y)}function G(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function Qe(e){return G(e.left.position,e.right.position,.5)}function $e(e){return W(G(e.left.velocity,e.right.velocity,.5))}function et(e,t,n){let r=G(e,t,.5),i=Math.atan2(t.y-e.y,t.x-e.x),a=Math.cos(i),o=Math.sin(i);return{x:r.x+n.x*a-n.y*o,y:r.y+n.x*o+n.y*a}}function tt(e,t){let{position:n,velocity:r}=e;r.y+=ke*t,r.x*=1-je*t,r.y*=1-je*t;let i=W(r);i>R&&(r.x=r.x/i*R,r.y=r.y/i*R),n.x+=r.x*t,n.y+=r.y*t}function nt(e,t,n,r){let{position:i,velocity:a}=e,o=0,c=0;for(let e of P(t,i,n)){let t=s(i,e.a,e.b),r=i.x-t.x,l=i.y-t.y,u=Math.hypot(r,l);if(u>=n)continue;let d,f;if(u>1e-6)d=r/u,f=l/u;else{let t=e.b.x-e.a.x,n=e.b.y-e.a.y,r=Math.hypot(t,n);d=n/r,f=-t/r,f>0&&(d=-d,f=-f)}i.x+=d*(n-u),i.y+=f*(n-u);let p=a.x*d+a.y*f;p<0&&(a.x-=1.1*p*d,a.y-=1.1*p*f),o+=d,c+=f}let l=Math.hypot(o,c);e.grounded=l>0,e.normal=e.grounded?{x:o/l,y:c/l}:null,e.grounded&&(a.x*=1-L*r,a.y*=1-L*r)}function rt(e,t,n){return P(e,t,n).some(e=>o(s(t,e.a,e.b),t)<n)}function K(e,t){let n=t.position.x-e.position.x,r=t.position.y-e.position.y,i=Math.hypot(n,r)||1;return{x:n/i,y:r/i}}function it(e,t){let n=t.position.x-e.position.x,r=t.position.y-e.position.y,i=Math.hypot(n,r)||1,a=n/i,o=r/i,s=(i-46)/2;e.position.x+=a*s,e.position.y+=o*s,t.position.x-=a*s,t.position.y-=o*s;let c=(t.velocity.x-e.velocity.x)*a+(t.velocity.y-e.velocity.y)*o;t.velocity.x-=a*c*.5,t.velocity.y-=o*c*.5,e.velocity.x+=a*c*.5,e.velocity.y+=o*c*.5}function at(e,t,n){let{left:r,right:i}=e,a=K(r,i),o=!!t.right-+!!t.left,s=r.grounded||i.grounded;o!==0&&s&&(e.facing=o>0?1:-1);let c={x:a.x*e.facing,y:a.y*e.facing};if(o!==0&&s)for(let e of[r,i]){if(!e.normal)continue;let t=-e.normal.y,r=e.normal.x;t*c.x+r*c.y<0&&(t=-t,r=-r),e.velocity.x*t+e.velocity.y*r<Pe&&(e.velocity.x+=t*Ne*n,e.velocity.y+=r*Ne*n)}if(o!==0&&!s&&(r.velocity.x+i.velocity.x)/2*o<Pe)for(let e of[r,i])e.velocity.x+=o*Fe*n;if(t.boost&&(r.velocity.x+i.velocity.x)/2*c.x+(r.velocity.y+i.velocity.y)/2*c.y<Be)for(let e of[r,i])e.velocity.x+=c.x*ze*n,e.velocity.y+=c.y*ze*n}function ot(e,t,n){return((t.velocity.x-e.velocity.x)*-n.y+(t.velocity.y-e.velocity.y)*n.x)/46}function st(e,t,n,r,i){let a=(i-r)*23;t.velocity.x+=-n.y*a,t.velocity.y+=n.x*a,e.velocity.x-=-n.y*a,e.velocity.y-=n.x*a}function ct(e,t){let{left:n,right:r}=e,i=K(n,r),a=ot(n,r,i),o=Math.atan2(i.y,i.x),s=l(-o*U,-3,Ie);st(n,r,i,a,Math.abs(o)>Re&&a*o>0?s:a+(s-a)*Math.min(1,Le*t))}function lt(e,t,n){let{left:r,right:i}=e,a=K(r,i),o=ot(r,i,a);st(r,i,a,o,o+(t*z-o)*Math.min(1,B*n))}function ut(e){let t=K(e.left,e.right);return Math.atan2(t.y,t.x)}function dt(e,t){let n=t-e;return n>Math.PI?n-=Math.PI*2:n<-Math.PI&&(n+=Math.PI*2),n}function ft(e,t=0){return Math.floor((Math.abs(e)+t)/(Math.PI*2))}function pt(e){e.outcome===`riding`&&(e.jumpBuffer=Ue)}function mt(e){let{left:t,right:n}=e;if(e.jumpBuffer<=0||!t.grounded&&!n.grounded)return;let r=K(t,n);for(let e of[t,n])e.velocity.x+=r.y*He,e.velocity.y-=r.x*He;e.jumpBuffer=0,e.events.push({kind:`jump`})}function ht(e,t,n,r){if(e.outcome===`fell`)return;let i=Math.max(W(e.left.velocity),W(e.right.velocity),e.rider?W(e.rider.velocity):0),a=Math.min(Me,Math.max(1,Math.ceil(i*r/(11*.4)))),s=r/a;for(let r=0;r<a;r++){let r=Qe(e);if(e.outcome===`riding`){e.ducking=n.duck,at(e,n,s);let t=!!n.right-+!!n.left,r=!e.left.grounded&&!e.right.grounded;r&&e.wasGrounded&&(e.leanLock=t),t!==e.leanLock&&(e.leanLock=0),e.wasGrounded=!r,e.touchedDown||=!r,r&&(t!==0&&e.leanLock===0&&e.touchedDown?lt(e,t,s):ct(e,s)),mt(e)}tt(e.left,s),tt(e.right,s),it(e.left,e.right),nt(e.left,t,11,s),nt(e.right,t,11,s);let i=K(e.left,e.right);for(let t of[e.left,e.right]){let e=t.velocity.x*i.x+t.velocity.y*i.y;t.spin+=e/11*s}let a=ut(e),c=dt(e.angle,a);if(e.angle=a,e.left.grounded||e.right.grounded?e.groundTurn+=c:(e.airTurn+=c,e.air<=H&&(e.groundTurn+=c)),e.outcome===`riding`){let t=Qe(e);e.distance+=o(r,t)}if(e.rider)tt(e.rider,s),nt(e.rider,t,I,s);else{let n=e.ducking?Ae:F,r=et(e.left.position,e.right.position,{x:n.x*e.facing,y:n.y});if(rt(t,r,I)){let t=G(e.left.velocity,e.right.velocity,.5);e.rider=Ye(r,{x:t.x,y:t.y-250}),e.outcome=`crashed`,e.events.push({kind:`crash`})}}}let c=Qe(e);if(e.outcome===`riding`&&(e.topSpeed=Math.max(e.topSpeed,$e(e))),e.left.grounded||e.right.grounded){if(e.outcome===`riding`){e.air>Ve&&e.events.push({kind:`land`,strength:Math.min(1,e.air/1.2),air:e.air});let t=ft(e.airTurn,V);if(t>0){let n=e.airTurn*e.facing>0?`frontflip`:`backflip`;e.events.push({kind:`trick`,trick:{kind:n,count:t}})}ft(e.groundTurn)>0&&(e.events.push({kind:`trick`,trick:{kind:`loop`}}),e.groundTurn-=Math.sign(e.groundTurn)*Math.PI*2)}e.air=0,e.airTurn=0,e.lastGroundY=c.y}else e.outcome===`riding`&&(e.air+=r,e.longestAir=Math.max(e.longestAir,e.air),e.air>H&&(e.groundTurn=0));e.outcome===`crashed`&&(e.crashedFor+=r),e.jumpBuffer=Math.max(0,e.jumpBuffer-r);let l=e.trail[e.trail.length-1];o(l,c)>6&&(e.trail.push(c),e.trail.length>qe&&e.trail.shift());let u=Math.max(t.bottom,e.startY)+Ke,d=c.y-e.lastGroundY>Ge&&!Oe(t,c);(c.y>u||d)&&(e.outcome=`fell`)}function gt(e){return e.outcome===`fell`||e.crashedFor>We}function q(e){return G(e.left,e.right,.5)}function _t(e){return{left:{x:e.x-23,y:e.y},right:{x:e.x+23,y:e.y},leftSpin:0,rightSpin:0,facing:1,ducking:!1,rider:null,riderSpin:0}}function vt(e){return{left:{...e.left.position},right:{...e.right.position},leftSpin:e.left.spin,rightSpin:e.right.spin,facing:e.facing,ducking:e.ducking,rider:e.rider?{...e.rider.position}:null,riderSpin:e.crashedFor*9}}function yt(e,t,n){return{left:G(e.left,t.left,n),right:G(e.right,t.right,n),leftSpin:e.leftSpin+(t.leftSpin-e.leftSpin)*n,rightSpin:e.rightSpin+(t.rightSpin-e.rightSpin)*n,facing:t.facing,ducking:t.ducking,rider:t.rider?G(e.rider??t.rider,t.rider,n):null,riderSpin:e.riderSpin+(t.riderSpin-e.riderSpin)*n}}var J=n(),bt=`#e03131`,xt=`#f76707`,Y=`var(--canvas-ink)`;function St(e){let{x:t,spin:n}=e;return(0,J.jsxs)(`g`,{transform:`translate(${t} 0) rotate(${n*180/Math.PI})`,children:[(0,J.jsx)(`circle`,{r:10,fill:`none`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`path`,{d:`M -9 0 L 9 0 M 0 -9 L 0 9`,stroke:Y,strokeWidth:1,opacity:.6})]})}function Ct(e){let{rearSpin:t,frontSpin:n,riding:r,boosting:i,ducking:a}=e,o={x:-3,y:2},s=t*.6,c=e=>({x:o.x+Math.cos(s+e)*6,y:o.y+Math.sin(s+e)*6}),l=c(0),u=c(Math.PI),d=a?{x:-7,y:-17}:{x:-7,y:-20},f=a?{x:6,y:-23}:{x:4,y:-34},p=a?Ae:F,m=a?`M 6 -24 L -7 -23 L -12 -19`:`M 5 -33 L -8 -31 L -13 -27`,h=e=>{let t={x:(d.x+e.x)/2+6,y:(d.y+e.y)/2-3};return`M ${d.x} ${d.y} L ${t.x} ${t.y} L ${e.x} ${e.y}`};return(0,J.jsxs)(`g`,{strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,children:[i&&(0,J.jsx)(`path`,{d:`M -30 -19 L ${-44-(Math.sin(t*7)+1)*5} -16 L -30 -13 Z`,fill:xt,stroke:xt,strokeWidth:1.5}),(0,J.jsx)(`rect`,{x:-30,y:-19,width:16,height:6,rx:3,fill:`var(--canvas-bg)`,stroke:Y,strokeWidth:2}),(0,J.jsx)(St,{x:-23,spin:t}),(0,J.jsx)(St,{x:23,spin:n}),r&&(0,J.jsx)(`path`,{d:h(u),stroke:Y,strokeWidth:2.5,opacity:.45}),(0,J.jsx)(`path`,{d:`M -23 0 L ${o.x} ${o.y} L 14 -16 L 23 0 M -23 0 L -8 -17 L ${o.x} ${o.y} M -12 -18 L -4 -18 M 14 -16 L 12 -23 L 18 -24`,stroke:Y,strokeWidth:2.5}),r&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`path`,{d:`${h(l)} M ${d.x} ${d.y} L ${f.x} ${f.y} L 16 -23`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`circle`,{cx:p.x,cy:p.y,r:6,fill:`var(--canvas-bg)`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`path`,{d:m,stroke:`#e03131`,strokeWidth:3})]})]})}function wt(){return(0,J.jsxs)(`g`,{strokeLinecap:`round`,fill:`none`,stroke:Y,strokeWidth:2.5,children:[(0,J.jsx)(`circle`,{r:6,fill:`var(--canvas-bg)`}),(0,J.jsx)(`path`,{d:`M 0 6 L 0 20 M 0 11 L -9 16 M 0 11 L 9 14 M 0 20 L -6 30 M 0 20 L 7 29`}),(0,J.jsx)(`path`,{d:`M -3 6 L -14 9`,stroke:bt,strokeWidth:3})]})}function Tt(e,t){let n=[e[0]];for(let r=1;r<e.length;r++){let i=e[r-1],a=e[r],s=Math.ceil(o(i,a)/t);for(let e=1;e<=s;e++){let t=e/s;n.push({x:i.x+(a.x-i.x)*t,y:i.y+(a.y-i.y)*t})}}return n}function Et(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{minX:t,minY:n,maxX:r,maxY:i}}function Dt(e,t,n,r){let i=[],a=!1;for(let o of e){let e=Et(o);if(!(Math.min(t.x,n.x)-r<=e.maxX&&Math.max(t.x,n.x)+r>=e.minX&&Math.min(t.y,n.y)-r<=e.maxY&&Math.max(t.y,n.y)+r>=e.minY)){i.push(o);continue}let s=[],l=!1;for(let e of Tt(o,r/2))c(e,t,n)<=r?(l=!0,s.length>1&&i.push(s),s=[]):s.push(e);if(!l){i.push(o);continue}a=!0,s.length>1&&i.push(s)}return a?i:e}function Ot(e,t){let n=e;for(let e of t)for(let t=0;t<e.points.length;t++)n=Dt(n,e.points[Math.max(0,t-1)],e.points[t],e.radius);return n}var kt=260,At=2.2,jt={smoke:-60,dust:500,spark:900};function X(e,t,n,r,i,a,o,s){for(let c=0;c<r;c++){let r=Math.random()*Math.PI*2,c=Math.random()*a;e.push({kind:t,x:n.x+(Math.random()-.5)*4,y:n.y+(Math.random()-.5)*4,vx:i.x+Math.cos(r)*c,vy:i.y+Math.sin(r)*c,age:0,life:o*(.6+Math.random()*.8),size:s*(.7+Math.random()*.6)})}e.length>kt&&e.splice(0,e.length-kt)}function Mt(e,t){let n=0;for(let r of e)r.age+=t,!(r.age>=r.life)&&(r.vx*=1-At*t,r.vy=r.vy*(1-At*t)+jt[r.kind]*t,r.x+=r.vx*t,r.y+=r.vy*t,e[n++]=r);e.length=n}var Z=.05;function Nt(e,t){let n=e.createBuffer(1,e.sampleRate*t,e.sampleRate),r=n.getChannelData(0);for(let e=0;e<r.length;e++)r[e]=Math.random()*2-1;return n}function Pt(e,t){let n=e.createBufferSource();return n.buffer=t,n.loop=!0,n.start(),n}function Ft(e){let t=typeof window>`u`?void 0:window.AudioContext??window.webkitAudioContext;if(!t)return null;let n=new t;n.resume().catch(()=>void 0);let r=n.createGain();r.gain.value=e?0:.6,r.connect(n.destination);let i=Nt(n,2),a=n.createBiquadFilter();a.type=`lowpass`,a.frequency.value=300;let o=n.createGain();o.gain.value=0,Pt(n,i).connect(a).connect(o).connect(r);let s=n.createOscillator();s.type=`sawtooth`,s.frequency.value=70;let c=n.createBiquadFilter();c.type=`lowpass`,c.frequency.value=700;let l=n.createGain();l.gain.value=0,s.connect(c).connect(l).connect(r),s.start();let u=n.createBiquadFilter();u.type=`bandpass`,u.frequency.value=1800,u.Q.value=.7;let d=n.createGain();d.gain.value=0,Pt(n,i).connect(u).connect(d).connect(r);let f=(e,t,i,a)=>{let o=n.currentTime,s=n.createOscillator();s.type=`sine`,s.frequency.setValueAtTime(e,o),s.frequency.exponentialRampToValueAtTime(t,o+a);let c=n.createGain();c.gain.setValueAtTime(i,o),c.gain.exponentialRampToValueAtTime(.001,o+a),s.connect(c).connect(r),s.start(o),s.stop(o+a)},p=(e,t,a)=>{let o=n.currentTime,s=n.createBufferSource();s.buffer=i;let c=n.createBiquadFilter();c.type=`lowpass`,c.frequency.value=e;let l=n.createGain();l.gain.setValueAtTime(t,o),l.gain.exponentialRampToValueAtTime(.001,o+a),s.connect(c).connect(l).connect(r),s.start(o),s.stop(o+a)};return{update:({speed:e,grounded:t,boosting:r,running:i})=>{let c=n.currentTime,u=Math.min(1,e/1500);o.gain.setTargetAtTime(i&&t?.05+u*.25:0,c,Z),a.frequency.setTargetAtTime(250+u*1400,c,Z);let f=i&&r;l.gain.setTargetAtTime(f?.1:0,c,Z),s.frequency.setTargetAtTime(60+u*90,c,Z),d.gain.setTargetAtTime(f?.18:0,c,Z)},land:e=>{f(140,45,.25+e*.45,.25),p(900,.15+e*.2,.18)},jump:()=>{f(180,520,.3,.14),p(2400,.08,.1)},trick:()=>{let e=n.currentTime;[660,990].forEach((t,i)=>{let a=e+i*.09,o=n.createOscillator();o.type=`triangle`,o.frequency.setValueAtTime(t,a);let s=n.createGain();s.gain.setValueAtTime(.001,e),s.gain.setValueAtTime(.18,a),s.gain.exponentialRampToValueAtTime(.001,a+.22),o.connect(s).connect(r),o.start(a),o.stop(a+.24)})},crash:()=>{p(1400,.6,.6),f(110,35,.7,.45)},setMuted:e=>{r.gain.setTargetAtTime(e?0:.6,n.currentTime,Z)},close:()=>{n.close().catch(()=>void 0)}}}var It=1/120,Lt=.05,Rt=5,zt=.25,Bt=260,Vt=48,Ht={x:-32,y:-16},Ut=100,Wt=150,Gt=50,Kt=1,qt=1.4,Jt=40,Yt=22;function Xt(e){return e.lift+e.age/qt*Jt}function Zt(e){if(e.kind===`loop`)return`Loop!`;let t=e.kind===`backflip`?`Backflip`:`Frontflip`;return e.count>1?`${e.count}× ${t}!`:`${t}!`}function Qt(e){return e.kind===`loop`?Wt:Ut*e.count*e.count}function $t(){let e=0,t=null,n={bike:null,pose:null,blendFrom:null,controls:{...Je},particles:[],callouts:[],score:0,running:!1,following:!0,returning:!1,play(e,r){t??=Ft(r),n.bike=Ze(e),n.pose=vt(n.bike),n.blendFrom=null,n.returning=!1,n.following=!0,n.running=!0,n.score=0,n.callouts=[]},stop(e){let r=n.bike,i=r?{distance:r.distance,topSpeed:r.topSpeed,longestAir:r.longestAir,score:n.score,outcome:e}:null;return n.bike=null,n.pose=null,n.controls={...Je},t?.update({speed:0,grounded:!1,boosting:!1,running:!1}),n.returning=n.following,n.running=!1,i},setMuted(e){t?.setMuted(e)},close(){t?.close(),t=null},tick(t,r,a,o,s){let c=Math.min(Lt,t),l=n.bike,u=null;if(l&&n.running){for(e+=c;e>=It;)n.blendFrom=vt(l),ht(l,r,n.controls,It),e-=It;let t=vt(l);if(n.pose=yt(n.blendFrom??t,t,e/It),i(l,t),gt(l))return{camera:null,ended:n.stop(l.outcome===`fell`?`fell`:`crashed`),moved:!1};!n.following&&en(q(n.pose),a,o)&&(n.following=!0),n.following&&(u=tn(l,n.pose))}else e=0,n.returning&&s&&(u=s);let d=null;if(u){let e=1-Math.exp(-c*Rt),t=a.width/2-u.x*o.zoom-o.x,r=a.height/2-u.y*o.zoom-o.y;!n.running&&Math.hypot(t,r)<1&&(n.returning=!1),d={...o,x:o.x+t*e,y:o.y+r*e}}if(n.particles.length>0&&Mt(n.particles,c),n.callouts.length>0){for(let e of n.callouts)e.age+=c;n.callouts=n.callouts.filter(e=>e.age<qt)}return{camera:d,ended:null,moved:n.running||n.particles.length>0||n.callouts.length>0}}};function r(e,t,r){n.score+=t;let i=q(r),a=0,o=n.callouts.map(Xt).sort((e,t)=>e-t);for(let e of o)e<a+Yt&&(a=Math.max(a,e+Yt));n.callouts.push({text:`${e} +${t}`,at:{x:i.x,y:i.y-60},age:0,lift:a})}function i(e,i){let a=n.particles,o=n.controls.boost&&e.outcome===`riding`;if(o){let t=et(i.left,i.right,{x:Ht.x*e.facing,y:Ht.y}),n={x:(e.left.velocity.x+e.right.velocity.x)*.15,y:(e.left.velocity.y+e.right.velocity.y)*.15};X(a,`smoke`,t,2,n,90,.9,7),X(a,`spark`,t,1,n,160,.25,2.5)}for(let n of e.events)if(n.kind===`jump`){t?.jump();for(let e of[i.left,i.right])X(a,`dust`,{x:e.x,y:e.y+11},4,{x:0,y:-40},120,.45,3.5)}else if(n.kind===`trick`)t?.trick(),r(Zt(n.trick),Qt(n.trick),i);else if(n.kind===`land`){n.air>=Kt&&r(`Big air ${n.air.toFixed(1)}s`,Math.round(n.air*Gt),i),t?.land(n.strength);for(let e of[i.left,i.right])X(a,`dust`,{x:e.x,y:e.y+11},6,{x:0,y:-80},160+n.strength*200,.6,4)}else t?.crash(),X(a,`dust`,i.rider??q(i),18,{x:0,y:-120},320,.8,5);e.events.length=0,t?.update({speed:$e(e),grounded:e.left.grounded||e.right.grounded,boosting:o,running:e.outcome===`riding`})}return n}function en(e,t,n){let r=e.x*n.zoom+n.x,i=e.y*n.zoom+n.y;return r<Vt||i<Vt||r>t.width-Vt||i>t.height-Vt}function tn(e,t){let n=q(t),r={x:(e.left.velocity.x+e.right.velocity.x)/2,y:(e.left.velocity.y+e.right.velocity.y)/2},i=Math.min(1,Bt/(Math.hypot(r.x,r.y)*zt||1));return{x:n.x+r.x*zt*i,y:n.y+r.y*zt*i}}var nn=e=>Math.round(e/50),rn=e=>Math.round(e/10);function Q(e){let{label:t,value:n,fresh:r}=e;return(0,J.jsxs)(`span`,{className:`flex items-baseline gap-1`,children:[(0,J.jsx)(`span`,{className:`tabular-nums ${r?`font-semibold text-[var(--canvas-selection)]`:`text-[var(--chrome-fg-900)]`}`,children:n}),(0,J.jsx)(`span`,{className:`text-[var(--chrome-fg-500)]`,children:t})]})}function an(e){let{live:t,last:n,best:r,newBest:i,hint:a}=e;return(0,J.jsx)(`div`,{className:`pointer-events-none flex flex-col items-center ${re}`,children:(0,J.jsxs)(`div`,{"data-overlay":!0,"data-ride-hud":!0,onPointerDown:e=>e.stopPropagation(),className:`pointer-events-auto flex h-8 items-center gap-3 rounded-xl px-3 text-[12px] text-[var(--chrome-fg-600)] ${b}`,children:[t&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Q,{label:`km/h`,value:String(rn(t.speed))}),(0,J.jsx)(Q,{label:`m`,value:String(nn(t.distance))}),(0,J.jsx)(Q,{label:`s air`,value:t.longestAir.toFixed(1)}),(0,J.jsx)(Q,{label:`pts`,value:String(t.score)})]}),!t&&n&&(0,J.jsxs)(J.Fragment,{children:[(i.distance||i.score)&&(0,J.jsx)(`span`,{className:`font-semibold text-[var(--canvas-selection)]`,children:`New best!`}),(0,J.jsx)(Q,{label:`m last`,value:String(nn(n.distance))}),n.score>0&&(0,J.jsx)(Q,{label:`pts`,value:String(n.score)}),(0,J.jsx)(Q,{label:`m best`,value:String(nn(r.distance)),fresh:i.distance}),r.score>0&&(0,J.jsx)(Q,{label:`pts best`,value:String(r.score),fresh:i.score})]}),a&&(0,J.jsx)(`span`,{className:`text-[var(--chrome-fg-500)]`,children:a})]})})}function $(e){let{label:t,title:n,active:r,onClick:i,children:a}=e;return(0,J.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":r,title:n,onClick:i,className:`flex h-9 min-w-9 cursor-pointer touch-none select-none items-center justify-center rounded-lg px-2 transition-colors ${r?`bg-[var(--canvas-selection)]/15 text-[var(--canvas-selection)]`:`text-[var(--chrome-fg-600)] hover:bg-[var(--chrome-hover)] hover:text-[var(--chrome-fg-900)]`}`,children:a})}function on(e){let{inkTool:t,hasDrawings:n,running:r,following:i,muted:a}=e,{onInkTool:o,onResetDrawings:s,onPlay:c,onStop:l}=e,{onFollow:u,onToggleMuted:d,onExit:f,onHelp:p}=e;return(0,J.jsxs)(`div`,{"data-overlay":!0,"data-ride-hud":!0,onPointerDown:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),className:`pointer-events-auto absolute bottom-[calc(1rem+env(safe-area-inset-bottom))] left-1/2 flex -translate-x-1/2 items-center gap-1 rounded-xl p-1 ${b}`,children:[(0,J.jsx)($,{label:`Pen`,title:`Pen (P) — ride mode drawings aren't saved`,active:t===`pen`,onClick:()=>o(`pen`),children:(0,J.jsx)(fe,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`Eraser`,title:`Eraser (E)`,active:t===`eraser`,onClick:()=>o(`eraser`),children:(0,J.jsx)(y,{size:18,stroke:1.75})}),n&&(0,J.jsx)($,{label:`Reset drawings`,title:`Clear ride drawings and bring back anything erased`,onClick:s,children:(0,J.jsx)(ce,{size:18,stroke:1.75})}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-[var(--chrome-ring)]`}),(0,J.jsxs)(`button`,{type:`button`,"data-testid":`ride-play`,"aria-label":r?`Stop`:`Play`,title:r?`Back to the start`:`Play (Space)`,onClick:r?l:c,className:`flex h-9 cursor-pointer items-center gap-1.5 rounded-lg bg-[var(--canvas-selection)] px-3 text-[13px] font-medium text-white transition-opacity hover:opacity-90`,children:[r?(0,J.jsx)(ue,{size:14}):(0,J.jsx)(me,{size:14}),r?`Stop`:`Play`]}),r&&!i&&(0,J.jsx)($,{label:`Follow the bike`,title:`Follow the bike`,onClick:u,children:(0,J.jsx)(de,{size:18,stroke:1.75})}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-[var(--chrome-ring)]`}),(0,J.jsx)($,{label:a?`Unmute`:`Mute`,title:a?`Sound off`:`Sound on`,onClick:d,children:a?(0,J.jsx)(ye,{size:18,stroke:1.75}):(0,J.jsx)(be,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`How to play`,title:`How to play (?)`,onClick:p,children:(0,J.jsx)(ie,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`Exit ride mode`,title:`Exit ride mode (Esc)`,onClick:f,children:(0,J.jsx)(pe,{size:18,stroke:1.75})})]})}var sn=(0,E.memo)(on),cn={"←":le,"→":v,"↑":oe,"↓":se};function ln(e){let t=cn[e.name];return(0,J.jsx)(`kbd`,{className:`flex h-6 min-w-6 items-center justify-center rounded-md bg-[var(--chrome-hover)] px-1.5 text-[11px] text-[var(--chrome-fg-600)] ring-1 ring-[var(--chrome-ring)]`,children:t?(0,J.jsx)(t,{size:13,stroke:2}):e.name})}var un=[[[[`Space`],`Start playing`],[[`←`,`→`],`Drive`],[[`↑`],`Jump`],[[`R`],`Restart`],[[`B`],`Move bike to cursor`],[[`P`],`Pen`],[[`E`],`Eraser`]],[[[`↓`],`Duck`],[[`Shift`],`Boost`],[[`←`,`→`],`Flip, in the air`],[[`⌘`,`Z`],`Undo a stroke`],[[`?`],`These shortcuts`],[[`Esc`],`Leave ride mode`]]];function dn(){return(0,J.jsxs)(`svg`,{viewBox:`0 0 420 96`,className:`h-24 w-full`,"aria-hidden":!0,children:[(0,J.jsx)(`path`,{d:`M 0 82 L 150 82 Q 250 82 300 40`,fill:`none`,stroke:`var(--canvas-selection)`,strokeWidth:3,strokeLinecap:`round`}),(0,J.jsx)(`g`,{transform:`translate(110 71)`,children:(0,J.jsx)(Ct,{rearSpin:0,frontSpin:0,riding:!0,boosting:!1,ducking:!1})})]})}var fn=(0,E.memo)(function(e){let{open:t,onClose:n}=e;return(0,J.jsx)(C,{open:t,onOpenChange:e=>{e||n()},children:(0,J.jsxs)(x,{children:[(0,J.jsx)(ge,{"data-overlay":!0,className:`fixed inset-0 z-50 bg-gray-900/15`}),(0,J.jsxs)(S,{"data-overlay":!0,"data-testid":`ride-guide`,onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),n())},className:`fixed left-1/2 top-1/2 z-50 flex w-[min(480px,92vw)] overflow-hidden -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-2xl bg-[var(--chrome-popup)] p-5 outline-none ring-1 ring-[var(--chrome-ring)]`,children:[(0,J.jsx)(`div`,{className:`-mx-5 -mt-5 rounded-t-2xl bg-[var(--chrome-hover)] px-5 pt-4`,children:(0,J.jsx)(dn,{})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(_e,{className:`text-[15px] font-medium text-[var(--chrome-fg-900)]`,children:`Ride your canvas`}),(0,J.jsx)(T,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Nothing you draw or erase changes your work.`})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-x-6`,children:un.map((e,t)=>(0,J.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(([e,t])=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[13px] text-[var(--chrome-fg-600)]`,children:[(0,J.jsx)(`span`,{children:t}),(0,J.jsx)(`span`,{className:`flex gap-1`,children:e.map(e=>(0,J.jsx)(ln,{name:e},e))})]},t))},t))}),(0,J.jsx)(w,{className:`h-9 w-full cursor-pointer rounded-xl bg-[var(--chrome-fg-900)] text-[13px] font-medium text-[var(--chrome-popup)] outline-none transition-opacity hover:opacity-90 active:scale-[0.99]`,children:`Start Playing`})]})]})})}),pn=new Set([`ArrowLeft`,`KeyA`]),mn=new Set([`ArrowRight`,`KeyD`]),hn=new Set([`ArrowUp`,`KeyW`,`Space`]),gn=new Set([`ShiftLeft`,`ShiftRight`]),_n=new Set([`ArrowDown`,`KeyS`]),vn=new Set([`Equal`,`Minus`,`Digit0`,`Digit1`]);function yn(e){return pn.has(e)?`left`:mn.has(e)?`right`:gn.has(e)?`boost`:_n.has(e)?`duck`:null}function bn(e,t,n){let r=(0,E.useRef)(t);r.current=t;let i=(0,E.useRef)(n);i.current=n,(0,E.useEffect)(()=>{let t=t=>{if(i.current||ae(t.target))return;let n=t.metaKey||t.ctrlKey;if(n&&vn.has(t.code)||t.shiftKey&&!n&&t.code===`KeyR`)return;t.stopImmediatePropagation();let a=r.current;if(t.key===`Escape`){t.preventDefault(),a.escape();return}if(n&&t.code===`KeyZ`){t.preventDefault(),a.undo();return}if(!n&&t.code===`KeyP`){a.pickTool(`pen`);return}if(!n&&t.code===`KeyE`){a.pickTool(`eraser`);return}if(!n&&t.code===`KeyB`){a.placeBike();return}if(t.key===`?`){t.preventDefault(),a.help();return}let o=e.bike;if(!n&&t.code===`KeyR`){t.preventDefault(),t.repeat||a.restart();return}if(t.code===`Space`&&!e.running){t.preventDefault(),t.repeat||a.play();return}if(!e.running||!o)return;let s=yn(t.code);if(!(!hn.has(t.code)&&!s)){if(t.preventDefault(),t.repeat||(e.following=!0),s){e.controls[s]=!0;return}t.repeat||pt(o)}},n=t=>{let n=yn(t.code);n&&(e.controls[n]=!1)},a=()=>{e.controls={...Je}};return window.addEventListener(`keydown`,t,!0),window.addEventListener(`keyup`,n,!0),window.addEventListener(`blur`,a),()=>{window.removeEventListener(`keydown`,t,!0),window.removeEventListener(`keyup`,n,!0),window.removeEventListener(`blur`,a)}},[e])}var xn=`koboyo.ride-muted`,Sn=`koboyo.ride-guide-seen`,Cn={smoke:`#adb5bd`,dust:`#b08968`,spark:`#f76707`},wn=`var(--canvas-selection)`,Tn=12,En=50,Dn=3,On=new WeakMap;function kn(e){return e.map((e,t)=>`${t===0?`M`:`L`} ${e.x} ${e.y}`).join(` `)}var An=(0,E.memo)(function(e){let{ink:t,cuts:n,inkWidth:r}=e;return(0,J.jsxs)(J.Fragment,{children:[n.map((e,t)=>(0,J.jsx)(`path`,{d:kn(e.points.length>1?e.points:[e.points[0],e.points[0]]),fill:`none`,stroke:`var(--canvas-bg)`,strokeWidth:e.radius*2,strokeLinecap:`round`,strokeLinejoin:`round`},t)),t.map((e,t)=>(0,J.jsx)(`path`,{"data-testid":`ride-ink`,d:kn(e),fill:`none`,stroke:wn,strokeWidth:r,vectorEffect:`non-scaling-stroke`,strokeLinecap:`round`,strokeLinejoin:`round`},t))]})});function jn(e,t){return e.map((e,n)=>{let r=g(e,t);return`${n===0?`M`:`L`} ${r.x} ${r.y}`}).join(` `)}function Mn(e,t){let n=p(e);return e.type!==`arrow`&&e.type!==`line`?[n]:[n,...ve(e,t)]}function Nn(){let e=i(),t=te(),n=r(e=>e.viewport),s=r(e=>e.shapes),c=(0,E.useRef)(null),[l]=(0,E.useState)(()=>On.get(e)),d=(0,E.useRef)(l?.start??null),[f]=(0,E.useState)($t),p=(0,E.useRef)(null),m=(0,E.useRef)(null),h=(0,E.useRef)(null),ee=(0,E.useRef)(0),re=(0,E.useRef)(null),ie=(0,E.useRef)([]),[_,oe]=(0,E.useState)(!1),[se,ce]=(0,E.useState)(!0),le=(0,E.useRef)(se);le.current=se;let[v,ue]=(0,E.useState)(null),[y,de]=(0,E.useState)(l?.best??{distance:0,score:0}),[fe,pe]=(0,E.useState)({distance:!1,score:!1}),me=(0,E.useRef)(y);me.current=y;let[b,ge]=(0,E.useState)(()=>he.getString(xn)===`1`),x=(0,E.useMemo)(()=>Ee(s),[s]),[S,C]=(0,E.useState)(()=>({ink:l?.ink??[],cuts:l?.cuts??[],lines:l?Ot(x,l.cuts):x})),{ink:w,cuts:_e}=S,[T,ve]=(0,E.useState)(`pen`),[ye,be]=(0,E.useState)(null),[D,xe]=(0,E.useState)(()=>he.getString(Sn)!==`1`),[,O]=(0,E.useState)(0);(0,E.useEffect)(()=>{C(e=>e.lines===x&&e.cuts.length===0?e:{...e,lines:Ot(x,e.cuts)})},[x]);let k=(0,E.useMemo)(()=>De(S.lines,w),[S.lines,w]),A=(0,E.useRef)(S),Se=(0,E.useRef)(x);Se.current=x,A.current=S;let j=(0,E.useCallback)(()=>{let e=ie.current;e.push(A.current),e.length>En&&e.shift()},[]),Ce=(0,E.useRef)(k);Ce.current=k;let M=(0,E.useCallback)(e=>{f.following=e,ce(e)},[f]),we=(0,E.useCallback)(()=>{ge(e=>{let t=!e;return he.setString(xn,t?`1`:`0`),f.setMuted(t),t})},[f]);(0,E.useEffect)(()=>()=>f.close(),[f]),(0,E.useEffect)(()=>()=>{On.set(e,{ink:A.current.ink,cuts:A.current.cuts,start:d.current,best:me.current})},[e]),(0,E.useLayoutEffect)(()=>{let t=c.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.getState().viewport,i=e=>e.x>=0&&e.y>=0&&e.x<=n.width&&e.y<=n.height,a=ne.at&&{x:ne.at.x-n.left,y:ne.at.y-n.top};if(a&&i(a)){d.current=u(a,r),O(e=>e+1);return}let o=d.current;o&&i(g(o,r))||(d.current=u({x:n.width*.3,y:n.height*.4},r),O(e=>e+1))},[e]),(0,E.useEffect)(()=>{e.getState().setSelectedIds(new Set)},[e]),(0,E.useEffect)(()=>{let e=e=>{ae(e.target)||e.stopImmediatePropagation()};return window.addEventListener(`paste`,e,!0),window.addEventListener(`cut`,e,!0),()=>{window.removeEventListener(`paste`,e,!0),window.removeEventListener(`cut`,e,!0)}},[]);let N=(0,E.useCallback)(()=>{let e=d.current;e&&(f.play(e,b),M(!0),oe(!0),pe({distance:!1,score:!1}))},[f,b,M]),P=(0,E.useCallback)(e=>{if(e){let t=me.current,n={distance:e.distance>t.distance&&t.distance>0,score:e.score>t.score&&t.score>0};ue(e),pe(n),de({distance:Math.max(t.distance,e.distance),score:Math.max(t.score,e.score)})}oe(!1)},[]),ke=(0,E.useCallback)(()=>P(f.stop(`stopped`)),[f,P]),Ae=(0,E.useCallback)(()=>{f.running&&P(f.stop(`stopped`)),N()},[f,P,N]),I=(0,E.useCallback)(()=>e.getState().setRideMode(!1),[e]),L=(0,E.useCallback)(()=>{f.running&&P(f.stop(`stopped`)),f.controls={...Je},xe(!0)},[f,P]),je=(0,E.useCallback)(()=>{he.setString(Sn,`1`),xe(!1)},[]);bn(f,{escape:()=>{if(m.current){m.current=null,O(e=>e+1);return}I()},undo:()=>{let e=ie.current.pop();e&&C({...e,lines:Ot(Se.current,e.cuts)})},pickTool:ve,placeBike:()=>{let e=re.current;!e||f.running||(d.current=e,O(e=>e+1))},play:N,restart:Ae,help:L},D),(0,E.useEffect)(()=>{let e=c.current?.parentElement;if(!e)return;let t=e=>{e.target instanceof Element&&e.target.closest(`[data-ride-hud]`)||(f.returning=!1,f.running&&f.following&&M(!1))};return e.addEventListener(`pointerdown`,t,!0),e.addEventListener(`wheel`,t,{capture:!0,passive:!0}),()=>{e.removeEventListener(`pointerdown`,t,!0),e.removeEventListener(`wheel`,t,!0)}},[f,M]),(0,E.useEffect)(()=>{let t=0,n=performance.now(),r=i=>{t=requestAnimationFrame(r);let a=(i-n)/1e3;n=i;let o=c.current;if(!o)return;let s=f.tick(a,Ce.current,{width:o.clientWidth,height:o.clientHeight},e.getState().viewport,d.current);if(s.ended){P(s.ended);return}if(f.following&&!le.current&&M(!0),s.camera){e.getState().setViewport(s.camera);return}s.moved&&O(e=>e+1)};return t=requestAnimationFrame(r),()=>cancelAnimationFrame(t)},[f,e,P,M]);let R=t=>{let n=c.current?.getBoundingClientRect();return u({x:t.clientX-(n?.left??0),y:t.clientY-(n?.top??0)},e.getState().viewport)},Me=(n,r,i)=>{let o=Tn/e.getState().viewport.zoom,s={x:Math.min(n.x,r.x)-o,y:Math.min(n.y,r.y)-o,width:Math.abs(r.x-n.x)+o*2,height:Math.abs(r.y-n.y)+o*2},c=e.getState().shapes.some(e=>Mn(e,t.text).some(e=>a(e,s)));C(e=>{let t=Dt(e.ink,n,r,o);if(!c)return t===e.ink?e:{...e,ink:t};let a=e.cuts[e.cuts.length-1];return{ink:t,cuts:a?.gesture===i?[...e.cuts.slice(0,-1),{...a,points:[...a.points,r]}]:[...e.cuts,{gesture:i,radius:o,points:[n,r]}],lines:Dt(e.lines,n,r,o)}})},Ne=()=>{let e=m.current;if(m.current=null,e&&e.points.length>1){let t=e.points;j(),C(e=>({...e,ink:[...e.ink,t]}))}else O(e=>e+1)},Pe=(0,E.useCallback)(()=>M(!0),[M]),Fe=(0,E.useCallback)(()=>{j(),C({ink:[],cuts:[],lines:Se.current})},[j]),z=d.current,B=f.bike,V=_?f.pose:z?_t(z):null,H=V?q(V):null,U=H?g(H,n):null,Ie=V?Math.atan2(V.right.y-V.left.y,V.right.x-V.left.x):0,Le=V?.rider?g(V.rider,n):null,Re=m.current,ze=_&&B?.outcome===`riding`&&f.controls.boost,Be=Math.max(1.5,3*n.zoom),Ve;return Ve=_?B?.outcome===`crashed`?`Ouch!`:``:k.empty||z&&!Oe(k,z)?`Draw a track under the bike, then press Play`:v?.outcome===`crashed`?`Crashed! Press Play to go again`:v?.outcome===`fell`?`Fell off the world. Press Play to go again`:`Drag the bike, or press B to park it under the cursor. Space to play`,(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{ref:c,"data-testid":`ride-overlay`,className:`absolute inset-0 ${T===`pen`?`cursor-crosshair`:`cursor-none`}`,onPointerDown:e=>{if(e.button!==0)return;e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId);let t=R(e);if(T===`pen`)m.current={pointerId:e.pointerId,points:[t]};else{j();let n=++ee.current;h.current={pointerId:e.pointerId,last:t,gesture:n},Me(t,t,n)}},onPointerMove:t=>{t.buttons<=1&&t.stopPropagation();let n=R(t);re.current=n,T===`eraser`&&be(n);let r=m.current;if(r&&r.pointerId===t.pointerId){let t=r.points[r.points.length-1],i=Dn/e.getState().viewport.zoom;o(t,n)>=i&&(r.points.push(n),Te(Ce.current,[t,n]),O(e=>e+1))}else h.current?.pointerId===t.pointerId&&(Me(h.current.last,n,h.current.gesture),h.current.last=n)},onPointerUp:e=>{if(m.current?.pointerId===e.pointerId&&Ne(),h.current?.pointerId===e.pointerId){h.current=null;let e=ie.current;e[e.length-1]===A.current&&e.pop()}},onPointerCancel:()=>{m.current=null,h.current=null},onPointerLeave:()=>{re.current=null,be(null)},onDoubleClick:e=>e.stopPropagation(),onContextMenu:e=>{e.preventDefault(),e.stopPropagation()},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,J.jsxs)(`svg`,{className:`pointer-events-none absolute inset-0 h-full w-full`,children:[(0,J.jsxs)(`g`,{transform:`translate(${n.x} ${n.y}) scale(${n.zoom})`,children:[(0,J.jsx)(An,{ink:w,cuts:_e,inkWidth:Be}),Re&&(0,J.jsx)(`path`,{d:kn(Re.points),fill:`none`,stroke:wn,strokeWidth:Be,vectorEffect:`non-scaling-stroke`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),T===`eraser`&&ye&&(0,J.jsx)(`circle`,{cx:g(ye,n).x,cy:g(ye,n).y,r:Tn,fill:`none`,stroke:`var(--chrome-fg-500)`,strokeWidth:1.5}),_&&B&&B.trail.length>1&&(0,J.jsx)(`path`,{d:jn(B.trail,n),fill:`none`,stroke:`#e03131`,strokeOpacity:.3,strokeWidth:Math.max(1.5,3*n.zoom),strokeLinecap:`round`,strokeLinejoin:`round`}),f.particles.map((e,t)=>{let r=g(e,n),i=e.age/e.life,a=e.kind===`smoke`?1+i*2:1;return(0,J.jsx)(`circle`,{cx:r.x,cy:r.y,r:e.size*a*n.zoom,fill:Cn[e.kind],opacity:(1-i)*(e.kind===`smoke`?.45:.8)},t)}),V&&U&&(0,J.jsx)(`g`,{opacity:_?1:.85,transform:`translate(${U.x} ${U.y}) rotate(${Ie*180/Math.PI}) scale(${n.zoom*V.facing} ${n.zoom})`,children:(0,J.jsx)(Ct,{rearSpin:V.facing===1?V.leftSpin:-V.rightSpin,frontSpin:V.facing===1?V.rightSpin:-V.leftSpin,riding:!V.rider,boosting:ze,ducking:V.ducking})}),f.callouts.map((e,t)=>{let r=g(e.at,n),i=e.age/qt;return(0,J.jsx)(`text`,{x:r.x,y:r.y-Xt(e),textAnchor:`middle`,fontSize:16,fontWeight:700,fill:`var(--canvas-selection)`,stroke:`var(--canvas-bg)`,strokeWidth:4,paintOrder:`stroke`,opacity:Math.min(1,(1-i)*2),children:e.text},t)}),V&&Le&&(0,J.jsx)(`g`,{transform:`translate(${Le.x} ${Le.y}) rotate(${V.riderSpin*180/Math.PI}) scale(${n.zoom})`,children:(0,J.jsx)(wt,{})})]}),!_&&U&&(0,J.jsx)(`div`,{"data-ride-hud":!0,"data-testid":`ride-start-handle`,title:`Drag to move the start`,className:`pointer-events-auto absolute cursor-grab touch-none active:cursor-grabbing`,style:{left:U.x-34*n.zoom,top:U.y+(F.y-8)*n.zoom,width:68*n.zoom,height:(11-F.y+8)*n.zoom},onPointerDown:e=>{if(e.stopPropagation(),e.button!==0||!d.current)return;e.currentTarget.setPointerCapture(e.pointerId);let t=R(e);p.current={pointerId:e.pointerId,offset:{x:t.x-d.current.x,y:t.y-d.current.y}}},onPointerMove:e=>{let t=p.current;if(!t||t.pointerId!==e.pointerId)return;e.stopPropagation();let n=R(e);d.current={x:n.x-t.offset.x,y:n.y-t.offset.y},O(e=>e+1)},onPointerUp:()=>{p.current=null},onPointerCancel:()=>{p.current=null},onDoubleClick:e=>e.stopPropagation()}),(0,J.jsx)(an,{live:_&&B?{speed:$e(B),distance:B.distance,longestAir:B.longestAir,score:f.score}:null,last:v,best:y,newBest:fe,hint:Ve}),(0,J.jsx)(sn,{inkTool:T,hasDrawings:w.length>0||_e.length>0,running:_,following:se,muted:b,onInkTool:ve,onResetDrawings:Fe,onPlay:N,onStop:ke,onFollow:Pe,onToggleMuted:we,onExit:I,onHelp:L})]}),(0,J.jsx)(fn,{open:D,onClose:je})]})}export{Nn as RideOverlay};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-2Zwg-L3c.js";import{a as r}from"./editor-B0tARd79.js";import{Z as i}from"./style-BENGW2ZV.js";import{an as a,en as o,in as s,sn as c}from"./slides-D9bnXqtf.js";import{t as l}from"./registry-DCgwH8wI.js";var u=e(t(),1);function d(e,t){let n=a(e,t),r=o(e,t),i=c(e)*Math.PI/180;if(!i)return{body:n,footprint:r,toLocal:e=>e,toWorld:e=>e};let l={x:n.x+n.width/2,y:n.y+n.height/2};return{body:n,footprint:r,toLocal:e=>s(e,l,-i),toWorld:e=>s(e,l,i)}}function f(e,t,n){let r=d(e,n);return i(r.toLocal(t),r.footprint)}function p(e){function t(){document.hidden&&e()}return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}}var m=n(),h=`coarse:before:absolute coarse:before:-inset-[18px] coarse:before:content-['']`,g=[{handle:`nw`,cursor:`nwse-resize`},{handle:`ne`,cursor:`nesw-resize`},{handle:`sw`,cursor:`nesw-resize`},{handle:`se`,cursor:`nwse-resize`}],_=[{handle:`n`,cursor:`ns-resize`},{handle:`w`,cursor:`ew-resize`},{handle:`e`,cursor:`ew-resize`},{handle:`s`,cursor:`ns-resize`}],v=[{handle:`n`,cursor:`ns-resize`},{handle:`w`,cursor:`ew-resize`},{handle:`e`,cursor:`ew-resize`},{handle:`s`,cursor:`ns-resize`}],y=_.filter(e=>e.handle===`w`||e.handle===`e`),b=_.filter(e=>e.handle===`n`||e.handle===`s`);function x(e){if(e.type!==`control`)return{edges:e.type===`text`?v:_,corners:g};switch(l[e.kind].resize){case`width`:return{edges:y,corners:[]};case`height`:return{edges:b,corners:[]};case`aspect`:return{edges:[],corners:g};default:return{edges:_,corners:g}}}function S(e,t,n,r=0){let i=t/2;e.includes(`w`)?i=-r:e.includes(`e`)&&(i=t+r);let a=n/2;return e.includes(`n`)?a=-r:e.includes(`s`)&&(a=n+r),{x:i,y:a}}function C(e,t){if(e.type===`text`){let n=t?.textBounds(e.id);if(n)return{x:e.x,y:e.y,width:n.width,height:n.height}}return e.type===`icon`?o(e,t):a(e,t)}function w(e,t,n,r){let i=a(e,r);return{x:(i.x+i.width/2-t.x)*n,y:(i.y+i.height/2-t.y)*n}}function T(e,t){let n=C(e,t);return[{x:n.x,y:n.y},{x:n.x+n.width,y:n.y},{x:n.x+n.width,y:n.y+n.height},{x:n.x,y:n.y+n.height}].map(d(e,t).toWorld).reduce((e,t)=>t.y<e.y-.5||Math.abs(t.y-e.y)<=.5&&t.x<e.x?t:e)}var E=[`ew-resize`,`nwse-resize`,`ns-resize`,`nesw-resize`],D={e:0,se:45,s:90,sw:135,w:180,nw:225,n:270,ne:315};function O(e,t){let n=(((D[e]??0)+t)%180+180)%180;return E[Math.round(n/45)%4]}function k(e){let t=r().measurement,[n,i]=(0,u.useState)(()=>C(e,t));return(0,u.useLayoutEffect)(()=>{let n=C(e,t);i(e=>e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height?e:n)},[e,t]),n}var A=15;function j(e,t){return t===void 0?0:Math.max(0,t-(e-A/2))}function M(e){let{position:t,cursor:n,round:r,testId:i,minHitTop:a,onPointerDown:o,onDoubleClick:s}=e,c=j(t.y,a),l=a===void 0?void 0:Math.min(0,Math.max(-15,a-(t.y+c-A/2)));return(0,m.jsx)(`div`,{"data-testid":i,onPointerDown:o,onDoubleClick:s?e=>{e.stopPropagation(),s()}:void 0,className:`absolute flex h-[15px] w-[15px] -translate-x-1/2 -translate-y-1/2 items-center justify-center coarse:before:absolute coarse:before:-inset-[15px] coarse:before:top-[var(--handle-touch-top,-15px)] coarse:before:content-['']`,style:{left:t.x,top:t.y+c,cursor:n,pointerEvents:`all`,...l===void 0?{}:{"--handle-touch-top":`${l}px`}},children:(0,m.jsx)(`div`,{className:`pointer-events-none h-[9px] w-[9px] border border-[var(--canvas-selection)] bg-white ${r?`rounded-full`:`rounded-[2px]`}`,style:c?{translate:`0 ${-c}px`}:void 0})})}function N(e){let{position:t,onPointerDown:n}=e;return(0,m.jsxs)(`div`,{"data-testid":`sticky-duplicate`,onPointerDown:n,className:`group absolute flex h-[22px] w-[22px] -translate-x-1/2 -translate-y-1/2 items-center justify-center`,style:{left:t.x,top:t.y,cursor:`grab`,pointerEvents:`all`},children:[(0,m.jsx)(`div`,{className:`absolute inset-0 rounded-full bg-[var(--canvas-selection)]/25 opacity-0 transition-opacity group-hover:opacity-100`}),(0,m.jsx)(`div`,{className:`h-[7px] w-[7px] rounded-full bg-[var(--canvas-selection)]`})]})}var P=7,F=10,I=10,L=8,R=12,z=8;function B(){return typeof window<`u`&&window.matchMedia(`(pointer: coarse)`).matches}function V(e){return e?B()?{inward:0,outward:R}:{inward:0,outward:L}:B()?{inward:F,outward:I}:{inward:3,outward:P}}function H(e,t){let n=V(e);if(t===void 0||n.outward<=t)return n;let r=Math.max(0,t);return{inward:n.inward+n.outward-r,outward:r}}function U(e){return 4*e}function W(e){let{edge:t,cursor:n,testId:r,along:i,across:a,inset:o,outwardLimit:s,onPointerDown:c}=e,l=o??(i<24?0:z),{inward:u,outward:d}=H(a<24,s);return(0,m.jsx)(`div`,{"data-testid":r,onPointerDown:c,className:`absolute`,style:{...t===`w`||t===`e`?{top:l,bottom:l,width:u+d,[t===`w`?`left`:`right`]:-d}:{left:l,right:l,height:u+d,[t===`n`?`top`:`bottom`]:-d},cursor:n,pointerEvents:`all`}})}function G(){return B()?20:14}var K=`url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cg%20stroke%3D'white'%20stroke-width%3D'4'%3E%3Cpolyline%20points%3D'23%204%2023%2010%2017%2010'%2F%3E%3Cpath%20d%3D'M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D'black'%20stroke-width%3D'2'%3E%3Cpolyline%20points%3D'23%204%2023%2010%2017%2010'%2F%3E%3Cpath%20d%3D'M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12, grabbing`;function q(e){let{position:t,onPointerDown:n,testId:r}=e;return(0,m.jsx)(`div`,{"data-testid":r,onPointerDown:n,className:`absolute h-[9px] w-[9px] -translate-x-1/2 -translate-y-1/2 rounded-full border border-[var(--canvas-selection)] bg-white ${h}`,style:{left:t.x,top:t.y,cursor:K,pointerEvents:`all`}})}export{p as _,M as a,x as c,w as d,U as f,C as g,k as h,W as i,S as l,O as m,_ as n,q as o,T as p,N as r,h as s,g as t,G as u,f as v,d as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Dn as e,Pn as t}from"./slides-D9bnXqtf.js";function n(n){let r=n.type===`text`?n.text:`label`in n&&typeof n.label==`string`?n.label:`text`in n&&typeof n.text==`string`?n.text:``;return e(r)?t(r):r}function r(e){return e.type===`rectangle`?e.kind:e.type===`figure`?`frame`:e.type}var i=34;function a(e){let t=n(e).replace(/\s+/g,` `).trim();return t?t.length>i?`${t.slice(0,i-1)}…`:t:e.type===`icon`&&e.name?o(e.name):o(r(e))}function o(e){let t=e.replace(/[-_]+/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1)}export{n,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-2Zwg-L3c.js";import{r}from"./toast-Nu_fiCd9.js";import{n as i}from"./config-a_lz-57R.js";import{t as a}from"./createReactComponent-9UsI5fmM.js";import{t as o}from"./IconArrowLeft-DFk3Krim.js";import{n as s,r as c,t as l}from"./IconPresentation-DCrY3PKL.js";import{a as u,l as d,o as f,r as p}from"./billing-C-BNGM3Z.js";import{t as m}from"./IconMoodSmile-Bic_fw54.js";import{t as h}from"./IconSparkles-WDcg8BA9.js";import{t as g}from"./IconUsers-Bwnyj4mm.js";import{t as _}from"./IconX-AlbPkO_g.js";import{n as v}from"./surface-Dke4SWpE.js";import{i as y,n as b,r as x,t as S}from"./DialogRoot-mHGRFW9m.js";import{n as C,t as w}from"./DialogTitle-CFhr-gP9.js";import{t as T}from"./DialogDescription-ZtZCUsfy.js";var E=a(`outline`,`mail-forward`,`MailForward`,[[`path`,{d:`M12 18h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5`,key:`svg-0`}],[`path`,{d:`M3 6l9 6l9 -6`,key:`svg-1`}],[`path`,{d:`M15 18h6`,key:`svg-2`}],[`path`,{d:`M18 15l3 3l-3 3`,key:`svg-3`}]]),D=a(`outline`,`mail`,`Mail`,[[`path`,{d:`M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10`,key:`svg-0`}],[`path`,{d:`M3 7l9 6l9 -6`,key:`svg-1`}]]),O={field:`w-full rounded-lg bg-transparent px-3 py-2 text-[13px] text-[var(--chrome-fg-900)] outline-none ring-1 ring-[var(--chrome-ring)] placeholder:text-[var(--chrome-fg-300)]`,linkButton:`text-[12px] text-[var(--chrome-fg-500)] underline decoration-[var(--chrome-fg-300)] underline-offset-2 outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,submitButton:`flex h-10 items-center justify-center rounded-lg bg-[var(--chrome-accent)] px-4 text-[14px] text-white outline-none transition-colors active:scale-[0.97] hover:bg-[var(--chrome-accent-hover)] disabled:cursor-default disabled:opacity-60 disabled:active:scale-100`},k=e(t(),1),A=n();function j(e){let{sent:t,email:n,error:r,resent:i,pending:a,onBack:o,onResend:s}=e;return(0,A.jsxs)(`div`,{"data-testid":`email-auth-sent`,className:`flex flex-col items-start gap-3`,children:[(0,A.jsx)(`span`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-[var(--chrome-rest)] text-[var(--chrome-fg-600)] ring-1 ring-[var(--chrome-ring)]`,children:(0,A.jsx)(E,{size:19,stroke:1.75})}),(0,A.jsx)(`p`,{className:`text-[14px] text-[var(--chrome-fg-900)]`,children:`Check your email`}),(0,A.jsx)(`p`,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:t===`verify`?`We sent a confirmation link to ${n}. Click it to activate your account. This tab can be closed.`:`If ${n} has an account, a password reset link is on its way. It expires in an hour.`}),t===`verify`&&(0,A.jsx)(`p`,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Wrong address? Go back and sign up again with the right one.`}),r&&(0,A.jsx)(`p`,{"data-testid":`email-auth-error`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-600)]`,children:r}),i&&!r&&(0,A.jsx)(`p`,{"data-testid":`email-auth-resend-confirmation`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-400)]`,children:`Sent again.`}),(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-sent-back`,className:O.linkButton,onClick:o,children:`Back to sign in`}),t===`verify`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-resend`,disabled:a,className:O.linkButton,onClick:s,children:a?`Sending…`:`Resend email`})]})]})}var M={signin:{submit:`Sign in`,pending:`Signing in…`},register:{submit:`Create account`,pending:`Creating…`},forgot:{submit:`Email me a reset link`,pending:`Sending…`}};function N(e){let{actions:t,signupAvailable:n,registerAvailable:r}=e,[i,a]=(0,k.useState)(`signin`),[o,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(``),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(null),[m,h]=(0,k.useState)(null),[g,_]=(0,k.useState)(!1);function v(e){a(e),p(null)}async function y(e){e.preventDefault();let n=o.trim();if(!(!n||u)){d(!0),p(null),_(!1);try{i===`signin`?await t.loginWithEmail({email:n,password:c}):i===`register`?(await t.registerWithEmail?.({email:n,password:c}),h(`verify`)):(await t.requestPasswordReset?.(n),h(`reset`))}catch(e){p(e instanceof Error?e.message:`Something went wrong. Try again.`)}finally{d(!1)}}}async function b(){if(!u){d(!0),p(null),_(!1);try{await t.registerWithEmail?.({email:o.trim(),password:c}),_(!0)}catch(e){p(e instanceof Error?e.message:`Something went wrong. Try again.`)}finally{d(!1)}}}if(m)return(0,A.jsx)(j,{sent:m,email:o.trim(),error:f,resent:g,pending:u,onBack:()=>{h(null),_(!1),v(`signin`)},onResend:()=>void b()});let x=M[i],S=i!==`forgot`,C=o.trim().length>0&&(!S||c.length>0);return(0,A.jsxs)(`form`,{"data-testid":`email-auth-form`,className:`flex flex-col gap-3`,onSubmit:e=>void y(e),children:[(0,A.jsx)(`input`,{"data-testid":`email-auth-email`,className:O.field,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:o,autoFocus:!0,onChange:e=>s(e.target.value)}),S&&(0,A.jsx)(`input`,{"data-testid":`email-auth-password`,className:O.field,type:`password`,autoComplete:i===`register`?`new-password`:`current-password`,placeholder:i===`register`?`Choose a password (8+ characters)`:`Password`,value:c,onChange:e=>l(e.target.value)}),i===`forgot`&&(0,A.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Enter your account's email and we'll send a link to choose a new password.`}),f&&(0,A.jsx)(`p`,{"data-testid":`email-auth-error`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-600)]`,children:f}),(0,A.jsx)(`button`,{type:`submit`,"data-testid":`email-auth-submit`,disabled:u||!C,className:O.submitButton,children:u?x.pending:x.submit}),(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i===`signin`&&r&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-register`,className:O.linkButton,onClick:()=>v(`register`),children:`New here? Create an account`}),i===`signin`&&n&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-forgot`,className:`${O.linkButton} ml-auto`,onClick:()=>v(`forgot`),children:`Forgot password?`}),i===`register`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-signin`,className:O.linkButton,onClick:()=>v(`signin`),children:`Already have an account? Sign in`}),i===`forgot`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-signin`,className:O.linkButton,onClick:()=>v(`signin`),children:`Back to sign in`})]})]})}function P(e){let t=e.size??18;return(0,A.jsxs)(`svg`,{width:t,height:t,viewBox:`0 0 18 18`,"aria-hidden":`true`,children:[(0,A.jsx)(`path`,{fill:`#4285F4`,d:`M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z`}),(0,A.jsx)(`path`,{fill:`#34A853`,d:`M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.259c-.806.54-1.837.858-3.048.858-2.344 0-4.328-1.583-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z`}),(0,A.jsx)(`path`,{fill:`#FBBC05`,d:`M3.964 10.704A5.41 5.41 0 0 1 3.682 9c0-.591.102-1.166.282-1.704V4.964H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.036l3.007-2.332Z`}),(0,A.jsx)(`path`,{fill:`#EA4335`,d:`M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.964L3.964 7.296C4.672 5.168 6.656 3.58 9 3.58Z`})]})}function F(e){let t=e.size??18;return(0,A.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,A.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function I(e){let{icon:t,label:n,testId:r,onClick:i,pending:a,disabled:o}=e;return(0,A.jsxs)(`button`,{type:`button`,"data-testid":r,onClick:i,disabled:o,className:`flex h-11 items-center justify-center gap-2.5 rounded-lg bg-[var(--chrome-popup)] px-4 text-[14px] text-[var(--chrome-fg-800)] outline-none ring-1 ring-[var(--chrome-input)] transition-colors hover:bg-[var(--chrome-hover)] disabled:cursor-default disabled:opacity-60`,children:[(0,A.jsx)(`span`,{className:`flex h-[18px] w-[18px] items-center justify-center`,children:t}),(0,A.jsx)(`span`,{children:a?`Opening…`:n})]})}function L(e){let{providers:t,emailSignup:n,pendingProvider:r,onOAuth:i,emailActions:a,renderEmailPanel:s}=e,c=r!=null,[l,u]=(0,k.useState)(`providers`),d=t.includes(`email`)&&(s!=null||a!=null);return l===`email`&&d?(0,A.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,A.jsxs)(`button`,{type:`button`,"data-testid":`email-auth-back`,onClick:()=>u(`providers`),className:`flex items-center gap-1 self-start text-[12px] text-[var(--chrome-fg-500)] outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,children:[(0,A.jsx)(o,{size:13,stroke:1.75}),(0,A.jsx)(`span`,{children:`All sign-in options`})]}),s?s():(0,A.jsx)(N,{actions:a,signupAvailable:n,registerAvailable:n&&e.offerRegister!==!1})]}):(0,A.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[t.includes(`google`)&&(0,A.jsx)(I,{icon:(0,A.jsx)(P,{size:18}),label:`Continue with Google`,testId:`login-google`,onClick:()=>i(`google`),pending:r===`google`,disabled:c}),t.includes(`github`)&&(0,A.jsx)(I,{icon:(0,A.jsx)(F,{size:18}),label:`Continue with GitHub`,testId:`login-github`,onClick:()=>i(`github`),pending:r===`github`,disabled:c}),d&&(0,A.jsx)(I,{icon:(0,A.jsx)(D,{size:18,stroke:1.75}),label:`Continue with email`,testId:`login-email`,onClick:()=>u(`email`),pending:!1,disabled:c}),t.length===0&&(0,A.jsx)(`p`,{"data-testid":`login-unavailable`,className:`rounded-lg px-4 py-3 text-[13px] leading-relaxed text-[var(--chrome-fg-500)] ring-1 ring-[var(--chrome-ring)]`,children:`Sign-in isn't set up on this server yet.`}),e.providersFootnote!=null&&t.length>0&&(0,A.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--chrome-fg-400)]`,children:e.providersFootnote})]})}var R=p(f.monthly.amountCents,`usd`),z=[{icon:(0,A.jsx)(s,{size:18,stroke:1.75}),title:`Every board, saved`,detail:`Unlimited boards, autosaved.`},{icon:(0,A.jsx)(h,{size:18,stroke:1.75}),title:`AI assistant`,detail:`${u.pro.messages.limit} AI credits a month.`},{icon:(0,A.jsx)(l,{size:18,stroke:1.75}),title:`Slides from your board`,detail:`Present without exporting.`},{icon:(0,A.jsx)(g,{size:18,stroke:1.75}),title:`Work with your team`,detail:`Share, comment, mention.`},{icon:(0,A.jsx)(d,{size:18,stroke:1.75}),title:`Folders`,detail:`Keep every project tidy.`},{icon:(0,A.jsx)(m,{size:18,stroke:1.75}),title:`260,000 icons`,detail:`Hand-drawn, cloud and tech.`}];function B(e){let{open:t,onOpenChange:n,onLogin:r,pendingProvider:a,providers:o,emailSignup:s}=e,l=i(),u=e.title??`Save this board`,d=e.description??`Koboyo is a paid app. Try every feature free for 14 days, then ${R} a month.`;return(0,A.jsx)(S,{open:t,onOpenChange:n,children:(0,A.jsxs)(b,{children:[(0,A.jsx)(y,{className:v.dialogBackdrop}),(0,A.jsxs)(x,{"data-overlay":!0,"data-testid":`login-dialog`,className:`flex w-[min(680px,92vw)] max-w-[680px] flex-col overflow-hidden sm:flex-row ${v.dialogPopup}`,children:[(0,A.jsx)(C,{"aria-label":`Close`,className:`absolute right-3 top-3 z-10 flex h-7 w-7 items-center justify-center rounded-md text-[var(--chrome-fg-400)] outline-none transition-colors hover:bg-[var(--chrome-divider)] hover:text-[var(--chrome-fg-600)]`,children:(0,A.jsx)(_,{size:16,stroke:1.75})}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-7 p-8 sm:w-[54%]`,children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(w,{className:`text-[20px] leading-tight text-[var(--chrome-fg-900)]`,children:u}),(0,A.jsx)(T,{className:`text-[13.5px] leading-relaxed text-[var(--chrome-fg-500)]`,children:d})]}),(0,A.jsx)(L,{providers:o,emailSignup:s,pendingProvider:a,onOAuth:r,emailActions:{loginWithEmail:l.loginWithEmail,registerWithEmail:l.registerWithEmail,requestPasswordReset:l.requestPasswordReset}}),(0,A.jsx)(`p`,{className:`text-[11.5px] leading-relaxed text-[var(--chrome-fg-400)]`,children:`New here? You'll add a card next. You won't be charged today, and you can cancel any time.`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-4 border-t border-[var(--chrome-divider)] bg-[var(--cta-panel-bg)] p-8 sm:w-[46%] sm:border-l sm:border-t-0`,children:[z.map(e=>(0,A.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,A.jsx)(`span`,{className:`mt-px shrink-0 text-[var(--cta-save-fg)]`,children:e.icon}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,A.jsx)(`span`,{className:`text-[13.5px] leading-tight text-[var(--chrome-fg-800)]`,children:e.title}),(0,A.jsx)(`span`,{className:`text-[12px] leading-snug text-[var(--chrome-fg-500)]`,children:e.detail})]})]},e.title)),(0,A.jsxs)(`a`,{href:`/premium`,target:`_blank`,rel:`noreferrer`,className:`mt-auto flex items-center gap-1 self-start pt-1 text-[12px] text-[var(--chrome-fg-500)] underline underline-offset-2 outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,children:[`Learn more about Koboyo Pro`,(0,A.jsx)(c,{size:12,stroke:2,"aria-hidden":!0})]})]})]})]})})}function V(e){let{open:t,onOpenChange:n,title:a,description:o}=e,s=i(),{notify:c}=r(),l=s.state.status===`authenticated`,u=s.state.status===`disabled`?[]:s.state.providers,d=s.state.status===`disabled`||s.state.emailSignup,[f,p]=(0,k.useState)(null),m=s.acquireSessionPolling;return(0,k.useEffect)(()=>{if(!(!t||l))return m()},[t,l,m]),(0,k.useEffect)(()=>{t&&l&&n(!1)},[t,l,n]),(0,A.jsx)(B,{open:t,onOpenChange:n,onLogin:e=>{p(e),s.loginWithProvider(e).then(()=>p(null),()=>{p(null),c(`Your browser blocked the sign-in popup`)})},pendingProvider:f,providers:u,emailSignup:d,title:a,description:o})}export{V as SignInDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-2Zwg-L3c.js";import{o as r,s as i}from"./editor-B0tARd79.js";import{A as a,f as o,i as s}from"./slides-D9bnXqtf.js";import{t as c}from"./IconX-AlbPkO_g.js";import{i as l,n as u,r as d,t as f}from"./DialogRoot-mHGRFW9m.js";import{n as p,t as m}from"./DialogTitle-CFhr-gP9.js";var h=e(t(),1),g=n();function _(){let e=i(),t=r(e=>e.notesEditorId),n=r(e=>e.shapes),[_,v]=(0,h.useState)(``),y=s(n),b=y.findIndex(e=>e.id===t),x=b>=0?y[b]:null;(0,h.useEffect)(()=>{if(!t)return;let n=a(e.getState().shapes,t);v(n?.type===`figure`?n.notes??``:``)},[t,e]);function S(){let t=e.getState(),n=t.shapes.find(e=>e.id===t.notesEditorId),r=_.trim(),i=r.length>0?r:void 0;n?.type===`figure`&&n.notes!==i&&t.updateShape(n.id,{notes:i}),t.setNotesEditorId(null)}return(0,g.jsx)(f,{open:x!==null,onOpenChange:e=>{e||S()},children:(0,g.jsxs)(u,{children:[(0,g.jsx)(l,{className:`fixed inset-0 bg-gray-900/15`}),(0,g.jsxs)(d,{"data-overlay":!0,"data-testid":`slide-notes-dialog`,className:`fixed left-1/2 top-1/2 w-[min(480px,92vw)] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-[var(--chrome-popup)] p-4 shadow-[0_24px_70px_rgba(0,0,0,0.22)] outline-none ring-1 ring-[var(--chrome-ring)]`,children:[(0,g.jsxs)(`div`,{className:`mb-2.5 flex items-center justify-between`,children:[(0,g.jsxs)(m,{className:`text-[14px] text-[var(--chrome-fg-900)]`,children:[`Speaker notes — `,x?o(x,b):``]}),(0,g.jsx)(p,{"aria-label":`Close`,className:`-mr-1 flex h-7 w-7 items-center justify-center rounded-full text-[var(--chrome-fg-400)] outline-none transition-colors hover:bg-[var(--chrome-divider)] hover:text-[var(--chrome-fg-600)]`,children:(0,g.jsx)(c,{size:16,stroke:1.75})})]}),(0,g.jsx)(`textarea`,{autoFocus:!0,value:_,placeholder:`What you'll say on this slide: context, the story, the segue…`,"data-testid":`slide-notes-input`,onChange:e=>v(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&S()},className:`h-36 w-full resize-none rounded-lg bg-[var(--chrome-rest)] p-3 text-[13px] leading-relaxed text-[var(--chrome-fg-800)] outline-none ring-1 ring-[var(--chrome-ring)] placeholder:text-[var(--chrome-fg-400)]`}),(0,g.jsxs)(`div`,{className:`mt-3 flex justify-between`,children:[(0,g.jsx)(`span`,{className:`self-center text-[11px] text-[var(--chrome-fg-400)]`,children:`Shown to you while presenting (press N)`}),(0,g.jsx)(`button`,{type:`button`,"data-testid":`slide-notes-done`,onClick:S,className:`rounded-lg bg-[var(--chrome-accent)] px-3.5 py-1.5 text-[13px] text-white transition-colors hover:bg-[var(--chrome-accent-hover)]`,children:`Done`})]})]})]})})}export{_ as SlideNotesDialog};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{B as e,F as t,G as n,H as r,J as i,M as a,P as o,V as s,W as c,X as l,Z as u,a as d,et as f,nt as p,q as m,r as h,rt as g,s as _,st as v,tt as y}from"./style-BENGW2ZV.js";function b(e){return 9+e*2.2}var x={arrow:.84,sweep:.88,triangle:1,triangleOutline:1,diamond:1,diamondOutline:1,circle:.8,circleOutline:.8,bar:0,cross:.69,crowOne:.55,crowOnlyOne:.9,crowMany:1,crowOneOrMany:1.3,crowZeroOrOne:1.3,crowZeroOrMany:1.7},S=.5,C=.32;function w(e,t,n,r=1/0){let i=Math.max(x[t],S);return Math.min(e,n*C/i,r/i)}var T=36,E=10.5,D=1.5,O=3;function ee(e){return{minX:e.x,minY:e.y,maxX:e.x+e.width,maxY:e.y+e.height}}function te(e,t){return{minX:e.minX-t,minY:e.minY-t,maxX:e.maxX+t,maxY:e.maxY+t}}function ne(e,t){return{minX:Math.min(e.minX,t.minX),minY:Math.min(e.minY,t.minY),maxX:Math.max(e.maxX,t.maxX),maxY:Math.max(e.maxY,t.maxY)}}function k(e){return{x:(e.minX+e.maxX)/2,y:(e.minY+e.maxY)/2}}function re(e,t,n=0){return t.x>=e.minX-n&&t.x<=e.maxX+n&&t.y>=e.minY-n&&t.y<=e.maxY+n}function ie(e,t){return e>=t.min&&e<=t.max}function ae(e){return e.max-e.min}function oe(e,t){return t.min<=e.min&&e.max<=t.max?[]:e.min<=t.min&&t.max<=e.max?[{min:e.min,max:t.min},{min:t.max,max:e.max}]:t.max<=e.min||t.min>=e.max?[e]:ie(e.min,t)?[{min:t.max,max:e.max}]:[{min:e.min,max:t.min}]}function se(e,t,n){return e+(t-e)*n}var ce=[`right`,`bottom`,`left`,`top`],le={top:{sign:-1,main:`minY`,far:`maxY`,crossLo:`minX`,crossHi:`maxX`,crossAxis:`x`},bottom:{sign:1,main:`maxY`,far:`minY`,crossLo:`minX`,crossHi:`maxX`,crossAxis:`x`},left:{sign:-1,main:`minX`,far:`maxX`,crossLo:`minY`,crossHi:`maxY`,crossAxis:`y`},right:{sign:1,main:`maxX`,far:`minX`,crossLo:`minY`,crossHi:`maxY`,crossAxis:`y`}};function ue(e,t,n){let r=le[n],i=e.box[r.main],a=e.isPoint?null:i+r.sign*T,o={min:e.box[r.crossLo],max:e.box[r.crossHi]},s={min:Math.min(t.box[r.main],t.box[r.far]),max:Math.max(t.box[r.main],t.box[r.far])};t.isPoint||(r.sign>0?s.min-=E*2:s.max+=E*2);let c={min:t.box[r.crossLo]-T,max:t.box[r.crossHi]+T};if(ie(i,s)&&!e.isPoint&&!t.isPoint){let e=oe(o,c);if(e.length===0)return null;o=e.length===2&&ae(e[1])>ae(e[0])?e[1]:e[0]}let l=e.target[r.crossAxis];return ie(l,o)?{value:i,expanded:a,cross:o,crossTarget:l}:null}function de(e,t){return{top:ue(e,t,`top`),right:ue(e,t,`right`),bottom:ue(e,t,`bottom`),left:ue(e,t,`left`)}}function fe(e,t){return t===null?!!(e.top||e.right||e.bottom||e.left):!!e[t]}function pe(e){return e.isPoint?e:{box:{minX:e.target.x,minY:e.target.y,maxX:e.target.x,maxY:e.target.y},target:e.target,gap:0,minEnd:e.minEnd,side:null,isPoint:!0}}var me={sx:1,sy:1,swap:!1},he={sx:1,sy:-1,swap:!1},ge={sx:-1,sy:1,swap:!0},_e={sx:-1,sy:-1,swap:!1},ve={sx:1,sy:-1,swap:!0};function ye(e,t){let n=e.sx*t.x,r=e.sy*t.y;return e.swap?{x:r,y:n}:{x:n,y:r}}function be(e,t){let n=e.swap?t.y:t.x,r=e.swap?t.x:t.y;return{x:e.sx*n,y:e.sy*r}}function xe(e,t){if(e.sx===-1){let e=t.minX;t.minX=-t.maxX,t.maxX=-e}if(e.sy===-1){let e=t.minY;t.minY=-t.maxY,t.maxY=-e}if(e.swap){let e=t.minX;t.minX=t.minY,t.minY=e,e=t.maxX,t.maxX=t.maxY,t.maxY=e}}function Se(e){e&&(e.value=-e.value,e.expanded=e.expanded===null?null:-e.expanded)}function Ce(e){if(!e)return;let t=e.cross.min;e.cross.min=-e.cross.max,e.cross.max=-t,e.crossTarget=-e.crossTarget}function we(e,t){if(e.sx===-1){let e=t.left;t.left=t.right,t.right=e,Se(t.left),Se(t.right),Ce(t.top),Ce(t.bottom)}if(e.sy===-1){let e=t.top;t.top=t.bottom,t.bottom=e,Se(t.top),Se(t.bottom),Ce(t.left),Ce(t.right)}if(e.swap){let e=t.left;t.left=t.top,t.top=e,e=t.right,t.right=t.bottom,t.bottom=e}}function Te(e,t){if(xe(t,e.a.box),xe(t,e.a.grown),xe(t,e.b.box),xe(t,e.b.grown),xe(t,e.common.box),xe(t,e.common.grown),we(t,e.a.edges),we(t,e.b.edges),e.bias=ye(t,e.bias),t.sx===-1&&(e.gapX=-e.gapX,e.midX=e.midX===null?null:-e.midX),t.sy===-1&&(e.gapY=-e.gapY,e.midY=e.midY===null?null:-e.midY),t.swap){let t=e.gapX;e.gapX=e.gapY,e.gapY=t,t=e.midX,e.midX=e.midY,e.midY=t}}function Ee(e,t){Te(e,t),e.applied.push(t)}function De(e){return e.swap?{sx:e.sy,sy:e.sx,swap:!0}:e}function Oe(e){for(;e.applied.length>0;){let t=e.applied.pop();t&&Te(e,De(t))}}function ke(e,t,n){let r={x:t,y:n};for(let t=e.applied.length-1;t>=0;--t)r=be(e.applied[t],r);return r}var A=.01,j=class{work;pts=[];mid=null;constructor(e){this.work=e}to(e,t){return this.pts.push(ke(this.work,e,t)),this}tagMid(e){let t=this.pts[this.pts.length-2],n=this.pts[this.pts.length-1],r=0;for(let e of this.work.applied)e.swap&&(r+=1);return this.mid={x:(t.x+n.x)/2,y:(t.y+n.y)/2,axis:r%2==1?e===`x`?`y`:`x`:e,span:Math.abs(t.x-n.x)+Math.abs(t.y-n.y)},this}done(){let e=Ye(this.pts),t=0;for(let n=0;n<e.length-1;n+=1)t+=Math.abs(e[n+1].x-e[n].x)+Math.abs(e[n+1].y-e[n].y);return{points:e,dist:t,mid:this.mid}}};function Ae(e){let t=e.a.edges.right,n=e.b.edges.left;if(!t||!n||t.crossTarget>n.crossTarget&&(Ee(e,he),t=e.a.edges.right,n=e.b.edges.left,!t||!n))return null;if(e.gapX>0&&e.midX!==null)return new j(e).to(t.value,t.crossTarget).to(e.midX,t.crossTarget).to(e.midX,n.crossTarget).tagMid(`x`).to(n.value,n.crossTarget).done();if(t.expanded===null||n.expanded===null)return null;if(e.midY!==null)return new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.midY).to(n.expanded,e.midY).tagMid(`y`).to(n.expanded,n.crossTarget).to(n.value,n.crossTarget).done();let r=Math.abs(t.value-e.common.grown.maxX)+Math.abs(t.crossTarget-e.common.grown.maxY)+Math.abs(e.common.grown.maxX-n.expanded)+Math.abs(e.common.grown.maxY-n.crossTarget)+T+6,i=T+Math.abs(t.crossTarget-e.common.grown.minY)+Math.abs(t.expanded-e.common.grown.minX)+Math.abs(e.common.grown.minY-n.crossTarget)+Math.abs(e.common.grown.minX-n.value)+6+e.bias.y,a=e.gapX<0&&e.midX!==null?T+Math.abs(t.crossTarget-e.a.grown.maxY)+(e.common.grown.maxX-e.common.grown.minX)+Math.abs(e.a.grown.maxY-e.b.grown.minY)+Math.abs(e.b.grown.minY-n.crossTarget)+T+8:1/0;return r<i&&r<a?new j(e).to(t.value,t.crossTarget).to(e.common.grown.maxX,t.crossTarget).to(e.common.grown.maxX,e.common.grown.maxY).to(n.expanded,e.common.grown.maxY).to(n.expanded,n.crossTarget).to(n.value,n.crossTarget).done():i<a?new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.common.grown.minY).to(e.common.grown.minX,e.common.grown.minY).to(e.common.grown.minX,n.crossTarget).to(n.value,n.crossTarget).done():e.midX===null?null:new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.a.grown.maxY).to(e.midX,e.a.grown.maxY).to(e.midX,e.b.grown.minY).tagMid(`y`).to(n.expanded,e.b.grown.minY).to(n.expanded,n.crossTarget).to(n.value,n.crossTarget).done()}function je(e){let t=e.a.edges.right,n=e.b.edges.top;if(!t||!n)return null;if(t.crossTarget<(n.expanded??n.value)&&n.crossTarget>(t.expanded??t.value)||e.a.isPoint&&re(e.b.grown,k(e.a.box)))return new j(e).to(t.value,t.crossTarget).to(n.crossTarget,t.crossTarget).to(n.crossTarget,n.value).done();if(e.gapX>0&&e.midX!==null&&n.expanded!==null)return new j(e).to(t.value,t.crossTarget).to(e.midX,t.crossTarget).to(e.midX,n.expanded).tagMid(`x`).to(n.crossTarget,n.expanded).to(n.crossTarget,n.value).done();if(e.gapY>0&&t.expanded!==null&&n.crossTarget<t.expanded&&e.midY!==null)return new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.midY).to(n.crossTarget,e.midY).tagMid(`y`).to(n.crossTarget,n.value).done();let r=Math.abs(t.value-e.common.grown.maxX)+Math.abs(t.crossTarget-e.common.grown.minY)+Math.abs(n.crossTarget-e.common.grown.maxX)+Math.abs(n.value-e.common.grown.minY),i=t.expanded!==null&&e.midY!==null&&n.expanded!==null?Math.abs(t.value-t.expanded)+Math.abs(e.b.grown.minX-t.expanded)+Math.abs(e.b.grown.minX-n.crossTarget)+Math.abs(t.crossTarget-e.b.grown.minY)+Math.abs(n.value-n.expanded):1/0,a=t.expanded!==null&&e.midX!==null&&n.expanded!==null?Math.abs(t.value-e.common.grown.maxX)+Math.abs(t.crossTarget-e.a.grown.maxY)+Math.abs(t.expanded-n.crossTarget)+Math.abs(e.a.grown.maxY-n.expanded)+Math.abs(n.expanded-n.value):1/0;return r<i&&r<a?new j(e).to(t.value,t.crossTarget).to(e.common.grown.maxX,t.crossTarget).to(e.common.grown.maxX,e.common.grown.minY).to(n.crossTarget,e.common.grown.minY).to(n.crossTarget,n.value).done():n.expanded!==null&&t.expanded!==null&&e.midY!==null&&i<a?new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.midY).to(e.b.grown.minX,e.midY).tagMid(`y`).to(e.b.grown.minX,n.expanded).to(n.crossTarget,n.expanded).to(n.crossTarget,n.value).done():n.expanded!==null&&t.expanded!==null&&e.midX!==null?new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,e.a.grown.maxY).to(e.midX,e.a.grown.maxY).to(e.midX,n.expanded).tagMid(`x`).to(n.crossTarget,n.expanded).to(n.crossTarget,n.value).done():null}function Me(e){return Ee(e,he),je(e)}function Ne(e){let t=e.a.edges.right,n=e.b.edges.right;if(!t||!n)return null;if((e.gapX<=0||t.crossTarget>e.b.grown.maxY||t.crossTarget<e.b.grown.minY)&&(n.value>e.a.box.minX||n.crossTarget>e.a.grown.maxY||n.crossTarget<e.a.grown.minY))return new j(e).to(t.value,t.crossTarget).to(e.common.grown.maxX,t.crossTarget).to(e.common.grown.maxX,n.crossTarget).to(n.value,n.crossTarget).done();if(e.midX===null)return null;if(n.expanded!==null&&e.gapX>=0){let r=Math.abs(n.crossTarget-e.b.grown.maxY)+Math.abs(t.crossTarget-e.b.grown.maxY)<Math.abs(n.crossTarget-e.b.grown.minY)+Math.abs(t.crossTarget-e.b.grown.minY)?e.b.grown.maxY:e.b.grown.minY;return new j(e).to(t.value,t.crossTarget).to(e.midX,t.crossTarget).to(e.midX,r).tagMid(`x`).to(n.expanded,r).to(n.expanded,n.crossTarget).to(n.value,n.crossTarget).done()}if(t.expanded!==null&&e.gapX<=0){let r=Math.abs(n.crossTarget-e.a.grown.maxY)+Math.abs(t.crossTarget-e.a.grown.maxY)<Math.abs(n.crossTarget-e.a.grown.minY)+Math.abs(t.crossTarget-e.a.grown.minY)?e.a.grown.maxY:e.a.grown.minY;return new j(e).to(t.value,t.crossTarget).to(t.expanded,t.crossTarget).to(t.expanded,r).to(e.midX,r).to(e.midX,n.crossTarget).tagMid(`x`).to(n.value,n.crossTarget).done()}return null}var Pe={top:{top:[ve,Ne],left:[ve,je],bottom:[ve,Ae],right:[ve,Me]},right:{top:[me,je],right:[me,Ne],bottom:[me,Me],left:[me,Ae]},bottom:{top:[ge,Ae],left:[ge,Me],bottom:[ge,Ne],right:[ge,je]},left:{top:[_e,Me],left:[_e,Ne],bottom:[_e,je],right:[_e,Ae]}};function M(e,t,n){let[r,i]=Pe[t][n];Ee(e,r);let a=i(e);return Oe(e),a}function Fe(e,t){let n=null,r=1/0,i=1/0,a=0;for(let[o,s]of t){a+=1;let t=M(e,o,s);t&&(t.points.length<r?(r=t.points.length,i=t.dist,n=t):t.points.length===r&&t.dist+a<i&&(i=t.dist,n=t))}return n}function Ie(e,t){let n=e.a.edges[t];if(!n)return;let r=n.expanded??n.value,i=e=>t===`right`?r<=e:r>=e,a=e.b.edges.top;if(a&&i(a.crossTarget)&&n.crossTarget<=(a.expanded??a.value))return M(e,t,`top`);let o=e.b.edges.bottom;if(o&&i(o.crossTarget)&&n.crossTarget>=(o.expanded??o.value))return M(e,t,`bottom`)}function Le(e){let t=null;if(Math.abs(e.gapX)+1>Math.abs(e.gapY)&&e.midX!==null)t=e.gapX>0?M(e,`right`,`left`):M(e,`left`,`right`);else if(e.a.isPoint&&e.b.isPoint)t=e.gapY>0?M(e,`bottom`,`top`):M(e,`top`,`bottom`);else{let n=Ie(e,`right`);n===void 0&&(n=Ie(e,`left`)),n===void 0?e.gapY>0&&e.midY!==null?t=M(e,`bottom`,`top`):e.gapY<0&&e.midY!==null&&(t=M(e,`top`,`bottom`)):t=n}if(t)return t;let n=ce.filter(t=>e.a.edges[t]),r=ce.filter(t=>e.b.edges[t]);return Fe(e,n.flatMap(e=>r.map(t=>[e,t])))}function Re(e,t){let n=null;return t===`right`?n=e.gapX>0&&e.gapX>Math.abs(e.gapY)&&e.midX!==null?M(e,`right`,`left`):Ie(e,`right`)??null:t===`left`&&(n=e.gapX<0&&Math.abs(e.gapX)>Math.abs(e.gapY)&&e.midX!==null?M(e,`left`,`right`):Ie(e,`left`)??null),n||Fe(e,{top:[`bottom`,`right`,`left`,`top`],bottom:[`top`,`right`,`left`,`bottom`],left:[`right`,`bottom`,`left`,`top`],right:[`left`,`bottom`,`right`,`top`]}[t].map(e=>[t,e]))}var ze={top:`bottom`,bottom:`top`,left:`right`,right:`left`};function Be(e,t,n){return M(e,t,n)||(e.a.isPoint&&e.b.isPoint?Fe(e,[[ze[t],ze[n]],[t,ze[n]],[ze[t],n]]):e.a.isPoint?M(e,ze[t],n):e.b.isPoint?M(e,t,ze[n]):null)}function Ve(e,t,n){if(n.isPoint||n.gap<=0||e.length<2)return;let r=t?e[0]:e[e.length-1],i=t?e[1]:e[e.length-2],a=c(Math.abs(r.x-i.x)+Math.abs(r.y-i.y)-n.minEnd,0,n.gap);if(a<=0)return;let o=Math.sign(i.x-r.x),s=Math.sign(i.y-r.y);r.x+=o*a,r.y+=s*a}function He(e,t,n){if(!n.outline||!n.side||n.isPoint||e.length<2)return;let r=t?e[0]:e[e.length-1],i=t?e[1]:e[e.length-2];if(n.side===`left`||n.side===`right`){if(Math.abs(r.y-i.y)>A)return;r.x=n.outline(r.y)}else{if(Math.abs(r.x-i.x)>A)return;r.y=n.outline(r.x)}}function Ue(e,t,n){if(e.length<3)return;let r=t?e[0]:e[e.length-1],i=t?e[1]:e[e.length-2];if(!(Math.abs(r.x-i.x)+Math.abs(r.y-i.y)>=n)&&(e.splice(t?1:e.length-2,1),e.length>=3)){let n=t?e[1]:e[e.length-2];Math.abs(r.x-i.x)<A?n.y=r.y:n.x=r.x}}function We(e,t){let n=t.box.minX-e.box.maxX;n<0&&(n=-Math.max(0,e.box.minX-t.box.maxX));let r=t.box.minY-e.box.maxY;return r<0&&(r=-Math.max(0,e.box.minY-t.box.maxY)),{gapX:n,gapY:r}}var Ge={x:{lo:`minX`,hi:`maxX`},y:{lo:`minY`,hi:`maxY`}};function Ke(e,t,n,r,i,a,o,s,c){let{lo:l,hi:u}=Ge[e];return t>n?{a:r.isPoint?r.box[u]+s:a[u],b:i.isPoint?i.box[l]-c:o[l]}:t<-n?{a:r.isPoint?r.box[l]-s:a[l],b:i.isPoint?i.box[u]+c:o[u]}:null}function qe(e,t,n,r){if(!e||e.points.length<2)return null;let i=e.points;return He(i,!0,t),He(i,!1,n),Ve(i,!0,t),Ve(i,!1,n),Ue(i,!0,t.minEnd),Ue(i,!1,n.minEnd),r&&i.reverse(),i}function Je(e,t,n){let r={box:ee(e.bounds),target:{x:e.target.x,y:e.target.y},gap:e.gap,minEnd:e.minEnd,side:e.side,outline:e.outline,isPoint:e.isPoint},i={box:ee(t.bounds),target:{x:t.target.x,y:t.target.y},gap:t.gap,minEnd:t.minEnd,side:t.side,outline:t.outline,isPoint:t.isPoint},a=!r.side&&!!i.side,o=a?i:r,s=a?r:i,c=de(o,s),l=de(s,o);(!fe(c,o.side)||!fe(l,s.side))&&(fe(c,o.side)||(s=pe(s)),fe(l,s.side)||(o=pe(o)),re(s.box,o.target,T)&&(s=pe(s)),re(o.box,s.target,T)&&(o=pe(o)),c=de(o,s),l=de(s,o));let u=o.isPoint?o.box:te(o.box,T),d=s.isPoint?s.box:te(s.box,T),{gapX:f,gapY:p}=We(o,s),m=o.minEnd*O,h=s.minEnd*O,g=(o.isPoint?m:E)+(s.isPoint?h:E),_=Ke(`x`,f,g,o,s,u,d,m,h),v=Ke(`y`,p,g,o,s,u,d,m,h),y=a?1-n:n,b=_?se(_.a,_.b,y):null,x=v?se(v.a,v.b,y):null,S={a:{box:o.box,grown:u,edges:c,isPoint:o.isPoint},b:{box:s.box,grown:d,edges:l,isPoint:s.isPoint},common:{box:ne(o.box,s.box),grown:ne(u,d)},gapX:f,gapY:p,midX:b,midY:x,bias:{x:1,y:1},applied:[]},C=null;return o.side&&s.side?C=Be(S,o.side,s.side):o.side&&(C=Re(S,o.side)),C||=Le(S),{route:qe(C,o,s,a),midHandle:C?.mid??null,midXRange:_?a?{lo:_.b,hi:_.a}:{lo:_.a,hi:_.b}:null,midYRange:v?a?{lo:v.b,hi:v.a}:{lo:v.a,hi:v.b}:null}}function Ye(e){let t=[];for(let n of e){let e=t[t.length-1],r=t[t.length-2];if(!e){t.push({x:n.x,y:n.y});continue}let i=Math.abs(n.x-e.x)<A,a=Math.abs(n.y-e.y)<A;if(!(i&&a)){if(r&&i&&Math.abs(n.x-r.x)<A){e.y=n.y;continue}if(r&&a&&Math.abs(n.y-r.y)<A){e.x=n.x;continue}t.push({x:n.x,y:n.y})}}return t}function Xe(e,t,n,r){if(n.isPoint)return Math.sign(e-r)===t?r:null;let i=r+t*n.gap;return Math.sign(e-i)===t?i:Math.sign(e-r)===t&&Math.abs(e-r)>A?r+(e-r)/2:null}function Ze(e,t,n){let r=n?e[0]:e[e.length-1],i=n?e[1]:e[e.length-2],a=Math.abs(i.y-r.y)<=A;if(a===Math.abs(i.x-r.x)<=A||t.side&&(t.side===`left`||t.side===`right`)!==a)return!1;if(a){let e=Math.sign(i.x-r.x),n=Xe(i.x,e,t,!t.isPoint&&t.outline?t.outline(t.target.y):t.isPoint?t.target.x:e>0?t.bounds.x+t.bounds.width:t.bounds.x);return n===null?!1:(r.x=n,r.y=t.target.y,i.y=t.target.y,!0)}let o=Math.sign(i.y-r.y),s=Xe(i.y,o,t,!t.isPoint&&t.outline?t.outline(t.target.x):t.isPoint?t.target.y:o>0?t.bounds.y+t.bounds.height:t.bounds.y);return s===null?!1:(r.y=s,r.x=t.target.x,i.x=t.target.x,!0)}function Qe(e,t,n){if(e.length<3)return null;let r=e.map(e=>({x:e.x,y:e.y}));if(!Ze(r,t,!0)||!Ze(r,n,!1))return null;let i=Ye(r);if(i.length<3)return null;for(let e=0;e<i.length-1;e+=1)if(Math.abs(i[e+1].x-i[e].x)>A&&Math.abs(i[e+1].y-i[e].y)>A)return null;return i}function $e(e,t,n){if(e.length<2||t<0||t>e.length-2)return null;let r=e.map(e=>({x:e.x,y:e.y})),i=r[t],a=r[t+1],o=a.x-i.x,s=a.y-i.y,c=Math.abs(s)<=Math.abs(o),l=Math.abs(c?o:s);if(l<A)return null;let u=Math.min(T,l/2);if(t===e.length-2){let e=r[r.length-1],t=c?{x:e.x-Math.sign(o)*u,y:e.y}:{x:e.x,y:e.y-Math.sign(s)*u};r.splice(r.length-1,0,{...t},{...t})}let d=t;if(t===0){let e=r[0],t=c?{x:e.x+Math.sign(o)*u,y:e.y}:{x:e.x,y:e.y+Math.sign(s)*u};r.splice(1,0,{...t},{...t}),d=2}let f=r[d],p=r[d+1];c?(f.y=n,p.y=n):(f.x=n,p.x=n);let m=Ye(r);return m.length<2?null:m}function et(e,t){return{bounds:{x:e.x,y:e.y,width:0,height:0},target:{x:e.x,y:e.y},gap:0,minEnd:t*D,side:null,isPoint:!0}}var tt=18,nt=.58,rt=.15,it=.16,at=.5,ot=.68;function st(e,t,n){let r={x:-Math.sin(t),y:Math.cos(t)},i=r=>{let i=t+nt*r;return{x:e.x-n*Math.cos(i),y:e.y-n*Math.sin(i)}},a=t=>({x:t.x+(e.x-t.x)*it,y:t.y+(e.y-t.y)*it}),o=t=>{let i=Math.sign((t.x-e.x)*r.x+(t.y-e.y)*r.y);return{x:e.x+r.x*i*n*rt,y:e.y+r.y*i*n*rt}},s=i(-1),c=i(1),l=a(s),u=a(c),d=o(s),f=o(c);return`M ${s.x} ${s.y} C ${l.x} ${l.y} ${d.x} ${d.y} ${e.x} ${e.y} C ${f.x} ${f.y} ${u.x} ${u.y} ${c.x} ${c.y}`}function ct(e,t,n){let r={x:-Math.sin(t),y:Math.cos(t)},i=i=>{let a=t+at*i,o={x:e.x-n*Math.cos(a),y:e.y-n*Math.sin(a)},s={x:(o.x+e.x)/2,y:(o.y+e.y)/2},c=((s.x-e.x)*r.x+(s.y-e.y)*r.y)*ot,l={x:s.x-r.x*c,y:s.y-r.y*c};return`M ${o.x} ${o.y} Q ${l.x} ${l.y} ${e.x} ${e.y}`};return`${i(-1)} ${i(1)}`}function lt(e){return{x:(e.x+e.x2)/2,y:(e.y+e.y2)/2}}function ut(e,t){return p(e,f(e)*n(t)).point}function dt(e){let t=e.labelAlong;if(e.bendStyle===`elbow`)return ut(N(e),t??.5);let r=P(e);if(r)return t===void 0?r.apex:r.pointAt(t);if(t===void 0)return lt(e);let i=n(t);return{x:e.x+(e.x2-e.x)*i,y:e.y+(e.y2-e.y)*i}}function ft(e,t){if(e.bendStyle===`elbow`)return m(N(e),t);let r=P(e);if(r)return Ot(r,t);let i=e.x2-e.x,a=e.y2-e.y,o=i*i+a*a;return o<1e-9?.5:n(((t.x-e.x)*i+(t.y-e.y)*a)/o)}var pt=22,mt=10;function ht(e,t){let n=Math.hypot(t.x,t.y)||1;return{x:e.x+t.y/n*mt,y:e.y-t.x/n*mt}}function gt(e,t){if(e.bendStyle===`elbow`){let n=N(e),r=t===`start`?n:[...n].reverse(),i=p(r,Math.min(pt,f(r)*.4));return ht(i.point,i.dir)}let n={x:e.x,y:e.y},r={x:e.x2,y:e.y2},a=i(n,r)||1,o=P(e);if(!o){let e=Math.min(pt,a*.4);return t===`start`?ht(v(n,r,e),{x:r.x-n.x,y:r.y-n.y}):ht(v(r,n,e),{x:n.x-r.x,y:n.y-r.y})}let s=Math.min(pt/a,.4),c=t===`start`?o.pointAt(s):o.pointAt(1-s),l=t===`start`?o.pointAt(s+.02):o.pointAt(1-s-.02);return ht(c,{x:l.x-c.x,y:l.y-c.y})}function _t(e){let t=e.x2-e.x,n=e.y2-e.y,r=Math.hypot(t,n)||1,i={x:t/r,y:n/r};return{dir:i,normal:{x:-i.y,y:i.x}}}function vt(e){return Je(et({x:e.x,y:e.y},e.strokeWidth),et({x:e.x2,y:e.y2},e.strokeWidth),e.elbowMid??.5)}function N(e){if(e.elbowPoints&&e.elbowPoints.length>=2)return e.elbowPoints.map(e=>({x:e.x,y:e.y}));if(e.elbowRoute&&e.elbowRoute.length>=2)return e.elbowRoute.map(e=>({x:e.x,y:e.y}));let t=vt(e);return t.route&&t.route.length>=2?t.route:[{x:e.x,y:e.y},{x:e.x2,y:e.y2}]}function yt(e){return e.elbowPoints?null:e.startBinding||e.endBinding?e.elbowMidHandle??null:vt(e).midHandle}var bt=.4;function xt(e){return c(e||0,-.4,bt)}function St(e){let t=lt(e),{dir:n,normal:r}=_t(e),a=i({x:e.x,y:e.y},{x:e.x2,y:e.y2}),o=xt(e.bendAlong)*a;return{x:t.x+n.x*o+r.x*e.bend,y:t.y+n.y*o+r.y*e.bend}}var Ct=Math.PI*2,wt=e=>(e%Ct+Ct)%Ct;function Tt(e,t,n){let r=Math.atan2(e.y-t.y,e.x-t.x);return-Math.sin(r)*n.x+Math.cos(r)*n.y>0}function Et(e,t,n,r){let a=i(n,e),o=Math.atan2(e.y-n.y,e.x-n.x),s=Math.atan2(t.y-n.y,t.x-n.x),c=r?wt(s-o):-wt(o-s);return{from:e,to:t,center:n,r:a,a0:o,delta:c,len:Math.abs(c)*a}}function Dt(e,t,r,a){let o=i(e,t);if(o<1||Math.abs(r)<.5)return null;let s={x:(t.x-e.x)/o,y:(t.y-e.y)/o},c={x:-s.y,y:s.x},l={x:(e.x+t.x)/2,y:(e.y+t.y)/2},u=xt(a)*o,d={x:l.x+s.x*u+c.x*r,y:l.y+s.y*u+c.y*r},f;if(Math.abs(u)<.5){let n=o/2,i=(r*r-n*n)/(2*r),a={x:l.x+c.x*i,y:l.y+c.y*i};f=[Et(e,t,a,Tt(d,a,s))]}else{let n=e=>{let t=e.x-d.x,n=e.y-d.y,r=c.x*t+c.y*n;if(Math.abs(r)<.25||Math.hypot(t,n)<1)return null;let i=(t*t+n*n)/(2*r);return{x:d.x+c.x*i,y:d.y+c.y*i}},r=n(e),i=n(t);if(!r||!i)return null;f=[Et(e,d,r,Tt(d,r,s)),Et(d,t,i,Tt(d,i,s))]}let p=f.reduce((e,t)=>e+t.len,0);if(p<1)return null;let m=f[f.length-1];return{apex:d,apexT:f.length===2?f[0].len/p:.5,length:p,segments:f,pointAt:e=>{let r=n(e)*p;for(let e of f){if(r<=e.len||e===m){let t=e.len?Math.min(1,r/e.len):0,n=e.a0+e.delta*t;return{x:e.center.x+e.r*Math.cos(n),y:e.center.y+e.r*Math.sin(n)}}r-=e.len}return{x:t.x,y:t.y}}}}function Ot(e,t){let n=0,r=.5,a=1/0;for(let o of e.segments){let s=Math.abs(o.delta),c=Math.atan2(t.y-o.center.y,t.x-o.center.x),l=o.delta>=0?wt(c-o.a0):wt(o.a0-c),u;u=s<1e-9?0:l<=s?l/s:i(t,o.from)<=i(t,o.to)?0:1;let d=o.a0+o.delta*u,f=i(t,{x:o.center.x+o.r*Math.cos(d),y:o.center.y+o.r*Math.sin(d)});f<a&&(a=f,r=(n+u*o.len)/e.length),n+=o.len}return r}function P(e){return Dt({x:e.x,y:e.y},{x:e.x2,y:e.y2},e.bend,e.bendAlong??0)}function kt(e,t,n){let r=i(e,t)||1,a={x:(t.x-e.x)/r,y:(t.y-e.y)/r},o={x:-a.y,y:a.x},s={x:(e.x+t.x)/2,y:(e.y+t.y)/2},c=n.x-s.x,l=n.y-s.y;return{bow:c*o.x+l*o.y,bowAlong:xt((c*a.x+l*a.y)/r)}}function At(e,t,n){return Math.abs(e*t)<=n?0:e}function jt(e,t){let n=t===`from`?e.a0:e.a0+e.delta,r=e.delta>=0?1:-1;return{x:-Math.sin(n)*r,y:Math.cos(n)*r}}function Mt(e){return St(e)}function Nt(e,t){let n=kt({x:e.x,y:e.y},{x:e.x2,y:e.y2},t);return{bend:n.bow,bendAlong:n.bowAlong}}function Pt(e,t){if(e.length<2)return``;let n=`M ${e[0].x} ${e[0].y}`;for(let r=1;r<e.length-1;r+=1){let a=e[r-1],o=e[r],s=e[r+1],c=Math.min(t,i(a,o)/2,i(o,s)/2),l=v(o,a,c),u=v(o,s,c);n+=` L ${l.x} ${l.y} Q ${o.x} ${o.y} ${u.x} ${u.y}`}let r=e[e.length-1];return n+=` L ${r.x} ${r.y}`,n}function Ft(e){if(e.bendStyle===`elbow`){let t=N(e);if(t.length>=2)return Pt(t,tt)}let t=e.bendStyle===`elbow`?null:P(e);if(!t)return`M ${e.x} ${e.y} L ${e.x2} ${e.y2}`;let n=`M ${t.segments[0].from.x} ${t.segments[0].from.y}`;for(let e of t.segments){let t=+(Math.abs(e.delta)>Math.PI),r=+(e.delta>0);n+=` A ${e.r} ${e.r} 0 ${t} ${r} ${e.to.x} ${e.to.y}`}return n}function It(e,t,n,r){if(e.length>n){let a=r?1-n/e.length:n/e.length,o=e.pointAt(a);if(i(o,t)>1e-6)return Math.atan2(t.y-o.y,t.x-o.x)}if(r){let t=jt(e.segments[e.segments.length-1],`to`);return Math.atan2(t.y,t.x)}let a=jt(e.segments[0],`from`);return Math.atan2(-a.y,-a.x)}function Lt(e,t){let n=t===`end`,r=n?{x:e.x2,y:e.y2}:{x:e.x,y:e.y},a=(n?e.endHead:e.startHead)??`arrow`,o=b(e.strokeWidth),s=n?Math.atan2(e.y2-e.y,e.x2-e.x):Math.atan2(e.y-e.y2,e.x-e.x2);if(e.bendStyle===`elbow`){let t=N(e);return{tip:r,angle:y(t,n)??s,length:w(o,a,f(t),g(t,n))}}let c=P(e);if(!c)return{tip:r,angle:s,length:w(o,a,i({x:e.x,y:e.y},{x:e.x2,y:e.y2}))};let l=w(o,a,c.length);return{tip:r,angle:It(c,r,l,n),length:l}}var Rt=[0,Math.PI/2,Math.PI,-Math.PI/2];function zt(e){let t=[e.from,e.to];for(let n of Rt)(e.delta>=0?wt(n-e.a0):wt(e.a0-n))>Math.abs(e.delta)||t.push({x:e.center.x+e.r*Math.cos(n),y:e.center.y+e.r*Math.sin(n)});return t}function Bt(e){if(e.bendStyle===`elbow`)return N(e);let t=P(e);return t?t.segments.flatMap(zt):[{x:e.x,y:e.y},{x:e.x2,y:e.y2},St(e)]}function Vt(e){let t=Bt(e),n=t.map(e=>e.x),r=t.map(e=>e.y),i=Math.min(...n),a=Math.min(...r);return{x:i,y:a,width:Math.max(...n)-i,height:Math.max(...r)-a}}function Ht(e){return y(e,!0)??0}function Ut(e){return y(e,!1)??0}function Wt(e,t){return e.length===0?{x:0,y:0}:p(e,f(e)*n(t??.5)).point}function Gt(e){return e.length===0?``:e.reduce((e,t,n)=>e+`${n===0?`M`:`L`} ${t.x} ${t.y} `,``)}function Kt(e){let t=[];for(let n of e){let e=t[t.length-1];(!e||Math.abs(e.x-n.x)>.01||Math.abs(e.y-n.y)>.01)&&t.push(n)}return t}var qt=[`arrow`,`sweep`,`triangle`,`triangleOutline`],Jt=[`circle`,`circleOutline`,`diamond`,`diamondOutline`,`bar`,`cross`],Yt=[`crowOne`,`crowMany`,`crowOneOrMany`,`crowOnlyOne`,`crowZeroOrOne`,`crowZeroOrMany`];function Xt(e){let t={x:Math.cos(e),y:Math.sin(e)};return{dir:t,normal:{x:-t.y,y:t.x}}}function Zt(e){let[t,...n]=e;return`M ${t.x} ${t.y} `+n.map(e=>`L ${e.x} ${e.y} `).join(``)+`Z`}function Qt(e,t){return`M ${e.x-t} ${e.y} a ${t} ${t} 0 1 0 ${t*2} 0 a ${t} ${t} 0 1 0 ${-t*2} 0 Z`}function $t(e,t,n,r){let{dir:i,normal:a}=Xt(n),o=r,s=e=>({x:t.x-i.x*e,y:t.y-i.y*e}),c=(e,t)=>{let n=s(e),r={x:n.x+a.x*t,y:n.y+a.y*t},i={x:n.x-a.x*t,y:n.y-a.y*t};return`M ${r.x} ${r.y} L ${i.x} ${i.y}`},l=(e,n)=>{let r=s(e),i={x:t.x+a.x*n,y:t.y+a.y*n},o={x:t.x-a.x*n,y:t.y-a.y*n};return`M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o.x} ${o.y}`},u=(e,t=`none`)=>({d:e,fill:t}),d=s(o);switch(e){case`arrow`:return[u(st(t,n,o))];case`sweep`:return[u(ct(t,n,o))];case`triangle`:case`triangleOutline`:{let n=o*.42;return[u(Zt([t,{x:d.x+a.x*n,y:d.y+a.y*n},{x:d.x-a.x*n,y:d.y-a.y*n}]),e===`triangle`?`solid`:`white`)]}case`diamond`:case`diamondOutline`:{let n=o*.34,r=s(o/2);return[u(Zt([t,{x:r.x+a.x*n,y:r.y+a.y*n},d,{x:r.x-a.x*n,y:r.y-a.y*n}]),e===`diamond`?`solid`:`white`)]}case`circle`:case`circleOutline`:{let t=o*.4;return[u(Qt(s(t),t),e===`circle`?`solid`:`white`)]}case`bar`:return[u(c(0,o*.5))];case`cross`:{let e=o*.4,t=t=>{let n=i.x*t+a.x,r=i.y*t+a.y,o=Math.hypot(n,r)||1,c=n/o*e,l=r/o*e,u=s(e);return`M ${u.x-c} ${u.y-l} L ${u.x+c} ${u.y+l}`};return[u(t(1)),u(t(-1))]}case`crowOne`:return[u(c(o*.55,o*.45))];case`crowOnlyOne`:return[u(c(o*.45,o*.45)),u(c(o*.9,o*.45))];case`crowMany`:return[u(l(o,o*.5))];case`crowOneOrMany`:return[u(l(o,o*.5)),u(c(o*1.3,o*.45))];case`crowZeroOrOne`:{let e=o*.3;return[u(c(o*.4,o*.45)),u(Qt(s(o),e),`white`)]}case`crowZeroOrMany`:{let e=o*.3;return[u(l(o*.85,o*.5)),u(Qt(s(o*1.4),e),`white`)]}}}function en(e){let t=[];if(e.endArrow){let n=Lt(e,`end`);t.push(...$t(e.endHead??`arrow`,n.tip,n.angle,n.length))}if(e.startArrow){let n=Lt(e,`start`);t.push(...$t(e.startHead??`arrow`,n.tip,n.angle,n.length))}return t}function tn(e){let t=e.points;if(t.length<2)return[];let n=b(e.strokeWidth),r=f(t),i=[];if(e.endArrow){let a=e.endHead??`arrow`;i.push(...$t(a,t[t.length-1],Ht(t),w(n,a,r,g(t,!0))))}if(e.startArrow){let a=e.startHead??`arrow`;i.push(...$t(a,t[0],Ut(t),w(n,a,r,g(t,!1))))}return i}function nn(e,t){return e===`solid`?t:e===`white`?`#ffffff`:`none`}function rn(e,t,n){if(e&&e.length){let[r,i]=t,a=Math.PI/180*n,o=Math.cos(a),s=Math.sin(a);for(let t of e){let[e,n]=t;t[0]=(e-r)*o-(n-i)*s+r,t[1]=(e-r)*s+(n-i)*o+i}}}function an(e,t){return e[0]===t[0]&&e[1]===t[1]}function on(e,t,n,r=1){let i=n,a=Math.max(t,.1),o=e[0]&&e[0][0]&&typeof e[0][0]==`number`?[e]:e,s=[0,0];if(i)for(let e of o)rn(e,s,i);let c=function(e,t,n){let r=[];for(let t of e){let e=[...t];an(e[0],e[e.length-1])||e.push([e[0][0],e[0][1]]),e.length>2&&r.push(e)}let i=[];t=Math.max(t,.1);let a=[];for(let e of r)for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(n[1]!==r[1]){let e=Math.min(n[1],r[1]);a.push({ymin:e,ymax:Math.max(n[1],r[1]),x:e===n[1]?n[0]:r[0],islope:(r[0]-n[0])/(r[1]-n[1])})}}if(a.sort(((e,t)=>e.ymin<t.ymin?-1:e.ymin>t.ymin?1:e.x<t.x?-1:e.x>t.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax))),!a.length)return i;let o=[],s=a[0].ymin,c=0;for(;o.length||a.length;){if(a.length){let e=-1;for(let t=0;t<a.length&&!(a[t].ymin>s);t++)e=t;a.splice(0,e+1).forEach((e=>{o.push({s,edge:e})}))}if(o=o.filter((e=>!(e.edge.ymax<=s))),o.sort(((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x))),(n!==1||c%t==0)&&o.length>1)for(let e=0;e<o.length;e+=2){let t=e+1;if(t>=o.length)break;let n=o[e].edge,r=o[t].edge;i.push([[Math.round(n.x),s],[Math.round(r.x),s]])}s+=n,o.forEach((e=>{e.edge.x=e.edge.x+n*e.edge.islope})),c++}return i}(o,a,r);if(i){for(let e of o)rn(e,s,-i);(function(e,t,n){let r=[];e.forEach((e=>r.push(...e))),rn(r,t,n)})(c,s,-i)}return c}function sn(e,t){let n=t.hachureAngle+90,r=t.hachureGap;r<0&&(r=4*t.strokeWidth),r=Math.round(Math.max(r,.1));let i=1;return t.roughness>=1&&(t.randomizer?.next()||Math.random())>.7&&(i=r),on(e,r,n,i||1)}var cn=class{constructor(e){this.helper=e}fillPolygons(e,t){return this._fillPolygons(e,t)}_fillPolygons(e,t){let n=sn(e,t);return{type:`fillSketch`,ops:this.renderLines(n,t)}}renderLines(e,t){let n=[];for(let r of e)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],t));return n}};function ln(e){let t=e[0],n=e[1];return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}var un=class extends cn{fillPolygons(e,t){let n=t.hachureGap;n<0&&(n=4*t.strokeWidth),n=Math.max(n,.1);let r=sn(e,Object.assign({},t,{hachureGap:n})),i=Math.PI/180*t.hachureAngle,a=[],o=.5*n*Math.cos(i),s=.5*n*Math.sin(i);for(let[e,t]of r)ln([e,t])&&a.push([[e[0]-o,e[1]+s],[...t]],[[e[0]+o,e[1]-s],[...t]]);return{type:`fillSketch`,ops:this.renderLines(a,t)}}},dn=class extends cn{fillPolygons(e,t){let n=this._fillPolygons(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),i=this._fillPolygons(e,r);return n.ops=n.ops.concat(i.ops),n}},fn=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=sn(e,t=Object.assign({},t,{hachureAngle:0}));return this.dotsOnLines(n,t)}dotsOnLines(e,t){let n=[],r=t.hachureGap;r<0&&(r=4*t.strokeWidth),r=Math.max(r,.1);let i=t.fillWeight;i<0&&(i=t.strokeWidth/2);let a=r/4;for(let o of e){let e=ln(o),s=e/r,c=Math.ceil(s)-1,l=e-c*r,u=(o[0][0]+o[1][0])/2-r/4,d=Math.min(o[0][1],o[1][1]);for(let e=0;e<c;e++){let o=d+l+e*r,s=u-a+2*Math.random()*a,c=o-a+2*Math.random()*a,f=this.helper.ellipse(s,c,i,i,t);n.push(...f.ops)}}return{type:`fillSketch`,ops:n}}},pn=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=sn(e,t);return{type:`fillSketch`,ops:this.dashedLine(n,t)}}dashedLine(e,t){let n=t.dashOffset<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashOffset,r=t.dashGap<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashGap,i=[];return e.forEach((e=>{let a=ln(e),o=Math.floor(a/(n+r)),s=(a+r-o*(n+r))/2,c=e[0],l=e[1];c[0]>l[0]&&(c=e[1],l=e[0]);let u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let e=0;e<o;e++){let a=e*(n+r),o=a+n,l=[c[0]+a*Math.cos(u)+s*Math.cos(u),c[1]+a*Math.sin(u)+s*Math.sin(u)],d=[c[0]+o*Math.cos(u)+s*Math.cos(u),c[1]+o*Math.sin(u)+s*Math.sin(u)];i.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],t))}})),i}},mn=class{constructor(e){this.helper=e}fillPolygons(e,t){let n=t.hachureGap<0?4*t.strokeWidth:t.hachureGap,r=t.zigzagOffset<0?n:t.zigzagOffset,i=sn(e,t=Object.assign({},t,{hachureGap:n+r}));return{type:`fillSketch`,ops:this.zigzagLines(i,r,t)}}zigzagLines(e,t,n){let r=[];return e.forEach((e=>{let i=ln(e),a=Math.round(i/(2*t)),o=e[0],s=e[1];o[0]>s[0]&&(o=e[1],s=e[0]);let c=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let e=0;e<a;e++){let i=2*e*t,a=2*(e+1)*t,s=Math.sqrt(2*t**2),l=[o[0]+i*Math.cos(c),o[1]+i*Math.sin(c)],u=[o[0]+a*Math.cos(c),o[1]+a*Math.sin(c)],d=[l[0]+s*Math.cos(c+Math.PI/4),l[1]+s*Math.sin(c+Math.PI/4)];r.push(...this.helper.doubleLineOps(l[0],l[1],d[0],d[1],n),...this.helper.doubleLineOps(d[0],d[1],u[0],u[1],n))}})),r}},F={},hn=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}},gn=0,_n=1,vn=2,yn={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function bn(e,t){return e.type===t}function xn(e){let t=[],n=function(e){let t=[];for(;e!==``;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:gn,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];t[t.length]={type:_n,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return t[t.length]={type:vn,text:``},t}(e),r=`BOD`,i=0,a=n[i];for(;!bn(a,vn);){let o=0,s=[];if(r===`BOD`){if(a.text!==`M`&&a.text!==`m`)return xn(`M0,0`+e);i++,o=yn[a.text],r=a.text}else bn(a,_n)?o=yn[r]:(i++,o=yn[a.text],r=a.text);if(!(i+o<n.length))throw Error(`Path data ended short`);for(let e=i;e<i+o;e++){let t=n[e];if(!bn(t,_n))throw Error(`Param not a number: `+r+`,`+t.text);s[s.length]=+t.text}if(typeof yn[r]!=`number`)throw Error(`Bad segment: `+r);{let e={key:r,data:s};t.push(e),i+=o,a=n[i],r===`M`&&(r=`L`),r===`m`&&(r=`l`)}}return t}function Sn(e){let t=0,n=0,r=0,i=0,a=[];for(let{key:o,data:s}of e)switch(o){case`M`:a.push({key:`M`,data:[...s]}),[t,n]=s,[r,i]=s;break;case`m`:t+=s[0],n+=s[1],a.push({key:`M`,data:[t,n]}),r=t,i=n;break;case`L`:a.push({key:`L`,data:[...s]}),[t,n]=s;break;case`l`:t+=s[0],n+=s[1],a.push({key:`L`,data:[t,n]});break;case`C`:a.push({key:`C`,data:[...s]}),t=s[4],n=s[5];break;case`c`:{let e=s.map(((e,r)=>r%2?e+n:e+t));a.push({key:`C`,data:e}),t=e[4],n=e[5];break}case`Q`:a.push({key:`Q`,data:[...s]}),t=s[2],n=s[3];break;case`q`:{let e=s.map(((e,r)=>r%2?e+n:e+t));a.push({key:`Q`,data:e}),t=e[2],n=e[3];break}case`A`:a.push({key:`A`,data:[...s]}),t=s[5],n=s[6];break;case`a`:t+=s[5],n+=s[6],a.push({key:`A`,data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case`H`:a.push({key:`H`,data:[...s]}),t=s[0];break;case`h`:t+=s[0],a.push({key:`H`,data:[t]});break;case`V`:a.push({key:`V`,data:[...s]}),n=s[0];break;case`v`:n+=s[0],a.push({key:`V`,data:[n]});break;case`S`:a.push({key:`S`,data:[...s]}),t=s[2],n=s[3];break;case`s`:{let e=s.map(((e,r)=>r%2?e+n:e+t));a.push({key:`S`,data:e}),t=e[2],n=e[3];break}case`T`:a.push({key:`T`,data:[...s]}),t=s[0],n=s[1];break;case`t`:t+=s[0],n+=s[1],a.push({key:`T`,data:[t,n]});break;case`Z`:case`z`:a.push({key:`Z`,data:[]}),t=r,n=i}return a}function Cn(e){let t=[],n=``,r=0,i=0,a=0,o=0,s=0,c=0;for(let{key:l,data:u}of e){switch(l){case`M`:t.push({key:`M`,data:[...u]}),[r,i]=u,[a,o]=u;break;case`C`:t.push({key:`C`,data:[...u]}),r=u[4],i=u[5],s=u[2],c=u[3];break;case`L`:t.push({key:`L`,data:[...u]}),[r,i]=u;break;case`H`:r=u[0],t.push({key:`L`,data:[r,i]});break;case`V`:i=u[0],t.push({key:`L`,data:[r,i]});break;case`S`:{let e=0,a=0;n===`C`||n===`S`?(e=r+(r-s),a=i+(i-c)):(e=r,a=i),t.push({key:`C`,data:[e,a,...u]}),s=u[0],c=u[1],r=u[2],i=u[3];break}case`T`:{let[e,a]=u,o=0,l=0;n===`Q`||n===`T`?(o=r+(r-s),l=i+(i-c)):(o=r,l=i);let d=r+2*(o-r)/3,f=i+2*(l-i)/3,p=e+2*(o-e)/3,m=a+2*(l-a)/3;t.push({key:`C`,data:[d,f,p,m,e,a]}),s=o,c=l,r=e,i=a;break}case`Q`:{let[e,n,a,o]=u,l=r+2*(e-r)/3,d=i+2*(n-i)/3,f=a+2*(e-a)/3,p=o+2*(n-o)/3;t.push({key:`C`,data:[l,d,f,p,a,o]}),s=e,c=n,r=a,i=o;break}case`A`:{let e=Math.abs(u[0]),n=Math.abs(u[1]),a=u[2],o=u[3],s=u[4],c=u[5],l=u[6];e===0||n===0?(t.push({key:`C`,data:[r,i,c,l,c,l]}),r=c,i=l):(r!==c||i!==l)&&(Tn(r,i,c,l,e,n,a,o,s).forEach((function(e){t.push({key:`C`,data:e})})),r=c,i=l);break}case`Z`:t.push({key:`Z`,data:[]}),r=a,i=o}n=l}return t}function wn(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function Tn(e,t,n,r,i,a,o,s,c,l){let u=(d=o,Math.PI*d/180);var d;let f=[],p=0,m=0,h=0,g=0;if(l)[p,m,h,g]=l;else{[e,t]=wn(e,t,-u),[n,r]=wn(n,r,-u);let o=(e-n)/2,l=(t-r)/2,d=o*o/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i*=d,a*=d);let f=i*i,_=a*a,v=f*_-f*l*l-_*o*o,y=f*l*l+_*o*o,b=(s===c?-1:1)*Math.sqrt(Math.abs(v/y));h=b*i*l/a+(e+n)/2,g=b*-a*o/i+(t+r)/2,p=Math.asin(parseFloat(((t-g)/a).toFixed(9))),m=Math.asin(parseFloat(((r-g)/a).toFixed(9))),e<h&&(p=Math.PI-p),n<h&&(m=Math.PI-m),p<0&&(p=2*Math.PI+p),m<0&&(m=2*Math.PI+m),c&&p>m&&(p-=2*Math.PI),!c&&m>p&&(m-=2*Math.PI)}let _=m-p;if(Math.abs(_)>120*Math.PI/180){let e=m,t=n,s=r;m=c&&m>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=Tn(n=h+i*Math.cos(m),r=g+a*Math.sin(m),t,s,i,a,o,0,c,[m,e,h,g])}_=m-p;let v=Math.cos(p),y=Math.sin(p),b=Math.cos(m),x=Math.sin(m),S=Math.tan(_/4),C=4/3*i*S,w=4/3*a*S,T=[e,t],E=[e+C*y,t-w*v],D=[n+C*x,r-w*b],O=[n,r];if(E[0]=2*T[0]-E[0],E[1]=2*T[1]-E[1],l)return[E,D,O].concat(f);{f=[E,D,O].concat(f);let e=[];for(let t=0;t<f.length;t+=3){let n=wn(f[t][0],f[t][1],u),r=wn(f[t+1][0],f[t+1][1],u),i=wn(f[t+2][0],f[t+2][1],u);e.push([n[0],n[1],r[0],r[1],i[0],i[1]])}return e}}var En={randOffset:function(e,t){return I(e,t)},randOffsetWithRange:function(e,t,n){return zn(e,t,n)},ellipse:function(e,t,n,r,i){return Mn(e,t,i,jn(n,r,i)).opset},doubleLineOps:function(e,t,n,r,i){return L(e,t,n,r,i,!0)}};function Dn(e,t,n,r,i){return{type:`path`,ops:L(e,t,n,r,i)}}function On(e,t,n){let r=(e||[]).length;if(r>2){let i=[];for(let t=0;t<r-1;t++)i.push(...L(e[t][0],e[t][1],e[t+1][0],e[t+1][1],n));return t&&i.push(...L(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:`path`,ops:i}}return r===2?Dn(e[0][0],e[0][1],e[1][0],e[1][1],n):{type:`path`,ops:[]}}function kn(e,t,n,r,i){return function(e,t){return On(e,!0,t)}([[e,t],[e+n,t],[e+n,t+r],[e,t+r]],i)}function An(e,t){if(e.length){let n=typeof e[0][0]==`number`?[e]:e,r=Vn(n[0],1*(1+.2*t.roughness),t),i=t.disableMultiStroke?[]:Vn(n[0],1.5*(1+.22*t.roughness),Ln(t));for(let e=1;e<n.length;e++){let a=n[e];if(a.length){let e=Vn(a,1*(1+.2*t.roughness),t),n=t.disableMultiStroke?[]:Vn(a,1.5*(1+.22*t.roughness),Ln(t));for(let t of e)t.op!==`move`&&r.push(t);for(let e of n)e.op!==`move`&&i.push(e)}}return{type:`path`,ops:r.concat(i)}}return{type:`path`,ops:[]}}function jn(e,t,n){let r=Math.sqrt(2*Math.PI*Math.sqrt(((e/2)**2+(t/2)**2)/2)),i=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),a=2*Math.PI/i,o=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return o+=I(o*c,n),s+=I(s*c,n),{increment:a,rx:o,ry:s}}function Mn(e,t,n,r){let[i,a]=Un(r.increment,e,t,r.rx,r.ry,1,r.increment*zn(.1,zn(.4,1,n),n),n),o=Hn(i,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[i]=Un(r.increment,e,t,r.rx,r.ry,1.5,0,n),a=Hn(i,null,n);o=o.concat(a)}return{estimatedPoints:a,opset:{type:`path`,ops:o}}}function Nn(e,t,n,r,i,a,o,s,c){let l=e,u=t,d=Math.abs(n/2),f=Math.abs(r/2);d+=I(.01*d,c),f+=I(.01*f,c);let p=i,m=a;for(;p<0;)p+=2*Math.PI,m+=2*Math.PI;m-p>2*Math.PI&&(p=0,m=2*Math.PI);let h=2*Math.PI/c.curveStepCount,g=Math.min(h/2,(m-p)/2),_=Wn(g,l,u,d,f,p,m,1,c);if(!c.disableMultiStroke){let e=Wn(g,l,u,d,f,p,m,1.5,c);_.push(...e)}return o&&(s?_.push(...L(l,u,l+d*Math.cos(p),u+f*Math.sin(p),c),...L(l,u,l+d*Math.cos(m),u+f*Math.sin(m),c)):_.push({op:`lineTo`,data:[l,u]},{op:`lineTo`,data:[l+d*Math.cos(p),u+f*Math.sin(p)]})),{type:`path`,ops:_}}function Pn(e,t){let n=Cn(Sn(xn(e))),r=[],i=[0,0],a=[0,0];for(let{key:e,data:o}of n)switch(e){case`M`:a=[o[0],o[1]],i=[o[0],o[1]];break;case`L`:r.push(...L(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]];break;case`C`:{let[e,n,i,s,c,l]=o;r.push(...Gn(e,n,i,s,c,l,a,t)),a=[c,l];break}case`Z`:r.push(...L(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]]}return{type:`path`,ops:r}}function Fn(e,t){let n=[];for(let r of e)if(r.length){let e=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:`move`,data:[r[0][0]+I(e,t),r[0][1]+I(e,t)]});for(let a=1;a<i;a++)n.push({op:`lineTo`,data:[r[a][0]+I(e,t),r[a][1]+I(e,t)]})}}return{type:`fillPath`,ops:n}}function In(e,t){return function(e,t){let n=e.fillStyle||`hachure`;if(!F[n])switch(n){case`zigzag`:F[n]||(F[n]=new un(t));break;case`cross-hatch`:F[n]||(F[n]=new dn(t));break;case`dots`:F[n]||(F[n]=new fn(t));break;case`dashed`:F[n]||(F[n]=new pn(t));break;case`zigzag-line`:F[n]||(F[n]=new mn(t));break;default:n=`hachure`,F[n]||(F[n]=new cn(t))}return F[n]}(t,En).fillPolygons(e,t)}function Ln(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function Rn(e){return e.randomizer||=new hn(e.seed||0),e.randomizer.next()}function zn(e,t,n,r=1){return n.roughness*r*(Rn(n)*(t-e)+e)}function I(e,t,n=1){return zn(-e,e,t,n)}function L(e,t,n,r,i,a=!1){let o=a?i.disableMultiStrokeFill:i.disableMultiStroke,s=Bn(e,t,n,r,i,!0,!1);if(o)return s;let c=Bn(e,t,n,r,i,!0,!0);return s.concat(c)}function Bn(e,t,n,r,i,a,o){let s=(e-n)**2+(t-r)**2,c=Math.sqrt(s),l=1;l=c<200?1:c>500?.4:-.0016668*c+1.233334;let u=i.maxRandomnessOffset||0;u*u*100>s&&(u=c/10);let d=u/2,f=.2+.2*Rn(i),p=i.bowing*i.maxRandomnessOffset*(r-t)/200,m=i.bowing*i.maxRandomnessOffset*(e-n)/200;p=I(p,i,l),m=I(m,i,l);let h=[],g=()=>I(d,i,l),_=()=>I(u,i,l),v=i.preserveVertices;return a&&(o?h.push({op:`move`,data:[e+(v?0:g()),t+(v?0:g())]}):h.push({op:`move`,data:[e+(v?0:I(u,i,l)),t+(v?0:I(u,i,l))]})),o?h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+g(),m+t+(r-t)*f+g(),p+e+2*(n-e)*f+g(),m+t+2*(r-t)*f+g(),n+(v?0:g()),r+(v?0:g())]}):h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+_(),m+t+(r-t)*f+_(),p+e+2*(n-e)*f+_(),m+t+2*(r-t)*f+_(),n+(v?0:_()),r+(v?0:_())]}),h}function Vn(e,t,n){if(!e.length)return[];let r=[];r.push([e[0][0]+I(t,n),e[0][1]+I(t,n)]),r.push([e[0][0]+I(t,n),e[0][1]+I(t,n)]);for(let i=1;i<e.length;i++)r.push([e[i][0]+I(t,n),e[i][1]+I(t,n)]),i===e.length-1&&r.push([e[i][0]+I(t,n),e[i][1]+I(t,n)]);return Hn(r,null,n)}function Hn(e,t,n){let r=e.length,i=[];if(r>3){let a=[],o=1-n.curveTightness;i.push({op:`move`,data:[e[1][0],e[1][1]]});for(let t=1;t+2<r;t++){let n=e[t];a[0]=[n[0],n[1]],a[1]=[n[0]+(o*e[t+1][0]-o*e[t-1][0])/6,n[1]+(o*e[t+1][1]-o*e[t-1][1])/6],a[2]=[e[t+1][0]+(o*e[t][0]-o*e[t+2][0])/6,e[t+1][1]+(o*e[t][1]-o*e[t+2][1])/6],a[3]=[e[t+1][0],e[t+1][1]],i.push({op:`bcurveTo`,data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(t&&t.length===2){let e=n.maxRandomnessOffset;i.push({op:`lineTo`,data:[t[0]+I(e,n),t[1]+I(e,n)]})}}else r===3?(i.push({op:`move`,data:[e[1][0],e[1][1]]}),i.push({op:`bcurveTo`,data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&i.push(...Bn(e[0][0],e[0][1],e[1][0],e[1][1],n,!0,!0));return i}function Un(e,t,n,r,i,a,o,s){let c=[],l=[];if(s.roughness===0){e/=4,l.push([t+r*Math.cos(-e),n+i*Math.sin(-e)]);for(let a=0;a<=2*Math.PI;a+=e){let e=[t+r*Math.cos(a),n+i*Math.sin(a)];c.push(e),l.push(e)}l.push([t+r*Math.cos(0),n+i*Math.sin(0)]),l.push([t+r*Math.cos(e),n+i*Math.sin(e)])}else{let u=I(.5,s)-Math.PI/2;l.push([I(a,s)+t+.9*r*Math.cos(u-e),I(a,s)+n+.9*i*Math.sin(u-e)]);let d=2*Math.PI+u-.01;for(let o=u;o<d;o+=e){let e=[I(a,s)+t+r*Math.cos(o),I(a,s)+n+i*Math.sin(o)];c.push(e),l.push(e)}l.push([I(a,s)+t+r*Math.cos(u+2*Math.PI+.5*o),I(a,s)+n+i*Math.sin(u+2*Math.PI+.5*o)]),l.push([I(a,s)+t+.98*r*Math.cos(u+o),I(a,s)+n+.98*i*Math.sin(u+o)]),l.push([I(a,s)+t+.9*r*Math.cos(u+.5*o),I(a,s)+n+.9*i*Math.sin(u+.5*o)])}return[l,c]}function Wn(e,t,n,r,i,a,o,s,c){let l=a+I(.1,c),u=[];u.push([I(s,c)+t+.9*r*Math.cos(l-e),I(s,c)+n+.9*i*Math.sin(l-e)]);for(let a=l;a<=o;a+=e)u.push([I(s,c)+t+r*Math.cos(a),I(s,c)+n+i*Math.sin(a)]);return u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),u.push([t+r*Math.cos(o),n+i*Math.sin(o)]),Hn(u,null,c)}function Gn(e,t,n,r,i,a,o,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],u=[0,0],d=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<d;p++)p===0?c.push({op:`move`,data:[o[0],o[1]]}):c.push({op:`move`,data:[o[0]+(f?0:I(l[0],s)),o[1]+(f?0:I(l[0],s))]}),u=f?[i,a]:[i+I(l[p],s),a+I(l[p],s)],c.push({op:`bcurveTo`,data:[e+I(l[p],s),t+I(l[p],s),n+I(l[p],s),r+I(l[p],s),u[0],u[1]]});return c}function Kn(e){return[...e]}function qn(e,t=0){let n=e.length;if(n<3)throw Error(`A curve must have at least three points.`);let r=[];if(n===3)r.push(Kn(e[0]),Kn(e[1]),Kn(e[2]),Kn(e[2]));else{let n=[];n.push(e[0],e[0]);for(let t=1;t<e.length;t++)n.push(e[t]),t===e.length-1&&n.push(e[t]);let i=[],a=1-t;r.push(Kn(n[0]));for(let e=1;e+2<n.length;e++){let t=n[e];i[0]=[t[0],t[1]],i[1]=[t[0]+(a*n[e+1][0]-a*n[e-1][0])/6,t[1]+(a*n[e+1][1]-a*n[e-1][1])/6],i[2]=[n[e+1][0]+(a*n[e][0]-a*n[e+2][0])/6,n[e+1][1]+(a*n[e][1]-a*n[e+2][1])/6],i[3]=[n[e+1][0],n[e+1][1]],r.push(i[1],i[2],i[3])}}return r}function Jn(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2}function Yn(e,t,n){let r=Jn(t,n);if(r===0)return Jn(e,t);let i=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return i=Math.max(0,Math.min(1,i)),Jn(e,R(t,n,i))}function R(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Xn(e,t,n,r){let i=r||[];if(function(e,t){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3],o=3*r[0]-2*n[0]-a[0];o*=o;let s=3*r[1]-2*n[1]-a[1];s*=s;let c=3*i[0]-2*a[0]-n[0];c*=c;let l=3*i[1]-2*a[1]-n[1];return l*=l,o<c&&(o=c),s<l&&(s=l),o+s}(e,t)<n){let n=e[t+0];i.length?(a=i[i.length-1],o=n,Math.sqrt(Jn(a,o)))>1&&i.push(n):i.push(n),i.push(e[t+3])}else{let r=.5,a=e[t+0],o=e[t+1],s=e[t+2],c=e[t+3],l=R(a,o,r),u=R(o,s,r),d=R(s,c,r),f=R(l,u,r),p=R(u,d,r),m=R(f,p,r);Xn([a,l,f,m],0,n,i),Xn([m,p,d,c],0,n,i)}var a,o;return i}function Zn(e,t){return Qn(e,0,e.length,t)}function Qn(e,t,n,r,i){let a=i||[],o=e[t],s=e[n-1],c=0,l=1;for(let r=t+1;r<n-1;++r){let t=Yn(e[r],o,s);t>c&&(c=t,l=r)}return Math.sqrt(c)>r?(Qn(e,t,l+1,r,a),Qn(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function $n(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n<i;n++)Xn(e,3*n,t,r);return n&&n>0?Qn(r,0,r.length,n):r}var z=`none`,er=class{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:`#000`,strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:`hachure`,fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,t,n){return{shape:e,sets:t||[],options:n||this.defaultOptions}}line(e,t,n,r,i){let a=this._o(i);return this._d(`line`,[Dn(e,t,n,r,a)],a)}rectangle(e,t,n,r,i){let a=this._o(i),o=[],s=kn(e,t,n,r,a);if(a.fill){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];a.fillStyle===`solid`?o.push(Fn([i],a)):o.push(In([i],a))}return a.stroke!==z&&o.push(s),this._d(`rectangle`,o,a)}ellipse(e,t,n,r,i){let a=this._o(i),o=[],s=jn(n,r,a),c=Mn(e,t,a,s);if(a.fill)if(a.fillStyle===`solid`){let n=Mn(e,t,a,s).opset;n.type=`fillPath`,o.push(n)}else o.push(In([c.estimatedPoints],a));return a.stroke!==z&&o.push(c.opset),this._d(`ellipse`,o,a)}circle(e,t,n,r){let i=this.ellipse(e,t,n,n,r);return i.shape=`circle`,i}linearPath(e,t){let n=this._o(t);return this._d(`linearPath`,[On(e,!1,n)],n)}arc(e,t,n,r,i,a,o=!1,s){let c=this._o(s),l=[],u=Nn(e,t,n,r,i,a,o,!0,c);if(o&&c.fill)if(c.fillStyle===`solid`){let o=Object.assign({},c);o.disableMultiStroke=!0;let s=Nn(e,t,n,r,i,a,!0,!1,o);s.type=`fillPath`,l.push(s)}else l.push(function(e,t,n,r,i,a,o){let s=e,c=t,l=Math.abs(n/2),u=Math.abs(r/2);l+=I(.01*l,o),u+=I(.01*u,o);let d=i,f=a;for(;d<0;)d+=2*Math.PI,f+=2*Math.PI;f-d>2*Math.PI&&(d=0,f=2*Math.PI);let p=(f-d)/o.curveStepCount,m=[];for(let e=d;e<=f;e+=p)m.push([s+l*Math.cos(e),c+u*Math.sin(e)]);return m.push([s+l*Math.cos(f),c+u*Math.sin(f)]),m.push([s,c]),In([m],o)}(e,t,n,r,i,a,c));return c.stroke!==z&&l.push(u),this._d(`arc`,l,c)}curve(e,t){let n=this._o(t),r=[],i=An(e,n);if(n.fill&&n.fill!==z)if(n.fillStyle===`solid`){let t=An(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else{let t=[],i=e;if(i.length){let e=typeof i[0][0]==`number`?[i]:i;for(let r of e)r.length<3?t.push(...r):r.length===3?t.push(...$n(qn([r[0],r[0],r[1],r[2]]),10,(1+n.roughness)/2)):t.push(...$n(qn(r),10,(1+n.roughness)/2))}t.length&&r.push(In([t],n))}return n.stroke!==z&&r.push(i),this._d(`curve`,r,n)}polygon(e,t){let n=this._o(t),r=[],i=On(e,!0,n);return n.fill&&(n.fillStyle===`solid`?r.push(Fn([e],n)):r.push(In([e],n))),n.stroke!==z&&r.push(i),this._d(`polygon`,r,n)}path(e,t){let n=this._o(t),r=[];if(!e)return this._d(`path`,r,n);e=(e||``).replace(/\n/g,` `).replace(/(-\s)/g,`-`).replace(`/(ss)/g`,` `);let i=n.fill&&n.fill!==`transparent`&&n.fill!==z,a=n.stroke!==z,o=!!(n.simplification&&n.simplification<1),s=function(e,t,n){let r=Cn(Sn(xn(e))),i=[],a=[],o=[0,0],s=[],c=()=>{s.length>=4&&a.push(...$n(s,t)),s=[]},l=()=>{c(),a.length&&(i.push(a),a=[])};for(let{key:e,data:t}of r)switch(e){case`M`:l(),o=[t[0],t[1]],a.push(o);break;case`L`:c(),a.push([t[0],t[1]]);break;case`C`:if(!s.length){let e=a.length?a[a.length-1]:o;s.push([e[0],e[1]])}s.push([t[0],t[1]]),s.push([t[2],t[3]]),s.push([t[4],t[5]]);break;case`Z`:c(),a.push([o[0],o[1]])}if(l(),!n)return i;let u=[];for(let e of i){let t=Zn(e,n);t.length&&u.push(t)}return u}(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),c=Pn(e,n);if(i)if(n.fillStyle===`solid`)if(s.length===1){let t=Pn(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else r.push(Fn(s,n));else r.push(In(s,n));return a&&(o?s.forEach((e=>{r.push(On(e,!1,n))})):r.push(c)),this._d(`path`,r,n)}opsToPath(e,t){let n=``;for(let r of e.ops){let e=typeof t==`number`&&t>=0?r.data.map((e=>+e.toFixed(t))):r.data;switch(r.op){case`move`:n+=`M${e[0]} ${e[1]} `;break;case`bcurveTo`:n+=`C${e[0]} ${e[1]}, ${e[2]} ${e[3]}, ${e[4]} ${e[5]} `;break;case`lineTo`:n+=`L${e[0]} ${e[1]} `}}return n.trim()}toPaths(e){let t=e.sets||[],n=e.options||this.defaultOptions,r=[];for(let e of t){let t=null;switch(e.type){case`path`:t={d:this.opsToPath(e),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:z};break;case`fillPath`:t={d:this.opsToPath(e),stroke:z,strokeWidth:0,fill:n.fill||z};break;case`fillSketch`:t=this.fillSketch(e,n)}t&&r.push(t)}return r}fillSketch(e,t){let n=t.fillWeight;return n<0&&(n=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||z,strokeWidth:n,fill:z}}_mergedShape(e){return e.filter(((e,t)=>t===0||e.op!==`move`))}},tr=class{constructor(e,t){this.canvas=e,this.ctx=this.canvas.getContext(`2d`),this.gen=new er(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.ctx,i=e.options.fixedDecimalPlaceDigits;for(let a of t)switch(a.type){case`path`:r.save(),r.strokeStyle=n.stroke===`none`?`transparent`:n.stroke,r.lineWidth=n.strokeWidth,n.strokeLineDash&&r.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(r.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(r,a,i),r.restore();break;case`fillPath`:{r.save(),r.fillStyle=n.fill||``;let t=e.shape===`curve`||e.shape===`polygon`||e.shape===`path`?`evenodd`:`nonzero`;this._drawToContext(r,a,i,t),r.restore();break}case`fillSketch`:this.fillSketch(r,a,n)}}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||``,e.lineWidth=r,this._drawToContext(e,t,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,t,n,r=`nonzero`){e.beginPath();for(let r of t.ops){let t=typeof n==`number`&&n>=0?r.data.map((e=>+e.toFixed(n))):r.data;switch(r.op){case`move`:e.moveTo(t[0],t[1]);break;case`bcurveTo`:e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);break;case`lineTo`:e.lineTo(t[0],t[1])}}t.type===`fillPath`?e.fill(r):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a),a}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a),a}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a),a}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i),i}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n),n}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n),n}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c),c}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n),n}path(e,t){let n=this.gen.path(e,t);return this.draw(n),n}},nr=`http://www.w3.org/2000/svg`,rr=class{constructor(e,t){this.svg=e,this.gen=new er(t)}draw(e){let t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,i=r.createElementNS(nr,`g`),a=e.options.fixedDecimalPlaceDigits;for(let o of t){let t=null;switch(o.type){case`path`:t=r.createElementNS(nr,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,n.stroke),t.setAttribute(`stroke-width`,n.strokeWidth+``),t.setAttribute(`fill`,`none`),n.strokeLineDash&&t.setAttribute(`stroke-dasharray`,n.strokeLineDash.join(` `).trim()),n.strokeLineDashOffset&&t.setAttribute(`stroke-dashoffset`,`${n.strokeLineDashOffset}`);break;case`fillPath`:t=r.createElementNS(nr,`path`),t.setAttribute(`d`,this.opsToPath(o,a)),t.setAttribute(`stroke`,`none`),t.setAttribute(`stroke-width`,`0`),t.setAttribute(`fill`,n.fill||``),e.shape!==`curve`&&e.shape!==`polygon`||t.setAttribute(`fill-rule`,`evenodd`);break;case`fillSketch`:t=this.fillSketch(r,o,n)}t&&i.appendChild(t)}return i}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);let i=e.createElementNS(nr,`path`);return i.setAttribute(`d`,this.opsToPath(t,n.fixedDecimalPlaceDigits)),i.setAttribute(`stroke`,n.fill||``),i.setAttribute(`stroke-width`,r+``),i.setAttribute(`fill`,`none`),n.fillLineDash&&i.setAttribute(`stroke-dasharray`,n.fillLineDash.join(` `).trim()),n.fillLineDashOffset&&i.setAttribute(`stroke-dashoffset`,`${n.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,t){return this.gen.opsToPath(e,t)}line(e,t,n,r,i){let a=this.gen.line(e,t,n,r,i);return this.draw(a)}rectangle(e,t,n,r,i){let a=this.gen.rectangle(e,t,n,r,i);return this.draw(a)}ellipse(e,t,n,r,i){let a=this.gen.ellipse(e,t,n,r,i);return this.draw(a)}circle(e,t,n,r){let i=this.gen.circle(e,t,n,r);return this.draw(i)}linearPath(e,t){let n=this.gen.linearPath(e,t);return this.draw(n)}polygon(e,t){let n=this.gen.polygon(e,t);return this.draw(n)}arc(e,t,n,r,i,a,o=!1,s){let c=this.gen.arc(e,t,n,r,i,a,o,s);return this.draw(c)}curve(e,t){let n=this.gen.curve(e,t);return this.draw(n)}path(e,t){let n=this.gen.path(e,t);return this.draw(n)}},ir={canvas:(e,t)=>new tr(e,t),svg:(e,t)=>new rr(e,t),generator:e=>new er(e),newSeed:()=>er.newSeed()};function B(e,t,n,r,i){let a=Math.max(0,Math.min(i,n/2,r/2));return a===0?`M ${e} ${t} L ${e+n} ${t} L ${e+n} ${t+r} L ${e} ${t+r} Z`:`M ${e+a} ${t} L ${e+n-a} ${t} Q ${e+n} ${t} ${e+n} ${t+a} L ${e+n} ${t+r-a} Q ${e+n} ${t+r} ${e+n-a} ${t+r} L ${e+a} ${t+r} Q ${e} ${t+r} ${e} ${t+r-a} L ${e} ${t+a} Q ${e} ${t} ${e+a} ${t} Z`}function ar(e,t,n,r,i){let a=Math.max(0,Math.min(i,n/2,r));return`M ${e} ${t+r} L ${e} ${t+a} Q ${e} ${t} ${e+a} ${t} L ${e+n-a} ${t} Q ${e+n} ${t} ${e+n} ${t+a} L ${e+n} ${t+r} Z`}function or(e,t,n){return`M ${e-n} ${t} A ${n} ${n} 0 1 0 ${e+n} ${t} A ${n} ${n} 0 1 0 ${e-n} ${t} Z`}function sr(e,t,n,r){return`M ${e} ${t} L ${n} ${r}`}function cr(e,t=0){if(e.length<3||t<=0)return e.map((e,t)=>`${t?`L`:`M`} ${e[0]} ${e[1]}`).join(` `)+` Z`;let n=(e,t,n)=>{let r=Math.hypot(t[0]-e[0],t[1]-e[1])||1;return[e[0]+(t[0]-e[0])/r*n,e[1]+(t[1]-e[1])/r*n]},r=[];for(let i=0;i<e.length;i+=1){let a=e[(i-1+e.length)%e.length],o=e[i],s=e[(i+1)%e.length],c=Math.min(t,Math.hypot(o[0]-a[0],o[1]-a[1])/2,Math.hypot(o[0]-s[0],o[1]-s[1])/2),l=n(o,a,c),u=n(o,s,c);r.push(`${i?`L`:`M`} ${l[0]} ${l[1]}`),r.push(`Q ${o[0]} ${o[1]} ${u[0]} ${u[1]}`)}return r.join(` `)+` Z`}var lr={M:[`x`,`y`],L:[`x`,`y`],Q:[`x`,`y`,`x`,`y`],C:[`x`,`y`,`x`,`y`,`x`,`y`],A:[`keep`,`keep`,`rotation`,`keep`,`sweep`,`x`,`y`],Z:[]},ur=/([A-Za-z])([^A-Za-z]*)/g,dr=/[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;function fr(e){if(!Number.isFinite(e))return`0`;let t=Math.round(e*1e4)/1e4;return Object.is(t,-0)?`0`:String(t)}function pr(e,t,n,r){if(!n&&!r)return e;let i=t.x+t.width/2,a=t.y+t.height/2,o=n!==r,s=[];ur.lastIndex=0;for(let t=ur.exec(e);t;t=ur.exec(e)){let c=t[1],l=lr[c];if(!l)return e;let u=t[2].match(dr)?.map(Number)??[];if(l.length===0||u.length===0){s.push(c);continue}let d=u.map((e,t)=>{let s=l[t%l.length];return s===`x`?fr(n?2*i-e:e):s===`y`?fr(r?2*a-e:e):s===`rotation`?fr(o?-e:e):s===`sweep`&&o?String(+!e):fr(e)});s.push(`${c} ${d.join(` `)}`)}return s.join(` `)}var mr=`rectangle.ellipse.diamond.triangle.oval.parallelogram.trapezoid.cylinder.queue.note.callout.hexagon.star.checkbox.crossbox.heart.cloud.arrow-up.arrow-down.arrow-left.arrow-right.plus.speech-bubble.bolt.document.predefined-process.manual-input.pentagon.chevron.octagon.cube.actor.double-circle.card.delay.fork-join.multi-document.multi-process.package.component.brace`.split(`.`);function V(e,t=0){return cr(e,t)}function hr(e){let t=e.x+e.width/2,n=e.y+e.height/2,r=e.width/2,i=e.height/2,a=[];for(let e=0;e<10;e+=1){let o=e%2==0?1:.42,s=-Math.PI/2+e*Math.PI/5;a.push([t+Math.cos(s)*r*o,n+Math.sin(s)*i*o])}return V(a)}function gr(e){return Math.min(e.width*.1,e.height*.25)}function _r(e){return Math.min(e.height*.34,e.width*.25)}function vr(e){let{x:t,y:n,width:r,height:i}=e,a=e=>t+e*r,o=e=>n+e*i;return`M ${a(.5)} ${o(.28)} C ${a(.5)} ${o(.16)} ${a(.4)} ${o(.04)} ${a(.25)} ${o(.04)} C ${a(.06)} ${o(.04)} ${a(0)} ${o(.2)} ${a(0)} ${o(.32)} C ${a(0)} ${o(.52)} ${a(.2)} ${o(.68)} ${a(.5)} ${o(.96)} C ${a(.8)} ${o(.68)} ${a(1)} ${o(.52)} ${a(1)} ${o(.32)} C ${a(1)} ${o(.2)} ${a(.94)} ${o(.04)} ${a(.75)} ${o(.04)} C ${a(.6)} ${o(.04)} ${a(.5)} ${o(.16)} ${a(.5)} ${o(.28)} Z`}function yr(e){return B(e.x,e.y,e.width,e.height,Math.min(6,e.width/2,e.height/2))}function br(e){let{x:t,y:n,width:r,height:i}=e,a=e=>t+e*r,o=e=>n+e*i;return`M ${a(.23)} ${o(1)} C ${a(.1)} ${o(1)} ${a(0)} ${o(.85)} ${a(0)} ${o(.66)} C ${a(0)} ${o(.47)} ${a(.1)} ${o(.31)} ${a(.23)} ${o(.31)} C ${a(.25)} ${o(.17)} ${a(.32)} ${o(.06)} ${a(.42)} ${o(.02)} C ${a(.51)} ${o(0)} ${a(.61)} ${o(.01)} ${a(.69)} ${o(.1)} C ${a(.76)} ${o(.19)} ${a(.8)} ${o(.33)} ${a(.78)} ${o(.46)} L ${a(.83)} ${o(.46)} C ${a(.92)} ${o(.46)} ${a(1)} ${o(.58)} ${a(1)} ${o(.73)} C ${a(1)} ${o(.88)} ${a(.92)} ${o(1)} ${a(.83)} ${o(1)} Z`}function xr(e,t){let n=t===`left`||t===`right`,r=n?e.width:e.height,i=n?e.height:e.width;return Math.min(i,r/2)}function Sr(e,t,n=0){let{x:r,y:i,width:a,height:o}=e,s=t===`left`||t===`right`,c=s?a:o,l=s?o:a,u=xr(e,t),d=l*.25,f=l/2;return V([[0,f-d],[c-u,f-d],[c-u,0],[c,f],[c-u,l],[c-u,f+d],[0,f+d]].map(([e,n])=>t===`right`?[r+e,i+n]:t===`left`?[r+c-e,i+n]:t===`down`?[r+n,i+e]:[r+n,i+c-e]),n)}function Cr(e,t=0){let{x:n,y:r,width:i,height:a}=e,o=i*.32,s=a*.32;return V([[n+o,r],[n+i-o,r],[n+i-o,r+s],[n+i,r+s],[n+i,r+a-s],[n+i-o,r+a-s],[n+i-o,r+a],[n+o,r+a],[n+o,r+a-s],[n,r+a-s],[n,r+s],[n+o,r+s]],t)}function wr(e){let{x:t,y:n,width:r,height:i}=e,a=(e,a)=>[t+e*r,n+a*i];return V([a(.56,0),a(0,.6),a(.5,.6),a(.44,1),a(1,.4),a(.5,.4)])}var Tr=.16;function Er(e){let{x:t,y:n,width:r,height:i}=e,a=i*Tr,o=n+i-a,s=e=>t+e*r;return`M ${t} ${n} L ${t+r} ${n} L ${t+r} ${o} C ${s(.72)} ${o-a*1.4} ${s(.56)} ${o+a*1.4} ${s(.4)} ${o} C ${s(.26)} ${o-a*1.4} ${s(.12)} ${o+a*1.1} ${t} ${o} Z`}function Dr(e){let{x:t,y:n,width:r,height:i}=e,a=Math.min(r*.12,16);return`M ${t+a} ${n} L ${t+a} ${n+i} M ${t+r-a} ${n} L ${t+r-a} ${n+i}`}function Or(e){let{x:t,y:n,width:r,height:i}=e;return V([[t,n+i*.28],[t+r,n],[t+r,n+i],[t,n+i]])}function kr(e){return Math.min(e.width*.22,e.height*.6)}function Ar(e,t=0){let{x:n,y:r,width:i,height:a}=e,o=kr(e);return V([[n,r],[n+i-o,r],[n+i,r+a/2],[n+i-o,r+a],[n,r+a]],t)}function jr(e){return Math.min(e.width*.24,e.height*.6)}function Mr(e,t=0){let{x:n,y:r,width:i,height:a}=e,o=jr(e);return V([[n,r],[n+i-o,r],[n+i,r+a/2],[n+i-o,r+a],[n,r+a],[n+o,r+a/2]],t)}function Nr(e,t=0){let{x:n,y:r,width:i,height:a}=e,o=Math.min(i,a)*.29;return V([[n+o,r],[n+i-o,r],[n+i,r+o],[n+i,r+a-o],[n+i-o,r+a],[n+o,r+a],[n,r+a-o],[n,r+o]],t)}function Pr(e){return Math.min(e.width,e.height)*.26}function Fr(e){let{x:t,y:n,width:r,height:i}=e,a=Pr(e);return V([[t,n+a],[t+a,n],[t+r,n],[t+r,n+i-a],[t+r-a,n+i],[t,n+i]])}function Ir(e){let{x:t,y:n,width:r,height:i}=e,a=Pr(e);return`M ${t} ${n+a} L ${t+r-a} ${n+a} L ${t+r} ${n} M ${t+r-a} ${n+a} L ${t+r-a} ${n+i}`}var Lr=.72;function Rr(e){let{x:t,y:n,width:r}=e,i=e.height*Lr,a=t+r/2,o=Math.min(r*.22,i*.16),s=n+o+i*.04,c=s+o,l=n+i*.44,u=n+i*.64,d=n+i*.98,f=r*.3,p=r*.22;return`M ${a-o} ${s} A ${o} ${o} 0 1 0 ${a+o} ${s} A ${o} ${o} 0 1 0 ${a-o} ${s} M ${a} ${c} L ${a} ${u} M ${a-f} ${l} L ${a+f} ${l} M ${a} ${u} L ${a-p} ${d} M ${a} ${u} L ${a+p} ${d}`}var zr=.82,Br=.78;function Vr(e,t,n,r){let{x:i,y:a,width:o,height:s}=e,c=a+s*t,l=Math.min(n,o/4,(c-a)/2);return`M ${i+l} ${a} L ${i+o-l} ${a} Q ${i+o} ${a} ${i+o} ${a+l} L ${i+o} ${c-l} Q ${i+o} ${c} ${i+o-l} ${c} L ${i+o*r[0]} ${c} L ${i+o*r[1]} ${a+s} L ${i+o*r[2]} ${c} L ${i+l} ${c} Q ${i} ${c} ${i} ${c-l} L ${i} ${a+l} Q ${i} ${a} ${i+l} ${a} Z`}function Hr(e){return Vr(e,zr,10,[.24,.04,.14])}function Ur(e){return Vr(e,Br,12,[.4,.22,.26])}function Wr(e){let t=e.y+e.height/2,n=e.width/2,r=e.height/2;return`M ${e.x} ${t} A ${n} ${r} 0 1 0 ${e.x+e.width} ${t} A ${n} ${r} 0 1 0 ${e.x} ${t} Z`}function Gr(e){let{x:t,y:n,width:r,height:i}=e,a=Math.min(r,i)*.2;return V([[t+a,n],[t+r,n],[t+r,n+i],[t,n+i],[t,n+a]])}function Kr(e){return Math.min(e.height/2,e.width/2)}function qr(e){let{x:t,y:n,width:r,height:i}=e,a=Kr(e),o=r-a;return`M ${t} ${n} L ${t+o} ${n} A ${a} ${a} 0 0 1 ${t+o} ${n+i} L ${t} ${n+i} Z`}function Jr(e){return ni(e)}function Yr(e){return Math.min(Math.min(e.width,e.height)*.08,9)}function Xr(e,t,n){let r=n??Yr(e);return t({x:e.x,y:e.y+2*r,width:e.width-2*r,height:e.height-2*r})}function Zr(e,t,n,r){let i=n??Yr(e),a=e.width-2*i,o=e.height-2*i,s=r??e.y+e.height;return`${Qr(e.x+2*i,e.y,a,o,i,s)} ${Qr(e.x+i,e.y+i,a,o,i,s)} ${Xr(e,t,i)}`}function Qr(e,t,n,r,i,a){let o=e+n,s=Math.min(t+r,a);return`M ${e} ${t+i} L ${e} ${t} L ${o} ${t} L ${o} ${s} L ${o-i} ${s}`}function $r(e,t){return e.y+2*t+(e.height-2*t)*(1-Tr)}var ei=.12;function ti(e,t){let n=Math.min(e.width,e.height)*t;return Wr(e)+` `+Wr({x:e.x+n,y:e.y+n,width:e.width-2*n,height:e.height-2*n})}function ni(e){return B(e.x,e.y,e.width,e.height,Math.min(4,e.width/2,e.height/2))}function ri(e){return Math.min(e.height*.24,26)}function ii(e){return Math.min(e.width*.45,96)}function ai(e){let{x:t,y:n,width:r,height:i}=e,a=ri(e),o=ii(e);return V([[t,n],[t+o,n],[t+o,n+a],[t+r,n+a],[t+r,n+i],[t,n+i]])}function oi(e){return Math.min(e.width*.16,22)}function si(e){let{x:t,y:n,width:r,height:i}=e,a=oi(e),o=Math.min(i*.16,14)/2,s=n+i*.32,c=n+i*.68,l=`M ${t} ${n} L ${t+r} ${n} L ${t+r} ${n+i} L ${t} ${n+i} L ${t} ${c+o} M ${t} ${c-o} L ${t} ${s+o} M ${t} ${s-o} L ${t} ${n}`,u=e=>`M ${t-a/2} ${e-o} L ${t+a/2} ${e-o} L ${t+a/2} ${e+o} L ${t-a/2} ${e+o} Z`;return`${l} ${u(s)} ${u(c)}`}function ci(e){return Math.min(e.width*.3,16)}function li(e){let{x:t,y:n,height:r}=e,i=ci(e),a=n+r/2,o=t+i,s=t+i*.4;return`M ${o} ${n} Q ${s} ${n} ${s} ${n+r*.22} L ${s} ${a-r*.06} Q ${s} ${a} ${t} ${a} Q ${s} ${a} ${s} ${a+r*.06} L ${s} ${n+r*.78} Q ${s} ${n+r} ${o} ${n+r}`}var ui=new Set([`diamond`,`triangle`,`parallelogram`,`trapezoid`,`hexagon`,`pentagon`,`octagon`,`chevron`,`plus`,`arrow-up`,`arrow-down`,`arrow-left`,`arrow-right`]);function di(e){return e===`rectangle`||ui.has(e)}function fi(e){return e===`rectangle`?`rounded`:`sharp`}function pi(e){return e===`rounded`?7:0}var mi={triangle:{y:!0},parallelogram:{x:!0,y:!0},trapezoid:{y:!0},cylinder:{y:!0},note:{x:!0,y:!0},star:{y:!0},checkbox:{x:!0,y:!0},heart:{y:!0},cloud:{x:!0,y:!0},"arrow-up":{y:!0},"arrow-down":{y:!0},"arrow-left":{x:!0},"arrow-right":{x:!0},"speech-bubble":{x:!0,y:!0},bolt:{x:!0,y:!0},queue:{x:!0},callout:{x:!0,y:!0},document:{x:!0,y:!0},"manual-input":{x:!0,y:!0},pentagon:{x:!0},chevron:{x:!0},cube:{x:!0,y:!0},actor:{y:!0},card:{x:!0,y:!0},delay:{x:!0},"multi-document":{x:!0,y:!0},"multi-process":{x:!0,y:!0},package:{x:!0,y:!0},component:{x:!0},brace:{x:!0}};function hi(e){let t=mi[e];return{x:t?.x===!0,y:t?.y===!0}}function H(e,t,n,r){if(r?.x||r?.y)return pr(H(e,t,n),t,!!r.x,!!r.y);let{x:i,y:a,width:o,height:s}=t,c=i+o/2,l=a+s/2,u=pi(n);switch(e){case`ellipse`:return Wr(t);case`oval`:return B(i,a,o,s,Math.min(o,s)/2);case`diamond`:return V([[c,a],[i+o,l],[c,a+s],[i,l]],u);case`triangle`:return V([[c,a],[i+o,a+s],[i,a+s]],u);case`parallelogram`:{let e=Math.min(o*.25,s);return V([[i+e,a],[i+o,a],[i+o-e,a+s],[i,a+s]],u)}case`trapezoid`:{let e=o*.22;return V([[i+e,a],[i+o-e,a],[i+o,a+s],[i,a+s]],u)}case`hexagon`:{let e=Math.min(o*.25,o/2);return V([[i+e,a],[i+o-e,a],[i+o,l],[i+o-e,a+s],[i+e,a+s],[i,l]],u)}case`star`:return hr(t);case`checkbox`:case`crossbox`:return yr(t);case`heart`:return vr(t);case`cloud`:return br(t);case`arrow-up`:case`arrow-down`:case`arrow-left`:case`arrow-right`:return Sr(t,e.slice(6),u);case`plus`:return Cr(t,u);case`speech-bubble`:return Ur(t);case`callout`:return Hr(t);case`bolt`:return wr(t);case`document`:return Er(t);case`manual-input`:return Or(t);case`pentagon`:return Ar(t,u);case`predefined-process`:return B(i,a,o,s,Math.min(3,o/2,s/2));case`chevron`:return Mr(t,u);case`octagon`:return Nr(t,u);case`cube`:return Fr(t);case`actor`:return B(i,a,o,s,Math.min(o,s)/2.4);case`note`:{let e=Math.min(o,s)*.26;return`M ${i} ${a} L ${i+o-e} ${a} L ${i+o} ${a+e} L ${i+o} ${a+s} L ${i} ${a+s} Z`}case`cylinder`:{let e=gr(t),n=o/2,r=a+e,c=a+s-e;return`M ${i} ${r} L ${i} ${c} A ${n} ${e} 0 0 0 ${i+o} ${c} L ${i+o} ${r} A ${n} ${e} 0 0 0 ${i} ${r} Z`}case`queue`:{let e=_r(t),n=s/2,r=i+e,c=i+o-e;return`M ${r} ${a} L ${c} ${a} A ${e} ${n} 0 0 1 ${c} ${a+s} L ${r} ${a+s} A ${e} ${n} 0 0 1 ${r} ${a} Z`}case`double-circle`:return Wr(t);case`card`:return Gr(t);case`delay`:return qr(t);case`fork-join`:return Jr(t);case`multi-process`:return Xr(t,ni);case`multi-document`:return Xr(t,Er);case`package`:return ai(t);case`component`:return ni(t);case`brace`:return ni(t);default:return B(i,a,o,s,n===`sharp`?0:Math.min(12,o/2,s/2))}}function gi(e,t,n,r){if(r?.x||r?.y)return pr(gi(e,t,n),t,!!r.x,!!r.y);let{x:i,y:a,width:o,height:s}=t;if(e===`cylinder`){let r=gr(t),s=o/2,c=a+r;return H(e,t,n)+` M ${i} ${c} A ${s} ${r} 0 0 0 ${i+o} ${c}`}if(e===`queue`){let r=_r(t),o=s/2,c=i+r;return H(e,t,n)+` M ${c} ${a} A ${r} ${o} 0 0 1 ${c} ${a+s}`}if(e===`note`){let r=Math.min(o,s)*.26;return H(e,t,n)+` M ${i+o-r} ${a} L ${i+o-r} ${a+r} L ${i+o} ${a+r}`}if(e===`crossbox`){let r=o*.06,c=s*.06;return H(e,t,n)+` M ${i+r} ${a+c} L ${i+o-r} ${a+s-c} M ${i+o-r} ${a+c} L ${i+r} ${a+s-c}`}if(e===`checkbox`)return H(e,t,n)+` M ${i+o*.24} ${a+s*.52} L ${i+o*.44} ${a+s*.72} L ${i+o*.78} ${a+s*.28}`;if(e===`predefined-process`)return H(e,t,n)+` `+Dr(t);if(e===`cube`)return H(e,t,n)+` `+Ir(t);if(e===`actor`)return Rr(t);if(e===`double-circle`)return ti(t,ei);if(e===`multi-process`)return Zr(t,ni);if(e===`multi-document`)return Zr(t,Er,void 0,$r(t,Yr(t)));if(e===`package`){let r=ri(t),i=ii(t);return H(e,t,n)+` M ${t.x} ${t.y+r} L ${t.x+i} ${t.y+r}`}return e===`component`?si(t):e===`brace`?li(t):H(e,t,n)}function _i(e){if(e===`arrow-up`||e===`arrow-down`||e===`bolt`||e===`actor`)return gi(e,{x:5,y:4,width:14,height:16});if(e===`plus`||e===`checkbox`||e===`crossbox`||e===`heart`)return gi(e,{x:5,y:5,width:14,height:14});if(e===`double-circle`)return ti({x:4,y:4,width:16,height:16},.26);if(e===`multi-process`)return vi({x:4,y:5,width:15,height:13},ni,4);if(e===`multi-document`){let e={x:4,y:5,width:15,height:13};return vi(e,Er,4,e.y+4+(e.height-4)*(1-Tr))}return e===`fork-join`?Jr({x:4,y:9,width:16,height:6}):gi(e,{x:4,y:5,width:16,height:14})}function vi(e,t,n,r){let i=e.width-n,a=e.height-n,o=t({x:e.x,y:e.y+n,width:i,height:a});return`${Qr(e.x+n,e.y,i,a,n,r??e.y+a)} ${o}`}var{PI:yi}=Math,bi=yi+1e-4,xi=.5,Si=[1,1];function Ci(e,t,n,r=e=>e){return e*r(.5-t*(.5-n))}var{min:wi}=Math;function Ti(e,t,n){let r=wi(1,t/n);return wi(1,e+(wi(1,1-r)-e)*(r*.275))}function Ei(e){return[-e[0],-e[1]]}function U(e,t){return[e[0]+t[0],e[1]+t[1]]}function Di(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e}function W(e,t){return[e[0]-t[0],e[1]-t[1]]}function Oi(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e}function G(e,t){return[e[0]*t,e[1]*t]}function ki(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function Ai(e,t){return[e[0]/t,e[1]/t]}function ji(e){return[e[1],-e[0]]}function Mi(e,t){let n=t[0];return e[0]=t[1],e[1]=-n,e}function Ni(e,t){return e[0]*t[0]+e[1]*t[1]}function Pi(e,t){return e[0]===t[0]&&e[1]===t[1]}function Fi(e){return Math.hypot(e[0],e[1])}function Ii(e,t){let n=e[0]-t[0],r=e[1]-t[1];return n*n+r*r}function Li(e){return Ai(e,Fi(e))}function Ri(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function zi(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=e[0]-t[0],o=e[1]-t[1],s=a*i-o*r,c=a*r+o*i;return[s+t[0],c+t[1]]}function Bi(e,t,n,r){let i=Math.sin(r),a=Math.cos(r),o=t[0]-n[0],s=t[1]-n[1],c=o*a-s*i,l=o*i+s*a;return e[0]=c+n[0],e[1]=l+n[1],e}function Vi(e,t,n){return U(e,G(W(t,e),n))}function Hi(e,t,n,r){let i=n[0]-t[0],a=n[1]-t[1];return e[0]=t[0]+i*r,e[1]=t[1]+a*r,e}function Ui(e,t,n){return U(e,G(t,n))}var K=[0,0],q=[0,0],J=[0,0];function Wi(e,t){let n=Ui(e,Li(ji(W(e,U(e,[1,1])))),-t),r=[],i=1/13;for(let t=i;t<=1;t+=i)r.push(zi(n,e,bi*2*t));return r}function Gi(e,t,n){let r=[],i=1/n;for(let n=i;n<=1;n+=i)r.push(zi(t,e,bi*n));return r}function Ki(e,t,n){let r=W(t,n),i=G(r,.5),a=G(r,.51);return[W(e,i),W(e,a),U(e,a),U(e,i)]}function qi(e,t,n,r){let i=[],a=Ui(e,t,n),o=1/r;for(let t=o;t<1;t+=o)i.push(zi(a,e,bi*3*t));return i}function Ji(e,t,n){return[U(e,G(t,n)),U(e,G(t,n*.99)),W(e,G(t,n*.99)),W(e,G(t,n))]}function Yi(e,t,n){return e===!1||e===void 0?0:e===!0?Math.max(t,n):e}function Xi(e,t,n){return e.slice(0,10).reduce((e,r)=>{let i=r.pressure;return t&&(i=Ti(e,r.distance,n)),(e+i)/2},e[0].pressure)}function Zi(e,t={}){let{size:n=16,smoothing:r=.5,thinning:i=.5,simulatePressure:a=!0,easing:o=e=>e,start:s={},end:c={},last:l=!1}=t,{cap:u=!0,easing:d=e=>e*(2-e)}=s,{cap:f=!0,easing:p=e=>--e*e*e+1}=c;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=Yi(s.taper,n,m),g=Yi(c.taper,n,m),_=(n*r)**2,v=[],y=[],b=Xi(e,a,n),x=Ci(n,i,e[e.length-1].pressure,o),S,C=e[0].vector,w=e[0].point,T=w,E=w,D=T,O=!1;for(let t=0;t<e.length;t++){let{pressure:r}=e[t],{point:s,vector:c,distance:l,runningLength:u}=e[t],f=t===e.length-1;if(!f&&m-u<3)continue;i?(a&&(r=Ti(b,l,n)),x=Ci(n,i,r,o)):x=n/2,S===void 0&&(S=x);let ee=u<h?d(u/h):1,te=m-u<g?p((m-u)/g):1;x=Math.max(.01,x*Math.min(ee,te));let ne=(f?e[t]:e[t+1]).vector,k=f?1:Ni(c,ne),re=Ni(c,C)<0&&!O,ie=k!==null&&k<0;if(re||ie){Mi(K,C),ki(K,K,x);for(let e=0;e<=1;e+=.07692307692307693)Oi(q,s,K),Bi(q,q,s,bi*e),E=[q[0],q[1]],v.push(E),Di(J,s,K),Bi(J,J,s,bi*-e),D=[J[0],J[1]],y.push(D);w=E,T=D,ie&&(O=!0);continue}if(O=!1,f){Mi(K,c),ki(K,K,x),v.push(W(s,K)),y.push(U(s,K));continue}Hi(K,ne,c,k),Mi(K,K),ki(K,K,x),Oi(q,s,K),E=[q[0],q[1]],(t<=1||Ii(w,E)>_)&&(v.push(E),w=E),Di(J,s,K),D=[J[0],J[1]],(t<=1||Ii(T,D)>_)&&(y.push(D),T=D),b=r,C=c}let ee=[e[0].point[0],e[0].point[1]],te=e.length>1?[e[e.length-1].point[0],e[e.length-1].point[1]]:U(e[0].point,[1,1]),ne=[],k=[];if(e.length===1){if(!(h||g)||l)return Wi(ee,S||x)}else{h||g&&e.length===1||(u?ne.push(...Gi(ee,y[0],13)):ne.push(...Ki(ee,v[0],y[0])));let t=ji(Ei(e[e.length-1].vector));g||h&&e.length===1?k.push(te):f?k.push(...qi(te,t,x,29)):k.push(...Ji(te,t,x))}return v.concat(k,y.reverse(),ne)}var Qi=[0,0];function $i(e){return e!=null&&e>=0}function ea(e,t={}){let{streamline:n=.5,size:r=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-n)*.85,o=Array.isArray(e[0])?e:e.map(({x:e,y:t,pressure:n=xi})=>[e,t,n]);if(o.length===2){let e=o[1];o=o.slice(0,-1);for(let t=1;t<5;t++)o.push(Vi(o[0],e,t/4))}o.length===1&&(o=[...o,[...U(o[0],Si),...o[0].slice(2)]]);let s=[{point:[o[0][0],o[0][1]],pressure:$i(o[0][2])?o[0][2]:.25,vector:[...Si],distance:0,runningLength:0}],c=!1,l=0,u=s[0],d=o.length-1;for(let e=1;e<o.length;e++){let t=i&&e===d?[o[e][0],o[e][1]]:Vi(u.point,o[e],a);if(Pi(u.point,t))continue;let n=Ri(t,u.point);if(l+=n,e<d&&!c){if(l<r)continue;c=!0}Oi(Qi,u.point,t),u={point:t,pressure:$i(o[e][2])?o[e][2]:xi,vector:Li(Qi),distance:n,runningLength:l},s.push(u)}return s[0].vector=s[1]?.vector||[0,0],s}function ta(e,t={}){return Zi(ea(e,t),t)}function na(e){return e.highlighter?e.strokeWidth*3:e.strokeWidth}function ra(e){if(e.length<3)return``;let t=`M${(e[0][0]+e[1][0])/2} ${(e[0][1]+e[1][1])/2}`;for(let n=1;n<=e.length;n+=1){let[r,i]=e[n%e.length],[a,o]=e[(n+1)%e.length];t+=`Q${r} ${i} ${(r+a)/2} ${(i+o)/2}`}return t+`Z`}function ia(e){return{size:na(e)*2,thinning:0,smoothing:.5,streamline:.5,simulatePressure:!1,last:!0}}function aa(e){return ra(ta(e.points.map(e=>[e.x,e.y]),ia(e)))}function oa(e){let t=ea(e.points.map(e=>[e.x,e.y]),ia(e)).map(e=>e.point);if(t.length<2)return``;let n=`M${t[0][0]} ${t[0][1]}`;for(let e=1;e<t.length-1;e+=1){let[r,i]=t[e],[a,o]=t[e+1];n+=`Q${r} ${i} ${(r+a)/2} ${(i+o)/2}`}let r=t[t.length-1];return`${n}L${r[0]} ${r[1]}`}function sa(e){if(e.length===0)return{x:0,y:0,width:0,height:0};let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{x:t,y:n,width:r-t,height:i-n}}var ca={top:0,right:0,bottom:0,left:0},la=.46,ua=.28,da=.2,fa=.35,pa=.4,ma=.35;function ha(e,t,n,r){let i=ga(e,t,n);return!r?.x&&!r?.y?i:{top:r.y?i.bottom:i.top,right:r.x?i.left:i.right,bottom:r.y?i.top:i.bottom,left:r.x?i.right:i.left}}function ga(e,t,n){let r={x:0,y:0,width:t,height:n};if(e===`multi-process`){let e=Yr(r);return{top:2*e,right:2*e,bottom:0,left:0}}if(e===`multi-document`){let e=Yr(r);return{top:2*e,right:2*e,bottom:(n-2*e)*Tr,left:0}}if(e===`cube`){let e=Pr(r);return{top:e,right:e,bottom:0,left:0}}if(e===`double-circle`){let e=Math.min(t,n)*ei+6;return{top:e,right:e,bottom:e,left:e}}if(e===`cylinder`)return{top:2*gr(r),right:0,bottom:0,left:0};if(e===`queue`){let e=_r(r);return{top:0,right:e,bottom:0,left:2*e}}if(e===`document`)return{top:0,right:0,bottom:n*Tr,left:0};if(e===`speech-bubble`)return{top:0,right:0,bottom:n*(1-Br),left:0};if(e===`callout`)return{top:0,right:0,bottom:n*(1-zr),left:0};if(e===`actor`)return{top:n*Lr,right:0,bottom:0,left:0};if(e===`triangle`)return{top:n*la,right:0,bottom:0,left:0};if(e===`cloud`)return{top:n*ua,right:0,bottom:0,left:0};if(e===`pentagon`)return{top:0,right:kr(r),bottom:0,left:0};if(e===`chevron`)return{top:0,right:0,bottom:0,left:jr(r)*ma};if(e===`manual-input`)return{top:n*da,right:0,bottom:0,left:0};if(e===`delay`)return{top:0,right:Kr(r)*pa,bottom:0,left:0};if(e===`package`)return{top:ri(r),right:0,bottom:0,left:0};if(e===`component`)return{top:0,right:0,bottom:0,left:oi(r)+4};if(e===`brace`)return{top:0,right:0,bottom:0,left:ci(r)+8};if(e===`arrow-up`||e===`arrow-down`||e===`arrow-left`||e===`arrow-right`){let t=xr(r,e.slice(6))*fa;return e===`arrow-right`?{top:0,right:t,bottom:0,left:0}:e===`arrow-left`?{top:0,right:0,bottom:0,left:t}:e===`arrow-up`?{top:t,right:0,bottom:0,left:0}:{top:0,right:0,bottom:t,left:0}}return ca}var _a=14*.3;function va(e){return Math.max(14,Math.round(e))}function ya(e){return Math.max(6,Math.round(e*.35))}var ba={ellipse:{fx:.146,fy:.146},diamond:{fx:.25,fy:.25},triangle:{fx:.25,fy:.5},parallelogram:{fx:.2,fy:0},trapezoid:{fx:.18,fy:0},hexagon:{fx:.25,fy:0},star:{fx:.3,fy:.18},heart:{fx:.22,fy:.1},cloud:{fx:.16,fy:.22},"speech-bubble":{fx:.05,fy:.05},bolt:{fx:.32,fy:.12},plus:{fx:.33,fy:.02},"arrow-up":{fx:.5,fy:.3},"arrow-down":{fx:.25,fy:.25},"arrow-left":{fx:.45,fy:.25},"arrow-right":{fx:.25,fy:.25}};function xa(e,t,n,r){if(r?.x||r?.y){let i=xa(e,t,n);return{x:r.x?t-i.x:i.x,y:r.y?n-i.y:i.y}}if(e===`oval`){let e=n/2*(1-Math.SQRT1_2);return{x:e,y:e}}if(e===`cylinder`)return{x:0,y:gr({x:0,y:0,width:t,height:n})};if(e===`queue`)return{x:_r({x:0,y:0,width:t,height:n}),y:0};let i=ba[e]??{fx:0,fy:0};return{x:i.fx*t,y:i.fy*n}}var Sa=1.25,Ca=1.15;function wa(e){let{kind:t,width:n,height:r,fontSize:i,lineHeight:a,textPadding:o,flipX:s,flipY:c}=e,l=ha(t,n,r,{x:s,y:c}),u=o??6,d=r-l.top-l.bottom-u*2,f=Math.floor(d/(a??1.25));return Math.max(8,Math.min(i,f))}var Ta=.917,Ea=.292,Da=(Ta-Ea)/2;function Oa(e,t){return e*t/2+e*Da}function ka(e){if(!e)return null;let t=e.trim();return t?/^(https?:|mailto:)/i.test(t)?t:/^[\w-]+(\.[\w-]+)+([/?#].*)?$/.test(t)?`https://${t}`:null:null}var Aa={blue:`#e7f5ff`,green:`#ebfbee`,red:`#fff5f5`,orange:`#fff4e6`,violet:`#f3f0ff`,teal:`#e6fcf5`,pink:`#fff0f6`,yellow:`#fff9db`,gray:`#f8f9fa`},ja={blue:a.blue.bold,green:a.green.bold,red:a.red.bold,orange:a.orange.bold,violet:a.purple.bold,teal:a.teal.bold,pink:a.pink.bold,yellow:a.yellow.bold,gray:a.gray.bold},Ma=`#1e1e1e`,Y={ink:`token:ink`,inkMuted:`token:ink-muted`,inkInverse:`token:ink-inverse`,paper:`token:paper`,paperGrid:`token:paper-grid`,paperLine:`token:paper-line`},Na={[Y.ink]:{var:`var(--canvas-ink)`,key:`ink`,lit:`#1e1e1e`},[Y.inkMuted]:{var:`var(--canvas-ink-muted)`,key:`inkMuted`,lit:`#495057`},[Y.inkInverse]:{var:`var(--canvas-ink-inverse)`,key:`inkInverse`,lit:`#ffffff`},[Y.paper]:{var:`var(--paper-bg)`,key:`paperBg`,lit:`#ffffff`},[Y.paperGrid]:{var:`var(--paper-grid)`,key:`paperGrid`,lit:`#eceef0`},[Y.paperLine]:{var:`var(--paper-line)`,key:`paperLine`,lit:`#dee2e6`}},Pa=Object.fromEntries(Object.values(Na).map(e=>[e.key,e.lit]));function Fa(e){return Na[e]?.var??e}function Ia(e){return e===void 0?void 0:Fa(e)}function La(e){return Object.values(Na).find(t=>t.var===e)?.lit??e}function Ra(e,t){let n=Na[e];return n?t?t[n.key]:n.lit:e}var za={"#1e1e1e":Y.ink,"#495057":Y.inkMuted,"#ffffff":Y.inkInverse},Ba={"#ffffff":Y.paper,"#eceef0":Y.paperGrid,"#dee2e6":Y.paperLine};function Va(e){return za[e]??e}function Ha(e){return Fa(Va(e))}function Ua(e){return e===Y.inkInverse?Y.ink:Na[e]?Y.paper:void 0}function Wa(e,t){return Ra(Va(e),t)}function Ga(e){return Ia(e===void 0?void 0:Ba[e]??e)}function Ka(e,t){return Ra(Ba[e]??e,t)}var qa=new Map(Object.keys(Aa).map(e=>[Aa[e],ja[e]]));function Ja(e){if(e===`#ffffff`)return Fa(Y.paper);if(t(e,0)>.9){let t=qa.get(e);return`color-mix(in srgb, ${e} var(--paper-tint-strength), ${t?`color-mix(in srgb, ${t} var(--paper-hue-strength), var(--canvas-bg))`:`var(--canvas-bg)`})`}return Fa(e)}var Ya=.08,Xa=.1;function Za(e,n){if(e!==`#ffffff`&&t(e,0)>.9&&t(n.bg,1)<.5){let t=qa.get(e);return no(e,t?no(t,n.bg,Xa):n.bg,Ya)}return Ra(e===`#ffffff`?Y.paper:e,n)}var Qa=.32,$a=.4;function eo(e){return{pastel:e.pastel,fill:`color-mix(in srgb, ${e.pastel} var(--node-pastel-strength), color-mix(in srgb, ${e.bold} var(--node-hue-strength), var(--canvas-bg)))`,stroke:`color-mix(in srgb, var(--canvas-ink) var(--node-stroke-ink), ${e.bold})`}}function to(e,n){return t(n.bg,1)>=.5?{pastel:e.pastel,fill:e.pastel,stroke:n.ink}:{pastel:e.pastel,fill:no(e.bold,n.bg,Qa),stroke:no(n.ink,e.bold,$a)}}function no(e,t,n){let r=o(e),i=o(t);if(!r||!i)return t;let a=(e,t)=>Math.round(e*n+t*(1-n)).toString(16).padStart(2,`0`);return`#${a(r.r,i.r)}${a(r.g,i.g)}${a(r.b,i.b)}`}function ro(e){return e&&t(e.paperBg,0)<.5?`screen`:`multiply`}function io(e,t,n,r,i,a){if(a&&e===`stroke`&&t===`#1e1e1e`)return a.stroke;if(a&&e===`fill`&&t===a.pastel)return a.fill;if(e===`stroke`)return r(t);if(e===`fill`){if(n===`paper`)return i(t);if(n===`ink`)return r(t)}return t}var ao=RegExp(`<(?:${[`strong`,`em`,`u`,`s`,`code`,`mark`,`a`,`span`,`i`,`b`,`del`,`strike`,`ul`,`ol`,`li`,`br`,`div`,`p`].join(`|`)})\\b`,`i`);function oo(e){return ao.test(e)}function so(e){return e.replace(/\u200B/g,``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}function co(e){return so(e).replace(/"/g,`"`)}function lo(e){return`<ul>${e.map(e=>`<li>${so(e)}</li>`).join(``)}</ul>`}function uo(e){if(!e)return null;let t=e.trim().match(/^(\d+(?:\.\d+)?)px$/);if(!t)return null;let n=Math.round(Number(t[1]));return n<8||n>240?null:n}function fo(e,t){return t===1?e:e.replace(/font-size:\s*(\d+(?:\.\d+)?)px/gi,(e,n)=>`font-size:${Math.round(c(Number(n)*t,8,240))}px`)}function po(e){if(!e)return null;let t=e.trim().toLowerCase();return/^#[0-9a-f]{3,8}$/.test(t)||/^rgba?\([\d.,\s%/]+\)$/.test(t)?t:null}function mo(e){let t=``;return e.childNodes.forEach(e=>{t+=go(e)}),t}function ho(e){let t=e.tagName.toLowerCase()===`ol`?`ol`:`ul`,n=t===`ul`&&e.hasAttribute(`data-checklist`),r=``;return e.childNodes.forEach(e=>{if(e.nodeType===1&&e.tagName.toLowerCase()===`li`){let t=n&&e.hasAttribute(`data-checked`);r+=`<li${t?` data-checked="true"`:``}>${mo(e)}</li>`}}),r?`<${t}${n?` data-checklist="true"`:``}>${r}</${t}>`:``}function go(e){if(e.nodeType===3)return so(e.nodeValue??``);if(e.nodeType!==1)return``;let t=e,n=t.tagName.toLowerCase();if(n===`br`)return`<br>`;let r=mo(t);if(n===`em`||n===`i`)return r?`<em>${r}</em>`:``;if(n===`code`)return r?`<code>${r}</code>`:``;if(n===`mark`)return r?`<mark>${r}</mark>`:``;if(n===`b`||n===`strong`)return r?`<strong>${r}</strong>`:``;if(n===`u`)return r?`<u>${r}</u>`:``;if(n===`s`||n===`del`||n===`strike`)return r?`<s>${r}</s>`:``;if(n===`a`){let e=ka(t.getAttribute(`href`));return e&&r?`<a href="${co(e)}">${r}</a>`:r}if(n===`ul`||n===`ol`)return ho(t);if(n===`span`){if(!r)return``;let e=r,n=t.style;n.fontStyle===`italic`&&(e=`<em>${e}</em>`),`${n.textDecorationLine} ${n.textDecoration}`.includes(`line-through`)&&(e=`<s>${e}</s>`),po(n.backgroundColor)&&(e=`<mark>${e}</mark>`);let i=po(n.color);i&&(e=`<span style="color:${i}">${e}</span>`);let a=uo(n.fontSize);return a&&(e=`<span style="font-size:${a}px">${e}</span>`),e}return r}function _o(e){let t=``,n=()=>t===``||/(?:<br>|\n|<\/ul>|<\/ol>)$/.test(t),r=()=>{n()||(t+=`<br>`)};return e.childNodes.forEach(e=>{if(e.nodeType===1){let n=e.tagName.toLowerCase();if(n===`div`||n===`p`){r(),t+=mo(e);return}if(n===`ul`||n===`ol`){t+=ho(e);return}}t+=go(e)}),t}function vo(){return Promise.resolve()}function yo(){return globalThis.DOMParser!==void 0}function bo(e){let t=globalThis.DOMParser;if(!t)throw Error(`No HTML parser available: this environment has no global DOMParser. Install one with setHtmlParser (see @koboyo/renderer/adapters/node).`);return new t().parseFromString(e,`text/html`).body}function X(e){return bo(e)}function xo(e){return _o(X(e))}function So(e){return e?oo(e)?xo(e).replaceAll(`<a href="`,`<a target="_blank" rel="noopener noreferrer" href="`).replace(/<span style="color:([^"]+)">/g,(e,t)=>{let n=Va(Co(t));return n.startsWith(`token:`)?`<span data-ink="${n.slice(6)}" style="color:${t}">`:e}):so(e):``}function Co(e){let t=/^rgba?\((\d+),\s*(\d+),\s*(\d+)\)$/.exec(e);return t?`#${t.slice(1).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}`:e}function wo(e,t=0){let n=``;return e.childNodes.forEach(e=>{if(e.nodeType===3){n+=(e.nodeValue??``).replace(/\u200B/g,``);return}if(e.nodeType!==1)return;let r=e,i=r.tagName.toLowerCase();if(i===`br`){n+=`
|
|
2
|
-
`;return}if(i===`li`){n&&!n.endsWith(`
|
|
3
|
-
`)&&(n+=`
|
|
4
|
-
`);let e=r.parentElement?.hasAttribute(`data-checklist`)?r.hasAttribute(`data-checked`)?`☑`:`☐`:`•`;n+=`${` `.repeat(Math.max(0,t-1))}${e} ${wo(r,t)}`;return}if(i===`div`||i===`p`||i===`ul`||i===`ol`){n&&!n.endsWith(`
|
|
5
|
-
`)&&(n+=`
|
|
6
|
-
`),n+=wo(r,i===`ul`||i===`ol`?t+1:t);return}n+=wo(r,t)}),n}function To(e){return e?oo(e)?wo(X(e)):e:``}function Eo(e){return To(e).trim().length===0}function Do(e){return oo(e)?e.replace(/\u200B/g,``).replace(/<(?:br|\/li|\/div|\/p|\/ul|\/ol)[^>]*>/gi,`
|
|
7
|
-
`).replace(/<li[^>]*>/gi,`• `).replace(/<[^>]+>/g,``).replace(/&[a-z#0-9]+;/gi,`*`).replace(/\n+/g,`
|
|
8
|
-
`).replace(/^\n|\n$/g,``):e}function Oo(e){return yo()?To(e):Do(e)}function ko(e){if(!e||!oo(e))return e;let t=X(e);return t.querySelectorAll(`span`).forEach(e=>{e.style.color=``}),_o(t)}function Ao(e,t){let n=X(So(e)),r=n.querySelectorAll(`ul[data-checklist] > li`)[t];return r?(r.hasAttribute(`data-checked`)?r.removeAttribute(`data-checked`):r.setAttribute(`data-checked`,`true`),_o(n)):null}function jo(e,t){let n=e=>t===`strong`?e.bold:t===`em`?e.italic:t===`u`?e.underline:e.strike,r=!1;for(let t of Io(e))for(let e of t.runs)if(e.text.trim()!==``&&(r=!0,!n(e)))return!1;return r}function Mo(e,t){let n=e.parentElement;for(;n;){if(n.tagName.toLowerCase()===t)return!0;n=n.parentElement}return!1}function No(e,t,n){if(n)return Po(e,t)??e;let r=X(So(e));return r.querySelectorAll(t).forEach(e=>{let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}),_o(r)}function Po(e,t,n={}){let r=X(So(e)),i=[],a=e=>{e.childNodes.forEach(e=>{e.nodeType===3?(e.nodeValue??``).length>0&&i.push(e):e.nodeType===1&&a(e)})};a(r);let o=0,s=1/0;if(n.match!==void 0){let e=i.map(e=>e.nodeValue??``).join(``),t=n.match?e.toLowerCase().indexOf(n.match.toLowerCase()):-1;if(t<0)return null;o=t,s=t+n.match.length}let c=r.ownerDocument;if(!c)return _o(r);let l=0;for(let e of i){let r=e.nodeValue??``,i=Math.max(0,o-l),a=Math.min(r.length,s-l);l+=r.length;let u=e.parentNode;if(i>=a||!u||t!==`span`&&Mo(e,t))continue;let d=c.createElement(t);for(let[e,t]of Object.entries(n.attributes??{}))d.setAttribute(e,t);d.appendChild(c.createTextNode(r.slice(i,a))),i>0&&u.insertBefore(c.createTextNode(r.slice(0,i)),e),u.insertBefore(d,e),a<r.length&&u.insertBefore(c.createTextNode(r.slice(a)),e),u.removeChild(e)}return _o(r)}var Fo={bold:!1,italic:!1,underline:!1,strike:!1,code:!1,highlight:!1};function Io(e){let t=X(So(e)),n=[{runs:[]}],r=0,i=(e,t)=>{n.push({runs:[],marker:e,checked:t||void 0,depth:r||void 0})},a=(e,t)=>{let a=n[n.length-1];if(a.runs.length===0&&!a.marker){a.marker=e,a.checked=t||void 0,a.depth=r||void 0;return}i(e,t)},o=(e,t)=>{e.split(`
|
|
9
|
-
`).forEach((e,r)=>{r>0&&i(),e&&n[n.length-1].runs.push({text:e,...t})})},s=(e,t)=>{e.childNodes.forEach(e=>{if(e.nodeType===3){o((e.nodeValue??``).replace(/\u200B/g,``),t);return}if(e.nodeType!==1)return;let c=e,l=c.tagName.toLowerCase();if(l===`br`){i();return}if(l===`em`||l===`i`){s(c,{...t,italic:!0});return}if(l===`strong`||l===`b`){s(c,{...t,bold:!0});return}if(l===`u`){s(c,{...t,underline:!0});return}if(l===`s`||l===`del`||l===`strike`){s(c,{...t,strike:!0});return}if(l===`code`){s(c,{...t,code:!0});return}if(l===`mark`){s(c,{...t,highlight:!0});return}if(l===`a`){s(c,{...t,href:ka(c.getAttribute(`href`))??t.href});return}if(l===`span`){s(c,{...t,color:po(c.style.color)??t.color,fontSize:uo(c.style.fontSize)??t.fontSize});return}if(l===`ul`||l===`ol`){let e=l===`ul`&&c.hasAttribute(`data-checklist`),n=1;c.childNodes.forEach(i=>{i.nodeType===1&&i.tagName.toLowerCase()===`li`&&(e?a({kind:`checkbox`},i.hasAttribute(`data-checked`)):a(l===`ol`?{kind:`number`,text:`${n++}.`}:{kind:`bullet`}),r+=1,s(i,t),--r)}),i();return}if(l===`div`||l===`p`){(n[n.length-1].runs.length>0||n[n.length-1].marker)&&i(),s(c,t);return}s(c,t)})};for(s(t,Fo);n.length>1;){let e=n[n.length-1];if(e.runs.length===0&&!e.marker)n.pop();else break}return n}var Lo=`93B[bw]4ABK]0B2IVCVYXUXMVU23]]]OuX_bc]Wec<R[UpefZhbXWcYtTVXBG?PY1TTQUW<US56M4lTTUVAM<SL^KILG3Ga`,Ro=32,zo=126,Bo=.55,Vo=1;function Ho(e){return e>=11904&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65280&&e<=65376||e>=126976}function Uo(e,t){let n=0;for(let t of e){let e=t.codePointAt(0)??0;if(e>=Ro&&e<=zo){n+=(Lo.charCodeAt(e-Ro)-32)/100;continue}n+=Ho(e)?Vo:Bo}return n*t}var Wo={rectangle:{geometry:`box`,color:!0,fill:!0,stroke:!0,dash:!0,font:`stored`,arrowEnds:!1,textField:`label`,edit:`text`,search:`label`,hit:`bounds`,animate:`box`,rotatable:!0},arrow:{geometry:`connector`,color:!0,fill:!1,stroke:!0,dash:!0,font:`optional`,arrowEnds:!0,textField:`label`,edit:`text`,search:`label`,hit:`stroke`,animate:`path`,rotatable:!0},text:{geometry:`text`,color:!0,fill:!1,stroke:!1,dash:!1,font:`stored`,arrowEnds:!1,textField:`text-or-delete`,edit:`text`,search:`text`,hit:`bounds`,animate:`text`,rotatable:!0},sticky:{geometry:`box`,color:!1,fill:!0,stroke:!1,dash:!1,font:`stored`,arrowEnds:!1,textField:`text`,edit:`text`,search:`text`,hit:`bounds`,animate:`text`,rotatable:!0},draw:{geometry:`points`,color:!0,fill:!1,stroke:!0,dash:!1,font:`none`,arrowEnds:!1,textField:`text-or-delete`,edit:`none`,search:`none`,hit:`stroke`,animate:`path`,rotatable:!0},polygon:{geometry:`points`,color:!0,fill:!0,stroke:!0,dash:!1,font:`none`,arrowEnds:!1,textField:`text-or-delete`,edit:`vertices`,search:`none`,hit:`bounds`,animate:`box`,rotatable:!0},line:{geometry:`points`,color:!0,fill:!1,stroke:!0,dash:!0,font:`optional`,arrowEnds:!0,textField:`label`,edit:`none`,search:`label`,hit:`stroke`,animate:`path`,rotatable:!0},image:{geometry:`box`,color:!1,fill:!1,stroke:!1,dash:!1,font:`none`,arrowEnds:!1,textField:`text-or-delete`,edit:`crop`,search:`none`,hit:`bounds`,animate:`box`,rotatable:!0},icon:{geometry:`box`,color:!0,fill:!1,stroke:!0,dash:!1,font:`stored`,arrowEnds:!1,textField:`label`,edit:`none`,search:`label-and-name`,hit:`bounds`,animate:`box`,rotatable:!0},figure:{geometry:`box`,color:!0,fill:!1,stroke:!1,dash:!1,font:`none`,arrowEnds:!1,textField:`label`,edit:`none`,search:`label`,hit:`outline`,animate:`box`,rotatable:!1},table:{geometry:`table`,color:!0,fill:!1,stroke:!1,dash:!1,font:`stored`,arrowEnds:!1,textField:`text-or-delete`,edit:`none`,search:`cells`,hit:`bounds`,animate:`box`,rotatable:!1},chart:{geometry:`box`,color:!0,fill:!1,stroke:!1,dash:!1,font:`stored`,arrowEnds:!1,textField:`text-or-delete`,edit:`none`,search:`cells`,hit:`bounds`,animate:`box`,rotatable:!0},control:{geometry:`box`,color:!0,fill:!1,stroke:!1,dash:!1,font:`stored`,arrowEnds:!1,textField:`label`,edit:`none`,search:`label`,hit:`bounds`,animate:`box`,rotatable:!0}};function Go(e){return e.type===`control`&&e.kind===`lifeline`?!1:Wo[e.type].rotatable}function Ko(e){return Wo[e.type].geometry===`box`}function qo(e){return Wo[e.type].fill}function Jo(e){return e.type===`figure`||e.type===`control`}function Yo(e){return{strokeWidth:e.strokeWidth??1.5,dash:e.dash??`solid`}}var Xo={fade:[`box`,`path`,`text`],rise:[`box`,`path`,`text`],scale:[`box`,`path`,`text`],pop:[`box`,`path`,`text`],blur:[`box`,`path`,`text`],wipe:[`box`,`path`,`text`],draw:[`path`],type:[`text`],pulse:[`box`,`path`,`text`],shake:[`box`,`path`,`text`],glow:[`box`,`path`,`text`]};function Zo(e,t){return Xo[t].includes(Wo[e.type].animate)}var Qo={fade:[`enter`,`exit`],rise:[`enter`,`exit`],scale:[`enter`,`exit`],pop:[`enter`],blur:[`enter`,`exit`],wipe:[`enter`,`exit`],draw:[`enter`,`exit`],type:[`enter`,`exit`],pulse:[`emphasis`],shake:[`emphasis`],glow:[`emphasis`]};function $o(e,t){return Qo[e]?.includes(t)??!1}function es(e){return e.type===`rectangle`&&e.fill===`transparent`}function ts(e){throw Error(`Unhandled shape type: ${e.type??`unknown`}`)}function Z(e,t){if(Ko(e))return{x:Math.min(e.x,e.x+e.width),y:Math.min(e.y,e.y+e.height),width:Math.abs(e.width),height:Math.abs(e.height)};if(e.type===`arrow`)return Vt(e);if(e.type===`draw`||e.type===`polygon`||e.type===`line`)return sa(e.points);if(e.type===`table`)return{x:e.x,y:e.y,width:e.colWidths.reduce((e,t)=>e+t,0),height:e.rowHeights.reduce((e,t)=>e+t,0)};if(e.type===`text`){let n=t?.textBounds(e.id);if(n)return{x:e.x,y:e.y,width:n.width,height:n.height};let r=Do(e.text).split(`
|
|
10
|
-
`),i=r.reduce((e,t)=>Math.max(e,t.length),0);return{x:e.x,y:e.y,width:e.width??Math.max(i*e.fontSize*.55,e.fontSize),height:Math.max(r.length*e.fontSize*(e.lineHeight??1.15),e.height??0)}}return ts(e)}function ns(e,t,n){let r=Math.cos(n),i=Math.sin(n),a=e.x-t.x,o=e.y-t.y;return{x:t.x+a*r-o*i,y:t.y+a*i+o*r}}function rs(e){let t=Z(e);return{x:t.x+t.width/2,y:t.y+t.height/2}}function is(e){return Go(e)&&(Ko(e)||e.type===`text`||e.type===`table`)?e.rotation??0:0}function as(e){return Go(e)&&(Ko(e)||e.type===`text`||e.type===`table`)}function os(e){return Math.max(2,Math.round(e*.2))}function ss(e,t){let n=Z(e,t);if(e.type===`icon`&&e.label){let r=n.x+n.width/2,i=e.fontSize??36,a,o,s=t?.iconLabelBounds(e.id);if(s)a=s.width,o=s.height;else{let t=Oo(e.label).split(`
|
|
11
|
-
`),n=Math.max(i*.58,...t.map(e=>Uo(e,i)));a=Math.min(n,200),o=Math.round(i*1.45+(t.length-1)*i*Sa)}let c=Math.min(n.x,r-a/2),l=Math.max(n.x+n.width,r+a/2),u=n.y+n.height+os(i)+o;return{x:c,y:n.y,width:l-c,height:u-n.y}}return n}var cs=new WeakMap;function ls(e){return e.type===`text`||e.type===`icon`&&!!e.label}function us(e,t){if(ls(e))return ds(e,t);let n=cs.get(e);if(n)return n;let r=ds(e);return cs.set(e,r),r}function ds(e,t){let n=ss(e,t),r=is(e);if(!r)return n;let i=Z(e,t);return fs(n,{x:i.x+i.width/2,y:i.y+i.height/2},r*Math.PI/180)}function fs(e,t,n){let r=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}].map(e=>ns(e,t,n)),i=r.map(e=>e.x),a=r.map(e=>e.y),o=Math.min(...i),s=Math.min(...a);return{x:o,y:s,width:Math.max(...i)-o,height:Math.max(...a)-s}}function ps(e,t){if(!t)return e;let n=t*Math.PI/180;return fs(e,{x:e.x+e.width/2,y:e.y+e.height/2},n)}var ms=new WeakMap;function hs(e){let t=ms.get(e);if(t)return t;let n=gs(e);return ms.set(e,n),n}function gs(e){return ps(Z(e),is(e))}function _s(e){return Number.isFinite(is(e))&&l(Z(e))}function vs(e){for(let t of e)if(!_s(t))return e.filter(_s);return e}function ys(e,t){if(e.length===0)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let o of e){let e=us(o,t);l(e)&&(n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x+e.width),a=Math.max(a,e.y+e.height))}return n===1/0?null:{x:n,y:r,width:i-n,height:a-r}}function bs(e){return{x:e.includes(`e`)?1:e.includes(`w`)?-1:0,y:e.includes(`s`)?1:e.includes(`n`)?-1:0}}function xs(e,t,n){return Math.max(0,(e-t)*n)}function Ss(e,t,n,r){let i=e.x,a=e.y,o=e.x+e.width,s=e.y+e.height;t.includes(`w`)&&(i=n.x),t.includes(`e`)&&(o=n.x),t.includes(`n`)&&(a=n.y),t.includes(`s`)&&(s=n.y);let c=r?.width??0,l=r?.height??0;return o-i<c&&(t.includes(`w`)?i=o-c:o=i+c),s-a<l&&(t.includes(`n`)?a=s-l:s=a+l),{x:Math.min(i,o),y:Math.min(a,s),width:Math.abs(o-i),height:Math.abs(s-a)}}function Cs(e,t,n,r,i=!1){let{box:a,fontSize:o,width:s,height:l}=r,u=a.x+a.width/2,d=a.y+a.height/2,f=bs(t);if(t===`n`||t===`s`){let r=t===`s`?a.y:a.y+a.height,i=Math.max(o,xs(n.y,r,f.y));return{...e,y:f.y===1?r:r-i,height:i}}if(t===`w`||t===`e`){if(i){let t=Math.abs(n.x-u);return{...e,x:u-t,width:Math.max(o,t*2)}}let r=t===`e`?a.x:a.x+a.width,s=Math.max(o,xs(n.x,r,f.x));return{...e,x:f.x===1?r:r-s,width:s}}let p=t===`ne`||t===`se`?a.x:a.x+a.width,m=t===`sw`||t===`se`?a.y:a.y+a.height,h=c(o*(i?Math.max(Math.abs(n.x-u)/(a.width/2||1),Math.abs(n.y-d)/(a.height/2||1)):Math.max(xs(n.x,p,f.x)/(a.width||1),xs(n.y,m,f.y)/(a.height||1))),8,240),g=h/o,_=a.width*g,v=a.height*g,y={...e,fontSize:h,text:fo(e.text,g)};return i?(y.x=u-_/2,y.y=d-v/2):(y.x=p===a.x?a.x:p-_,y.y=m===a.y?a.y:m-v),s!=null&&(y.width=s*g),l!=null&&(y.height=l*g),y}function ws(e){return e.height==null?e.width==null?`auto-width`:`auto-height`:`fixed`}function Ts(e,t){let n=Z(e);if(t===`auto-width`){if(e.width==null&&e.height==null)return e;let t={...e};return delete t.width,delete t.height,t}if(t===`auto-height`){if(e.width!=null&&e.height==null)return e;let t={...e};return delete t.height,t.width??=n.width,t}return e.width!=null&&e.height!=null?e:{...e,width:e.width??n.width,height:e.height??n.height}}function Es(e,t){if(e.type===`arrow`){let n={...e,x:e.x+t.x,y:e.y+t.y,x2:e.x2+t.x,y2:e.y2+t.y};return e.elbowPoints&&(n.elbowPoints=e.elbowPoints.map(e=>({x:e.x+t.x,y:e.y+t.y}))),e.elbowRoute&&(n.elbowRoute=e.elbowRoute.map(e=>({x:e.x+t.x,y:e.y+t.y}))),e.elbowMidHandle&&(n.elbowMidHandle={...e.elbowMidHandle,x:e.elbowMidHandle.x+t.x,y:e.elbowMidHandle.y+t.y}),n}return e.type===`draw`||e.type===`polygon`||e.type===`line`?{...e,points:e.points.map(e=>({x:e.x+t.x,y:e.y+t.y}))}:Ko(e)||e.type===`text`||e.type===`table`?{...e,x:e.x+t.x,y:e.y+t.y}:ts(e)}function Ds(e,t,n){if(e.type===`arrow`){let r=ns({x:e.x,y:e.y},t,n),i=ns({x:e.x2,y:e.y2},t,n);return{...e,x:r.x,y:r.y,x2:i.x,y2:i.y,elbowPoints:void 0,elbowRoute:void 0,elbowMidHandle:void 0}}if(e.type===`draw`||e.type===`polygon`||e.type===`line`)return{...e,points:e.points.map(e=>ns(e,t,n))};let r=Z(e),i=ns({x:r.x+r.width/2,y:r.y+r.height/2},t,n),a={...e,x:i.x-r.width/2,y:i.y-r.height/2};return Go(e)?{...a,rotation:(e.rotation??0)+n*180/Math.PI}:a}function Os(e,t,n,r){let i=e=>t.x+(e-t.x)*n,a=e=>t.y+(e-t.y)*r;if(e.type===`arrow`)return{...e,x:i(e.x),y:a(e.y),x2:i(e.x2),y2:a(e.y2),bend:e.bend*(n+r)*.5,bow:e.bow==null?e.bow:e.bow*(n+r)*.5,elbowPoints:e.elbowPoints?.map(e=>({x:i(e.x),y:a(e.y)})),elbowRoute:void 0,elbowMidHandle:void 0};if(e.type===`text`){let t={...e,x:i(e.x),y:a(e.y),fontSize:e.fontSize*r,text:fo(e.text,r)};return e.width!=null&&(t.width=e.width*n),t}if(e.type===`draw`||e.type===`polygon`||e.type===`line`)return{...e,points:e.points.map(e=>({x:i(e.x),y:a(e.y)}))};if(e.type===`table`)return{...e,x:i(e.x),y:a(e.y),colWidths:e.colWidths.map(e=>e*n),rowHeights:e.rowHeights.map(e=>e*r)};if(e.type===`sticky`){let t=Z(e),n=i(t.x+t.width/2),r=a(t.y+t.height/2);return{...e,x:n-t.width/2,y:r-t.height/2}}if(e.type===`icon`){let t=Z(e),o=(n+r)/2;return{...e,x:i(t.x),y:a(t.y),width:t.width*o,height:t.height*o,fontSize:e.fontSize*o}}let o=Z(e);return{...e,x:i(o.x),y:a(o.y),width:o.width*n,height:o.height*r}}function ks(e,t){let n=ys(e);if(!n)return e;let r=t===`horizontal`,i=new Set(e.map(e=>e.id)),a=n.x+n.width/2,o=n.y+n.height/2,s=e=>r?2*a-e:e,c=e=>r?e:2*o-e,l=e=>({x:s(e.x),y:c(e.y)});return e.map(e=>{if(e.type===`arrow`){let t=l({x:e.x,y:e.y}),n=l({x:e.x2,y:e.y2});return{...e,x:t.x,y:t.y,x2:n.x,y2:n.y,bend:-e.bend,bow:e.bow==null?e.bow:-e.bow,elbowPoints:e.elbowPoints?.map(l),elbowRoute:void 0,elbowMidHandle:void 0,startBinding:Ms(e.startBinding,i,r),endBinding:Ms(e.endBinding,i,r)}}if(e.type===`polygon`&&e.band)return{...e,points:e.points.map(l),band:Ns(e.band,i,r)};if(e.type===`draw`||e.type===`polygon`||e.type===`line`)return{...e,points:e.points.map(l)};let t=Z(e),n=l({x:t.x+t.width/2,y:t.y+t.height/2}),a={...e,x:n.x-t.width/2,y:n.y-t.height/2,rotation:-is(e)};if(a.type===`text`||a.type===`icon`||a.type===`image`)return{...a,flipX:r?!a.flipX:a.flipX,flipY:r?a.flipY:!a.flipY};if(a.type===`rectangle`){let e=hi(a.kind),t=r&&e.x?!a.flipX:a.flipX,n=!r&&e.y?!a.flipY:a.flipY;return{...a,flipX:t||void 0,flipY:n||void 0}}return a})}var As={n:`n`,s:`s`,e:`w`,w:`e`,ne:`nw`,nw:`ne`,se:`sw`,sw:`se`},js={n:`s`,s:`n`,e:`e`,w:`w`,ne:`se`,se:`ne`,nw:`sw`,sw:`nw`};function Ms(e,t,n){if(!e)return e;if(!t.has(e.shapeId))return null;if(`kind`in e)return e;let r=n?{x:1-e.anchor.x,y:e.anchor.y}:{x:e.anchor.x,y:1-e.anchor.y};if(!e.port)return{...e,anchor:r};let i=n?As:js;return{...e,anchor:r,port:i[e.port]}}function Ns(e,t,n){if(!(!t.has(e.from)||!t.has(e.to)))return n?{from:e.to,to:e.from,fromTop:e.toTop,fromSpan:e.toSpan,toTop:e.fromTop,toSpan:e.fromSpan}:{...e,fromTop:1-e.fromTop-e.fromSpan,toTop:1-e.toTop-e.toSpan}}function Ps(e,t){return e.map(e=>({...e,steps:e.steps.flatMap(e=>{let n=t(e.target);if(!n)return[];let r={...e,target:n};if(e.also){let n=e.also.flatMap(e=>t(e)??[]);n.length>0?r.also=n:delete r.also}return[r]})}))}var Fs={width:160,height:100};function Is(e){return e===`drawnicons`?96:55}function Ls(e,t){return!Number.isFinite(t)||t<=0||t===1?{width:e,height:e}:t>1?{width:e,height:e/t}:{width:e*t,height:e}}function Rs(e,t){return Math.max(0,t)/55*e}function zs(e,t){return(e-3)*(Math.max(0,t)/55)}function Bs(e){return e===`ellipse`?{width:120,height:120}:e===`checkbox`||e===`crossbox`||e===`heart`||e===`plus`?{width:110,height:110}:e===`arrow-up`||e===`arrow-down`?{width:100,height:160}:e===`bolt`?{width:110,height:150}:e===`actor`?{width:100,height:150}:e===`arrow-left`||e===`arrow-right`?{width:160,height:100}:e===`queue`?{width:170,height:80}:e===`callout`?{width:180,height:90}:e===`double-circle`?{width:120,height:120}:e===`fork-join`?{width:160,height:26}:Fs}function Vs(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`shape-${Date.now()}-${Math.floor(Math.random()*1e6)}`}function Hs(e){return{id:Vs(),type:`rectangle`,kind:`rectangle`,rotation:0,label:``,fontSize:16,fontFamily:_,color:d,fill:`transparent`,strokeWidth:1.5,dash:`solid`,opacity:1,...e}}function Us(e,t){if(!e)return null;let n=t.get(e.shapeId);return n?{...e,shapeId:n}:null}function Ws(e,t){let n=new Map,r=new Map,i=new Map,a=new Map;for(let t of e)n.set(t.id,Vs()),t.groupId&&i.set(t.groupId,(i.get(t.groupId)??0)+1),t.groupId&&!r.has(t.groupId)&&r.set(t.groupId,Vs()),t.lockId&&!a.has(t.lockId)&&a.set(t.lockId,Vs());return e.map(e=>{let o={...Es(e,t),id:n.get(e.id)};return o.groupId&&=(i.get(o.groupId)??0)>1?r.get(o.groupId):void 0,o.lockId&&=a.get(o.lockId),o.type===`arrow`&&(o.startBinding=Us(o.startBinding,n),o.endBinding=Us(o.endBinding,n)),o.type===`figure`&&o.flows&&(o.flows=Ps(o.flows,e=>n.get(e))),o})}function Gs(e,t){let n=e.width/(t.width||1),r=e.height/(t.height||1);return{x:e.x-t.x*n,y:e.y-t.y*r,width:n,height:r}}var Ks=2;function qs(e,t){return e===`rounded`?Math.min(12,Math.abs(t.width)/2,Math.abs(t.height)/2):Ks}var Js=ir.generator(),Ys=1,Xs=1,Zs=.45,Qs=.2,$s=250,ec=.5;function tc(e){return e<=$s?1:Math.max(ec,$s/e)}var nc=.3,rc=220,ic=.35;function ac(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2**31}var oc=2e3,sc=new Map;function cc(e,t){sc.size>=oc&&sc.delete(sc.keys().next().value),sc.set(e,t)}function lc(e,t,n,r=Ys,i=Xs){let a=`${t}|${n}|${r}|${i}|${e}`,o=sc.get(a);if(o)return o;let s=Js.path(e,{seed:t,roughness:r,bowing:i,disableMultiStroke:!0,preserveVertices:!0,strokeWidth:n}),c=Js.toPaths(s).map(e=>e.d);return cc(a,c),c}function uc(e){let t=Z(e),n={x:0,y:0,width:t.width,height:t.height},r=gi(e.kind,n,e.corner,{x:e.flipX,y:e.flipY}),i=c(Math.min(t.width,t.height)/rc,ic,1);return lc(r,ac(e.id),e.strokeWidth,Ys*i,nc*i)}function dc(e,t,n){let r=ac(t.id)+n;if(n>0)return lc(e,r,1.5,.5,nc);let i=Z(t),a=c(Math.min(i.width,i.height)/rc,ic,1);return lc(e,r,1.5,Ys*a,nc*a)}function fc(e,t,n,r,i){let a=ac(r.id)+i,o=`disc|${a}|${e.toFixed(1)}|${t.toFixed(1)}|${n.toFixed(1)}`,s=sc.get(o);if(s)return s;let c=Js.circle(e,t,n*2,{seed:a,roughness:Ys,bowing:Xs,fill:`#000000`,fillStyle:`solid`,stroke:`none`,disableMultiStroke:!0}),l=Js.toPaths(c).filter(e=>e.fill&&e.fill!==`none`).map(e=>e.d);return cc(o,l),l}function pc(e,t,n,r){let i=Z(t),a=c(Math.min(i.width,i.height)/rc,ic,1);return lc(e,ac(t.id)+n,r,Ys*a,nc*a)}function mc(e){return e.bendStyle===`elbow`?f(N(e)):Math.hypot(e.x2-e.x,e.y2-e.y)+Math.abs(e.bend)}function hc(e){let t=tc(mc(e));return lc(Ft(e),ac(e.id),e.strokeWidth,Zs*t,Qs*t)}function gc(e){let t=tc(f(e.points));return lc(Gt(e.points),ac(e.id),e.strokeWidth,Zs*t,Qs*t)}var _c=`#8a8f98`,vc=2,yc=1.5,bc=`#4dabf7`;function Q(e,t,n,r=vc,i){return pc(t,e.shape,e.nextSalt(),r).map(e=>({kind:`path`,d:e,stroke:n,width:r,testId:i}))}function xc(e,t,n,r){return[{kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:n,fill:r},...Q(e,B(t.x,t.y,t.width,t.height,n),e.ink)]}function Sc(e,t,n,r,i,a={}){return{kind:`text`,x:t,y:n,text:r,size:a.size??e.shape.fontSize,color:i,family:e.shape.fontFamily,anchor:a.anchor??`start`,baseline:a.baseline??`middle`,testId:a.testId}}function Cc(e,t,n){return e.text.measure(t,n??e.shape.fontSize,e.shape.fontFamily)}function wc(e){return!e.fill||e.fill===`transparent`?null:e.fill}var Tc=1.6,Ec=.85,Dc=.85;function Oc(e){return Math.min(7,e.height*.18)}function kc(e){return 12+Oc(e)*2+12}function Ac(e){return Math.min(26,e.height)}function jc(e){return Ac(e)*1.9+10}function Mc(e){return Math.min(e.height,e.width/3)}function Nc(e){return Math.min(e.height*.28,13)}function Pc(e){return Nc(e)*2+24}function Fc(e,t){let n=[],r=``;for(let i of e.split(/\s+/)){let e=r.length===0?i:`${r} ${i}`;e.length>t&&r.length>0?(n.push(r),r=i):r=e}return r.length>0&&n.push(r),n}function Ic(e,t,n){let r=n*.52;return Fc(e,Math.max(4,Math.floor(t/r)))}function Lc(e,t,n){return e.split(/\r?\n/).flatMap(e=>e?Ic(e,t,n):[``])}var Rc=`#e7f5ff`;function zc(e,t){let n=wc(e.shape);if(!n)return[];let{bounds:r}=e;return[{kind:`rect`,x:r.x,y:r.y,width:r.width,height:r.height,rx:t,fill:n}]}function Bc(e,t){let{bounds:n,ink:r}=e,i=zc(e,t);return i.push(...Q(e,B(n.x,n.y,n.width,n.height,t),r)),i}function Vc(e){return e.split(` | `).map(e=>e.trim()).filter(e=>e.length>0)}function Hc(e,t){return t===0?0:Math.max(0,Math.min(t-1,Math.round(e.value??0)))}var Uc=`+id: string
|
|
12
|
-
+name: string
|
|
13
|
-
---
|
|
14
|
-
+save()
|
|
15
|
-
+delete()`,Wc=1.9,Gc=1.4,Kc=/^-{2,}$/;function qc(e){return(e??``).split(/\r?\n/).map(e=>e.trim()).filter(e=>e.length>0)}function Jc(e){return qc(e.body).map(e=>({text:e,divider:Kc.test(e)}))}function Yc(e){return Jc(e).filter(e=>!e.divider).map(e=>e.text)}function Xc(e){let t=e.fontSize*.9;return{fontSize:t,lineH:t*Gc}}function Zc(e){let t=Z(e),n=Yc(e).length===0?t.height:Math.min(t.height,e.fontSize*Wc),r=t.x+12,i=t.width-24,{fontSize:a}=Xc(e),o=t.y+n+4,s=t.y+t.height-4;return{title:{field:`label`,x:t.x,y:t.y,width:t.width,height:n,fontSize:e.fontSize},body:{field:`body`,x:r,y:o,width:i,height:Math.max(a,s-o),fontSize:a}}}function Qc(e,t,n){let r=n*.9,i=r*Gc,a=n*Wc,o=Math.round(a+4+t.length*i+8),s=(e,t)=>e.length*t*.62,c=Math.max(s(e,n),0,...t.filter(e=>!Kc.test(e)).map(e=>s(e,r)));return{width:Math.max(160,Math.round(c+24+16)),height:o}}function $c(e){let t=Zc(e),{lineH:n}=Xc(e),r=Z(e).y+e.height;return Jc(e).map((e,r)=>({text:e.text,cy:t.body.y+n*(r+.5),divider:e.divider})).filter(e=>e.cy<=r)}function el(e){let t=Z(e);return $c(e).filter(e=>!e.divider).map(({cy:e})=>({cy:e,left:{x:t.x,y:e},right:{x:t.x+t.width,y:e}}))}function tl(t){let{bounds:n,shape:r,ink:i}=t,a=Zc(r),o=n.y+a.title.height,s=Yc(r).length>0,c=wc(r),l=[];c&&l.push({kind:`path`,d:s?ar(n.x,n.y,n.width,a.title.height,6):B(n.x,n.y,n.width,n.height,6),fill:c,testId:`entity-header`}),l.push(...Q(t,B(n.x,n.y,n.width,n.height,6),i)),s&&l.push(...Q(t,sr(n.x,o,n.x+n.width,o),i,yc));let u=r.label.trim();u&&l.push(Sc(t,n.x+n.width/2,n.y+a.title.height/2,u,c?e(c):i,{anchor:`middle`,testId:`entity-title`}));for(let{text:e,cy:o,divider:s}of $c(r)){if(s){l.push(...Q(t,sr(n.x,o,n.x+n.width,o),i,yc,`entity-divider`));continue}l.push(Sc(t,a.body.x,o,e,i,{size:a.body.fontSize,testId:`entity-row`}))}return l}function nl(e){return Math.min(e.height,rl(e.fontSize))}function rl(e){return e*2.4}var il=12;function al(e){if(!e.activations||e.activations.length===0)return[];let t=nl(e),n=e.height;return e.activations.map(r=>{let i=Math.min(Math.max(r.top,t),Math.max(t,n-12)),a=Math.max(12,Math.min(r.height,n-i));return{x:e.x+e.width/2-il/2,y:e.y+i,width:il,height:a}})}function ol(e,t){for(let n of al(e))if(t>=n.y&&t<=n.y+n.height)return n;return null}function sl(e){let t=nl(e);return{x:e.x+e.width/2,y:e.y+t,width:0,height:Math.max(2,e.height-t)}}function cl(e){let t=nl(e),n=Math.max(0,e.height-t),r=Math.min(Math.max(n*.12,16),64);return{top:t+r,height:Math.max(12,n-r*2)}}function ll(e){let t=al(e);if(t.length===0)return cl(e);let n=nl(e),r=t.map(t=>({top:t.y-e.y,bottom:t.y-e.y+t.height})).sort((e,t)=>e.top-t.top),i=[],a=n;for(let e of r)e.top>a&&i.push({start:a,end:e.top}),a=Math.max(a,e.bottom);a<e.height&&i.push({start:a,end:e.height});let o=i.sort((e,t)=>t.end-t.start-(e.end-e.start))[0];if(!o)return{top:Math.max(n,e.height-12),height:12};let s=o.end-o.start,c=Math.min(Math.max(s*.15,10),48);return{top:o.start+c,height:Math.max(12,s-c*2)}}var ul=12,dl=7,fl=1.5;function pl(t){let n=wc(t);return n?e(n):null}function ml(e){let{bounds:t,shape:n,ink:r}=e,i=nl(n),a=t.x+t.width/2,o=wc(n)??Y.paper,s=xc(e,{x:t.x,y:t.y,width:t.width,height:i},6,o);n.label.trim()&&s.push(Sc(e,a,t.y+i/2,n.label.trim(),pl(n)??r,{anchor:`middle`,testId:`lifeline-name`}));let c=t.y+t.height;for(let e=t.y+i;e<c;e+=ul)s.push({kind:`line`,x1:a,y1:e,x2:a,y2:Math.min(e+dl,c),stroke:r,width:fl});for(let t of al(n))s.push(...xc(e,t,2,o));return s}var hl=[`opt`,`alt`,`loop`,`par`,`break`,`critical`,`seq`],gl=`#f3f0ff`,_l=14,vl=8,yl=1.75,bl=.1;function xl(e,t){let n=e.trimStart().match(/^\S+(\s[\s\S]*)?$/);return t+(n&&n[1]?n[1]:``)}function Sl(e){return Math.min(Z(e).height,e.fontSize*yl)}function Cl(e,t){let n=Z(e),r=e.label.trim()||`opt`,i=Math.min(n.width,t.measure(r,e.fontSize,e.fontFamily)+24);return{x:n.x,y:n.y,width:i,height:Sl(e)}}function wl(e){let t=Math.min(vl,e.width/2,e.height/2);return{tl:Math.min(_l,e.width-t,e.height-t),br:t}}function Tl(e){let{x:t,y:n,width:r,height:i}=e,{tl:a,br:o}=wl(e);return[`M ${t+a} ${n}`,`L ${t+r} ${n}`,`L ${t+r} ${n+i-o}`,`Q ${t+r} ${n+i} ${t+r-o} ${n+i}`,`L ${t} ${n+i}`,`L ${t} ${n+a}`,`Q ${t} ${n} ${t+a} ${n}`,`Z`].join(` `)}function El(e){let{x:t,y:n,width:r,height:i}=e,{br:a}=wl(e);return`M ${t+r} ${n} L ${t+r} ${n+i-a} Q ${t+r} ${n+i} ${t+r-a} ${n+i} L ${t} ${n+i}`}function Dl(t){let{bounds:n,shape:r,ink:i}=t,a=wc(r)??`#f3f0ff`,o=Cl(r,t.text),s=[{kind:`path`,d:Tl(o),fill:a,testId:`fragment-tab`}];s.push(...Q(t,B(n.x,n.y,n.width,n.height,_l),i)),s.push(...Q(t,El(o),i,yc,`fragment-tab`));let c=r.label.trim();return c&&s.push(Sc(t,o.x+12,o.y+o.height/2+r.fontSize*bl,c,e(a),{anchor:`start`,testId:`fragment-label`})),s}var Ol={entity:tl,lifeline:ml,fragment:Dl},kl=8,Al=[],$={get(e){for(let t=Al.length-1;t>=0;--t)if(Al[t].shapes===e)return Al[t].index},has(e){return $.get(e)!==void 0},set(e,t){Al.push({shapes:e,index:t}),Al.length>kl&&Al.shift()}};function jl(e){if(e.type===`arrow`){let t=[];return e.startBinding&&t.push(e.startBinding.shapeId),e.endBinding&&t.push(e.endBinding.shapeId),t}return e.type===`polygon`&&e.band?[e.band.from,e.band.to]:[]}function Ml(e){let t=new Map,n=new Map,r=new Map;for(let i=0;i<e.length;i+=1){let a=e[i];t.has(a.id)||t.set(a.id,i);let o=r.get(a.type);o?o.push(i):r.set(a.type,[i]);for(let e of jl(a)){let t=n.get(e);t?t.push(a.id):n.set(e,[a.id])}}return{position:t,dependents:n,byType:r}}function Nl(e){let t=$.get(e);if(t)return t;let n=Ml(e);return $.set(e,n),n}function Pl(e,t){if(e===t||$.has(t))return;let n=$.get(e);if(!(!n||e.length!==t.length)){for(let n=0;n<t.length;n+=1){let r=e[n],i=t[n];if(r!==i&&!Il(r,i))return}$.set(t,n)}}function Fl(e,t,n){if(e===t||$.has(t))return;let r=$.get(e);if(!(!r||e.length!==t.length)){for(let r of n){let n=e[r],i=t[r];if(n!==i&&!Il(n,i))return}$.set(t,r)}}function Il(e,t){return e.id===t.id&&e.type===t.type&&Ll(e,t)}function Ll(e,t){let n=jl(t);if(n.length===0)return!0;let r=jl(e);return n.every(e=>r.includes(e))}function Rl(e,t){let{position:n}=Nl(e),r=[];for(let e of t){let t=n.get(e);t!==void 0&&r.push(t)}return r.sort((e,t)=>e-t),r.map(t=>e[t])}function zl(e,t){let n=$.get(e);return n?(n.byType.get(t)??[]).map(t=>e[t]):e.filter(e=>e.type===t)}function Bl(e){return zl(e,`figure`)}function Vl(e,t){let n=$.get(e);if(n){let r=n.position.get(t);return r===void 0?void 0:e[r]}return e.find(e=>e.id===t)}var Hl=.05;function Ul(e){return Number.isNaN(e)?1:c(e,Hl,8)}function Wl(e){return{zoom:1,x:Number.isFinite(e.width)?e.width/2:0,y:Number.isFinite(e.height)?e.height/2:0}}function Gl(e,t){return{x:(e.x-t.x)/t.zoom,y:(e.y-t.y)/t.zoom}}function Kl(e,t){return{x:e.x*t.zoom+t.x,y:e.y*t.zoom+t.y}}function ql(e,t,n){let r=Ul(t),i=Gl(n,e),a=n.x-i.x*r,o=n.y-i.y*r;return!Number.isFinite(a)||!Number.isFinite(o)?{zoom:r,x:n.x,y:n.y}:{zoom:r,x:a,y:o}}function Jl(e,t,n,r=80,i=24){if(!l(e))return null;let a=Kl({x:e.x,y:e.y},t),o=Kl({x:e.x+e.width,y:e.y+e.height},t);if(a.x>=i&&a.y>=i&&o.x<=n.width-i&&o.y<=n.height-i)return null;if(e.width*t.zoom<=n.width-r*2&&e.height*t.zoom<=n.height-r*2){let r=e.x+e.width/2,i=e.y+e.height/2;return{zoom:t.zoom,x:n.width/2-r*t.zoom,y:n.height/2-i*t.zoom}}return Yl(e,n,r)}function Yl(e,t,n=80){if(!l(e))return Wl(t);let r=Math.max(1,t.width-n*2),i=Math.max(1,t.height-n*2),a=Ul(Math.min(r/e.width,i/e.height,1)),o=e.x+e.width/2,s=e.y+e.height/2,c={zoom:a,x:t.width/2-o*a,y:t.height/2-s*a};return!Number.isFinite(c.x)||!Number.isFinite(c.y)?Wl(t):c}function Xl(e,t,n,r){return n.id===e.id?!1:n.type===`figure`?$l(t,Z(n,r)):u(s(Z(n,r)),t)}function Zl(e,t,n){let i=Z(t,n);return e.filter(e=>(ls(e)||r(hs(e),i))&&Xl(t,i,e,n))}function Ql(e,t,n){let r=e.map((e,t)=>({x:s(Z(e,n)).x,order:t,shape:e})).sort((e,t)=>e.x-t.x),i=r.map(e=>e.x),a=e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return t},o=e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<=e?t=r+1:n=r}return t};return{members(e){let i=Z(e,n),s=a(i.x),c=o(i.x+i.width);t?.onCandidates?.(Math.max(0,c-s));let l=[];for(let t=s;t<c;t+=1){let a=r[t];Xl(e,i,a.shape,n)&&l.push(a)}return l.sort((e,t)=>e.order-t.order),l.map(e=>e.shape)}}}function $l(e,t){return t.x>=e.x&&t.y>=e.y&&t.x+t.width<=e.x+e.width&&t.y+t.height<=e.y+e.height}function eu(e,t){let n=Z(t);return e.some(e=>e.type===`figure`&&e.id!==t.id&&$l(Z(e),n))}function tu(e){let t=e.filter(e=>e.type===`figure`),n=t.map(e=>Z(e)),r=new Set;for(let e=0;e<t.length;e+=1)for(let i=0;i<t.length;i+=1)if(e!==i&&$l(n[i],n[e])){r.add(t[e].id);break}return r}function nu(e,t,n){let r=new Set(t.map(e=>e.id)),i=[...t];if(r.size>=e.length)return i;let a=t.filter(e=>e.type===`figure`),o=a.length>2?Ql(e,void 0,n):null;for(let t of a){let a=o?o.members(t):Zl(e,t,n);for(let e of a)r.has(e.id)||(r.add(e.id),i.push(e))}return i}var ru=64,iu=480,au=270;function ou(e,t){return e.type===`figure`&&e.slideOrder!==void 0&&!e.groupId&&(e.kind??`simple`)===`simple`&&!t.has(e.id)}function su(e){let t=Bl(e);return lu(t,tu(t))}function cu(e){return e.filter(e=>!e.slideSkipped)}function lu(e,t){return e.filter(e=>ou(e,t)).sort((e,t)=>(e.slideOrder??0)-(t.slideOrder??0))}function uu(e,t){let n=(oo(e.label)?To(e.label):e.label).trim();return n.length>0?n:`Frame ${t+1}`}function du(e,t){return uu(e,t).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)||`slide-${t+1}`}function fu(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r.map((e,t)=>({...e,slideOrder:t}))}function pu(e,t,n=1){return e.map((e,r)=>({...e,slideOrder:r<t?r:r+n}))}function mu(e,t,n=[]){let r=e[e.length-1],i=r&&r.width>=iu&&r.height>=au,a=i?r.width:960,o=i?r.height:540,s=r?null:ys(n),c,l;return r?(c=Math.max(...e.map(e=>e.x+e.width))+ru,l=r.y):s?(c=s.x+s.width+ru,l=s.y+s.height/2-o/2):(c=t.x-a/2,l=t.y-o/2),{id:Vs(),type:`figure`,x:c,y:l,width:a,height:o,rotation:0,label:`Frame ${e.length+1}`,fontSize:24,fontFamily:_,color:h,fill:`#ffffff`,opacity:1,slideOrder:e.length}}function hu(e,t,n){let r=t[n],i=Zl(e,r),a={x:Math.max(...t.map(e=>e.x+e.width))+ru-r.x,y:0},[o,...s]=Ws([r,...i],a);return{clones:[{...o,slideOrder:n+1},...s],renumbered:pu(t,n+1)}}function gu(e,t){return new Set([t.id,...Zl(e,t).map(e=>e.id)])}function _u(e,t){let n=tu(e);return e.filter(e=>vu(t,e,n))}function vu(e,t,n){if(t.id===e.id||t.type===`figure`&&!n.has(t.id))return!1;let r=Z(e),i=hs(t);return i.x<r.x+r.width&&i.x+i.width>r.x&&i.y<r.y+r.height&&i.y+i.height>r.y}function yu(e,t,n){if(n.size===0||t.length===0)return null;let r=tu(e),i=null;for(let a of e){if(!n.has(a.id))continue;let e=t.find(e=>e.id===a.id)??bu(t,a,r);if(e){if(i&&i.id!==e.id)return null;i=e}}return i}function bu(e,t,n){let r=null,i=1/0;for(let a of e){if(!vu(a,t,n))continue;let e=Z(a),o=e.width*e.height;o<i&&(r=a,i=o)}return r}function xu(e,t){let n=Ul(Math.min(t.width/e.width,t.height/e.height));return{zoom:n,x:t.width/2-(e.x+e.width/2)*n,y:t.height/2-(e.y+e.height/2)*n}}function Su(e,t,n){return Cu(e,Gl({x:n.width/2,y:n.height/2},t))}function Cu(e,t){let n=-1,r=1/0;return e.forEach((e,i)=>{let a=Z(e),o=t.x>=a.x&&t.x<=a.x+a.width&&t.y>=a.y&&t.y<=a.y+a.height,s=a.width*a.height;o&&s<r&&(n=i,r=s)}),n}export{ll as $,io as $n,kt as $r,ls as $t,Vl as A,Io as An,or as Ar,Vs as At,Ol as B,Y as Bn,Kt as Br,xs as Bt,Gl as C,Co as Cn,gr as Cr,Ic as Ct,Pl as D,oo as Dn,_i as Dr,gc as Dt,jl as E,yo as En,H as Er,dc as Et,Gc as F,xo as Fn,Jt as Fr,Rs as Ft,Sl as G,to as Gn,yt as Gr,Cs as Gt,Qc as H,Ua as Hn,Gt as Hr,bs as Ht,gl as I,ko as In,$t as Ir,qs as It,ol as J,Ha as Jn,ft as Jr,Ts as Jt,xl as K,Za as Kn,N as Kr,Ds as Kt,bl as L,Ao as Ln,en as Lr,Gs as Lt,Rl as M,So as Mn,B as Mr,Is as Mt,zl as N,Eo as Nn,Yt as Nr,Bs as Nt,Fl as O,jo as On,gi as Or,uc as Ot,Uc as P,To as Pn,qt as Pr,Ls as Pt,pl as Q,Ra as Qn,Dt as Qr,hs as Qt,hl as R,Ma as Rn,tn as Rr,zs as Rt,Jl as S,lo as Sn,mr as Sr,Fc as St,ql as T,so as Tn,fi as Tr,fc as Tt,el as U,Wa as Un,Mt as Ur,Es as Ut,Zc as V,ro as Vn,Wt as Vr,ks as Vt,Cl as W,Va as Wn,P as Wr,Ss as Wt,nl as X,Ga as Xn,Ft as Xr,fs as Xt,sl as Y,eo as Yn,dt as Yr,ws as Yt,rl as Z,Ja as Zn,Nt as Zr,ys as Zt,Zl as _,Yo as _n,na as _r,Cc as _t,xu as a,Qe as ai,Z as an,ka as ar,Dc as at,Ul as b,Uo as bn,ra as br,jc as bt,fu as c,w as ci,us as cn,Ea as cr,Hc as ct,yu as d,Wo as dn,wa as dr,Bc as dt,st as ei,ss as en,La as er,Ec as et,uu as f,$o as fn,ya as fr,Oc as ft,nu as g,Go as gn,Oa as gr,Q as gt,Ql as h,es as hn,xa as hr,Mc as ht,su as i,et as ii,ns as in,Aa as ir,_c as it,Nl as j,Oo as jn,sr as jr,Hs as jt,Bl as k,bo as kn,_r as kr,Ws as kt,_u as l,vs as ln,Sa as lr,Nc as lt,vu as m,Ko as mn,ha as mr,Vc as mt,mu as n,D as ni,as as nn,Ia as nr,Tc as nt,cu as o,Je as oi,rs as on,_a as or,bc as ot,gu as p,Jo as pn,va as pr,kc as pt,al as q,Ka as qn,gt as qr,Os as qt,hu as r,$e as ri,os as rn,ja as rr,Rc as rt,pu as s,b as si,is as sn,Ta as sr,wc as st,Su as t,At as ti,_s as tn,Fa as tr,yc as tt,du as u,ts as un,Ca as ur,Pc as ut,eu as v,Zo as vn,oa as vr,Sc as vt,Kl as w,vo as wn,di as wr,hc as wt,Yl as x,No as xn,ta as xr,Lc as xt,tu as y,qo as yn,aa as yr,Ac as yt,fl as z,Pa as zn,nn as zr,Ps as zt};
|