@turmind/halo 2.1.1 → 2.1.2
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/admin-out/404.html +1 -1
- package/admin-out/_next/static/{0cRHmPZfENhrU7Hb0w3n_ → 1yjkA6O2OJ9CQ1XyyoazM}/_buildManifest.js +1 -1
- package/admin-out/_next/static/chunks/0.700b96fc96b80936.js +1 -0
- package/admin-out/_next/static/chunks/1160.e199e2decb964814.js +1 -0
- package/admin-out/_next/static/chunks/1208.0d86b06cbdf8a97e.js +38 -0
- package/admin-out/_next/static/chunks/1299.9ae1e73c8ca9cc34.js +23 -0
- package/admin-out/_next/static/chunks/1336.3eb7654fcfae2a58.js +1 -0
- package/admin-out/_next/static/chunks/1494.56493f36b01d2bda.js +1 -0
- package/admin-out/_next/static/chunks/1522.7d80e505c25fc865.js +1 -0
- package/admin-out/_next/static/chunks/1650.78e7ab21cb8bbb48.js +62 -0
- package/admin-out/_next/static/chunks/1690.20f8661b1877aa3d.js +1 -0
- package/admin-out/_next/static/chunks/1807.764b0338b13846a5.js +1 -0
- package/admin-out/_next/static/chunks/1989-669da2a252898797.js +1 -0
- package/admin-out/_next/static/chunks/199.fca450ee70f089fb.js +1 -0
- package/admin-out/_next/static/chunks/1b86ba38-4193816aebc732b9.js +1 -0
- package/admin-out/_next/static/chunks/{1d2d5650-d8d130c85727fdbb.js → 1d2d5650-c677408087984c7a.js} +1 -1
- package/admin-out/_next/static/chunks/2202.59a95bacad0d8c25.js +1 -0
- package/admin-out/_next/static/chunks/2204.93c869dacb19e384.js +1 -0
- package/admin-out/_next/static/chunks/2329.2f32de914b104261.js +148 -0
- package/admin-out/_next/static/chunks/2449.53d632fa8e412643.js +1 -0
- package/admin-out/_next/static/chunks/2477.79f2f92780311a37.js +94 -0
- package/admin-out/_next/static/chunks/2555.279979b7abe9d67f.js +104 -0
- package/admin-out/_next/static/chunks/2612.427656205dd7d7cc.js +1 -0
- package/admin-out/_next/static/chunks/2938.1555d68665415ace.js +1 -0
- package/admin-out/_next/static/chunks/295.0ef9b18be46f06e5.js +1 -0
- package/admin-out/_next/static/chunks/2979.d5a2293e776ec5de.js +1 -0
- package/admin-out/_next/static/chunks/3023.8f2b6311aae80029.js +36 -0
- package/admin-out/_next/static/chunks/3047.a49ae982be1f9fd4.js +226 -0
- package/admin-out/_next/static/chunks/304eda7d.2c6ab1276b03c10a.js +1 -0
- package/admin-out/_next/static/chunks/3483.cb8f5ba28c565e7f.js +1 -0
- package/admin-out/_next/static/chunks/391.71124432b84c926d.js +24 -0
- package/admin-out/_next/static/chunks/3986.a6181916d2c44515.js +1 -0
- package/admin-out/_next/static/chunks/4120.c271dfe3e1bc082e.js +1 -0
- package/admin-out/_next/static/chunks/4267.030877aaeac1bd71.js +1 -0
- package/admin-out/_next/static/chunks/4362.9d2ee4f9b6facc49.js +1 -0
- package/admin-out/_next/static/chunks/43ad6dab.4911ea318c123311.js +62 -0
- package/admin-out/_next/static/chunks/4480-6ceca99203a95c0e.js +1 -0
- package/admin-out/_next/static/chunks/4613.0985db499409cf22.js +1 -0
- package/admin-out/_next/static/chunks/4794.ba746110cfcbf536.js +1 -0
- package/admin-out/_next/static/chunks/4808.1cbe5b52fa01fc3d.js +1 -0
- package/admin-out/_next/static/chunks/4ec056c8.fe288ac8bd38a73b.js +160 -0
- package/admin-out/_next/static/chunks/5056.a87b1e056ba592b1.js +32 -0
- package/admin-out/_next/static/chunks/5058.8514aa6d6a947cce.js +1 -0
- package/admin-out/_next/static/chunks/545.e760052f10d36a9b.js +1 -0
- package/admin-out/_next/static/chunks/{510.e6c6faeb60ef3c33.js → 5510.f3889206b5768b33.js} +1 -1
- package/admin-out/_next/static/chunks/5593.d4c5f6a0862b4c6c.js +34 -0
- package/admin-out/_next/static/chunks/5700.4189184227fcf178.js +1 -0
- package/admin-out/_next/static/chunks/5741.dd7360163a2374cf.js +8 -0
- package/admin-out/_next/static/chunks/5850.b58c01f1e835d335.js +1 -0
- package/admin-out/_next/static/chunks/6066.1571d105977d528c.js +86 -0
- package/admin-out/_next/static/chunks/61527465.ae14a459dbfc381c.js +1 -0
- package/admin-out/_next/static/chunks/6203.672c38fcc2748c83.js +1 -0
- package/admin-out/_next/static/chunks/6390.4de9361c493b8d29.js +27 -0
- package/admin-out/_next/static/chunks/63c91ae9.ed896f9d6d01dfd4.js +1 -0
- package/admin-out/_next/static/chunks/6476.c7ec7d60350855c8.js +1 -0
- package/admin-out/_next/static/chunks/6574.30661d21e54bb004.js +1 -0
- package/admin-out/_next/static/chunks/6694.91c424de10ee2a24.js +79 -0
- package/admin-out/_next/static/chunks/6927.7f60d259473bb56a.js +193 -0
- package/admin-out/_next/static/chunks/7073.9d5f9dd7a77827b7.js +1 -0
- package/admin-out/_next/static/chunks/7250.a005173b9af23f14.js +1 -0
- package/admin-out/_next/static/chunks/7267.09e9b83beadc4847.js +1 -0
- package/admin-out/_next/static/chunks/72d2e465.c6751b76f1fa1cb3.js +1 -0
- package/admin-out/_next/static/chunks/7423.ce958b2d6a455a2f.js +1 -0
- package/admin-out/_next/static/chunks/7443.ee6684ba397e49da.js +41 -0
- package/admin-out/_next/static/chunks/7482.7f6f11637c008b77.js +1 -0
- package/admin-out/_next/static/chunks/7498.621ff3bc139607ad.js +1 -0
- package/admin-out/_next/static/chunks/7573.7f7f2a6fe7891e68.js +1 -0
- package/admin-out/_next/static/chunks/7613.fe24922a6a839656.js +1 -0
- package/admin-out/_next/static/chunks/7796.052a2a69f9bc0471.js +287 -0
- package/admin-out/_next/static/chunks/8148.156aea8f2a9ce398.js +115 -0
- package/admin-out/_next/static/chunks/8300.6c86a2236d42618f.js +64 -0
- package/admin-out/_next/static/chunks/8555.2e8d51736bfefd63.js +1 -0
- package/admin-out/_next/static/chunks/8558.baa0cf80a6964d20.js +286 -0
- package/admin-out/_next/static/chunks/8608.dba2a172fa47a740.js +77 -0
- package/admin-out/_next/static/chunks/8680.ed502a4a22357230.js +92 -0
- package/admin-out/_next/static/chunks/8698.28ca7821a30dba63.js +1 -0
- package/admin-out/_next/static/chunks/8712.e587efd8a6256aa9.js +1 -0
- package/admin-out/_next/static/chunks/8771.53592f31c08edafa.js +309 -0
- package/admin-out/_next/static/chunks/8878.330238d3d9f33faf.js +1 -0
- package/admin-out/_next/static/chunks/8892.9df3095f6c52e734.js +1 -0
- package/admin-out/_next/static/chunks/9104.6d57df418831714a.js +74 -0
- package/admin-out/_next/static/chunks/9121.574e833259fe9085.js +1 -0
- package/admin-out/_next/static/chunks/9142.0aac6a6c8e06bcaa.js +149 -0
- package/admin-out/_next/static/chunks/9180.3c809798364a0c62.js +1 -0
- package/admin-out/_next/static/chunks/92.788f49cdb265a668.js +217 -0
- package/admin-out/_next/static/chunks/9590.3e1a4754a7e66e84.js +93 -0
- package/admin-out/_next/static/chunks/9599.b2fd519c8a2951c9.js +1 -0
- package/admin-out/_next/static/chunks/9698-0157e7ac70c3f9fc.js +1 -0
- package/admin-out/_next/static/chunks/9837.92abff094b289f98.js +1 -0
- package/admin-out/_next/static/chunks/9839.73433bbeec6e1a51.js +1 -0
- package/admin-out/_next/static/chunks/9868.dcc9fd5f0041ffa8.js +1 -0
- package/admin-out/_next/static/chunks/9937.cff3c28655b07c61.js +24 -0
- package/admin-out/_next/static/chunks/a89fe872.304b3efb308b10a1.js +122 -0
- package/admin-out/_next/static/chunks/app/_not-found/page-e21cd35ca818a886.js +1 -0
- package/admin-out/_next/static/chunks/app/layout-0ed29966e0abc26b.js +1 -0
- package/admin-out/_next/static/chunks/app/page-30279944f9000c87.js +1 -0
- package/admin-out/_next/static/chunks/bf5d185f.735c9f3d05199f97.js +1 -0
- package/admin-out/_next/static/chunks/db534642.8e8a9023cd90863d.js +1 -0
- package/admin-out/_next/static/chunks/fcb912be.a7d93c5f2dd72e30.js +66 -0
- package/admin-out/_next/static/chunks/framework-98918e2142cd6d06.js +1 -0
- package/admin-out/_next/static/chunks/main-93c216652d4113b1.js +1 -0
- package/admin-out/_next/static/chunks/main-app-5e981adb363c52e5.js +1 -0
- package/admin-out/_next/static/chunks/pages/{_app-a3b7e86f97343e7a.js → _app-6fab9bb03f9f4fdf.js} +1 -1
- package/admin-out/_next/static/chunks/pages/_error-ada6d7affab6ebcc.js +1 -0
- package/admin-out/_next/static/chunks/webpack-7f8156dbbdb54868.js +1 -0
- package/admin-out/_next/static/css/46c83727621f8763.css +1 -0
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +5 -5
- package/bundled-docs/design/architecture.md +1 -1
- package/bundled-docs/design/storage.md +2 -2
- package/bundled-docs/guide/chat.md +1 -0
- package/bundled-docs/guide/workspace.md +1 -1
- package/bundled-docs/requirements/chat.md +1 -0
- package/bundled-docs/requirements/editor.md +1 -1
- package/bundled-docs/requirements/explorer.md +2 -0
- package/bundled-docs/requirements/source-control.md +2 -0
- package/dist/index.js +8 -8
- package/package.json +1 -1
- package/templates/models/aws-bedrock-claude-invoke.yaml +3 -3
- package/admin-out/_next/static/chunks/160.c52d3d6cf7bc8286.js +0 -1
- package/admin-out/_next/static/chunks/1b86ba38-c29611e086b2ce25.js +0 -1
- package/admin-out/_next/static/chunks/250.9094fea2325b09a3.js +0 -1
- package/admin-out/_next/static/chunks/304eda7d.f525962766560ba5.js +0 -1
- package/admin-out/_next/static/chunks/336.3171154ecc29c80a.js +0 -1
- package/admin-out/_next/static/chunks/362.a0c58d3bf9b1300b.js +0 -1
- package/admin-out/_next/static/chunks/398-9a8be186767b4504.js +0 -1
- package/admin-out/_next/static/chunks/449.c4b881b9ebdc556e.js +0 -1
- package/admin-out/_next/static/chunks/522.9e25c63e3082cb1c.js +0 -1
- package/admin-out/_next/static/chunks/58.d26b1c4f14404226.js +0 -1
- package/admin-out/_next/static/chunks/613.fb09e55e0a61d3fe.js +0 -1
- package/admin-out/_next/static/chunks/690.6a83d18b488a3e2e.js +0 -1
- package/admin-out/_next/static/chunks/698-19872069fed27164.js +0 -1
- package/admin-out/_next/static/chunks/73.05abce37d312e880.js +0 -1
- package/admin-out/_next/static/chunks/839.a2729fd33013d763.js +0 -1
- package/admin-out/_next/static/chunks/868.bbb91afd48c9eb58.js +0 -1
- package/admin-out/_next/static/chunks/892.a35118e09d8d8efd.js +0 -1
- package/admin-out/_next/static/chunks/989-71c38d29c6672b27.js +0 -1
- package/admin-out/_next/static/chunks/app/_not-found/page-4271518f2746cf73.js +0 -1
- package/admin-out/_next/static/chunks/app/layout-ea161287d934ba96.js +0 -1
- package/admin-out/_next/static/chunks/app/page-67334fcd2175c7ad.js +0 -1
- package/admin-out/_next/static/chunks/db534642.657a5bd93dc1e8c7.js +0 -1
- package/admin-out/_next/static/chunks/framework-c48c994d2190a38e.js +0 -1
- package/admin-out/_next/static/chunks/main-app-340a5b58ed229c4d.js +0 -1
- package/admin-out/_next/static/chunks/main-f1f665fbc24e1033.js +0 -1
- package/admin-out/_next/static/chunks/pages/_error-751fca0c729a7e01.js +0 -1
- package/admin-out/_next/static/chunks/webpack-662d2cae1104f635.js +0 -1
- package/admin-out/_next/static/css/3467b854242306b8.css +0 -1
- /package/admin-out/_next/static/{0cRHmPZfENhrU7Hb0w3n_ → 1yjkA6O2OJ9CQ1XyyoazM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2926],{43659:(e,t,n)=>{n.r(t),n.d(t,{render:()=>nR});var r=n(90199),o=n(79180);n(53652),n(77351),n(94712),n(73823),n(39020),n(7322),n(52361),n(55490),n(27058),n(92826);var l=n(58442),i=n(88252);function a(e,{measure:t}){let n=e.config?.swimlane?.lineHops;if(!1===n)return;let o=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));(0,r.Z)(t.groups.edgePaths,o,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===n?"gap":"arc"})}function s(e){let t=e?.metadata?.laneRole;return"pool"===t||"lane"===t?t:void 0}function f(e){let t=e?.metadata?.laneIndex;return"number"==typeof t&&Number.isFinite(t)?t:void 0}function d(e){let t=new Map,n=new Map;for(let r of e)t.set(r.id,r),r.isGroup&&r.parentId&&n.set(r.parentId,(n.get(r.parentId)??0)+1);let r=new Set;for(let t of e)t.isGroup&&"pool"===s(t)&&(n.get(t.id)??0)>0&&r.add(t.id);let o=new Set,l=new Map;for(let t of e)if(!(!t.isGroup||r.has(t.id)))if(t.parentId&&r.has(t.parentId)){o.add(t.id);let e=l.get(t.parentId)??[];e.push(t.id),l.set(t.parentId,e)}else t.parentId||o.add(t.id);let a=(0,i.K)((e,n)=>{let r=new Set([e]),o=t.get(e)?.parentId;for(;o&&!r.has(o);){if(n.has(o))return o;r.add(o),o=t.get(o)?.parentId}return null},"walk"),f=new Map,d=(0,i.K)(e=>{let t=f.get(e);if(void 0!==t)return t;let n=a(e,o);return f.set(e,n),n},"laneIdOf");return{isPool:(0,i.K)(e=>r.has(e),"isPool"),isLane:(0,i.K)(e=>o.has(e),"isLane"),laneIdOf:d,poolIdOf:(0,i.K)(e=>r.has(e)?e:a(e,r),"poolIdOf"),lanesByPool:l,hasPools:r.size>0}}(0,i.K)(a,"applySwimlaneLineJumps"),(0,i.K)(s,"readLaneRole"),(0,i.K)(f,"readLaneIndex"),(0,i.K)(d,"buildLaneModel");var u=new Set(["top","right","bottom","left"]);function h(e){let t=e?.metadata?.anchorTo;if(!t||"object"!=typeof t)return;let{hostId:n,side:r,slot:o,gap:l}=t;if("string"==typeof n&&0!==n.length&&n!==e?.id)return{hostId:n,..."string"==typeof r&&u.has(r)?{side:r}:{},..."number"==typeof o&&Number.isFinite(o)?{slot:o}:{},..."number"==typeof l&&Number.isFinite(l)&&l>0?{gap:Math.min(l,1e4)}:{}}}function g(e,t){let n=new Set([e]),r=h(t.get(e))?.hostId;for(;r&&!n.has(r);){let e=t.get(r);if(!e)break;let o=h(e)?.hostId;if(!o)return r;n.add(r),r=o}}function c(e){let t=new Map(e.map(e=>[e.id,e])),n=new Set;for(let r of e)h(r)&&g(r.id,t)&&n.add(r.id);return n}function p(e,t){return"canonical"===e?"right":"LR"===t||"RL"===t?"bottom":"right"}function m(e,t){let n=e.anchor.slot,r=t.anchor.slot;return void 0!==n&&void 0!==r&&n!==r?n-r:void 0!==n&&void 0===r?-1:void 0===n&&void 0!==r?1:e.index-t.index}function x(e){let t=e.reduce((e,t)=>e+t,0)+8*Math.max(0,e.length-1),n=[],r=-t/2;for(let t of e)n.push(r+t/2),r+=t+8;return{offsets:n,total:t}}(0,i.K)(h,"readAnchor"),(0,i.K)(g,"resolveAnchorHostId"),(0,i.K)(c,"collectAnchoredIds"),(0,i.K)(p,"defaultAnchorSide"),(0,i.K)(m,"compareBucketEntries"),(0,i.K)(x,"packAlongBorder");var y=(0,i.K)(e=>[e.width,e.height].every(e=>void 0===e||Number.isFinite(e)),"hasUsableSize");function b(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map;for(let o of(e.forEach((e,o)=>{let l=h(e);if(!l||!y(e))return;let i=g(e.id,n);if(!i)return;let a=t(l),s=`${a}:${i}`,f=r.get(s)??[];f.push({node:e,anchor:l,index:o,side:a,hostId:i}),r.set(s,f)}),r.values()))o.sort(m);return r}function M(e,t,n,r){return e+(!t&&n>0?-(r+8):0)}function K(e,t){let n="top"===t||"bottom"===t,r=(0,i.K)(e=>n?e.width??0:e.height??0,"alongBorder"),o=(0,i.K)(e=>n?e.height??0:e.width??0,"reach"),{offsets:l}=x(e.map(e=>r(e.node))),a=0,s=0,f=0;return e.forEach((e,t)=>{let i=e.anchor.gap??0,d=r(e.node)/2,u=M(l[t],n,i,d);a=Math.max(a,d-u),s=Math.max(s,u+d),f=Math.max(f,i>0?i+o(e.node):0)}),{before:a,after:s,beyond:f}}function I(e,t){let n=p("final",t??"TB"),r=new Map;for(let t of b(e,e=>e.side??n).values()){if(!t.some(e=>e.anchor.gap))continue;let{hostId:e,side:n}=t[0];r.set(e,{...r.get(e),[n]:K(t,n)})}return r}(0,i.K)(b,"bucketByHostAndSide"),(0,i.K)(M,"centreAlongBorder"),(0,i.K)(K,"footprintOf"),(0,i.K)(I,"anchorFootprints");var w="__swimlane_default__";function S(e){return Math.max(e.padding??20,20)}function v(e){let{x:t,y:n,width:r,height:o}=e,l=e.swimlaneContentTop;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof o||"number"!=typeof l||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(l)||r<=0||o<=0)return void delete e.groupTitleRect;let i=n-o/2,a=Math.min(21,Math.max(0,Math.min(l,n+o/2)-i)),s=i+a;if(s<=i)return void delete e.groupTitleRect;e.groupTitleRect={left:t-r/2,right:t+r/2,top:i,bottom:s}}function L(e){let t=e.other?.droppedSubGraphMembers;return Array.isArray(t)?t:[]}(0,i.K)(S,"topLaneHorizontalPadding"),(0,i.K)(v,"assignTopLaneTitleRect"),(0,i.K)(L,"sharedMembers");var C=(0,i.K)((e,t,n)=>!t.some(e=>e.parentId===n)&&!(e.edges??[]).some(e=>e.start===n||e.end===n),"isEmptyLane");function O(e,t){return e.isLane(t)?t:e.laneIdOf(t)??void 0}function E(e,t,n){for(let r of n){let n=t.findIndex(e=>e.id===r);n>=0&&C(e,t,r)&&t.splice(n,1)}}function R(e,t){let n=d(t),r=new Set(t.filter(e=>n.isLane(e.id)).map(e=>e.id)),o=new Set;for(let{node:t,keptBy:i,droppedFrom:a}of L(e)){let e=O(n,i);e&&e!==a&&r.has(a)&&(l.R.warn(`Swimlane node "${t}" is listed in lanes "${e}" and "${a}"; it is drawn in "${e}" only.`),o.add(a))}E(e,t,o)}function k(e,t){for(let n of e)!n.isGroup||t.isLane(n.id)||t.isPool(n.id)||l.R.warn(`Swimlane subgraph "${n.id}" is nested in "${n.parentId}"; only top-level subgraphs are lanes, so it is drawn as a plain box.`)}function T(e){let t=e.direction,n=e.nodes??=[];R(e,n);let r=d(n);for(let e of(k(n,r),n)){let n=r.isLane(e.id);(n||r.isPool(e.id))&&(e.shape=n?"swimlane":"pool",t&&(e.direction=t))}let o=n.filter(e=>!e.isGroup&&!e.parentId);if(0===o.length)return;let l=n.find(e=>e.id===w);for(let r of(l?l.isGroup&&(l.shape="swimlane",t&&(l.direction=t)):(l={id:w,label:"",isGroup:!0,shape:"swimlane",padding:20,look:e.config?.look,colorIndex:n.reduce((e,t)=>Math.max(e,t.colorIndex??-1),-1)+1,...t?{direction:t}:{}},n.push(l)),o))r.parentId=w}function $(e){let t=(e.nodes??[]).filter(e=>!e.isEdgeLabel),n=new Map(t.map(e=>[e.id,e])),r=c(t),o=(0,i.K)(e=>r.has(e)?g(e,n)??e:e,"hostOf"),l=new Map;for(let e of t)r.has(e.id)||l.set(e.id,e);let a=[];for(let t of e.edges??[]){let e="string"==typeof t.start?t.start:void 0,n="string"==typeof t.end?t.end:void 0;if(!e||!n||t.isLayoutOnly)continue;let r=o(e),l=o(n);r!==l&&a.push({id:t.id,src:r,dst:l,ref:t})}let s=t.filter(e=>e.isGroup&&!r.has(e.id)),f=t.filter(e=>!e.isGroup&&!r.has(e.id));return{nodes:[...[...s].reverse(),...f].map(e=>e.id),edges:a,layout:e,nodeById:l}}function F(e){let t=new Map(e.map(e=>[e.id,e])),n=(0,i.K)(e=>{let n=0,r=e.parentId,o=new Set([e.id]);for(;null!=r&&!o.has(r);)o.add(r),n++,r=t.get(r)?.parentId;return n},"depthOf");return e.filter(e=>e?.isGroup).map(e=>({node:e,depth:n(e)})).sort((e,t)=>t.depth-e.depth).map(e=>e.node)}function A(e,t,n,r){let{layout:o}=e,l=e.nodeById,i=r?.layerGap??100,a=r?.nodeGap??40,s=0;for(let e of t.layers){let t=0;for(let r of e){let e=l.get(r);if(!e){t++;continue}e.layer=s,e.order=t;let o=n.x[r]??t*a,f=n.y[r]??s*i;e.x=o,e.y=f,t++}s++}let f=o.nodes??[],u=c(f);for(let e of f)e.isEdgeLabel&&null!=n.x[e.id]&&null!=n.y[e.id]&&(e.x=n.x[e.id],e.y=n.y[e.id]);let h=new Map,g=d(f),p=[];for(let e of F(f)){g.isLane(e.id)&&p.push(e);let t=f.filter(t=>t.parentId===e.id&&!u.has(t.id)),r=1/0,o=-1/0,l=1/0,i=-1/0;for(let e of t){let t=e.x??n.x[e.id],a=e.y??n.y[e.id],s=e.width??0,f=e.height??0;null!=t&&null!=a&&(e.isEdgeLabel||(r=Math.min(r,t-s/2),o=Math.max(o,t+s/2)),l=Math.min(l,a-f/2),i=Math.max(i,a+f/2))}if(r===1/0||l===1/0)e.x=e.x??0,e.y=e.y??0,e.width=e.width??0,e.height=e.height??0;else{let t=e.padding??20,n=Math.max(0,o-r)+(e.parentId?t:2*S(e)),a=Math.max(0,i-l)+t,s=(l+i)/2;e.x=(r+o)/2,e.y=s,e.width=n,e.height=a,h.set(e.id,{minX:r,maxX:o,minY:l,maxY:i})}}if(p.length>0&&h.size>0){let e=1/0,t=-1/0,n=0;for(let r of p){let o=r.padding??20;o>n&&(n=o);let l=h.get(r.id);l&&(e=Math.min(e,l.minY),t=Math.max(t,l.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),o=(e+t)/2;for(let t of p)t.y=o,t.height=r,t.swimlaneContentTop=e;let l=[...p].sort((e,t)=>(e.x??0)-(t.x??0)),i=[],a=[],s=[];for(let e of l){let t=h.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*S(e),r=(t.minX+t.maxX)/2;i.push(e.id),a.push(r),s.push(n)}let f=i.length;if(f>0){let e=new Map;if(1===f)e.set(i[0],s[0]);else{let t=[];for(let e=0;e<f-1;e++)t.push(a[e+1]-a[e]);let n=Array(f);n[0]=0;for(let e=0;e<f-1;e++)n[e+1]=2*t[e]-n[e];let r=0,o=1/0;for(let e=0;e<f;e++){let t=s[e];e%2==0?r=Math.max(r,t-n[e]):o=Math.min(o,n[e]-t)}let l=r;l=r<=o?(r+o)/2:r;for(let t=0;t<f;t++){let r=n[t]+(t%2==0?l:-l),o=Math.max(s[t],r);e.set(i[t],o)}}for(let t of p){let n=e.get(t.id);null!=n&&(t.width=n),v(t)}}}}}function N(e){let t=[],n=[],r=new Map;for(let t of e.nodes)r.set(t.id,t);for(let o of e.edges){if(!o.label||0===o.label.length||o.isLayoutOnly||o.labelNodeId)continue;let e=o.start?r.get(o.start):void 0,i=o.end?r.get(o.end):void 0;if(!e||!i){l.R.warn("[EdgeLabelNodes]",`Edge ${o.id} has missing source or target node`);continue}let a=`edge-label-${o.start}-${o.end}-${o.id}`,s=e.parentId!==i.parentId?i.parentId:e.parentId,f={id:a,label:o.label,edgeStart:o.start??"",edgeEnd:o.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:s,isGroup:!1,labelStyle:Array.isArray(o.labelStyle)?o.labelStyle[0]:o.labelStyle??"",...e.dir?{dir:e.dir}:{}};t.push(f),o.labelNodeId=a,o.label=void 0,o.text=void 0;let d={id:`${o.id}-to-label`,start:o.start,end:a,type:"normal",isLayoutOnly:!0},u={id:`${o.id}-from-label`,start:a,end:o.end,type:"normal",isLayoutOnly:!0};n.push(d,u)}let o=[...e.nodes,...t],i=[...e.edges,...n];return{...e,nodes:o,edges:i}}function B(e){let t=e.x??0,n=e.y??0,r=e.width??0,o=e.height??0;return r>0&&o>0?{cx:t,cy:n,rect:eo(t,n,r,o)}:void 0}function z(e){if(e.isGroup)return;let t=B(e);if(t)return{id:String(e.id??""),cx:t.cx,cy:t.cy,rect:t.rect}}function P(e,t,n=.001){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}function X(e,t,n=.001){return Math.abs(e.x-t.x)<n}function Y(e,t,n=.001){return Math.abs(e.y-t.y)<n}function D(e,t,n=.001){return Y(e,t,n)&&Math.abs(e.x-t.x)>n}function G(e,t,n=.001){return X(e,t,n)&&Math.abs(e.y-t.y)>n}function _(e,t,n,r){return Math.max(0,Math.min(Math.max(e,t),Math.max(n,r))-Math.max(Math.min(e,t),Math.min(n,r)))}function H(e,t,n=.001){return e.horizontal&&t.horizontal&&Y(e.a,t.a,n)?_(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&X(e.a,t.a,n)?_(e.a.y,e.b.y,t.a.y,t.b.y):0}function j(e,t=.001){let n=[];for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1],i=D(o,l,t),a=G(o,l,t);(i||a)&&n.push({index:r,a:o,b:l,horizontal:i,vertical:a})}return n}function V(e,t=.001){let n=j(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}function U(e){let t=j(q(e));return t.slice(1).flatMap((e,n)=>t[n].horizontal===e.horizontal?[]:[e.a])}function W(e,t){return Math.hypot(Math.max(Math.min(t.a.x,t.b.x)-e.x,0,e.x-Math.max(t.a.x,t.b.x)),Math.max(Math.min(t.a.y,t.b.y)-e.y,0,e.y-Math.max(t.a.y,t.b.y)))}function Z(e,t,n){let r=(0,i.K)((e,t)=>{let r=j(q(t));return U(e).some(e=>r.some(t=>W(e,t)<n))},"touches");return r(e,t)||r(t,e)}function q(e,t=.001){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;e&&P(e,r,t)||n.push({x:r.x,y:r.y})}return n}function J(e,t=.001){if(!e||4!==e.length)return;let[n,r,o,l]=e;return D(n,r,t)&&G(r,o,t)&&D(o,l,t)?{kind:"HVH",p0:n,p1:r,p2:o,p3:l}:G(n,r,t)&&D(r,o,t)&&G(o,l,t)?{kind:"VHV",p0:n,p1:r,p2:o,p3:l}:void 0}function Q(e,t,n,r=0){let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return l>n.left-r&&o<n.right+r&&a>n.top-r&&i<n.bottom+r}function ee(e,t,n=0){return e.x>t.left+n&&e.x<t.right-n&&e.y>t.top+n&&e.y<t.bottom-n}function et(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}function en(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function er(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}function eo(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}function el(e){return B(e)?.rect}function ei(e,t){switch(t){case"top":return{x:e.cx,y:e.rect.top};case"bottom":return{x:e.cx,y:e.rect.bottom};case"left":return{x:e.rect.left,y:e.cy};case"right":return{x:e.rect.right,y:e.cy}}}function ea(e,t,n,r,o,l=.001){let i="left"===t||"right"===t,a="left"===r||"right"===r;if(i&&a){if("right"===t&&"left"===r&&e.x<n.x||"left"===t&&"right"===r&&e.x>n.x){if(Y(e,n,l))return[e,n];let t=(e.x+n.x)/2;return[e,{x:t,y:e.y},{x:t,y:n.y},n]}if(t===r){if(Y(e,n,l))return;let r="left"===t?Math.min(e.x,n.x)-o:Math.max(e.x,n.x)+o;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!i&&!a){if(t===r){if(X(e,n,l))return;let r="top"===t?Math.min(e.y,n.y)-o:Math.max(e.y,n.y)+o;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!("bottom"===t&&"top"===r&&e.y<n.y||"top"===t&&"bottom"===r&&e.y>n.y))return;if(X(e,n,l))return[e,n];let i=(e.y+n.y)/2;return[e,{x:e.x,y:i},{x:n.x,y:i},n]}if(i&&!a){let o="right"===t&&n.x>e.x||"left"===t&&n.x<e.x,l="top"===r&&e.y<n.y||"bottom"===r&&e.y>n.y;return o&&l?[e,{x:n.x,y:e.y},n]:void 0}let s="bottom"===t&&n.y>e.y||"top"===t&&n.y<e.y,f="left"===r&&e.x<n.x||"right"===r&&e.x>n.x;return s&&f?[e,{x:e.x,y:n.y},n]:void 0}function es(e,t,n,r){return"left"===t||"right"===t?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}function ef(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=z(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}function ed(e){let t=[],n=[];for(let r of e){let e=z(r);if(!e)continue;let o={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(o):t.push(o)}return{realNodeRects:t,labelNodeRects:n}}function eu(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,o=r.y??0,l=r.width??0,i=r.height??0;n.push({nodeId:r.id,...eo(e,o,l,i)})}return n}function eh(e,t,n=.001){let r=e.start,o=e.end;if(!r||!o)return;let l=t.get(r),i=t.get(o);if(l&&i)return{srcId:r,dstId:o,srcInfo:l,dstInfo:i,collinearX:Math.abs(l.cx-i.cx)<n,collinearY:Math.abs(l.cy-i.cy)<n}}function eg(e,t,n,r=[],o=0){for(let l of n)if(!r.includes(l.id)&&Q(e,t,l.rect,-o))return!0;return!1}function ec(e,t,n,r,o=.001,l=1e-6){let i=Y(e,t,o),a=X(e,t,o),s=Y(n,r,o),f=X(n,r,o);if(i&&s||a&&f||!(i||a)||!(s||f))return!1;let d=i?{a:e,b:t}:{a:n,b:r},u=a?{a:e,b:t}:{a:n,b:r},h=d.a.y,g=Math.min(d.a.x,d.b.x),c=Math.max(d.a.x,d.b.x),p=u.a.x,m=Math.min(u.a.y,u.b.y),x=Math.max(u.a.y,u.b.y);if(p<g||p>c||h<m||h>x)return!1;let y=Math.abs(p-d.a.x)<l&&Math.abs(h-d.a.y)<l||Math.abs(p-d.b.x)<l&&Math.abs(h-d.b.y)<l,b=Math.abs(p-u.a.x)<l&&Math.abs(h-u.a.y)<l||Math.abs(p-u.b.x)<l&&Math.abs(h-u.b.y)<l;return!(y&&b)}function ep(e,t,n,r,o=.001){let l=Y(e,t,o),i=X(e,t,o),a=Y(n,r,o),s=X(n,r,o);return i&&s&&X(e,n,o)?_(e.y,t.y,n.y,r.y)>o:!!(l&&a&&Y(e,n,o))&&_(e.x,t.x,n.x,r.x)>o}function em(e,t,n,r,{epsilon:o=.001,skipDegenerateOther:l=!1}={}){for(let i of n){if(i===r||i.isLayoutOnly)continue;let n=i.points;if(n&&!(n.length<2))for(let r=0;r<n.length-1;r++){let i=n[r],a=n[r+1];if(!(l&&P(i,a,o))&&(ec(e,t,i,a,o)||ep(e,t,i,a,o)))return!0}}return!1}function ex(e,t,n,r,o=.001){let l=Y(e,t,o),i=X(e,t,o),a=Y(n,r,o),s=X(n,r,o);if(!(l&&s||i&&a))return!1;let f=l?{a:e,b:t}:{a:n,b:r},d=l?{a:n,b:r}:{a:e,b:t},u=f.a.y,h=Math.min(f.a.x,f.b.x),g=Math.max(f.a.x,f.b.x),c=d.a.x,p=Math.min(d.a.y,d.b.y),m=Math.max(d.a.y,d.b.y);return c>h+o&&c<g-o&&u>p+o&&u<m-o}function ey(e,t,n){let r=Math.min(t,n),o=Math.max(t,n);return e>r+.001&&e<o-.001}function eb(e,t,n){return X(e,t)&&X(t,n)?ey(t.y,e.y,n.y):!!(Y(e,t)&&Y(t,n))&&ey(t.x,e.x,n.x)}function eM(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=n[n.length-1],l=e[r],i=r+1<e.length?e[r+1]:void 0;if(o&&i){if(P(o,i)){r++,t=!0;continue}if(eb(o,l,i)){t=!0;continue}}n.push(l)}return{points:n,changed:t}}function eK(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],o=e[n];if(!X(r,o)&&!Y(r,o)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&X(e,r)?{x:r.x,y:o.y}:{x:o.x,y:r.y};t.push(n)}t.push(o)}let n=[];for(let e of t){let t=n[n.length-1];t&&P(t,e)||n.push(e)}return n}function eI(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=eM(t);if(t=e.points,!e.changed)break}return t}function ew(e,t,n){if(e.isLayoutOnly||!e.points||e.points.length<n)return;let r=e.start?t.get(e.start):void 0,o=e.end?t.get(e.end):void 0;return{edge:e,points:e.points,srcRect:r?el(r):void 0,dstRect:o?el(o):void 0}}function eS(e,t,n){if(Y(e,t,.001))return{x:e.x<n.left?n.left:n.right,y:e.y};if(X(e,t,.001)){let t=e.y<n.top?n.top:n.bottom;return{x:e.x,y:t}}return{x:Math.min(n.right,Math.max(n.left,e.x)),y:Math.min(n.bottom,Math.max(n.top,e.y))}}function ev(e,t,n){let r=n?1:-1,o=n?0:e.length-1;for(;o>=0&&o<e.length&&ee(e[o],t,.5);)o+=r;if(o<0||o>=e.length)return e;let l=o-r;if(l<0||l>=e.length)return e;let i=eS(e[o],e[l],t);return n?[i,...e.slice(o)]:[...e.slice(0,o+1),i]}function eL(e,t){for(let n of e){let e=ew(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=ev(r,e.srcRect,!0)),e.dstRect&&(r=ev(r,e.dstRect,!1)),r=eB(r=eI(eK(r)),e.srcRect,e.dstRect),e.edge.points=eI(eK(r))}}function eC(e,t,n,r=!1){if(Y(e,t,.001)){if(t.y<n.top-.001||t.y>n.bottom+.001)return t;if(r){if(e.x<n.left-.001)return{x:n.left,y:e.y};if(e.x>n.right+.001)return{x:n.right,y:e.y}}return{x:Math.abs(t.x-n.left)<=Math.abs(t.x-n.right)?n.left:n.right,y:e.y}}if(X(e,t,.001)){if(t.x<n.left-.001||t.x>n.right+.001)return t;if(r){if(e.y<n.top-.001)return{x:e.x,y:n.top};if(e.y>n.bottom+.001)return{x:e.x,y:n.bottom}}let o=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:o?n.top:n.bottom}}return t}function eO(e,t,n){let r=e[t];for(let o=t+n;o>=0&&o<e.length;o+=n){let t=e[o];if(!P(t,r,.001))return t}return e[t+n]}function eE(e,t){let n=e+4,r=t-4;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}function eR(e,t,n){let{lo:r,hi:o}=eE(t,n);return Math.min(o,Math.max(r,e))}function ek(e){let t=Math.max(...e.map(e=>e.lo)),n=Math.min(...e.map(e=>e.hi));if(!(t>n))return{lo:t,hi:n}}function eT(e,t){return"left"===t||"right"===t?eE(e.top,e.bottom):eE(e.left,e.right)}function e$(e,t,n){let r=e.y>=n.top-.001&&e.y<=n.bottom+.001,o=e.x>=n.left-.001&&e.x<=n.right+.001;if(Y(e,t,.001)&&r){if(.001>Math.abs(e.x-n.left))return"left";if(.001>Math.abs(e.x-n.right))return"right"}if(X(e,t,.001)&&o){if(.001>Math.abs(e.y-n.top))return"top";if(.001>Math.abs(e.y-n.bottom))return"bottom"}}function eF(e){return"left"===e||"right"===e}function eA(e,t,n,r,o){let l=[],i=n?e$(e,t,n):void 0,a=r?e$(t,e,r):void 0;return n&&i&&eF(i)===o&&l.push(eT(n,i)),r&&a&&eF(a)===o&&l.push(eT(r,a)),l.length>0?ek(l):void 0}function eN(e,t,n,r,o){let l=eA(e,t,n,r,o);if(!l)return;let i=o?e.y:e.x,a=Math.min(l.hi,Math.max(l.lo,i));if(!(.001>Math.abs(a-i)))return o?[{x:e.x,y:a},{x:t.x,y:a}]:[{x:a,y:e.y},{x:a,y:t.y}]}function eB(e,t,n){if(2!==e.length)return e;let[r,o]=e;return Y(r,o,.001)?eN(r,o,t,n,!0)??e:X(r,o,.001)?eN(r,o,t,n,!1)??e:e}function ez(e,t,n){return eF(n)?{x:e.x,y:eR(e.y,t.top,t.bottom)}:{x:eR(e.x,t.left,t.right),y:e.y}}function eP(e,t,n,r,o,l){let i=e.map(e=>({...e}));for(let a=t;a>=0&&a<e.length;a+=n){let t=e[a];if(l&&!Y(t,r,.001)||!l&&!X(t,r,.001))break;l?i[a].y=o.y:i[a].x=o.x}return i}function eX(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,o=n?1:-1,l=e[r],i=eO(e,r,o);if(!i)return e;let a=e$(l,i,t);if(!a)return e;let s=eF(a),f=ez(l,t,a);return P(l,f,.001)?e:eP(e,r,o,l,f,s)}function eY(e,t,n){let r=Math.min(e.x,t.x)>=n.left-.001&&Math.max(e.x,t.x)<=n.right+.001,o=Math.min(e.y,t.y)>=n.top-.001&&Math.max(e.y,t.y)<=n.bottom+.001;return .001>Math.abs(e.y-n.top)&&.001>Math.abs(t.y-n.top)&&r?"top":.001>Math.abs(e.y-n.bottom)&&.001>Math.abs(t.y-n.bottom)&&r?"bottom":.001>Math.abs(e.x-n.left)&&.001>Math.abs(t.x-n.left)&&o?"left":.001>Math.abs(e.x-n.right)&&.001>Math.abs(t.x-n.right)&&o?"right":void 0}function eD(e,t,n,r){switch(e){case"top":return X(t,n,.001)&&n.y<r.top-.001;case"bottom":return X(t,n,.001)&&n.y>r.bottom+.001;case"left":return Y(t,n,.001)&&n.x<r.left-.001;case"right":return Y(t,n,.001)&&n.x>r.right+.001}}function eG(e,t,n){if(e.length<3)return e;if(n){let n=eY(e[0],e[1],t);return n&&eD(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,o=eY(e[r-1],e[r],t);return o&&eD(o,e[r-1],e[r-2],t)?e.slice(0,r):e}function e_(e,t,n){let r=e;if(t){let e=eO(r,0,1);if(e){let n=eC(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=eG(r,t,!0)}if(n){let e=r.length-1,t=eO(r,e,-1);if(t){let o=eC(t,r[e],n,!0);o!==r[e]&&(r=[...r.slice(0,e),o])}r=eG(r,n,!1)}let o=eB(r,t,n);return o!==r||2===r.length?o:(t&&(r=eX(r,t,!0)),n&&(r=eX(r,n,!1)),r)}function eH(e,t){for(let n of e){let e=ew(n,t,2);if(!e)continue;let r=e_(q(e.points,.001),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let o=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=o}}function ej(e){return new Map(e.map(e=>[e.id,e]))}function eV(e,t){let n=new Set([e.id]),r=0,o=e.parentId;for(;o&&!n.has(o);){let e=t.get(o);if(!e?.isGroup)break;n.add(o),r++,o=e.parentId}return r}function eU(e){let t=1/0,n=-1/0,r=1/0,o=-1/0;for(let l of e){let e=l.x,i=l.y;if("number"!=typeof e||"number"!=typeof i)continue;let a=l.width??0,s=l.height??0;t=Math.min(t,e-a/2),n=Math.max(n,e+a/2),r=Math.min(r,i-s/2),o=Math.max(o,i+s/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:o}}function eW(e,t){let n=e.padding??20;e.x=(t.minX+t.maxX)/2,e.y=(t.minY+t.maxY)/2,e.width=Math.max(0,t.maxX-t.minX)+n,e.height=Math.max(0,t.maxY-t.minY)+n}function eZ(e){let t=ej(e);for(let n of e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>eV(n,t)-eV(e,t))){let t=eU(e.filter(e=>e.parentId===n.id));t&&eW(n,t)}}function eq(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,a=-1/0;for(let e of o){let n=e[t];"number"==typeof n&&(l=Math.min(l,n),a=Math.max(a,n))}if(!Number.isFinite(l)||!Number.isFinite(a))return!1;let s=(0,i.K)(e=>l+a-e,"mirror");for(let e of n){let n=e[t];"number"==typeof n&&(e[t]=s(n));let r=e.groupTitleRect;r&&(e.groupTitleRect="x"===t?{...r,left:s(r.right),right:s(r.left)}:{...r,top:s(r.bottom),bottom:s(r.top)})}for(let e of r)for(let n of e.points??[])n[t]=s(n[t]);return!0}function eJ(e){return!(e.nodes??[]).some(e=>!e.isGroup)||eq(e,"y")}function eQ(e){let t=e.filter(e=>!e.isGroup&&!e.isEdgeLabel);if(0===t.length)return 1;let n=0,r=0;for(let e of t)n+=e.width??0,r+=e.height??0;let o=n/t.length,l=r/t.length;return l>0?Math.max(1,o/l):1}(0,i.K)(O,"laneIdOrSelf"),(0,i.K)(E,"removeEmptyLanes"),(0,i.K)(R,"dropLanesEmptiedBySharedNodes"),(0,i.K)(k,"warnAboutNestedGroups"),(0,i.K)(T,"prepareLayoutForSwimlanes"),(0,i.K)($,"toGraphView"),(0,i.K)(F,"groupsDeepestFirst"),(0,i.K)(A,"writeBackToLayoutData"),(0,i.K)(N,"createEdgeLabelNodes"),(0,i.K)(B,"measuredNodeRect"),(0,i.K)(z,"nodeBoundsInfoFor"),(0,i.K)(P,"samePoint"),(0,i.K)(X,"sameX"),(0,i.K)(Y,"sameY"),(0,i.K)(D,"isHorizontalSegment"),(0,i.K)(G,"isVerticalSegment"),(0,i.K)(_,"overlapLength"),(0,i.K)(H,"sameAxisSegmentOverlapLength"),(0,i.K)(j,"orthogonalSegmentsForPoints"),(0,i.K)(V,"countOrthogonalBends"),(0,i.K)(U,"bendPoints"),(0,i.K)(W,"distanceToSegment"),(0,i.K)(Z,"routesTouchAtBend"),(0,i.K)(q,"dedupeConsecutivePoints"),(0,i.K)(J,"classifyThreeSegmentRoute"),(0,i.K)(Q,"segmentBoundsOverlapRect"),(0,i.K)(ee,"pointInsideRect"),(0,i.K)(et,"rectContainsRect"),(0,i.K)(en,"rectsOverlap"),(0,i.K)(er,"inflateRect"),(0,i.K)(eo,"rectFromCenterSize"),(0,i.K)(el,"rectOfNodeBounds"),(0,i.K)(ei,"portForRectSide"),(0,i.K)(ea,"buildOrthogonalPortPath"),(0,i.K)(es,"buildSameSideTrackPath"),(0,i.K)(ef,"collectRealNodeBounds"),(0,i.K)(ed,"collectNodeRectEntries"),(0,i.K)(eu,"collectLayoutNodeRects"),(0,i.K)(eh,"getNodePairGeometry"),(0,i.K)(eg,"segmentHitsAnyRect"),(0,i.K)(ec,"orthogonalSegmentsCross"),(0,i.K)(ep,"sameAxisSegmentsOverlap"),(0,i.K)(em,"segmentConflictsWithAnyEdge"),(0,i.K)(ex,"orthogonalSegmentsStrictlyCross"),(0,i.K)(ey,"strictlyBetween"),(0,i.K)(eb,"isCollinearIntermediate"),(0,i.K)(eM,"simplifyPolylineOnce"),(0,i.K)(eK,"orthogonalizePolyline"),(0,i.K)(eI,"simplifyPolyline"),(0,i.K)(ew,"endpointContextFor"),(0,i.K)(eS,"segmentEnterPoint"),(0,i.K)(ev,"clipEndpoint"),(0,i.K)(eL,"clipEdgeEndpointsToNodeBoundaries"),(0,i.K)(eC,"snapEndpointToBoundary"),(0,i.K)(eO,"firstDistinctAdjacent"),(0,i.K)(eE,"cornerClearanceRange"),(0,i.K)(eR,"clampToCornerClearance"),(0,i.K)(ek,"intersectRanges"),(0,i.K)(eT,"clearanceRangeForSide"),(0,i.K)(e$,"terminalSideForSegment"),(0,i.K)(eF,"isHorizontalSide"),(0,i.K)(eA,"straightClearanceRange"),(0,i.K)(eN,"clearStraightEndpointCornerAxis"),(0,i.K)(eB,"clearStraightEndpointCornerConnections"),(0,i.K)(ez,"cornerClearedEndpoint"),(0,i.K)(eP,"moveCollinearEndpointRun"),(0,i.K)(eX,"clearEndpointCornerConnection"),(0,i.K)(eY,"borderSideForSegment"),(0,i.K)(eD,"leavesOutward"),(0,i.K)(eG,"collapseOwnBorderStub"),(0,i.K)(e_,"snapAndCollapseEndpoints"),(0,i.K)(eH,"prepareEdgeEndpointsForRenderer"),(0,i.K)(ej,"buildNodeMap"),(0,i.K)(eV,"groupDepth"),(0,i.K)(eU,"boundsForChildren"),(0,i.K)(eW,"applyGroupBounds"),(0,i.K)(eZ,"recomputeNestedGroupBounds"),(0,i.K)(eq,"mirrorAxis"),(0,i.K)(eJ,"applyBtDirectionTransform"),(0,i.K)(eQ,"flowAxisStretch");var e0=["top","right","bottom","left"];function e1(e){return"left"===e?"right":"right"===e?"left":e}function e2(e,t,n,r,o){if("top"===n||"bottom"===n){let n=(t.left+t.right)/2,[l,i]=o?[r.after,r.before]:[r.before,r.after];e.left=Math.min(e.left,n-l),e.right=Math.max(e.right,n+i);return}let l=(t.top+t.bottom)/2;e.top=Math.min(e.top,l-r.before),e.bottom=Math.max(e.bottom,l+r.after)}(0,i.K)(e1,"mirroredSide"),(0,i.K)(e2,"growAlongBorder");var e6={top:(0,i.K)((e,t,n)=>{e.top=Math.min(e.top,t.top-n)},"top"),bottom:(0,i.K)((e,t,n)=>{e.bottom=Math.max(e.bottom,t.bottom+n)},"bottom"),left:(0,i.K)((e,t,n)=>{e.left=Math.min(e.left,t.left-n)},"left"),right:(0,i.K)((e,t,n)=>{e.right=Math.max(e.right,t.right+n)},"right")};function e5(e,t,n,r,o){e2(e,t,n,r,o),e6[n](e,t,r.beyond)}function e3(e,t,n){let r=e.x??0,o=e.y??0,l=(e.width??0)/2,i=(e.height??0)/2,a={left:r-l,right:r+l,top:o-i,bottom:o+i},s={...a},f="RL"===n;for(let e of e0){let n=t[e];n&&e5(s,a,f?e1(e):e,n,f)}return{...e,x:(s.left+s.right)/2,y:(s.top+s.bottom)/2,width:s.right-s.left,height:s.bottom-s.top}}function e8(e,t="LR"){let n=e.nodes??[],r=e.edges??[],o=c(n),l=n.filter(e=>!e.isGroup&&!o.has(e.id)),i=1/0,a=1/0;for(let e of l){let t=e.x??0,n=e.y??0;t<i&&(i=t),n<a&&(a=n)}if(!Number.isFinite(i)||!Number.isFinite(a))return!1;let s=eQ(l);for(let e of l){let t=e.x??0,n=((e.y??0)-a)*s+36,r=t-i;e.x=n,e.y=r}for(let e of r)if(e.points)for(let t of e.points){let e=t.x,n=(t.y-a)*s+36,r=e-i;t.x=n,t.y=r}eZ(n);let f=d(n),u=n.filter(e=>f.isLane(e.id));if(0===u.length)return"RL"===t&&eq(e,"x"),!0;let h=new Map,g=I(n,t);for(let e of n){if(f.isLane(e.id)||f.isPool(e.id)||o.has(e.id))continue;let n=f.laneIdOf(e.id);if(!n)continue;let r=h.get(n)??[],l=g.get(e.id);r.push(l?e3(e,l,t):e),h.set(n,r)}let p=0;for(let e of u){let t=e.padding??0;t>p&&(p=t)}let m=[],x=1/0,y=-1/0;for(let e of u){let t=eU(h.get(e.id)??[]);t&&(x=Math.min(x,t.minX),y=Math.max(y,t.maxX),m.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(x===1/0||y===-1/0)return!0;let b=Math.max(0,y-x)+2*Math.max(p,10),M=36+b,K=(x+y)/2-b/2-36,w=K+M/2,S=Math.max(p,36);m.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<m.length;e++){let t,n,r=m[e];if(t=0===e?r.contentTop-S:(m[e-1].contentBottom+r.contentTop)/2,e===m.length-1)n=r.contentBottom+S;else{let t=m[e+1];n=(r.contentBottom+t.contentTop)/2}let o=Math.max(0,n-t),l=(t+n)/2;r.lane.x=w,r.lane.y=l,r.lane.width=M,r.lane.height=o,r.lane.swimlaneContentTop=r.contentTop,r.lane.groupTitleRect={left:K,right:K+36,top:t,bottom:n}}return"RL"===t&&eq(e,"x"),!0}(0,i.K)(e5,"reserveOnSide"),(0,i.K)(e3,"withAnchorFootprints"),(0,i.K)(e8,"applyLrDirectionTransform");var e4=[0,8,-8,16,-16];function e7(e,t){let{nodeInfoById:n,realNodeRects:r}=ef(t);for(let t of e){let o;if(t.isLayoutOnly)continue;let l=t.points;if(!l||l.length<4)continue;let i=J(q(l,1e-6),1e-6);if(!i)continue;let{p3:a}=i,s="HVH"===i.kind,f=eh(t,n,1e-6);if(!f)continue;let{srcId:d,dstId:u,srcInfo:h,dstInfo:g,collinearX:c,collinearY:p}=f;if(c||p)continue;let m=h.rect;for(let n of e4){let l,i,f;if(s){let e=g.cy>h.cy?m.bottom:m.top,t=h.cx+n;if(t<=m.left+1e-6||t>=m.right-1e-6)continue;l={x:t,y:e},i={x:t,y:a.y},f={x:a.x,y:a.y}}else{let e=g.cx>h.cx?m.right:m.left,t=h.cy+n;if(t<=m.top+1e-6||t>=m.bottom-1e-6)continue;l={x:e,y:t},i={x:a.x,y:t},f={x:a.x,y:a.y}}let c=P(l,i,1e-6),p=P(i,f,1e-6);if(c&&p||!c&&eg(l,i,r,[d],1)||!p&&eg(i,f,r,[u],1))continue;let x=!c&&em(l,i,e,t,{epsilon:1e-6,skipDegenerateOther:!0}),y=!p&&em(i,f,e,t,{epsilon:1e-6,skipDegenerateOther:!0});if(!x&&!y){o=c?[i,f]:p?[l,i]:[l,i,f];break}}o&&(t.points=o)}}function e9(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values());for(let o of e){let l,a;if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let f=q(s,.001);if(f.length<4)continue;let d=f.length-1,u=f[d],h=f[d-1],g=f[d-2],c=Math.hypot(u.x-h.x,u.y-h.y);if(c>=10||c<.001)continue;let p=h.x-g.x,m=h.y-g.y;if(.001>Math.hypot(p,m))continue;let x=D(h,u,.001),y=G(h,u,.001),b=D(g,h,.001),M=G(g,h,.001);if(!(x&&M||y&&b))continue;let K=o.end,I=o.start,w=K?t.get(K):void 0;if(!w)continue;let S=w.x??0,v=w.y??0,L=el(w);if(!L)continue;if(M){let e=m<0;l={x:S,y:g.y},a={x:S,y:e?L.bottom:L.top}}else{let e=p>0;l={x:g.x,y:v},a={x:e?L.right:L.left,y:v}}if(eg(l,a,n,K?[K]:[],-2)||eg(l,a,r,[],-2))continue;if(I){let e=t.get(I),n=e?el(e):void 0;if(n&&ee(l,n,2))continue}let C=(0,i.K)((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,"ownSegmentKey"),O=new Set;for(let e=0;e<f.length-1;e++)O.add(C(f[e],f[e+1]));let E=(0,i.K)((t,n)=>{for(let r of e){if(r===o||r.isLayoutOnly)continue;let e=r.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1];if(!O.has(C(o,l))&&ex(t,n,o,l,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(E(l,a))continue;if(d-3>=0){let e=f[d-3];if(eg(e,l,n,[I,K].filter(e=>!!e),-2)||E(e,l))continue}let R=[...f.slice(0,d-2),l,a];o.points=R;let k=o.labelNodeId;if(k){let e=t.get(k);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let r,o,l=-1;for(let e=0;e<R.length-1;e++){let i=R[e],a=R[e+1],s=Math.hypot(a.x-i.x,a.y-i.y),f=Y(i,a,.001),d=X(i,a,.001);(f&&s>=t+2||d&&s>=n+2)&&s>l&&(l=s,r=(i.x+a.x)/2,o=(i.y+a.y)/2)}void 0!==r&&void 0!==o&&(e.x=r,e.y=o)}}}}}(0,i.K)(e7,"portSwapToLShape"),(0,i.K)(e9,"collapseShortTerminalStub");var te={MIN_ARROWHEAD_SPACING:12,ROUTE_TOUCH_TOLERANCE:6},tt={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},tn={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40,EDGE_LABEL_CLEARANCE:16},tr=(0,i.K)(e=>"string"==typeof e?e.toUpperCase():"","upperCaseDirection"),to=(0,i.K)((e,t)=>X(e,t,.001)||Y(e,t,.001),"orthogonallyAligned");function tl(e,t){let n=(0,i.K)((e,t)=>{let n=e.x??0,r=e.y??0,o=t.x-n,l=t.y-r,i=(e.width??0)/2,a=(e.height??0)/2;return Math.abs(l)*i>Math.abs(o)*a?(l<0&&(a=-a),{x:n+(0===l?0:a*o/l),y:r+a}):(o<0&&(i=-i),{x:n+i,y:r+(0===o?0:i*l/o)})},"rectIntersect"),r=(0,i.K)((e,r)=>{let o=q(e.points??[]);if(o.length<2)return;let l=r?e.start:e.end,i=l?t.get(l):void 0,a=i?el(i):void 0;if(!i||!l||!a)return;let s=r?o[0]:o[o.length-1],f=r?o[1]:o[o.length-2],d=n(i,s),u=s;return(to(f,d)&&(u=f),X(d,u,.001))?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"V",coord:d.x,min:Math.min(d.y,u.y),max:Math.max(d.y,u.y),boundary:d,railEnd:u,rect:a}:Y(d,u,.001)?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"H",coord:d.y,min:Math.min(d.x,u.x),max:Math.max(d.x,u.x),boundary:d,railEnd:u,rect:a}:void 0},"terminalLaneFor"),o=(0,i.K)((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),"projectedOverlapLength"),l=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&("H"===e.orientation?(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&X(e.boundary,t.boundary,1):(1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom))&&Y(e.boundary,t.boundary,1)),"sameTerminalFace"),a=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&o(e,t)>=8&&.5>Math.abs(e.coord-t.coord),"exactTerminalLaneConflict"),s=(0,i.K)((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||"H"!==e.orientation||e.atStart===t.atStart)return!1;let n=o(e,t);if(n<8)return!1;let r=e.rect.bottom-e.rect.top;return!(n<r)&&!(n>2*r)&&l(e,t)&&16>Math.abs(e.coord-t.coord)},"nearTerminalLaneConflict"),f=(0,i.K)((e,t)=>{let n=q(e.edge.points??[]);if(n.length<2)return;let r="V"===e.orientation?{x:e.boundary.x+t,y:e.boundary.y}:{x:e.boundary.x,y:e.boundary.y+t},o="V"===e.orientation?{x:e.railEnd.x+t,y:e.railEnd.y}:{x:e.railEnd.x,y:e.railEnd.y+t};if(!(0,i.K)(()=>1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom)?Y(r,e.boundary,.001)&&r.x>=e.rect.left+1&&r.x<=e.rect.right-1:!!(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&X(r,e.boundary,.001)&&r.y>=e.rect.top+1&&r.y<=e.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(e.atStart){let t=n.length>1&&P(n[1],e.railEnd,.001),l=n.slice(t?2:1),i=l[0];if(i&&!to(i,o))return;return[r,o,...l]}let l=n.length>1&&P(n[n.length-2],e.railEnd,.001),a=n.slice(0,l?-2:-1),s=a[a.length-1];if(!s||to(s,o))return[...a,o,r]},"shiftedCandidate"),d=(0,i.K)(e=>{let n=e.edge,r=q(n.points??[]);if(2!==r.length)return!1;let o=n.start,l=n.end,i=o?t.get(o):void 0,a=l?t.get(l):void 0;if(!i||!a)return!1;let s=i.x??0,f=i.y??0,d=a.x??0,u=a.y??0,[h,g]=r;return Y(h,g,.001)&&1>Math.abs(f-u)&&Math.abs(s-d)>1||X(h,g,.001)&&1>Math.abs(s-d)&&Math.abs(f-u)>1},"laneIsStraightCollinearConnector"),u=[-7,7,-14,14,-21,21];for(let t=0;t<8;t++){let t=e.filter(e=>!e.isLayoutOnly).flatMap(e=>[r(e,!0),r(e,!1)]).filter(e=>!!e),n=!1;for(let e=0;e<t.length&&!n;e++)for(let o=e+1;o<t.length&&!n;o++){let l=t[e],i=t[o];if(l.edge===i.edge||!(a(l,i)||s(l,i)))continue;let h=!a(l,i);for(let e of[l,i].sort((e,t)=>{let n=d(e),r=d(t);return n!==r?Number(n)-Number(r):Number(!t.atStart)-Number(!e.atStart)})){for(let o of u){let l=f(e,o);if(!l)continue;let i=r({...e.edge,points:l},e.atStart);if(!(!i||t.some(t=>t.edge!==e.edge&&(a(i,t)||h&&s(i,t))))){e.edge.points=l,n=!0;break}}if(n)break}}if(!n)return}}function ti(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values()),o=(0,i.K)((t,o)=>{let l=t.start,i=t.end,a=j(o);if(a.length!==o.length-1)return!1;let s=[l,i].filter(e=>!!e);for(let e of a)if(eg(e.a,e.b,n,s,-2)||eg(e.a,e.b,r,[],-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of a)for(let n of j(q(e)))if(H(t,n,.5)>=8||ex(t.a,t.b,n.a,n.b,.001))return!1}}return!0},"candidateIsSafe"),l=(0,i.K)((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=e[t+4],a=D(n,r)&&G(r,o)&&D(o,l)&&G(l,i)&&X(n,l,.001)&&X(n,i,.001)&&X(r,o,.001)&&(r.x-n.x)*(l.x-o.x)<0,s=G(n,r)&&D(r,o)&&G(o,l)&&D(l,i)&&Y(n,l,.001)&&Y(n,i,.001)&&Y(r,o,.001)&&(r.y-n.y)*(l.y-o.y)<0;if(a||s)return q([...e.slice(0,t+1),i,...e.slice(t+5)]);if(t+5>=e.length)return;let f=e[t+5],d=G(n,r)&&D(r,o)&&G(o,l)&&D(l,i)&&G(i,f)&&X(n,i,.001)&&X(n,f,.001)&&X(o,l,.001)&&(o.x-r.x)*(i.x-l.x)<0,u=D(n,r)&&G(r,o)&&D(o,l)&&G(l,i)&&D(i,f)&&Y(n,i,.001)&&Y(n,f,.001)&&Y(o,l,.001)&&(o.y-r.y)*(i.y-l.y)<0;if(d||u)return q([...e.slice(0,t+1),f,...e.slice(t+6)])},"withoutDogleg");for(let t=0;t<8;t++){let t=!1;for(let n of e){if(n.isLayoutOnly)continue;let e=q(n.points??[]);for(let r=0;r<=e.length-5;r++){let i=l(e,r);if(i&&o(n,i)){n.points=i,t=!0;break}}if(t)break}if(!t)return}}function ta(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>q(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=j(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=j(l(o[a],e,t));for(let e of i)for(let t of r)ex(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),s=(0,i.K)(e=>{let t=j(e);if(3!==t.length)return;let n=t[1];if(t[0].horizontal!==n.horizontal&&t[2].horizontal!==n.horizontal)return{index:n.index,horizontal:n.horizontal,vertical:n.vertical,segment:n}},"middleRail"),f=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);return n.filter(e=>{if(r.includes(e.id))return!1;let n=e.rect;return t.horizontal?_(t.a.x,t.b.x,n.left,n.right)>=8&&t.a.y>=n.top-2&&t.a.y<=n.bottom+2:_(t.a.y,t.b.y,n.top,n.bottom)>=8&&t.a.x>=n.left-2&&t.a.x<=n.right+2})},"blockingRectsFor"),d=(0,i.K)((e,t,n)=>{let r=e.map(e=>({...e}));if(t.horizontal)r[t.index].y=n,r[t.index+1].y=n;else{if(!t.vertical)return;r[t.index].x=n,r[t.index+1].x=n}let o=eI(q(r));return j(o).length===o.length-1?o:void 0},"candidateByMovingRail"),u=(0,i.K)((e,t,i)=>{let s=[e.start,e.end].filter(e=>!!e),f=j(t);if(f.length!==t.length-1)return!1;for(let e of f)if(eg(e.a,e.b,n,s,-2)||eg(e.a,e.b,r,[],-2))return!1;for(let t of o)if(t!==e){for(let e of f)for(let n of j(l(t)))if(H(e,n,.5)>=8)return!1}return a(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e=a(),t=!1;for(let n of o){let r=l(n),o=s(r);if(!o)continue;let i=f(n,o.segment);if(0!==i.length){for(let l of o.horizontal?[Math.min(...i.map(e=>e.rect.top))-20,Math.max(...i.map(e=>e.rect.bottom))+20]:[Math.min(...i.map(e=>e.rect.left))-20,Math.max(...i.map(e=>e.rect.right))+20]){let i=d(r,o.segment,l);if(i&&u(n,i,e)){n.points=i,t=!0;break}}if(t)break}}if(!t)return}}function ts(e,t,n){let r=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),o=d([...t.values()]),l=(0,i.K)(e=>{if(!o.isLane(e.id))return;let t=tr(e.direction??n);if("LR"===t||"RL"===t||"BT"===t)return;let l=r(e),i=e.y,a=e.height;if(!l||"number"!=typeof i||"number"!=typeof a||!Number.isFinite(i)||!Number.isFinite(a)||a<=0)return;let s=l.right-l.left,f=l.bottom-l.top;if(!(f<=0)&&!(s<f))return{node:e,rect:l}},"topLaneTitleFor"),a=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<t.top-.001)&&!(n>t.bottom+.001)&&_(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),s=[...t.values()].map(l).filter(e=>!!e);if(0===s.length)return;let f=0;for(let t of e)if(!t.isLayoutOnly)for(let e of j(q(t.points??[])))for(let t of s)a(e,t.rect)&&(f=Math.max(f,t.rect.bottom-e.a.y+4));if(!(f<=.001))for(let e of s){let t=e.node.y,n=e.node.height;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.y=t-f/2,e.node.height=n+f,e.node.groupTitleRect={...e.rect,top:e.rect.top-f,bottom:e.rect.bottom-f})}}function tf(e,t,n){let r=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),o=d([...t.values()]),l=(0,i.K)(e=>{if(!o.isLane(e.id)||"LR"!==tr(e.direction??n))return;let t=r(e),l=e.x,i=e.width;if(!t||"number"!=typeof l||"number"!=typeof i||!Number.isFinite(l)||!Number.isFinite(i)||i<=0)return;let a=t.right-t.left,s=t.bottom-t.top;if(!(a<=0)&&!(s<a))return{node:e,rect:t}},"leftLaneTitleFor"),a=(0,i.K)((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return!(n<t.left-.001)&&!(n>t.right+.001)&&_(e.a.y,e.b.y,t.top,t.bottom)>=8},"verticalSegmentIntersectsTitle"),s=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<t.top-.001)&&!(n>t.bottom+.001)&&_(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),f=[...t.values()].map(l).filter(e=>!!e);if(0===f.length)return;let u=0;for(let t of e)if(!t.isLayoutOnly){for(let e of j(q(t.points??[])))for(let t of f)if(a(e,t.rect))u=Math.max(u,t.rect.right-e.a.x+4);else if(s(e,t.rect)){let n=Math.min(e.a.x,e.b.x);u=Math.max(u,t.rect.right-n+4)}}if(!(u<=.001))for(let e of f){let t=e.node.x,n=e.node.width;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.x=t-u/2,e.node.width=n+u,e.node.groupTitleRect={...e.rect,left:e.rect.left-u,right:e.rect.right-u})}}function td(e,t){let{realNodeRects:n}=ed(t.values()),r=e.filter(e=>!e.isLayoutOnly),o=(0,i.K)((e,t=new Map)=>q(t.get(e)??e.points??[]),"replacementPointsFor"),l=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<r.length;n++){let l=j(o(r[n],e));for(let i=n+1;i<r.length;i++){let n=j(o(r[i],e));for(let e of l)for(let r of n)ex(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"crossingCount"),a=(0,i.K)((e=new Map)=>r.reduce((t,n)=>t+V(o(n,e)),0),"totalBends"),s=(0,i.K)(e=>{let t=o(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(D(n,r,.001)||G(n,r,.001))return{tailStart:n,terminal:r}},"terminalTailFor"),f=(0,i.K)((e,t)=>{let n,r=o(e);if(r.length<3)return;let l=r[0],i=r[1];if(D(l,i,.001))n={x:i.x,y:t.tailStart.y};else{if(!G(l,i,.001))return;n={x:t.tailStart.x,y:i.y}}let a=eI(q([l,i,n,t.tailStart,t.terminal]));return j(a).length===a.length-1?a:void 0},"candidateWithDestinationTail"),d=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);for(let e of j(t))if(eg(e.a,e.b,n,r,-2))return!0;return!1},"pathHasNodeHit"),u=(0,i.K)((e,t,n)=>{for(let l of r)if(l!==e){for(let e of j(t))for(let t of j(o(l,n)))if(H(e,t,.5)>=8)return!0}return!1},"pathHasSharedTrack"),h=(0,i.K)((e,t,n)=>!d(e,t)&&!u(e,t,n),"candidateIsSafe"),g=(0,i.K)(()=>{let e=new Map;for(let n of r){let r=n.end;if(!r||!t.has(r)||o(n).length<4)continue;let l=e.get(r)??[];l.push(n),e.set(r,l)}return e},"edgesByDestination");for(let e=0;e<4;e++){let e,t=l();if(0===t)return;let n=a(),r=t,o=n;for(let n of g().values())for(let i=0;i<n.length;i++)for(let d=i+1;d<n.length;d++){let u=n[i],g=n[d],c=s(u),p=s(g);if(!c||!p)continue;let m=f(u,p),x=f(g,c);if(!m||!x)continue;let y=new Map([[u,m],[g,x]]);if(!h(u,m,y)||!h(g,x,y))continue;let b=l(y),M=a(y);!(b>=t)&&(b>r||b===r&&M>=o||(e=y,r=b,o=M))}if(!e)return;for(let[t,n]of e)t.points=n}}function tu(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t=new Map)=>q(t.get(e)??e.points??[]),"replacementPointsFor"),a=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<o.length;n++){let r=j(l(o[n],e));for(let i=n+1;i<o.length;i++){let n=j(l(o[i],e));for(let e of r)for(let r of n)ex(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"strictCrossingCount"),s=(0,i.K)((e=new Map)=>o.reduce((t,n)=>t+V(l(n,e)),0),"totalBends"),f=(0,i.K)(e=>{let n=e.start,r=e.end,o=n?t.get(n):void 0,l=r?t.get(r):void 0,i=o?el(o):void 0,a=l?el(l):void 0;return i&&a?{src:i,dst:a}:void 0},"endpointRectsFor"),d=(0,i.K)((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=f(e);if(r){if(n.vertical){let o=n.a.x,l=Math.min(r.src.left,r.dst.left),i=Math.max(r.src.right,r.dst.right),a=o<l-.001?"left":o>i+.001?"right":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"vertical",side:a,coord:o,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}}if(n.horizontal){let o=n.a.y,l=Math.min(r.src.top,r.dst.top),i=Math.max(r.src.bottom,r.dst.bottom),a=o<l-.001?"top":o>i+.001?"bottom":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"horizontal",side:a,coord:o,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}}}},"externalRailForSegment"),u=(0,i.K)(()=>{let e=[];for(let t of o){let n=l(t);for(let r of j(n)){let o=d(t,n,r);o&&e.push(o)}}return e},"collectExternalRails"),h=(0,i.K)((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&_(e.min,e.max,t.min,t.max)>=8,"railsInteract"),g=(0,i.K)(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let o=[r],l=[];for(n.add(r);o.length>0;){let t=o.pop();for(let r of(l.push(t),e))!n.has(r)&&h(t,r)&&(n.add(r),o.push(r))}l.length>1&&t.push(l)}return t},"connectedComponents"),c=(0,i.K)(e=>{let t=[];for(let n of e)t.some(e=>.001>Math.abs(e-n.coord))||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),o=e[0].side;t.push("left"===o||"top"===o?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},"uniqueCoordsFor"),p=(0,i.K)(e=>{let t=e.map(e=>e.coord),n=c(e),r=[];if(e.length<=6){let o=Array(n.length).fill(!1),l=[],a=(0,i.K)(()=>{if(l.length===e.length){l.some((e,n)=>Math.abs(e-t[n])>=.001)&&r.push([...l]);return}for(let[e,t]of n.entries())o[e]||(o[e]=!0,l.push(t),a(),l.pop(),o[e]=!1)},"visit");return a(),r}for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let o=[...t];[o[e],o[n]]=[o[n],o[e]],r.push(o)}return r},"coordinateAssignmentsFor"),m=(0,i.K)((e,t)=>{let n=new Map;for(let[r,o]of e.entries()){let e=t[r],l=n.get(o.edge)??o.points.map(e=>({x:e.x,y:e.y}));"vertical"===o.axis?(l[o.segmentIndex].x=e,l[o.segmentIndex+1].x=e):(l[o.segmentIndex].y=e,l[o.segmentIndex+1].y=e),n.set(o.edge,l)}let r=new Map;for(let[e,t]of n){let n=eI(q(t));if(j(n).length!==n.length-1)return;r.set(e,n)}return r},"replacementsForAssignment"),x=(0,i.K)(e=>{for(let[t,o]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of j(o))if(eg(t.a,t.b,n,e,-2)||eg(t.a,t.b,r,[],-2))return!1}for(let t=0;t<o.length;t++){let n=o[t],r=e.has(n),i=j(l(n,e));for(let n=t+1;n<o.length;n++){let t=o[n];if(!r&&!e.has(t))continue;let a=j(l(t,e));for(let e of i)for(let t of a)if(H(e,t,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let e=0;e<4;e++){let e,t=a();if(0===t)return;let n=t,r=s(),o=1/0;for(let l of g(u()))for(let i of p(l)){let f=m(l,i);if(!f||!x(f))continue;let d=a(f);if(d>=t)continue;let u=s(f),h=l.reduce((e,t,n)=>e+Math.abs(i[n]-t.coord),0);d>n||d===n&&(u>r||u===r&&h>=o)||(e=f,n=d,r=u,o=h)}if(!e)return;for(let[t,n]of e)t.points=n}}function th(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>q(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)(e=>j(e).reduce((e,t)=>e+Math.hypot(t.a.x-t.b.x,t.a.y-t.b.y),0),"pathLength"),s=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=j(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=j(l(o[a],e,t));for(let e of i)for(let t of r)ex(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),f=(0,i.K)((e,t)=>{if(e.horizontal){let n=e.a.y;return(1>Math.abs(n-t.top)||1>Math.abs(n-t.bottom))&&_(e.a.x,e.b.x,t.left,t.right)>=8}if(e.vertical){let n=e.a.x;return(1>Math.abs(n-t.left)||1>Math.abs(n-t.right))&&_(e.a.y,e.b.y,t.top,t.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),d=(0,i.K)(e=>{let n=[e.start,e.end].filter(e=>!!e),r=[];for(let e of n){let n=t.get(e),o=n?el(n):void 0;o&&r.push(o)}return r},"endpointRectsFor"),u=(0,i.K)((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=D(n,r,.001)&&G(r,o,.001)&&D(o,l,.001),a=G(n,r,.001)&&D(r,o,.001)&&G(o,l,.001);if(!i&&!a||!(i?Math.sign(r.x-n.x)!==Math.sign(l.x-o.x):Math.sign(r.y-n.y)!==Math.sign(l.y-o.y)))return[];let s=X(n,l,.001)||Y(n,l,.001)?[]:[{x:n.x,y:l.y},{x:l.x,y:n.y}],f=0===s.length?[[...e.slice(0,t+1),...e.slice(t+3)]]:s.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),d=new Set;return f.map(e=>eI(q(e))).filter(e=>{if(j(e).length!==e.length-1||!e.some(e=>P(e,l,.001)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!d.has(t)&&(d.add(t),!0)})},"shortcutCandidatesAt"),h=(0,i.K)((e,t,i)=>{let a=[e.start,e.end].filter(e=>!!e),u=d(e);for(let e of j(t))if(eg(e.a,e.b,n,a,-2)||eg(e.a,e.b,r,[],-2)||u.some(t=>f(e,t)))return!1;for(let n of o)if(n!==e){for(let e of j(t))for(let t of j(l(n)))if(H(e,t,.5)>=8)return!1}return s(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e,t,n=s(),r=n,i=1/0,f=1/0;for(let d of o){let o=l(d),g=V(o,.001),c=a(o);for(let l=0;l<=o.length-4;l++)for(let p of u(o,l)){let o=V(p,.001),l=a(p);if(!(o<g||o===g&&l<c-.001)||!h(d,p,n))continue;let u=s(d,p);u>r||u===r&&(o>i||o===i&&l>=f)||(e=d,t=p,r=u,i=o,f=l)}}if(!e||!t)return;e.points=t}}function tg(e,t){let n=[];for(let e of t.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,r=e.y??0,o=el(e);o&&n.push({id:String(e.id??""),cx:t,cy:r,rect:o})}if(0===n.length)return;let r=new Map(n.map(e=>[e.id,e])),o=n.map(e=>({id:e.id,rect:e.rect})),l=["top","bottom","left","right"],a={top:Math.min(...n.map(e=>e.rect.top))-20,bottom:Math.max(...n.map(e=>e.rect.bottom))+20,left:Math.min(...n.map(e=>e.rect.left))-20,right:Math.max(...n.map(e=>e.rect.right))+20},s=e.filter(e=>!e.isLayoutOnly),f=new Map(s.map((e,t)=>[e,t])),d=(0,i.K)(e=>{let t="left"===e||"top"===e?-1:1,n=[];for(let r=0;r<=2;r++)n.push(a[e]+20*t*r);return n},"outwardTracksForSide"),u=(0,i.K)((e,t=new Map)=>q(t.get(e)??e.points??[]),"replacementPointsFor"),h=(0,i.K)((e,t)=>{let n=0;for(let r of e)for(let e of t)ex(r.a,r.b,e.a,e.b,.001)&&n++;return n},"crossingCountBetweenSegments"),g=(0,i.K)((e,t)=>h(j(e),j(t)),"crossingCountBetweenPaths"),c=(0,i.K)((e=new Map)=>{let t=0,n=[],r=new Set,o=[],l=(0,i.K)(e=>{r.has(e)||(r.add(e),o.push(e))},"addEdge");for(let r=0;r<s.length;r++){let o=s[r],i=u(o,e);for(let a=r+1;a<s.length;a++){let r=s[a],f=g(i,u(r,e));f>0&&(t+=f,n.push({first:o,second:r,count:f}),l(o),l(r))}}return o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),{count:t,pairs:n,edgeSet:r,edges:o}},"crossingSnapshot"),p=(0,i.K)((e,t)=>{let n=new Set(t.keys());if(0===n.size)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let o=0;for(let e=0;e<s.length;e++){let r=s[e],l=n.has(r),i=u(r,t);for(let r=e+1;r<s.length;r++){let e=s[r];(l||n.has(e))&&(o+=g(i,u(e,t)))}}return e.count-r+o},"crossingCountWithReplacements"),m=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs){let e=t.get(n.first)??new Set;e.add(n.second),t.set(n.first,e);let r=t.get(n.second)??new Set;r.add(n.first),t.set(n.second,r)}let n=[],r=new Set;for(let o of e.edges){if(r.has(o))continue;let e=[o],l=[];for(r.add(o);e.length>0;){let n=e.pop();for(let o of(l.push(n),t.get(n)??[]))r.has(o)||(r.add(o),e.push(o))}l.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),l.length>1&&n.push(l)}return n},"crossingComponents"),x=(0,i.K)(e=>[e.start,e.end].filter(e=>!!e),"endpointIdsFor"),y=(0,i.K)(e=>{let t=[];for(let n of m(e)){let e=new Set(n),r=new Set(n.flatMap(e=>x(e))),o=[...n];for(let t of s)!e.has(t)&&x(t).some(e=>r.has(e))&&o.push(t);o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),t.push(o)}return t},"pairSearchGroups"),b=(0,i.K)((e,t,n)=>p(e,new Map([[t,n]])),"crossingCountWithSingleReplacement"),M=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs)t.set(n.first,(t.get(n.first)??0)+n.count),t.set(n.second,(t.get(n.second)??0)+n.count);return t},"currentCrossingsByEdge"),K=(0,i.K)(e=>e.slice(1).reduce((t,n,r)=>{let o=e[r];return t+Math.abs(n.x-o.x)+Math.abs(n.y-o.y)},0),"pathLength"),I=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+V(u(n,e)),0),"totalBends"),w=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+K(u(n,e)),0),"totalLength"),S=(0,i.K)((e,t)=>Z(e,t,te.ROUTE_TOUCH_TOLERANCE),"touchesAtBend"),v=(0,i.K)((e,t,n=new Map)=>{let r=j(t);for(let o of s)if(o!==e){for(let e of r)for(let t of j(u(o,n)))if(H(e,t,.5)>=8)return!0;if(S(t,u(o,n)))return!0}return!1},"pathHasSegmentConflict"),L=(0,i.K)((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of j(t))if(eg(e.a,e.b,o,n,-2))return!0;return!1},"pathHitsNode"),C=(0,i.K)((e,t)=>{let n=eI(q(t));j(n).length===n.length-1&&e.push(n)},"pushOrthogonalCandidate"),O=(0,i.K)(e=>"left"===e||"right"===e,"sideIsHorizontal"),E=(0,i.K)((e,t,n)=>{switch(t){case"left":return Math.min(e.x,n.x)-20;case"right":return Math.max(e.x,n.x)+20;case"top":return Math.min(e.y,n.y)-20;case"bottom":return Math.max(e.y,n.y)+20}},"localTrackForSameSide"),R=(0,i.K)((e,t,n,r)=>{let o="left"===n||"top"===n?-1:1;for(let l of[E(t,n,r),a[n]])for(let i=0;i<=2;i++)C(e,es(t,n,r,l+20*o*i))},"addSameSideCandidates"),k=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))C(e,[t,{x:l,y:t.y},{x:l,y:n},{x:r.x,y:n},r])},"addHorizontalToVerticalCandidates"),T=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))C(e,[t,{x:t.x,y:l},{x:n,y:l},{x:n,y:r.y},r])},"addVerticalToHorizontalCandidates"),$=(0,i.K)((e,t,n,r,o)=>{let l=[...d("top"),...d("bottom")];for(let i of d(n))for(let n of d(o))for(let o of l)C(e,[t,{x:i,y:t.y},{x:i,y:o},{x:n,y:o},{x:n,y:r.y},r])},"addHorizontalPairCandidates"),F=(0,i.K)((e,t,n,r,o)=>{let l=[...d("left"),...d("right")];for(let i of d(n))for(let n of d(o))for(let o of l)C(e,[t,{x:t.x,y:i},{x:o,y:i},{x:o,y:n},{x:r.x,y:n},r])},"addVerticalPairCandidates"),A=(0,i.K)(e=>{let t=new Set;return e.map(e=>q(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!t.has(n)&&!(e.length<2)&&(t.add(n),!0)})},"dedupeCandidatePaths"),N=(0,i.K)((e,t,n,r)=>{let o=[],l=ea(e,t,n,r,20,.001);l&&C(o,l),t===r&&R(o,e,t,n);let i=O(t),a=O(r);return i&&!a?k(o,e,t,n,r):!i&&a?T(o,e,t,n,r):i?$(o,e,t,n,r):F(o,e,t,n,r),A(o)},"buildCandidatesForSides"),B=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=ei(r,a),s="top"===a||"bottom"===a?d(a):i;for(let r of o)for(let o of(O(a)&&C(e,[t,n,{x:r,y:n.y},{x:r,y:l.y},l]),s))C(e,[t,n,{x:r,y:n.y},{x:r,y:o},{x:l.x,y:o},l])}},"addVerticalDepartureOuterTrackCandidates"),z=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=ei(r,a),s="left"===a||"right"===a?d(a):o;for(let r of i)for(let o of(O(a)||C(e,[t,n,{x:n.x,y:r},{x:l.x,y:r},l]),s))C(e,[t,n,{x:n.x,y:r},{x:o,y:r},{x:o,y:l.y},l])}},"addHorizontalDepartureOuterTrackCandidates"),P=(0,i.K)(e=>{let t=e.start,n=e.end,o=n?r.get(n):void 0;if(!t||!o)return[];let l=q(e.points??[]);if(l.length<4)return[];let i=l[0],a=l[1],s=[];return G(i,a,.001)?B(s,i,a,o):D(i,a,.001)&&z(s,i,a,o),s},"terminalPreservingOuterTrackCandidates"),X=(0,i.K)(e=>{let t=e.start,n=e.end,o=t?r.get(t):void 0,i=n?r.get(n):void 0;if(!o||!i)return[];let a=[];for(let e of l){let t=ei(o,e);for(let n of l)a.push(...N(t,e,ei(i,n),n))}return a.push(...P(e)),a},"candidatePathsFor"),Y=(0,i.K)(()=>new Map(s.map(e=>[e,j(u(e))])),"currentSegmentsByEdge"),_=(0,i.K)((e,t,n,r)=>{let o=new Set;for(let l of s){if(l===e)continue;let i=r.get(l)??j(u(l));(n.some(e=>i.some(t=>H(e,t,.5)>=8))||S(t,u(l)))&&o.add(l)}return o},"sharedTrackConflictsFor"),U=(0,i.K)((e,t,n,r)=>{let o=new Set;return X(e).map(e=>eI(q(e))).filter(t=>{if(L(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!o.has(n)&&!(t.length<2)&&(o.add(n),!0)}).map(o=>{let l=j(o),i=0;for(let t of s)t!==e&&(i+=h(l,n.get(t)??j(u(t))));return{candidate:o,candidateSegments:l,crossings:t.count-(r.get(e)??0)+i,bends:V(o,.001),totalBends:V(o),length:K(o)}}).filter(({crossings:e})=>e<=t.count).sort((e,t)=>e.crossings-t.crossings||e.bends-t.bends||e.length-t.length).slice(0,48).map(t=>({path:t.candidate,segments:t.candidateSegments,sharedTrackConflicts:_(e,t.candidate,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},"pairCandidatesFor"),W=(0,i.K)((e,t,n,r,o,l)=>{let i=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(i+=n.count);let a=h(n.segments,o.segments);for(let e of s){if(e===t||e===r)continue;let i=l.get(e)??j(u(e));a+=h(n.segments,i)+h(o.segments,i)}return e.count-i+a},"pairCrossingCount"),J=(0,i.K)((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},"conflictsOnlyWith"),Q=(0,i.K)((e,t)=>e.segments.some(e=>t.segments.some(t=>H(e,t,.5)>=8))||S(e.path,t.path),"candidatesShareTrack"),ee=(0,i.K)((e,t,n,r)=>J(t,n.edge)&&J(r,e.edge)&&!Q(t,r),"pairCandidatesAreCompatible"),et=(0,i.K)((e,t,n,r,o)=>{let l=W(e.current,t.edge,n,r.edge,o,e.baseSegments);if(!(l>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,o.path]]),crossings:l,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+o.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+o.length}},"scorePairReplacement"),en=(0,i.K)((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),"pairScoreIsBetter"),er=(0,i.K)((e,t,n,r)=>{let o=r;for(let r of t.candidates)for(let l of n.candidates){if(!ee(t,r,n,l))continue;let i=et(e,t,r,n,l);i&&en(i,o)&&(o=i)}return o},"bestScoreForOptionPair"),eo=(0,i.K)(e=>{let t=I(),n=w(),r=Y(),o=M(e),l=new Map(s.map(e=>[e,V(u(e))])),i=new Map(s.map(e=>[e,K(u(e))])),a=new Map,f=y(e);for(let t of f)for(let n of t){if(a.has(n))continue;let t=U(n,e,r,o);t.length>0&&a.set(n,{edge:n,candidates:t})}let d={replacements:new Map,crossings:e.count,bends:t,length:n},h={current:e,currentBends:t,currentLength:n,baseBendsByEdge:l,baseLengthByEdge:i,baseSegments:r};for(let t of f){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>a.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let o=e+1;o<r.length;o++){let e=r[o];(n.has(t.edge)||n.has(e.edge))&&(d=er(h,t,e,d))}}}return d.replacements.size>0?d.replacements:void 0},"bestPairedReplacement");for(let e=0;e<4;e++){let e,t,n=c(),r=n.count;if(0===r)return;let o=r,l=1/0;for(let i of n.edges){let a=V(u(i),.001);for(let s of X(i)){let f=L(i,s),d=!f&&v(i,s),u=b(n,i,s),h=V(s,.001);!f&&!d&&(u<r||u===r&&h<a)&&(u>o||u===o&&h>=l||(e=i,t=s,o=u,l=h))}}if(e&&t){e.points=t;continue}let i=eo(n);if(!i)return;for(let[e,t]of i)e.points=t}}function tc(e,t){let{nodeInfoById:n,realNodeRects:r}=ef(t),o=["top","bottom","left","right"],l={top:Math.min(...r.map(e=>e.rect.top))-20,bottom:Math.max(...r.map(e=>e.rect.bottom))+20,left:Math.min(...r.map(e=>e.rect.left))-20,right:Math.max(...r.map(e=>e.rect.right))+20},a=(0,i.K)((e,t,n,r)=>{let o=[],i=ea(e,t,n,r,20,.001);return i&&o.push(i),t===r&&o.push(es(e,t,n,l[t])),o},"buildOrthogonalPathCandidates"),s=(0,i.K)((e,t)=>{for(let n=0;n<e.length-1;n++)if(eg(e[n],e[n+1],r,t,1))return!0;return!1},"pathHitsNode"),f=(0,i.K)((t,n,r=!1)=>{let o=0,l=j(t,.001),i=n.start,a=n.end;for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,s=t.end;if(!r&&i&&a&&(e===i||e===a||s===i||s===a))continue;let f=t.points;if(f&&!(f.length<2))for(let e of l)for(let t of j(f,.001)){if(ec(e.a,e.b,t.a,t.b,.001,.001)){o++;continue}H(e,t,.001)>=8&&o++}}return o},"pathConflictCount"),d=(0,i.K)((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),o=Math.abs(e.x-t.rect.left),l=Math.abs(e.x-t.rect.right),i="top",a=n;return r<a&&(i="bottom",a=r),o<a&&(i="left",a=o),l<a&&(i="right",a=l),i},"nearestSideOfRect"),u=new Map,h=(0,i.K)((e,t,n)=>{let r=u.get(e)??[];r.push({side:t,edgeId:n}),u.set(e,r)},"addFaceClaim");for(let t of e){if(t.isLayoutOnly)continue;let e=t.points??[];if(e.length<1)continue;let r=t.id??"",o=t.start,l=t.end;if(o){let t=n.get(o);t&&h(o,d(e[0],t),r)}if(l){let t=n.get(l);t&&h(l,d(e[e.length-1],t),r)}}let g=(0,i.K)((e,t,n)=>u.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,"faceIsClaimed");for(let t of e){let e;if(t.isLayoutOnly)continue;let r=t.points;if(!r||r.length<2)continue;let l=V(r,.001);if(l<4)continue;let i=t.start,c=t.end;if(!i||!c)continue;let p=n.get(i),m=n.get(c);if(!p||!m)continue;let x=t.id??"",y=f(r,t,!0),b=f(r,t),M=y,K=l;for(let n of o){if(g(i,n,x))continue;let r=ei(p,n);for(let l of o)if(!g(c,l,x))for(let o of a(r,n,ei(m,l),l)){if(s(o,[i,c]))continue;let n=V(o,.001);if(y>0){let r=f(o,t,!0);if(r>M||r===M&&n>=K)continue;M=r,K=n,e=o;continue}!(f(o,t)>b)&&n<K&&(K=n,e=o)}}if(e){t.points=e;let n=u.get(i);n&&u.set(i,n.filter(e=>e.edgeId!==x));let r=u.get(c);r&&u.set(c,r.filter(e=>e.edgeId!==x)),h(i,d(e[0],p),x),h(c,d(e[e.length-1],m),x)}}}function tp(e,t){let n=t?0:e.length-1,r=e[n],o=e[n+(t?1:-1)];if(!r||!o)return;let l=o.x-r.x,i=o.y-r.y;if(!(Math.abs(l)+Math.abs(i)<.001)){if(.001>=Math.abs(i)){let e=r.x+10*Math.sign(l);return{left:Math.min(r.x,e),right:Math.max(r.x,e),top:r.y-7,bottom:r.y+7}}if(.001>=Math.abs(l)){let e=r.y+10*Math.sign(i);return{left:r.x-7,right:r.x+7,top:Math.min(r.y,e),bottom:Math.max(r.y,e)}}return{left:Math.min(r.x,o.x),right:Math.max(r.x,o.x),top:Math.min(r.y,o.y),bottom:Math.max(r.y,o.y)}}}function tm(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),top:Math.min(e.top,e.bottom),bottom:Math.max(e.top,e.bottom)}}function tx(e,t){let n=q(t);return[tp(n,!0),tp(n,!1)].some(t=>t&&en(e,tm(t)))}function ty(e,t){let n=[];for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++)n.push({edgeId:t.id,p1:e[r],p2:e[r+1]})}let r=[],o=[],l=d([...t.values()]);for(let e of t.values()){let t=e.isGroup;if(l.isLane(e.id)){let t=el(e);t&&o.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let n=el(e);n&&r.push({nodeId:e.id,rect:n})}let a=(0,i.K)((e,t)=>{let n=er(t,3);for(let{nodeId:t,rect:o}of r)if(t!==e&&en(n,o))return!0;return!1},"labelOverlapsForeignNode"),s=(0,i.K)((e,t)=>{let r=er(t,3);for(let t of n)if(t.edgeId!==e&&Q(t.p1,t.p2,r))return!0;return!1},"labelOverlapsForeignEdge"),f=(0,i.K)((e,t,n)=>a(e,n)||s(t,n),"labelOverlapsAnything"),u=[],h=(0,i.K)(e=>{for(let{id:t,rect:n}of o)if(et(n,e))return t},"findContainingLane"),g=(0,i.K)((e,t)=>u.some(n=>n.labelId!==e&&en(t,n.rect)),"overlapsPlacedLabel");for(let n of e){if(n.isLayoutOnly)continue;let e=n.labelNodeId;if(!e)continue;let r=t.get(e);if(!r)continue;let l=n.points;if(!l||l.length<2)continue;let d=r.width??0,c=r.height??0;if(d<=0||c<=0)continue;let p=[];for(let e=0;e<l.length-1;e++){let t=l[e],n=l[e+1],r=Math.abs(t.x-n.x),o=Math.abs(t.y-n.y);(!(r<.001)||!(o<.001))&&(r>=.001&&o>=.001||p.push({idx:e,length:r+o,orientation:r>=.001?"horizontal":"vertical",midX:(t.x+n.x)/2,midY:(t.y+n.y)/2}))}if(0===p.length)continue;let m=p.length>=3?p.filter(e=>e.idx>0&&e.idx<p.length-1):p,x=m.length>0?m:p,y=d>=c?"horizontal":"vertical",b=(0,i.K)(e=>[...e].sort((e,t)=>{let n=e.orientation===y;if(n!==(t.orientation===y))return n?-1:1;let r=e.length>=("horizontal"===e.orientation?d:c)+2;return r!==t.length>=("horizontal"===t.orientation?d:c)+2?r?-1:1:t.length-e.length}),"rankSegments"),M=p[0],K=p[p.length-1],I=[.5,.25,.75,.05,.95,.15,.85,.1,.9],w=(0,i.K)((e,t)=>{let n=l[e.idx],r=l[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},"anchorAtT"),S=(0,i.K)((e,t,n)=>Math.min(n,Math.max(t,e)),"clamp"),v=(0,i.K)((e,t)=>e.midX>=t.left-.001&&e.midX<=t.right+.001&&e.midY>=t.top-.001&&e.midY<=t.bottom+.001,"pointInsideRectInclusive"),L=(0,i.K)(e=>{let t=eo(e.midX,e.midY,d,c),n=h(t);if(n)return{laneId:n,anchor:e,rect:t};let r=o.find(({rect:t})=>v(e,t));if(!r)return;let l=r.rect.left+d/2+1,i=r.rect.right-d/2-1,a=r.rect.top+c/2+1,s=r.rect.bottom-c/2-1;if(l>i||a>s)return;let f={midX:S(e.midX,l,i),midY:S(e.midY,a,s)},u=eo(f.midX,f.midY,d,c);return v(e,u)?{laneId:r.id,anchor:f,rect:u}:void 0},"placementForAnchor"),C=(0,i.K)((e,t,n)=>"horizontal"===e.orientation?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),"distanceAlongSegment"),O=(0,i.K)((e,t)=>{let n=("horizontal"===e.orientation?d/2:c/2)+12;if(e===M){let r=l[e.idx];if(C(e,t,r)+.001<n)return!1}if(e===K){let r=l[e.idx+1];if(C(e,t,r)+.001<n)return!1}return!0},"labelClearsTerminalEndpoints"),E=(0,i.K)(t=>{for(let r of b(t))for(let t of I){let o=w(r,t);if(!O(r,o))continue;let i=L(o);if(!(!i||tx(i.rect,l))&&!g(e,i.rect)&&!f(e,n.id,i.rect))return{laneId:i.laneId,anchor:i.anchor}}},"tryPool"),R=(0,i.K)((t,r,o=!1)=>{for(let i of b(t)){let t={midX:i.midX,midY:i.midY};if(r&&!O(i,t))continue;let f=L(t);if(f&&!tx(f.rect,l)&&!g(e,f.rect)&&!a(e,f.rect)&&(o||!s(n.id,f.rect)))return{laneId:f.laneId,anchor:f.anchor}}},"findLaneContainingFallback"),k=E(x)??(x.length<p.length?E(p):void 0)??R(p,!0)??R(p,!1)??R(p,!1,!0);if(k){r.x=k.anchor.midX,r.y=k.anchor.midY,r.parentId=k.laneId;let t=eo(k.anchor.midX,k.anchor.midY,d,c),n=u.findIndex(t=>t.labelId===e);n>=0?u[n]={labelId:e,rect:t}:u.push({labelId:e,rect:t})}}}(0,i.K)(tl,"separateSharedRenderedTerminalLanes"),(0,i.K)(ti,"collapseRedundantRectangularDoglegs"),(0,i.K)(ta,"liftObstacleHuggingSameSideRails"),(0,i.K)(ts,"liftTopLaneTitleBandsAboveRails"),(0,i.K)(tf,"shiftLeftLaneTitleBandsLeftOfRails"),(0,i.K)(td,"swapDestinationTerminalTailsToReduceCrossings"),(0,i.K)(tu,"reassignCrossingExternalRailChannels"),(0,i.K)(th,"shortcutRedundantOrthogonalJogs"),(0,i.K)(tg,"resolveRenderedOrthogonalCrossings"),(0,i.K)(tc,"simplifyDetouredEdges"),(0,i.K)(tp,"markerClearanceRectFor"),(0,i.K)(tm,"normalizeRect"),(0,i.K)(tx,"labelOverlapsOwnMarker"),(0,i.K)(ty,"anchorLabelsToPolyline");function tb(e,t,n,{cx:r,cy:o},l,i){let a={x:r,y:o},s="x"===i?"y":"x",f=Math.sign(l[s]-a[s]);for(let r of e)if(r!==t&&!r.isLayoutOnly&&r.points?.length&&[...r.end===n?[r.points.at(-1)]:[],...r.start===n?[r.points[0]]:[]].some(e=>Math.sign(e[s]-a[s])===f&&Math.abs(e[i]-l[i])<te.MIN_ARROWHEAD_SPACING))return!0;return!1}function tM(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}function tK(e,t){let{nodeInfoById:n,realNodeRects:r}=ef(t),o=new Map;for(let e of t){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){o.set(t,{w:e.width??0,h:e.height??0});continue}}let l=(0,i.K)((t,n,r,l)=>{let a=tM(n,r),s=0,f=(0,i.K)(e=>{if(!e)return;let t=o.get(e);if(!t)return;let n="x"===l?t.w/2:t.h/2;n>s&&(s=n)},"consider");for(let n of(f(t.labelNodeId),e)){if(n===t||n.isLayoutOnly)continue;let e=n.start,r=n.end;e&&r&&tM(e,r)===a&&f(n.labelNodeId)}return s>0?s+3:0},"labelClearanceFor");for(let t of e){let o,i,a;if(t.isLayoutOnly||!J(t.points,1e-6))continue;let s=eh(t,n,1e-6);if(!s)continue;let{srcId:f,dstId:d,srcInfo:u,dstInfo:h,collinearX:g,collinearY:c}=s;if(g===c)continue;if(g){let e=h.cy>u.cy;o={x:u.cx,y:e?u.rect.bottom:u.rect.top},i={x:h.cx,y:e?h.rect.top:h.rect.bottom}}else{let e=h.cx>u.cx;o={x:e?u.rect.right:u.rect.left,y:u.cy},i={x:e?h.rect.left:h.rect.right,y:h.cy}}if(eg(o,i,r,[f,d],1))continue;let p=g?"x":"y",m=l(t,f,d,p),x=m>4?m:4;for(let n of[0,x,-x]){let l={...o},s={...i};if(g){if(l.x+=n,s.x+=n,l.x<=u.rect.left||l.x>=u.rect.right||s.x<=h.rect.left||s.x>=h.rect.right)continue}else if(l.y+=n,s.y+=n,l.y<=u.rect.top||l.y>=u.rect.bottom||s.y<=h.rect.top||s.y>=h.rect.bottom)continue;if(eg(l,s,r,[f,d],1)||em(l,s,e,t,{epsilon:1e-6}))continue;let c=[l,s];if(tb(e,t,f,u,l,p)||tb(e,t,d,h,s,p)){a??=c;continue}t.points=c,a=void 0;break}a&&(t.points=a)}}function tI(e,t){let{realNodeRects:n,labelNodeRects:r}=ed(t.values()),o=(0,i.K)((e,t)=>j(t,.001).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),"segmentsFor"),l=(0,i.K)(()=>{let t=[];for(let n of e){if(n.isLayoutOnly)continue;let e=n.points;e&&!(e.length<2)&&t.push(...o(n,q(e)))}return t},"allSegments"),a=(0,i.K)((e,t)=>e.horizontal&&t.horizontal?_(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&7>Math.abs(e.a.y-t.a.y):!!e.vertical&&!!t.vertical&&_(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&7>Math.abs(e.a.x-t.a.x),"hasCrowdedParallelTrack"),s=(0,i.K)((t,l)=>{let i=t.start,s=t.end,f=o(t,l);if(f.length!==l.length-1)return!1;let d=[i,s].filter(e=>!!e),u=t.labelNodeId?[t.labelNodeId]:[];for(let e of f)if(eg(e.a,e.b,n,d,-2)||eg(e.a,e.b,r,u,-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of f)for(let r of o(n,q(e)))if(a(t,r)||ex(t.a,t.b,r.a,r.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,i.K)((e,t)=>{let n=q(e.edge.points??[]);if(n.length<4||e.index>=n.length-1)return;let r=n.map(e=>({...e}));if(e.horizontal)r[e.index].y+=t,r[e.index+1].y+=t;else{if(!e.vertical)return;r[e.index].x+=t,r[e.index+1].x+=t}return o(e.edge,r).length===r.length-1?r:void 0},"shiftedCandidate"),d=(0,i.K)((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),"nodeCenter"),u=(0,i.K)(e=>{let n=e.edge,r=q(n.points??[]);if(4!==r.length||1!==e.index)return;let o=n.start?t.get(n.start):void 0,l=n.end?t.get(n.end):void 0,i=o?el(o):void 0,a=l?el(l):void 0,s=r.slice(e.index+2);if(o&&l&&i&&a&&0!==s.length)return{sourceCenter:d(o,i),targetCenter:d(l,a),sourceRect:i,tail:s}},"sourceDetourContextFor"),h=(0,i.K)((e,t,n,r,o,l)=>{let i=r.y>=n.y,a=i?o.bottom:o.top,s=a+(i?20:-20);if(i&&e.b.y<=s+.001||!i&&e.b.y>=s-.001)return;let f=e.a.x+t;return q([{x:n.x,y:a},{x:n.x,y:s},{x:f,y:s},{x:f,y:e.b.y},...l],.001)},"verticalSourceDetour"),g=(0,i.K)((e,t,n,r,o,l)=>{let i=r.x>=n.x,a=i?o.right:o.left,s=a+(i?20:-20);if(i&&e.b.x<=s+.001||!i&&e.b.x>=s-.001)return;let f=e.a.y+t;return q([{x:a,y:n.y},{x:s,y:n.y},{x:s,y:f},{x:e.b.x,y:f},...l],.001)},"horizontalSourceDetour"),c=(0,i.K)((e,t)=>{let n=u(e);if(n){if(e.vertical)return h(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return g(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},"sourceDetourCandidate"),p=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=l(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let o=e[n],l=e[r];if(o.edge!==l.edge&&a(o,l))for(let e of[o,l].filter(e=>e.interior)){for(let n of p){let r=f(e,n);if(r&&s(e.edge,r)){e.edge.points=r,t=!0;break}let o=c(e,n);if(o&&s(e.edge,o)){e.edge.points=o,t=!0;break}}if(t)break}}if(!t)return}}function tw(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(1e-10>Math.abs(s))return!1;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u>.01&&u<.99&&h>.01&&h<.99}function tS(e){let t=e.nodes??[],n=e.edges??[],r=[];if(!n.length||!t.length)return r;let o=eu(t),i=[];for(let e of n){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,l=e.end,a=e.labelNodeId,s=e.id??`${n}->${l}`;for(let e of o)if(e.nodeId!==n&&e.nodeId!==l&&(!a||e.nodeId!==a)){for(let n=0;n<t.length-1;n++)if(Q(t[n],t[n+1],e,-1)){r.push({type:"edge-node-overlap",edgeId:s,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)i.push({edgeId:s,start:n,end:l,p1:t[e],p2:t[e+1]})}let a=new Set;for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],o=i[t];if(n.edgeId!==o.edgeId&&n.start!==o.start&&n.start!==o.end&&n.end!==o.start&&n.end!==o.end&&tw(n.p1,n.p2,o.p1,o.p2)){let e=n.edgeId<o.edgeId?`${n.edgeId}|${o.edgeId}`:`${o.edgeId}|${n.edgeId}`;a.has(e)||(a.add(e),r.push({type:"edge-edge-crossing",edgeId:n.edgeId,targetId:o.edgeId,detail:`edges "${n.edgeId}" and "${o.edgeId}" cross`}))}}if(r.length>0){let e=r.filter(e=>"edge-node-overlap"===e.type).length,t=r.filter(e=>"edge-edge-crossing"===e.type).length;for(let n of(l.R.warn(`[SWIMLANE_VALIDATE] ${r.length} issue(s) detected: ${e} edge-node overlap(s), ${t} edge crossing(s)`),r))l.R.warn(`[SWIMLANE_VALIDATE] ${n.type}: ${n.detail}`)}return r}function tv(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup);if(("LR"===t||"RL"===t)&&o.length>0&&!e8(e,t)||"BT"===t&&o.length>0&&!eJ(e))return;for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;t&&!(t.length<2)&&(e.points=eI(eK(t)))}tc(r,n),tK(r,n),e7(r,n);let l=new Map;for(let e of n)l.set(String(e.id),e);ty(r,l),eL(r,l),e9(r,l),tI(r,l),tl(r,l),ti(r,l),ta(r,l),td(r,l);let a=(0,i.K)(()=>{tg(r,l),tl(r,l),tu(r,l),th(r,l),ty(r,l),eH(r,l),ta(r,l),ty(r,l),eH(r,l)},"finalizeRenderedEdges");a(),tI(r,l),a(),ts(r,l,t),tf(r,l,t),ts(r,l,t),tf(r,l,t)}function tL(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let o of e.edges){if(!t.has(o.src)||!t.has(o.dst))continue;let e=`${o.id}:${o.src}->${o.dst}`;n.has(e)||(n.add(e),r.push(o))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}function tC(e,t){return e.edges.filter(e=>e.dst===t)}function tO(e){let t=new Map;for(let n of e.nodes)t.set(n,[]);for(let n of e.edges)t.get(n.src).push(n.dst);return t}function tE(e){let t=tO(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}function tR(e){let t=new Map;for(let n of e.nodes)t.set(n,0);for(let n of e.edges)t.set(n.dst,(t.get(n.dst)??0)+1);return t}function tk(e,t){let n=[...t.entries()].filter(([,e])=>0===e).map(([e])=>e).sort((e,t)=>e.localeCompare(t)),r=new Set(e.edges.flatMap(e=>[e.src,e.dst])),o=(0,i.K)(t=>!r.has(t)&&!e.nodeById.get(t)?.isGroup,"isUnconnected"),l=[...t.keys()].filter(e=>0===t.get(e)&&o(e)),a=0;return n.map(e=>o(e)?l[a++]:e)}function tT(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let o of e.edges)t(o)&&(r.get(o.src).push(o.dst),n.get(o.dst).push(o.src));return{preds:n,succs:r}}function t$(e,t,n,r){let o=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(o=Math.max(o,n[t]??0));let l=Array.from({length:o+1},()=>[]);for(let o of t)r?.skipGroups&&e.nodeById.get(o)?.isGroup||l[Math.max(0,n[o]??0)].push(o);return l}function tF(e){let t=tR(e),n=tk(e,t),r=[],o=tE(e);for(;n.length;){let e=n.shift();for(let l of(r.push(e),o.get(e)??[]))if(t.set(l,(t.get(l)??0)-1),(t.get(l)??0)===0){let e=0;for(;e<n.length&&n[e]<l;)e++;n.splice(e,0,l)}}return r.length===e.nodes.length?r:null}function tA(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}function tN(e){let t=Array(e.length),n=(0,i.K)((r,o)=>{if(o-r<=1)return 0;let l=r+o>>1,i=n(r,l)+n(l,o),a=r,s=l,f=r;for(;a<l||s<o;)s>=o||a<l&&e[a]<=e[s]?t[f++]=e[a++]:(t[f++]=e[s++],i+=l-a);for(let n=r;n<o;n++)e[n]=t[n];return i},"count");return n(0,e.length)}function tB(e){let t=tL(e),n=new Map;for(let e of t.nodes)n.set(e,[]);for(let e of t.edges)n.get(e.src).push(e);for(let e of n.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let r=Object.create(null);for(let e of t.nodes)r[e]=0;let o=[],l=(0,i.K)(e=>{for(let t of(r[e]=1,n.get(e)??[])){let e=t.dst;0===r[e]?l(e):1===r[e]&&o.push(t)}r[e]=2},"dfs"),a=tR(t);for(let e of[...t.nodes.filter(e=>(a.get(e)??0)===0),...t.nodes.filter(e=>(a.get(e)??0)!==0)])0===r[e]&&l(e);let s=new Set(o.map(e=>`${e.id}:${e.src}->${e.dst}`)),f=t.edges.map(e=>s.has(`${e.id}:${e.src}->${e.dst}`)?{id:e.id,src:e.dst,dst:e.src,weight:e.weight,ref:e.ref}:e);return{acyclic:{nodes:[...t.nodes],edges:f,layout:t.layout,nodeById:new Map(t.nodeById)},reversed:o}}function tz(e){let t=d(e.layout.nodes??[]),n=new Map;for(let r of e.nodes)n.set(r,t.laneIdOf(r));return n}function tP(e){let t=tz(e);return e=>t.get(e)??null}function tX(e){let t=e.layout.nodes??[],n=d(t),r=t.filter(e=>n.isLane(e.id)),o=r.filter(e=>void 0!==f(e));if(o.length>0&&o.length===r.length)return[...o].sort((e,t)=>(f(e)??0)-(f(t)??0)).map(e=>e.id);if(!n.hasPools)return[...new Set(r.map(e=>e.id))].reverse();let l=[];for(let e of t)!e.parentId&&(n.isPool(e.id)?l.push(...n.lanesByPool.get(e.id)??[]):n.isLane(e.id)&&l.push(e.id));return[...new Set(l)].reverse()}function tY(e,t){let n=tX(e);if(!t||0===t.length)return n;let r=new Set(n),o=new Set,l=[];for(let e of t)!r.has(e)||o.has(e)||(o.add(e),l.push(e));for(let e of n)o.has(e)||l.push(e);return l}function tD(e,t){let n=tL(e),r=t?.laneOf??(()=>null),o=t?.rankHint,{preds:l}=tT(n);for(let e of l.values())e.sort((e,t)=>e.localeCompare(t));let a=tF(n)??[...n.nodes].sort((e,t)=>e.localeCompare(t)),s=new Map;for(let[e,t]of a.entries())s.set(t,e);let f=new Map,d=new Map;for(let e of n.nodes)d.set(e,[]);for(let e of a){let t=(l.get(e)??[]).filter(e=>f.has(e));if(t.length>0){let n=tG(e,t,{laneOf:r,rankHint:o,topoIndex:s});f.set(e,n),d.get(n).push(e)}else f.has(e)||f.set(e,null)}for(let e of n.nodes)f.has(e)||f.set(e,null);let u=new Set;for(let e of n.nodes)(f.get(e)??null)===null&&u.add(e);let h=[...u].sort((e,t)=>{let n=s.get(e)??0,r=s.get(t)??0;return n===r?e.localeCompare(t):n-r}),g=t_(n),c=new Map;for(let[e,t]of g.entries())c.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let p=tH(c),m=tj(c),x=new Map;for(let e of n.nodes)x.set(e,[]);for(let e of m)for(let t of e.nodes){let n=x.get(t);n?n.push(e.id):x.set(t,[e.id])}let y=[],b=[],M=new Set,K=(0,i.K)(e=>{if(!M.has(e)){for(let t of(M.add(e),y.push(e),d.get(e)??[]))K(t);b.push(e)}},"walk");for(let e of h)K(e);for(let e of a)K(e);return{parent:f,children:d,roots:h,componentOf:p,blocks:m,nodeBlocks:x,adjacency:c,preorder:y,postorder:b,topologicalOrder:a}}function tG(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let o=n.laneOf(e),l=n.laneOf(t),i=null!=o&&o===r;if(i!==(null!=l&&l===r))return i?-1:1;let a=n.rankHint?.[e],s=n.rankHint?.[t];if(null!=a&&null!=s&&a!==s)return s-a;let f=n.topoIndex.get(e)??0,d=n.topoIndex.get(t)??0;return f!==d?f-d:e.localeCompare(t)})[0]}function t_(e){let t=new Map;for(let n of e.nodes)t.set(n,new Set);for(let n of e.edges)t.get(n.src).add(n.dst),t.get(n.dst).add(n.src);return t}function tH(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let o=[r];for(;o.length>0;){let r=o.pop();if(!t.has(r))for(let l of(t.set(r,n),e.get(r)??[]))t.has(l)||o.push(l)}n++}return t}function tj(e){let t=new Map,n=new Map,r=[],o=[],l=0,a=(0,i.K)((i,s)=>{for(let f of(t.set(i,++l),n.set(i,l),e.get(i)??[]))f!==s&&(t.has(f)?(t.get(f)??0)<(t.get(i)??0)&&(r.push([i,f]),n.set(i,Math.min(n.get(i)??l,t.get(f)??l))):(r.push([i,f]),a(f,i),n.set(i,Math.min(n.get(i)??l,n.get(f)??l)),(n.get(f)??0)>=(t.get(i)??0)&&o.push(tV(i,f,r,o.length))))},"visit");for(let n of e.keys())t.has(n)||a(n,null);return o}function tV(e,t,n,r){let o=[],l=new Set;for(;n.length>0;){let r=n.pop();if(o.push(r),l.add(r[0]),l.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:o,nodes:[...l]}}function tU(e,t,n){let r=[...e.nodes],o=new Map;for(let[e,t]of r.entries())o.set(t,e);let l=r.length,a=Array(l).fill(-1),s=Array(l).fill(0),f=[],d=new Set;for(let e of r){let t=n.parent.get(e)??null,r=o.get(e);null!=r&&null==t&&(a[r]=-1,s[r]=0,d.has(e)||(d.add(e),f.push(e)))}for(;f.length>0;){let e=f.shift(),t=o.get(e);if(null!=t)for(let r of n.children.get(e)??[]){if(d.has(r))continue;let e=o.get(r);null!=e&&(a[e]=t,s[e]=s[t]+1,d.add(r),f.push(r))}}for(let e of r){if(d.has(e))continue;let t=o.get(e);null!=t&&(a[t]=-1,s[t]=0,d.add(e))}let u=Math.max(1,Math.ceil(Math.log2(Math.max(1,l)))+1),h=Array.from({length:u},()=>Array(l).fill(-1));for(let e=0;e<l;e++)h[0][e]=a[e];for(let e=1;e<u;e++)for(let t=0;t<l;t++){let n=h[e-1][t];h[e][t]=-1===n?-1:h[e-1][n]}let g=(0,i.K)((e,t)=>{if(-1===e||-1===t)return -1;s[e]<s[t]&&([e,t]=[t,e]);let n=s[e]-s[t];for(let t=0;t<u;t++)if(n>>t&1&&-1===(e=h[t][e]))return -1;if(e===t)return e;for(let n=u-1;n>=0;n--){let r=h[n][e],o=h[n][t];-1!==r&&-1!==o&&r!==o&&(e=r,t=o)}return h[0][e]},"lcaIndex"),c=Array.from({length:l},()=>new Map);for(let n of e.edges){let e=n.src,r=n.dst,l=t[e],i=t[r];if(null==l||null==i||(l>i&&([e,r]=[r,e],[l,i]=[i,l]),null==l||null==i||l===i))continue;let a=o.get(e),s=o.get(r);if(null==a||null==s)continue;let f=g(a,s);if(-1===f)continue;let d=c[f];for(let e=l;e<i;e++)d.set(e,(d.get(e)??0)+1)}let p=new Map,m=(0,i.K)((e,t)=>{if(0!==t.size)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},"mergeInto"),x=new Set,y=(0,i.K)(e=>{let r=o.get(e);x.add(e);let l=null==r?void 0:c[r],i=l?new Map(l):new Map;for(let r of n.children.get(e)??[]){let n=y(r),o=t[e];if(null!=o){let l=p.get(e);l||(l=new Map,p.set(e,l));let i=n.get(o)??0,a=t[r];null!=a&&a>o&&(i+=1),l.set(r,i)}m(i,n)}return i},"dfs");for(let e of n.roots)x.has(e)||y(e);for(let e of r)x.has(e)||y(e);return p}function tW(e,t,n){let r=new Map,o=(0,i.K)(e=>{let l=n[e]??0,i=[...t.get(e)??[]];for(let e of(i.sort(tZ(n)),i)){o(e);let t=r.get(e);null!=t&&(l=Math.min(l,t))}r.set(e,l)},"annotate");for(let t of e)o(t);return r}function tZ(e){return(t,n)=>{let r=e[t]??0,o=e[n]??0;return r===o?t.localeCompare(n):r-o}}function tq(e,t,n,r){let o=0;for(let e of t){let t=n[e]??0;t>o&&(o=t)}let l=Array.from({length:o+1},()=>[]),a=new Set,s=(0,i.K)(e=>{if(a.has(e))return;a.add(e);let t=n[e]??0;for(let n of(l[t]||(l[t]=[]),l[t].push(e),r(e)))s(n)},"emit");for(let t of e)s(t);for(let e of t)if(!a.has(e)){let t=n[e]??0;l[t]||(l[t]=[]),l[t].push(e),a.add(e)}return l}function tJ(e){let t=[];for(let n of e){let e=new Set,r=[];for(let t of n)e.has(t)||(e.add(t),r.push(t));t.push(r)}return t}function tQ(e,t,n,r){return o=>{let l=e.get(o)??[];if(0===l.length)return[];let i=t[o]??0,a=[],s=[],f=n.get(o);for(let e of l){let t=r.get(e)??i;t>i?a.push({child:e,min:t}):s.push(e)}return a.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),s.sort((e,t)=>{let n=f?.get(e)??0,o=f?.get(t)??0;if(n!==o)return n-o;let l=r.get(e)??i,a=r.get(t)??i;return l!==a?l-a:e.localeCompare(t)}),[...a.map(e=>e.child),...s]}}function t0(e,t,n){let r=tD(e,{rankHint:t,laneOf:n}),{children:o,roots:l}=r;for(let t of e.nodes)o.has(t)||o.set(t,[]);let i=tU(e,t,r),a=[...l].sort(tZ(t)),s=tW(a,o,t),f=tQ(o,t,i,s),d=tq(a,e.nodes,t,f);return tJ(d)}function t1(e,t,n){let r=new Set(e),o=new Set(t),l=tA(t),i=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&i.push(l.get(e.dst));return tN(i)}function t2(e,t,n){let r=[];for(let e of t){let t=n[e.src],o=n[e.dst];if(null==t||null==o||t===o)continue;let l=e.src,i=e.dst,a=t,s=o;t>o&&(l=e.dst,i=e.src,a=o,s=t);for(let t=a;t<s;t++)r.push({id:`${e.id}@${t}`,src:l,dst:i,ref:e.ref})}let o=0;for(let t=0;t+1<e.length;t++)o+=t1(e[t],e[t+1],r);return o}function t6(e,t){let n={...t},{preds:r}=tT(e),o=tP(e),l=t2(t0(e,n,o),e.edges,n),i=tt.MAX_CROSSING_OPTIMIZATION_PASSES;for(let t=0;t<i;t++){let t=!1;for(let i of[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0))){let a=n[i]??0;if(0===a)continue;let s=0;for(let e of r.get(i)??[])s=Math.max(s,(n[e]??0)+1);if(s>=a)continue;n[i]=s;let f=t2(t0(e,n,o),e.edges,n);f<l?(l=f,t=!0):n[i]=a}if(!t)break}return n}function t5(e,t){let n=tP(e);for(let r of[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n))){let o=n(r);if(!o)continue;let l=e.edges.filter(e=>e.src===r);if(0===l.length)continue;let i=!1,a=0;for(let e of l){let t=n(e.dst);null==t||t===o?i=!0:a++}if(0===a||i)continue;let s=0,f=!1;for(let t of e.edges){if(t.dst!==r)continue;let e=n(t.src);e&&(e===o?f=!0:s++)}if(s>0||!f)continue;let d=t[r]??0,u=d+a,h=0;for(let n of e.edges)n.dst===r&&(h=Math.max(h,(t[n.src]??0)+1));let g=Math.max(d,h,u);g!==d&&(t[r]=g)}}function t3(e,t){let n=tL(e),r=tF(n)??[...n.nodes].sort(),o=t?.compactSingleInput??!1,l=tP(n),i=Object.create(null);for(let e of r){let r=tC(n,e),a=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=l(t.src),r=l(e);return!n||!r||n===r}):r;if(0===a.length)i[e]=0;else if(o&&1===a.length){let t=a[0].src;l(t)!==l(e)?i[e]=i[t]??0:i[e]=(i[t]??0)+1}else{let t=-1/0;for(let e of a)t=Math.max(t,(i[e.src]??0)+1);i[e]=t===-1/0?0:t}}return t?.optimizeRanksByCrossings&&(i=t6(n,i)),t?.ignoreCrossLaneEdges&&t5(n,i),{layers:t0(n,i,l),rankOf:i,dummy:new Set}}function t8(e,t){let n=tL(e),r={...t3(n,{compactSingleInput:t?.compactSingleInput,ignoreCrossLaneEdges:t?.ignoreCrossLaneEdges,optimizeRanksByCrossings:t?.optimizeRanksByCrossings}).rankOf},o=tP(n),{preds:l,succs:a}=tT(n,e=>{if(t?.ignoreCrossLaneEdges){let t=o(e.src),n=o(e.dst);if(t&&n&&t!==n)return!1}return!0}),s=tF(n)??[...n.nodes],f=[...s].reverse(),d=(0,i.K)((e,t)=>{let n=0;for(let t of l.get(e)??[])n=Math.max(n,(r[t]??0)+1);let o=1/0,i=a.get(e)??[];return i.length>0&&(o=Math.min(...i.map(e=>(r[e]??0)-1))),Number.isFinite(o)||(o=Math.max(n,t)),Math.min(Math.max(t,n),o)},"clampFeasible"),u=tt.GRAVITY_ITERATIONS,h=(0,i.K)(e=>{let t=!1;for(let n of e){let e=l.get(n)??[],o=a.get(n)??[];if(0===e.length&&0===o.length)continue;let i=Math.round(((e.length>0?e.reduce((e,t)=>e+(r[t]??0)+1,0)/e.length:r[n]??0)+(o.length>0?o.reduce((e,t)=>e+(r[t]??0)-1,0)/o.length:r[n]??0))/2),s=d(n,i);s!==r[n]&&(r[n]=s,t=!0)}return t},"relaxOrder");for(let e=0;e<u;e++){let e=h(s),t=h(f);if(!e&&!t)break}for(let e of s){let t=0;for(let n of l.get(e)??[])t=Math.max(t,(r[n]??0)+1);(r[e]??0)<t&&(r[e]=t)}for(let e of f){let t=a.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(r[e]??0)-1));(r[e]??0)>n&&(r[e]=n)}}return{layers:t$(n,s,r),rankOf:r,dummy:new Set}}function t4(e){let t=tR(e),n=tE(e),r=tk(e,t),o=[];for(;r.length>0;){let e=[];for(let l of r)for(let r of(o.push(l),n.get(l)??[]))t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0&&e.push(r);r=e.sort((e,t)=>e.localeCompare(t))}return o.length===e.nodes.length?o:null}function t7(e,t){let n=tL(e),r=t?.direction==="LR"?t4(n)??[...n.nodes].sort():tF(n)??[...n.nodes].sort(),o=tP(n),l=(0,i.K)(e=>o(e)??e,"laneOf"),a=Object.create(null),s=new Map,f=(0,i.K)((e,n)=>t?.ignoreCrossLaneEdges??!0?+(l(e)===l(n)):1,"edgeWeight");for(let e of r){let t=n.nodeById.get(e);if(t?.isGroup)continue;let r=tC(n,e),o=0;if(r.length>0)for(let t of r){let n=t.src;o=Math.max(o,(a[n]??0)+f(n,e))}let i=l(e),d=Math.max(o,s.get(i)??0);a[e]=d,s.set(i,d+1)}return{layers:t$(n,r,a,{skipGroups:!0}),rankOf:a,dummy:new Set}}function t9(e,t){let n=tL(t),{rankOf:r}=e,o=e.layers.map(e=>[...e]),l=new Set(e.dummy?[...e.dummy]:[]),a=0,s=new Map(n.nodeById),f=(0,i.K)(e=>{let t=`placeholder-${a++}`;for(s.set(t,{id:t,isGroup:!1,isDummy:!0,width:0,height:0}),l.add(t);o.length<=e;)o.push([]);return o[e].push(t),r[t]=e,t},"addDummyAt"),d=[...n.edges].sort((e,t)=>e.id===t.id?e.src===t.src?e.dst.localeCompare(t.dst):e.src.localeCompare(t.src):e.id.localeCompare(t.id)),u=[];for(let e of d){let t=r[e.src]??0,n=r[e.dst]??0;if(n-t<=1){u.push(e);continue}let o=e.src;for(let r=t+1,l=0;r<n;r++,l++){let t=f(r);u.push({id:`${e.id}#${l}`,src:o,dst:t,weight:e.weight,ref:e.ref}),o=t}let l=n-t-2;u.push({id:`${e.id}#${Math.max(l+1,0)}`,src:o,dst:e.dst,weight:e.weight,ref:e.ref})}let h={nodes:[...n.nodes,...[...l].filter(e=>!n.nodes.includes(e))],edges:u,layout:n.layout,nodeById:s};return{layering:{layers:o,rankOf:r,dummy:l},graphWithDummies:h}}function ne(e){let t=e.length;if(0===t)return 1/0;let n=[...e].sort((e,t)=>e-t);return t%2==1?n[(t-1)/2]:.5*(n[t/2-1]+n[t/2])}function nt(e){return 0===e.length?1/0:e.reduce((e,t)=>e+t,0)/e.length}function nn(e,t,n,r){let o=new Map;for(let t of e)o.set(t,[]);for(let e of n)"down"===r?t.has(e.src)&&o.has(e.dst)&&o.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&o.has(e.src)&&o.get(e.src).push(t.get(e.dst));return o}function nr(e,t,n){let r=n.get(e)??0,o=n.get(t)??0;return r!==o?r-o:e.localeCompare(t)}function no(e,t,n){let r=new Set(e),o=new Set(t),l=tA(e),i=tA(t),a=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&a.push({u:l.get(e.src),v:i.get(e.dst)});return a.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),tN(a.map(e=>e.v))}function nl(e,t,n){return[...e].sort((e,r)=>{let o=ne(t.get(e)??[]),l=ne(t.get(r)??[]);return o===l?nr(e,r,n):isFinite(o)?isFinite(l)?o-l:-1:1})}function ni(e,t,n,r,o,l){let i=tA(e),a=tA(t),s=nn(t,i,n,r);if(!o||!l||0===l.length)return nl(t,s,a);let f=new Map;for(let e of t){let t=o(e),n=f.get(t)??[];n.push(e),f.set(t,n)}let d=[];for(let e of l){let t=f.get(e);if(!t||0===t.length)continue;let n=nl(t,s,a);d.push(...n)}let u=f.get(null);if(u&&u.length>0)for(let e of nl(u,s,a)){let t=nt(s.get(e)??[]),n=d.length;if(isFinite(t)){for(let[e,r]of d.entries())if(t<nt(s.get(r)??[])){n=e;break}}d.splice(n,0,e)}return d}function na(e,t,n,r,o){let l=[...t],a=new Set(e),s=new Set(t),f=r?new Set(r):null,d=n.filter(e=>a.has(e.src)&&s.has(e.dst)),u=f?n.filter(e=>s.has(e.src)&&f.has(e.dst)):void 0,h=(0,i.K)(t=>{let n=no(e,t,d);return u&&r&&(n+=no(t,r,u)),n},"crossingScore"),g=o?new Map:null;if(o&&g)for(let e of t)g.set(e,o(e));let c=!0,p=h(l);for(;c;){c=!1;for(let e=0;e+1<l.length;e++){if(g&&g.get(l[e])!==g.get(l[e+1]))continue;let t=p;[l[e],l[e+1]]=[l[e+1],l[e]];let n=h(l);n<t?(p=n,c=!0):[l[e],l[e+1]]=[l[e+1],l[e]]}}return l}function ns(e,t,n){let r=e.layers.map(e=>[...e]),o=t.edges,l=tP(t),i=tY(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=ni(r[e-1],r[e],o,"down",l,i),r[e]=na(r[e-1],r[e],o,r[e+1],l);for(let e=r.length-2;e>=0;e--)r[e]=ni(r[e+1],r[e],o,"up",l,i),r[e]=na(r[e+1],r[e],o,r[e-1],l)}return{layers:r}}function nf(e,t,n){let r=n?.layerGap??tn.DEFAULT_LAYER_GAP,o=n?.nodeGap??tn.DEFAULT_NODE_GAP,l=n?.laneGap??2*o,a=n?.direction??"TB",s="LR"===a||"RL"===a,f=Object.create(null),d=Object.create(null),u=new Map((t.layout?.nodes??[]).filter(e=>e.isEdgeLabel).map(e=>[e.id,e])),h=(0,i.K)(e=>u.get(e)??t.nodeById.get(e),"getNode"),g=(0,i.K)(e=>h(e)?.width??0,"getWidth"),c=(0,i.K)(e=>h(e)?.height??0,"getHeight"),p=tP(t),m=new Map,x=(0,i.K)(e=>m.has(e)?m.get(e)??null:p(e),"topLaneOf"),y=tY(t,n?.laneOrder),b=new Set;for(let t of e.layers)for(let e of t)b.add(p(e));let M=b.has(null),K=y.filter(e=>b.has(e)),I=[...M?[null]:[],...K],w=e.layers,S=new Map;for(let[e,t]of w.entries())for(let n of t)S.set(n,e);let v=[],L=[],C=[];for(let e of t.layout?.edges??[]){let t=e.labelNodeId,n=e.start,r=e.end;if(!t||!u.has(t)||null==n||null==r)continue;let o=S.get(n),l=S.get(r);if(null==o||null==l){C.push({labelId:t,near:null==o?r:n});continue}if(m.set(t,p(r)),o===l){let e=(0,i.K)(e=>I.indexOf(p(e)),"column");v.push({labelId:t,rank:l,lane:p(r),side:n!==r&&e(n)<e(r)?"before":"after"});continue}let a=Math.min(o,l),s=Math.max(o,l);L.push({labelId:t,start:n,end:r,gap:a+Math.floor((s-a-1)/2),crossesLanes:p(n)!==p(r)})}let O=w.map(e=>e.reduce((e,t)=>Math.max(e,c(t)),0));for(let{labelId:e,rank:t}of v)O[t]=Math.max(O[t],c(e));let E=w.map(()=>0);if(s)for(let e=0;e+1<w.length;e++){let t=w[e].reduce((e,t)=>Math.max(e,g(t)),0),n=w[e+1].reduce((e,t)=>Math.max(e,g(t)),0),o=O[e]/2+O[e+1]/2,l=(t+n)/2;E[e]=Math.max(0,l-o-r)}let R=s?eQ(t.layout?.nodes??[]):1,k=w.map(()=>0);for(let{labelId:e,gap:t}of L){let n=((s?g(e):c(e))+2*tn.EDGE_LABEL_CLEARANCE)/R;k[t]=Math.max(k[t],n)}for(let[e,t]of k.entries())E[e]+=t;let T=Object.create(null);for(let e of K)T[e]=0;for(let e of(M&&(T.null=0),w)){let t=Object.create(null),n=[];for(let r of e){let e=x(r);null===e?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+g(t),0)+o*Math.max(0,n.length-1);T[e]=Math.max(T[e]??0,t)}if(M&&n.length){let e=n.reduce((e,t)=>e+g(t),0)+o*Math.max(0,n.length-1);T.null=Math.max(T.null??0,e)}}let $=new Map;for(let e of L){let t=`${e.gap}:${x(e.labelId)}`,n=$.get(t);n?n.push(e):$.set(t,[e])}for(let e of $.values()){let t=x(e[0].labelId);if(null!==t){let n=e.reduce((e,t,n)=>e+g(t.labelId)+(n>0?o:0),0);T[t]=Math.max(T[t]??0,n)}}let F=new Map;for(let{labelId:e,rank:t,lane:n,side:r}of v){let l=`${t}:${n}:${r}`;F.set(l,(F.get(l)??0)+o+g(e))}let A=(0,i.K)((e,t,n)=>F.get(`${e}:${t}:${n}`)??0,"rowLabelSpan");for(let{rank:e,lane:t}of v){let n=w[e].filter(e=>x(e)===t).reduce((e,t,n)=>e+g(t)+(n>0?o:0),0),r=Math.max(A(e,t,"before"),A(e,t,"after")),l=t??"null";T[l]=Math.max(T[l]??0,n+2*r)}let N=new Map;{let e=I.map(e=>(null===e?T.null:T[e])??0),t=-(e.reduce((e,t)=>e+t,0)+l*Math.max(0,I.length-1))/2;for(let n=0;n<I.length;n++){let r=I[n],o=e[n]??0,i=t+o/2;N.set(r,i),t+=o,n<I.length-1&&(t+=l)}}let B=[],z=0;for(let[e,t]of w.entries()){let n=O[e]??0,l=new Map;for(let e of t){let t=x(e),n=l.get(t)??[];n.push(e),l.set(t,n)}for(let e of I){let t=l.get(e)??[];if(0===t.length)continue;let r=N.get(e);if(1===t.length){let e=t[0];f[e]=r,d[e]=z+n/2}else{let e=t.map(e=>g(e)),l=r-(e.reduce((e,t)=>e+t,0)+o*(t.length-1))/2;for(let[r,i]of t.entries()){let t=e[r];f[i]=l+t/2,d[i]=z+n/2,l+=t+o}}}let i=r+(E[e]??0);B[e]=z+n+i/2,z+=n+i}let P=new Map;for(let{labelId:e,rank:t,lane:n,side:r}of v){let l=`${t}:${n}:${r}`;if(!P.has(l)){let e=w[t].filter(e=>x(e)===n).map(e=>"before"===r?f[e]-g(e)/2:f[e]+g(e)/2);P.set(l,"before"===r?Math.min(...e):Math.max(...e))}let i=g(e),a=P.get(l)+("before"===r?-1:1)*(o+i/2);f[e]=a,d[e]=d[w[t].find(e=>x(e)===n)],P.set(l,a+i/2*("before"===r?-1:1))}for(let e of $.values()){let t=e.map(({start:e,end:t,crossesLanes:n})=>n?f[t]:((f[e]??0)+(f[t]??0))/2),n=e.map((e,t)=>t).sort((e,n)=>t[e]-t[n]||e-n),r=[],l=-1/0;for(let i of n){let n=g(e[i].labelId);r[i]=Math.max(t[i],l+o+n/2),l=r[i]+n/2}let a=(0,i.K)(e=>e.reduce((e,t)=>e+t,0)/e.length,"mean"),s=a(t)-a(r);for(let[t,{labelId:n,gap:o}]of e.entries())f[n]=r[t]+s,d[n]=B[o]}for(let{labelId:e,near:t}of C)f[e]=f[t]??0,d[e]=d[t]??0;let X=new Map;for(let e of t.edges){let t=e.ref.id;X.has(t)||X.set(t,[]),X.get(t).push(e)}for(let[,e]of X){if(0===e.length)continue;let n=e[0].ref,r=n.start,o=n.end;if(null==r||null==o)continue;let l=Math.round(((f[r]??0)+(f[o]??0))/2),i=new Set;for(let t of e)i.add(t.src),i.add(t.dst);for(let e of i){if(e===r||e===o)continue;let n=t.nodeById.get(e);n?.isDummy&&(f[e]=l)}}return{x:f,y:d}}function nd(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return t>>>0}function nu(e){let t=e>>>0;return()=>{let e=t+=0x6d2b79f5;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}}function nh(e,t){let n=[...e],r=nu(t);for(let e=n.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}function ng(e,t){let n=0;for(let[r,o]of e.entries())n+=Math.abs(r-(t.get(o)??r));return n}function nc(e,t){let n=new Map;for(let[t,r]of e.entries())n.set(r,t);let r=0;for(let{a:e,b:o,weight:l}of t){let t=n.get(e),i=n.get(o);null!=t&&null!=i&&(r+=l*Math.abs(t-i))}return r}function np(e){let t=tX(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=tP(e),o=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let l="string"==typeof t.start?t.start:void 0,i="string"==typeof t.end?t.end:void 0;if(!l||!i||!e.nodeById.has(l)||!e.nodeById.has(i))continue;let a=r(l),s=r(i);if(!a||!s||a===s)continue;let f=n.get(a),d=n.get(s);if(null==f||null==d)continue;let[u,h]=f<=d?[a,s]:[s,a],g=`${u}\0${h}`,c=o.get(g);c?c.weight++:o.set(g,{a:u,b:h,weight:1})}return[...o.values()]}function nm(e,t,n){let r=[...e],o=nc(r,t),l=!0,i=0,a=Math.max(1,r.length);for(;l&&i<a;){l=!1,i++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=nc(r,t);n<o?(o=n,l=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:o,sourceDistance:ng(r,n)}}function nx(e,t){return e.cost!==t.cost?e.cost<t.cost:e.sourceDistance<t.sourceDistance}function ny(e,t,n){let r=[...t].sort((e,t)=>e.a===t.a?e.b.localeCompare(t.b):e.a.localeCompare(t.a)).map(({a:e,b:t,weight:n})=>`${e}:${t}:${n}`).join("|");return nd(`${e.join("|")}#${r}#${n}`)}function nb(e,t={}){let n=tX(e);if(n.length<2)return n;let r=np(e);if(0===r.length)return n;let o=new Map(n.map((e,t)=>[e,t])),l=nm(n,r,o),i=Math.max(0,t.restarts??8);for(let e=0;e<i;e++){let t=ny(n,r,e),i=nm(nh(n,t),r,o);nx(i,l)&&(l=i)}return l.order}function nM(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,o=tL(e),l=t?.automaticLaneOrdering?nb(o,{restarts:8}):void 0,i=tB(o),a=i.acyclic,{layering:s,graphWithDummies:f}=t9(n?t7(a,{compactSingleInput:t?.compactSingleInput??tt.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:t?.direction}):t8(a,{compactSingleInput:t?.compactSingleInput??tt.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),a),d=ns(s,f,{laneOrder:l}),u=nf(d,f,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:l});return{acyclic:a,reversed:i.reversed,layering:s,ordered:d,coordinates:u}}function nK(e,t,n){let r=e.x??0,o=e.y??0,l=t.x-r,i=t.y-o,a=Math.abs(l),s=Math.abs(i);return a<1e-6&&s<1e-6?n:s>1e-6&&3*s>=a?i>0?"bottom":"top":a>1e-6?l>0?"right":"left":n}(0,i.K)(tb,"crowdsFaceNeighbour"),(0,i.K)(tM,"pairKey"),(0,i.K)(tK,"straightenCollinearSiblingDetours"),(0,i.K)(tI,"nudgeSharedInteriorSubpaths"),(0,i.K)(tw,"segmentsIntersect"),(0,i.K)(tS,"validateSwimlanesLayout"),(0,i.K)(tv,"postProcessSwimlaneLayout"),(0,i.K)(tL,"normalizeGraph"),(0,i.K)(tC,"incoming"),(0,i.K)(tO,"buildSuccessorMap"),(0,i.K)(tE,"buildSortedSuccessorMap"),(0,i.K)(tR,"buildInDegreeMap"),(0,i.K)(tk,"sortedZeroInDegreeNodes"),(0,i.K)(tT,"buildPredecessorSuccessorMaps"),(0,i.K)(t$,"buildLayersFromRanks"),(0,i.K)(tF,"topoSortIfAcyclic"),(0,i.K)(tA,"buildLayerIndex"),(0,i.K)(tN,"countInversions"),(0,i.K)(tB,"removeCycles_DFS"),(0,i.K)(tz,"buildTopLaneMap"),(0,i.K)(tP,"createTopLaneResolver"),(0,i.K)(tX,"buildTopLaneOrder"),(0,i.K)(tY,"resolveTopLaneOrder"),(0,i.K)(tD,"buildDrivingTree"),(0,i.K)(tG,"chooseParent"),(0,i.K)(t_,"buildAdjacency"),(0,i.K)(tH,"assignComponents"),(0,i.K)(tj,"computeBlocks"),(0,i.K)(tV,"popBlock"),(0,i.K)(tU,"computeSubtreeCrossCounts"),(0,i.K)(tW,"annotateMinimumLayers"),(0,i.K)(tZ,"compareByRankThenId"),(0,i.K)(tq,"emitNodesInTreeOrder"),(0,i.K)(tJ,"deduplicateLayers"),(0,i.K)(tQ,"createChildOrderer"),(0,i.K)(t0,"buildMultitreeLayerOrder"),(0,i.K)(t1,"countCrossingsBetweenAdjacent"),(0,i.K)(t2,"totalCrossings"),(0,i.K)(t6,"optimizeRanksByCrossings"),(0,i.K)(t5,"adjustCrossLaneSources"),(0,i.K)(t3,"assignLayers_LongestPath"),(0,i.K)(t8,"assignLayers_Gravity"),(0,i.K)(t4,"topoSortByGenerationIfAcyclic"),(0,i.K)(t7,"assignLayers_LaneAwareCompact"),(0,i.K)(t9,"makeProperLayering"),(0,i.K)(ne,"median"),(0,i.K)(nt,"barycenter"),(0,i.K)(nn,"neighborPositionsFor"),(0,i.K)(nr,"currentOrderTieBreak"),(0,i.K)(no,"countCrossingsBetweenAdjacent"),(0,i.K)(nl,"sortByHeuristic"),(0,i.K)(ni,"reorderLayer"),(0,i.K)(na,"transposeImprove"),(0,i.K)(ns,"orderLayers"),(0,i.K)(nf,"assignCoordinates"),(0,i.K)(nd,"hashString"),(0,i.K)(nu,"mulberry32"),(0,i.K)(nh,"deterministicShuffle"),(0,i.K)(ng,"sourceDistance"),(0,i.K)(nc,"laneArrangementCost"),(0,i.K)(np,"buildWeightedLaneEdges"),(0,i.K)(nm,"greedySwitch"),(0,i.K)(nx,"isBetterCandidate"),(0,i.K)(ny,"seedForRestart"),(0,i.K)(nb,"optimizeTopLaneOrder"),(0,i.K)(nM,"sugiyamaLayout"),(0,i.K)(nK,"chooseOrthogonalSide");var nI=(0,i.K)(e=>"number"==typeof e&&Number.isFinite(e)&&e>0,"isDrawableSize");function nw(e,t){let n=e.metadata?.drawnExtent;return{w:nI(n?.width)?n.width:e.width??t,h:nI(n?.height)?n.height:e.height??t}}function nS(e,t){return 1e-6>Math.abs(e.to-t.from)||1e-6>Math.abs(e.to-t.to)?e.to:e.from}function nv(e,t){return"vertical"===e.orient?{x:e.coord,y:t}:{x:t,y:e.coord}}function nL(e,t){let n=e.nodes??[],r=e.edges??[],o=[];for(let e of r)e.isLayoutOnly||o.push({...e,__originalEdge:e});let l=new Map,a=new Map,s=[],f="LR"===t;for(let e of n)l.set(e.id,e);let u=d(n);for(let e of n.filter(e=>u.isLane(e.id))){let t={id:e.id},r=(0,i.K)(e=>{a.set(e.id,t),n.filter(t=>t.parentId===e.id).forEach(r)},"assignLane");r(e)}let h=c(n),g=n.filter(e=>!e.isGroup&&!e.isEdgeLabel&&!h.has(e.id)).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,o=e.y??0;return{nodeId:e.id,minX:r-t/2-8,maxX:r+t/2+8,minY:o-n/2-8,maxY:o+n/2+8,visualXHalfExtent:f?n/2+8:t/2+8}}),p=(0,i.K)((e,t,n,r)=>{let o=s.find(n=>n.orientation===e&&1>Math.abs(n.coord-t));return o||(o={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},s.push(o)),o.spanMin=Math.min(o.spanMin,n),o.spanMax=Math.max(o.spanMax,r),o},"getOrAddPipe"),m=(0,i.K)((e,t)=>{let{w:n,h:r}=nw(e,10),o=e.x??0,l=e.y??0;switch(t){case"top":return{x:o,y:l-r/2};case"bottom":return{x:o,y:l+r/2};case"left":return{x:o-n/2,y:l};case"right":return{x:o+n/2,y:l}}},"portForSide"),x=(0,i.K)((e,t,n)=>m(e,nK(e,t,n?"bottom":"top")),"getOrthogonalPort"),y=[],b=[],M=new Set,K=(0,i.K)((e,t,n)=>{if(0===y.length)return 0;let r=1e-6>Math.abs(t.y-n.y),o=1e-6>Math.abs(t.x-n.x);if(!r&&!o)return 0;let l=0;if(r){let r=t.y,o=Math.min(t.x,n.x)-1e-6,i=Math.max(t.x,n.x)+1e-6;if(i<=o)return 0;for(let t of y)t.edgeIndex!==e&&"vertical"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}else if(o){let r=t.x,o=Math.min(t.y,n.y)-1e-6,i=Math.max(t.y,n.y)+1e-6;if(i<=o)return 0;for(let t of y)t.edgeIndex!==e&&"horizontal"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}return l},"crossingPenalty"),I=o.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=l.get(e.start),r=l.get(e.end),o=a.get(e.start),i=a.get(e.end),s=o&&i&&o.id!==i.id?1:0;return{idx:t,crossLane:s,dx:n&&r?Math.abs((r.x??0)-(n.x??0)):0,dy:n&&r?Math.abs((r.y??0)-(n.y??0)):0}}).sort((e,t)=>{if(e.crossLane!==t.crossLane)return t.crossLane-e.crossLane;let n=e.dx+e.dy,r=t.dx+t.dy;return Math.abs(n-r)>1?n-r:e.idx-t.idx}).map(e=>e.idx),w=(0,i.K)((e,t,n,r)=>{let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return!!g.find(s=>(!n||s.nodeId!==n)&&(!r||s.nodeId!==r)&&(Math.abs(e.x-t.x)>1e-6?s.minY<e.y&&s.maxY>e.y&&s.maxX>o&&s.minX<l:s.minX<e.x&&s.maxX>e.x&&s.maxY>i&&s.minY<a))},"isSegmentBlocked"),S=new Map,v=new Map;for(let e of o)e.start&&e.end&&e.start!==e.end&&(v.set(e.start,(v.get(e.start)??0)+1),v.set(e.end,(v.get(e.end)??0)+1));let L=(0,i.K)((e,t)=>nK(e,t,"bottom"),"determineSide"),C=new Map;for(let[e,t]of o.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let o=(r.x??0)-(n.x??0),i=(r.y??0)-(n.y??0);C.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:L(n,{x:r.x??0,y:r.y??0}),dstSide:L(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(o),absDy:Math.abs(i),dxSign:Math.sign(o),dySign:Math.sign(i)})}let O=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?0===e.absDx?1/0:e.absDy/e.absDx:0===e.absDy?1/0:e.absDx/e.absDy,"preferenceStrength"),E=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?0===e.dxSign?["right","left"]:[e.dxSign>0?"right":"left"]:0===e.dySign?["bottom","top"]:[e.dySign>0?"bottom":"top"],"secondarySides"),R=(0,i.K)(e=>E(e)[0],"secondarySide"),k=new Map;for(let e of C.values()){let t=`${e.srcId}:${e.srcSide}`;k.has(t)||k.set(t,[]),k.get(t).push(e)}let T=new Map,$=(0,i.K)((e,t)=>`${e}:${t}`,"loadKey");for(let e of C.values())T.set($(e.srcId,e.srcSide),(T.get($(e.srcId,e.srcSide))??0)+1),T.set($(e.dstId,e.dstSide),(T.get($(e.dstId,e.dstSide))??0)+1);for(let e of k.values())if(!(e.length<2)){e.sort((e,t)=>{let n=O(e),r=O(t);return Math.abs(n-r)>1e-9?r-n:e.edgeIdx-t.edgeIdx});for(let t=1;t<e.length;t++){let n=e[t],r=T.get($(n.srcId,n.srcSide))??0,o=E(n).reduce((e,t)=>(T.get($(n.srcId,t))??0)<(T.get($(n.srcId,e))??0)?t:e),l=T.get($(n.srcId,o))??0;l>=r||(T.set($(n.srcId,n.srcSide),r-1),T.set($(n.srcId,o),l+1),n.srcSide=o)}}let F=(0,i.K)(e=>{let t=e?.shape;return"question"===t||"diamond"===t},"isDiamondNode"),A=new Map;for(let e of C.values())A.has(e.dstId)||A.set(e.dstId,new Set),A.get(e.dstId).add(e.dstSide);for(let e of C.values()){if(!F(l.get(e.srcId)))continue;let t=A.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=R(e);if(t.has(n)||(T.get($(e.srcId,n))??0)>0)continue;let r=T.get($(e.srcId,e.srcSide))??0;T.set($(e.srcId,e.srcSide),Math.max(0,r-1)),T.set($(e.srcId,n),1),e.srcSide=n}let N=(0,i.K)(e=>{let t=e?.shape;return"hexagon"===t||"notch-pent"===t},"hasVertexFaces"),B=new Map;for(let e of C.values())B.has(e.srcId)||B.set(e.srcId,new Set),B.get(e.srcId).add(e.srcSide);let z=(0,i.K)(e=>"top"===e.dstSide||"bottom"===e.dstSide?e.dxSign>=0?"left":"right":e.dySign>=0?"top":"bottom","secondaryDstSide");for(let e of C.values()){if(!N(l.get(e.dstId)))continue;let t=B.get(e.dstId);if(!t?.has(e.dstSide))continue;let n=z(e);if(t.has(n)||(T.get($(e.dstId,n))??0)>0)continue;let r=T.get($(e.dstId,e.dstSide))??0;T.set($(e.dstId,e.dstSide),Math.max(0,r-1)),T.set($(e.dstId,n),1),e.dstSide=n;let o=e.dySign>=0?"bottom":"top";if(("top"===n||"bottom"===n)&&A.get(e.srcId)?.has(e.srcSide)&&!A.get(e.srcId)?.has(o)&&(T.get($(e.srcId,o))??0)===0){let t=T.get($(e.srcId,e.srcSide))??0;T.set($(e.srcId,e.srcSide),Math.max(0,t-1)),T.set($(e.srcId,o),1),e.srcSide=o}}for(let e of C.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:o,dstSide:i}=e,a=l.get(n),s=l.get(r),f=`${n}:${o}:src`,d="top"===o||"bottom"===o?s.x??0:s.y??0;S.has(f)||S.set(f,[]),S.get(f).push({edgeIdx:t,oppositeCoord:d});let u=`${r}:${i}:dst`,h="top"===i||"bottom"===i?a.x??0:a.y??0;S.has(u)||S.set(u,[]),S.get(u).push({edgeIdx:t,oppositeCoord:h})}let P=new Map;for(let[e,t]of S){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(":"),r=n.slice(0,-2).join(":"),o=n[n.length-2],i=n[n.length-1],a=l.get(r);if(!a)continue;let s="left"===o||"right"===o,f=nw(a,10),d=s?f.h:f.w,u=a.shape,h="question"===u||"diamond"===u?.3*d:d,g=Math.min(20,h/(t.length-1),Math.max(8,h/(t.length+1))),c=-(g*(t.length-1))/2;for(let[e,n]of t.entries()){let t=c+e*g,r=`${n.edgeIdx}:${i}`;P.set(r,t)}}let X=(0,i.K)(e=>!!o[e]?.labelNodeId,"edgeHasLabelNode"),Y=(0,i.K)((e,t)=>!!e&&((S.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>X(e))||(S.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>X(e))),"faceHasLabelNode"),D=(0,i.K)((e,t,n)=>"top"===t||"bottom"===t?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},"applyPortOffset"),G=(0,i.K)((e,t,n)=>{let r=C.get(e),o={x:n.x??0,y:n.y??0},l={x:t.x??0,y:t.y??0},i=r?.srcSide??L(t,o),a=r?.dstSide??L(n,l),s=r?m(t,r.srcSide):x(t,o,!0),f=r?m(n,r.dstSide):x(n,l,!1),d=P.get(`${e}:src`),u=P.get(`${e}:dst`);return void 0!==d&&(s=D(s,i,d)),void 0!==u&&(f=D(f,a,u)),{pSrcPort:s,pDstPort:f,srcSide:i,dstSide:a}},"portsForEdge");for(let e of I){let t=o[e];if(b[e]=[],!t.start||!t.end||t.points&&t.points.length>0||t.start===t.end)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let{pSrcPort:a,pDstPort:d,srcSide:u,dstSide:h}=G(e,n,r),c={...a},m={...d},x="top"===u||"bottom"===u,I="top"===h||"bottom"===h;x?c.y=a.y>(n.y??0)?a.y+20:a.y-20:c.x=a.x>(n.x??0)?a.x+20:a.x-20,I?m.y=d.y>(r.y??0)?d.y+20:d.y-20:m.x=d.x>(r.x??0)?d.x+20:d.x-20;let L=(0,i.K)((e,t)=>{for(let n of g)if(!t.includes(n.nodeId)&&e.x>n.minX&&e.x<n.maxX&&e.y>n.minY&&e.y<n.maxY)return{inside:!0,obstacle:n};return{inside:!1}},"isPointInObstacle"),C=(0,i.K)((e,t,n,r,o)=>{if(o){let o=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+15:r.minX-15,y:o?r.maxY+15:r.minY-15,leavesPositiveSide:o}}let l=e.x>(t.x??0),i=(n.y??0)>=e.y;return{x:l?r.maxX+15:r.minX-15,y:i?r.maxY+15:r.minY-15,leavesPositiveSide:l}},"obstacleDetour"),O=[],E=[t.start,t.end],R=L(c,E);if(R.inside&&R.obstacle){let e=R.obstacle;if(x){let t=C(a,n,r,e,!0);c.x=t.x,c.y=t.y;let o=t.leavesPositiveSide?Math.min(e.minY-2,a.y+20):Math.max(e.maxY+2,a.y-20);O=[{x:a.x,y:o},{x:t.x,y:o},{x:t.x,y:t.y}]}else{let t=C(a,n,r,e,!1),o=t.leavesPositiveSide?Math.min(e.minX-2,a.x+20):Math.max(e.maxX+2,a.x-20);c.x=t.x,c.y=t.y,O=[{x:o,y:a.y},{x:o,y:t.y},{x:t.x,y:t.y}]}}let k=[],T=L(m,E);if(T.inside&&T.obstacle){let e=T.obstacle;if(I){let t=C(d,r,n,e,!0);m.x=t.x,m.y=t.y,k=[{x:t.x,y:t.y},{x:d.x,y:t.y}]}else{let t=C(d,r,n,e,!1);m.x=t.x,m.y=t.y,k=[{x:t.x,y:t.y},{x:t.x,y:d.y}]}}if(0===O.length&&0===k.length){let n=15>Math.abs(c.x-m.x),r=15>Math.abs(c.y-m.y),o=void 0!==P.get(`${e}:src`)||void 0!==P.get(`${e}:dst`),l=(S.get(`${t.start??""}:${u}:src`)?.length??0)+(S.get(`${t.start??""}:${u}:dst`)?.length??0),i=(S.get(`${t.end??""}:${h}:src`)?.length??0)+(S.get(`${t.end??""}:${h}:dst`)?.length??0),s=l>1||i>1,f=v.get(t.start??"")??0,g=v.get(t.end??"")??0,p=l>1&&Y(t.start,u)||i>1&&Y(t.end,h),x=l<=1||f<=2,b=i<=1||g<=2,K=s&&!p&&x&&b;if((n||r)&&!o&&(!s||K)&&!w(a,d,t.start,t.end)){t.points=[{...a},{...c},{...m},{...d}],M.add(e);let n=r?"horizontal":"vertical",o=r?a.y:a.x,l=r?Math.min(a.x,d.x):Math.min(a.y,d.y),i=r?Math.max(a.x,d.x):Math.max(a.y,d.y),s={id:`fast-path-${n}-${o.toFixed(0)}-${e}`,orientation:n,coord:o,spanMin:l,spanMax:i,tracks:[]};y.push({edgeIndex:e,segmentIndex:0,orientation:n,pipe:s,trackIndex:0,from:l,to:i});continue}}let $=p("vertical",c.x,c.y,c.y);c.x=$.coord;let F=p("vertical",m.x,m.y,m.y);m.x=F.coord;let A=Math.min(c.x,m.x)-50,N=Math.max(c.x,m.x)+50,B=Math.min(c.y,m.y)-50,z=Math.max(c.y,m.y)+50;for(let e of g){let t=Math.min(c.x,m.x),n=Math.max(c.x,m.x),r=Math.min(c.y,m.y),o=Math.max(c.y,m.y);e.minX<n&&e.maxX>t&&e.minY<o&&e.maxY>r&&(A=Math.min(A,e.minX-25),N=Math.max(N,e.maxX+25),B=Math.min(B,e.minY-25),z=Math.max(z,e.maxY+25))}for(let e of g)e.maxX<A||e.minX>N||e.maxY<B||e.minY>z||(p("horizontal",e.minY-15,A,N),p("horizontal",e.maxY+15,A,N),p("vertical",e.minX-15,B,z),p("vertical",e.maxX+15,B,z));p("horizontal",c.y,A,N),p("horizontal",m.y,A,N);let X=s.filter(e=>"horizontal"===e.orientation&&e.coord>=B&&e.coord<=z),D=s.filter(e=>"vertical"===e.orientation&&e.coord>=A&&e.coord<=N),_=(0,i.K)((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,"getKey"),H=_(c.x,c.y),j=_(m.x,m.y),V=new Map,U=new Map,W=new Map,Z=new Set,q=[];V.set(H,0),W.set(H,"n"),q.push({key:H,f:Math.hypot(m.x-c.x,m.y-c.y),pt:c}),Z.add(H);let J=[],Q=(0,i.K)((e,n)=>w(e,n,t.start,t.end),"checkSegmentBlocked"),ee={x:m.x,y:c.y},et=Q(c,ee),en=Q(ee,m),er=et||en,eo={x:c.x,y:m.y},el=Q(c,eo),ei=Q(eo,m),ea=el||ei;if(er?ea||(J=1e-6>Math.abs(c.x-m.x)?[c,m]:[c,eo,m]):J=1e-6>Math.abs(c.y-m.y)||1e-6>Math.abs(c.x-m.x)?[c,m]:[c,ee,m],0===J.length)for(;q.length>0;){q.sort((e,t)=>e.f-t.f);let n=q.shift();if(Z.delete(n.key),n.key===j){let e=j,t=m;for(J=[t];U.has(e);){let n=U.get(e);J.unshift(n),t=n,e=_(n.x,n.y)}break}let r=n.pt.x,o=n.pt.y,l=D.sort((e,t)=>e.coord-t.coord),i=l.findIndex(e=>1>Math.abs(e.coord-r)),a=X.sort((e,t)=>e.coord-t.coord),s=a.findIndex(e=>1>Math.abs(e.coord-o)),f=[];for(let d of(i>0&&f.push({x:l[i-1].coord,y:o}),i>=0&&i<l.length-1&&f.push({x:l[i+1].coord,y:o}),s>0&&f.push({x:r,y:a[s-1].coord}),s>=0&&s<a.length-1&&f.push({x:r,y:a[s+1].coord}),f)){let l=Math.min(r,d.x),i=Math.max(r,d.x),a=Math.min(o,d.y),s=Math.max(o,d.y);if(g.some(e=>e.nodeId!==t.start&&e.nodeId!==t.end&&(l!==i?e.minY<o&&e.maxY>o&&e.maxX>l&&e.minX<i:e.minX<r&&e.maxX>r&&e.maxY>a&&e.minY<s)))continue;let f=_(d.x,d.y),u=Math.abs(d.x-r)+Math.abs(d.y-o),h=K(e,n.pt,d),p=0,x=m.x-c.x,y=m.y-c.y,b=d.x-r,M=d.y-o;(y>10&&M<-5||y<-10&&M>5)&&(p=100*Math.abs(M)),(x>10&&b<-5||x<-10&&b>5)&&(p+=50*Math.abs(b));let I=0,w=W.get(n.key)??"n",S=Math.abs(b)>1e-6?"h":"v";"n"!==w&&w!==S&&(I=50);let v=u+h+p+I,L=(V.get(n.key)??1/0)+v,C=Math.abs(m.x-d.x)+Math.abs(m.y-d.y);if(L<(V.get(f)??1/0))if(U.set(f,n.pt),V.set(f,L),W.set(f,S),Z.has(f)){let e=q.findIndex(e=>e.key===f);-1!==e&&(q[e].f=L+C)}else q.push({key:f,f:L+C,pt:d}),Z.add(f)}}if(0===J.length&&(J=[c,{x:c.x,y:m.y},m]),J.length>4){let e=J[0],t=J[J.length-1],n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y);for(let e of J)n=Math.min(n,e.x),r=Math.max(r,e.x),o=Math.min(o,e.y),l=Math.max(l,e.y);let a=r>Math.max(e.x,t.x),s=n<Math.min(e.x,t.x);if(f){if(a){let n=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y),i=g.filter(e=>e.minX<n&&e.maxX>n&&e.minY<l&&e.maxY>o);if(i.length>0){let n=Math.max(e.x,t.x);for(let e of i){let t=(e.minX+e.maxX)/2;void 0===e.visualXHalfExtent||isNaN(e.visualXHalfExtent)||(n=Math.max(n,t+e.visualXHalfExtent+15))}isNaN(n)||(r=n)}}if(s){let r=g.filter(n=>n.minX<Math.min(e.x,t.x)+15&&n.minY<Math.max(e.y,t.y)&&n.maxY>Math.min(e.y,t.y));if(r.length>0){let o=Math.min(e.x,t.x);for(let e of r)o=Math.min(o,(e.minX+e.maxX)/2-e.visualXHalfExtent-15);n=o}}}let d=(0,i.K)(n=>{let r=t.y>e.y,o=g.filter(n=>{let r=Math.min(e.x,t.x)<n.maxX&&Math.max(e.x,t.x)>n.minX,o=Math.min(e.y,t.y)<n.maxY&&Math.max(e.y,t.y)>n.minY;return r&&o}),l=o;if(f&&o.length>0){let e=o.filter(e=>e.minX<n&&e.maxX>n);e.length>0&&(l=e)}if(0===l.length)return t.y;if(r){let e=Math.max(...l.map(e=>e.maxY))+15;if(e<t.y-1e-6)return e}else{let e=Math.min(...l.map(e=>e.minY))-15;if(e>t.y+1e-6)return e}return t.y},"findBestReturnY"),u=(0,i.K)(n=>{let r=d(n),o={x:n,y:e.y},l={x:n,y:r},i={x:t.x,y:r},a=Q(e,o),s=Q(o,l),f=Q(l,i),u=r!==t.y&&Q(i,t);return a||s||f||u?null:1e-6>Math.abs(r-t.y)?[e,o,l,t]:[e,o,l,i,t]},"trySimplifyWithDetourX"),h=a&&!s?u(r):s&&!a?u(n):null;h&&(J=h)}let es=[a,...O,...J,...k.reverse(),d];if(es.length>=3){let e=es[es.length-1],t=es[es.length-2],n=es[es.length-3],r=1e-6>Math.abs(n.y-t.y)&&1e-6>Math.abs(t.y-e.y),o=1e-6>Math.abs(n.x-t.x)&&1e-6>Math.abs(t.x-e.x);if(r){let r=Math.sign(t.x-n.x),o=Math.sign(e.x-n.x);0!==r&&r===o&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&es.splice(-2,1)}else if(o){let r=Math.sign(t.y-n.y),o=Math.sign(e.y-n.y);0!==r&&r===o&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&es.splice(-2,1)}}let ef=[es[0]];for(let e=1;e<es.length-1;e++){if(1===e){ef.push(es[e]);continue}let t=ef[ef.length-1],n=es[e],r=es[e+1];if(1e-6>Math.abs(t.y-n.y)&&1e-6>Math.abs(n.y-r.y)){n.x>t.x!=r.x>n.x&&ef.push(n);continue}if(1e-6>Math.abs(t.x-n.x)&&1e-6>Math.abs(n.x-r.x)){n.y>t.y!=r.y>n.y&&ef.push(n);continue}ef.push(n)}ef.push(es[es.length-1]);for(let t=0;t<ef.length-1;t++){let n=ef[t],r=ef[t+1],o=1e-6>Math.abs(n.x-r.x)?"vertical":"horizontal",l="vertical"===o?n.x:n.y,i="vertical"===o?Math.min(n.y,r.y):Math.min(n.x,r.x),a="vertical"===o?Math.max(n.y,r.y):Math.max(n.x,r.x),s=p(o,l,i,a),f={edgeIndex:e,segmentIndex:t,orientation:o,pipe:s,trackIndex:0,from:i,to:a};y.push(f),b[e].push(y.length-1),s.tracks[0]||(s.tracks[0]={index:0,coord:s.coord,segments:[]}),s.tracks[0].segments.push({edgeIndex:e,segmentIndex:t,from:i,to:a})}}let _=(0,i.K)((e,t)=>e.from<t.to&&t.from<e.to,"segmentsOverlap"),H=(0,i.K)((e,t,n,r)=>{let o=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&_(n,e)),l=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&_(n,t));return!!o&&!!l&&(e.trackIndex=r.index,t.trackIndex=n.index,n.segments=[...n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),{edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,from:t.from,to:t.to}],r.segments=[...r.segments.filter(e=>e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex),{edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to}],!0)},"trySwapSegmentsAcrossTracks"),j=(0,i.K)(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},"createNewTrack"),V=(0,i.K)((e,t)=>{let n=e.pipe.tracks[e.trackIndex];n.segments=n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),e.trackIndex=t,e.pipe.tracks[t].segments.push({edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to})},"moveSegmentToTrack"),U=(0,i.K)((e,t)=>{for(let n of b[e.edgeIndex]){let r=y[n];r.pipe===e.pipe&&V(r,t)}},"moveSegmentChainToTrack"),W=(0,i.K)(e=>{let t=b[e.edgeIndex],n=t.indexOf(y.indexOf(e)),r=[];return n>0&&r.push(y[t[n-1]]),n<t.length-1&&r.push(y[t[n+1]]),r},"getAdjacentSegmentsAlongEdge"),Z=(0,i.K)((e,t)=>{if(e.orientation===t.orientation)return!1;let n="horizontal"===e.orientation?e:t,r="horizontal"===e.orientation?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},"haveAnyCrossing"),q=(0,i.K)((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&_(e,t)))return n.index;return -1},"findAvailableTrack"),J=(0,i.K)((e,t)=>{if(e.trackIndex===t.trackIndex)return _(e,t);let n=W(e),r=W(t);return n.some(e=>r.some(t=>Z(e,t)))},"segmentsConflict"),Q=(0,i.K)((e,t,n)=>{if(H(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=q(e.pipe,t);n(t,-1!==r?r:j(e.pipe))},"resolveTrackConflict"),ee=(0,i.K)(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let o=e[n],l=e[r];o.pipe===l.pipe&&J(o,l)&&(t++,Q(o,l,U))}return t},"resolveHandleConflicts"),et=new Map,en=(0,i.K)(e=>{if(et.has(e))return et.get(e);let t=b[e];if(0===t.length){let t={dest:0,deviation:0,base:0,delta:0};return et.set(e,t),t}let n=y[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let o=y[t[e]];if("horizontal"===o.orientation){let e=o.from,t=o.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let o=Math.abs(r-n),l={dest:r,deviation:o,base:n,delta:r-n};return et.set(e,l),l},"getDestInfo"),er=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==b[e].length&&n.start&&(t.has(n.start)||t.set(n.start,[]),t.get(n.start).push(e));let n=(0,i.K)(e=>{let t=o[e];if(!t.start||!t.end)return 0;let n=l.get(t.start),r=l.get(t.end);return n&&r?Math.abs((r.x??0)-(n.x??0))+Math.abs((r.y??0)-(n.y??0)):0},"getEdgeDistance");for(let r of t.values())r.sort((e,t)=>{let r=en(e),o=en(t);if(Math.abs(r.deviation-o.deviation)>1)return r.deviation-o.deviation;if(Math.abs(r.dest-o.dest)>1)return r.dest-o.dest;let l=n(e),i=n(t);if(Math.abs(l-i)>1)return i-l;let a=b[e].length,s=b[t].length;if(a!==s)return a-s;if(1===a){let n=b[e][0],r=b[t][0];if(y[n]&&y[r]){let e=y[n],t=y[r],o=Math.abs(e.to-e.from),l=Math.abs(t.to-t.from);if(Math.abs(o-l)>1)return o-l}}return 0}),e+=ee(r.map(e=>y[b[e][0]]));return e},"fixSourceHandleCrossings"),eo=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==b[e].length&&n.end&&(t.has(n.end)||t.set(n.end,[]),t.get(n.end).push(e));for(let n of t.values())n.sort((e,t)=>{let n=(0,i.K)(e=>{let t=b[e];if(t.length<2)return 0;let n=y[t[t.length-2]];return Math.abs(n.to-n.from)},"getDist"),r=n(e),o=n(t);return Math.abs(r-o)>.1?r-o:e-t}),e+=ee(n.map(e=>y[b[e][b[e].length-1]]));return e},"fixTargetHandleCrossings"),el=(0,i.K)(()=>{let e=0;for(let t of s){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=b[t.edgeIndex].find(e=>y[e].segmentIndex===t.segmentIndex);void 0!==e&&n.push(y[e])}n.sort((e,t)=>e.edgeIndex-t.edgeIndex||e.segmentIndex-t.segmentIndex);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let o=n[t],l=n[r];J(o,l)&&(e++,Q(o,l,V))}}return e},"fixPipeCrossings"),ei=0;for(;ei<10&&0!==0+er()+eo()+el();){;ei++}let ea=new Map;for(let e of s){let t=[];e.tracks.forEach(e=>{e.segments.forEach(n=>{t.push({edgeIndex:n.edgeIndex,segmentIndex:n.segmentIndex,trackIndex:e.index,from:n.from,to:n.to})})}),t.sort((e,t)=>e.from-t.from);let n=[];if(t.length>0){let e=[t[0]],r=t[0].to;for(let o=1;o<t.length;o++){let l=t[o];l.from<r?(e.push(l),r=Math.max(r,l.to)):(n.push(e),e=[l],r=l.to)}n.push(e)}for(let t of n){let n=new Set;t.forEach(e=>n.add(e.trackIndex));let r=new Map;t.forEach(e=>{let t=en(e.edgeIndex);r.set(e.trackIndex,(r.get(e.trackIndex)??0)+t.delta)});let o=[...n].filter(e=>(r.get(e)??0)<-1),l=[...n].filter(e=>(r.get(e)??0)>1),a=[...n].filter(e=>1>=Math.abs(r.get(e)??0));o.sort((e,t)=>(r.get(t)??0)-(r.get(e)??0)),l.sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));let s=(0,i.K)((n,r)=>{t.filter(e=>e.trackIndex===n).forEach(t=>{let n=M.has(t.edgeIndex)?e.coord:r;ea.set(`${t.edgeIndex}-${t.segmentIndex}`,n)})},"assignCoord"),f=0;for(let t of o)f++,s(t,e.coord-10*f);if(0===a.length&&n.size>0){let e=[...n].sort((e,t)=>Math.abs(r.get(e)??0)-Math.abs(r.get(t)??0))[0],t=o.indexOf(e);-1!==t&&o.splice(t,1);let i=l.indexOf(e);-1!==i&&l.splice(i,1),a.push(e)}let d=0;for(let t of a){if(0===d)s(t,e.coord);else{let n=d%2==1?1:-1,r=Math.ceil(d/2);s(t,e.coord+n*r*5)}d++}let u=0;for(let t of l)u++,s(t,e.coord+10*u)}}for(let[e,t]of o.entries()){let n=b[e]??[];if(0===n.length)continue;let r=[],{pSrcPort:o,pDstPort:i}=G(e,l.get(t.start),l.get(t.end)),a=n.map(e=>{let t=y[e],n=ea.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(o);for(let e=0;e<a.length;e++){let t=a[e],n=r[r.length-1],o="vertical"===t.orient?n.y:n.x,l="vertical"===t.orient?n.x:n.y,i=a[e+1],s=e<a.length-1;if(Math.abs(l-t.coord)>1e-6&&r.push(nv(t,o)),s&&i.orient===t.orient)if(Math.abs(t.coord-i.coord)>1e-6){let e="vertical"===t.orient?(o+i.from)/2:nS(t,i);r.push(nv(t,e),nv(i,e))}else(0===e||e===a.length-2)&&r.push(nv(t,nS(t,i)));else if(s)r.push(nv(t,i.coord));else{let e=Math.abs(t.from-o)<Math.abs(t.to-o)?t.to:t.from;r.push(nv(t,e))}}let s=r[r.length-1];(Math.abs(s.x-i.x)>1e-6||Math.abs(s.y-i.y)>1e-6)&&r.push(i);let f=r[0];f&&(Math.abs(f.x-o.x)>1e-6||Math.abs(f.y-o.y)>1e-6)&&r.unshift(o);let d=[];r.length>0&&d.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=d[d.length-1];(Math.abs(t.x-n.x)>1e-6||Math.abs(t.y-n.y)>1e-6)&&d.push(t)}t.points=d}for(let e of o){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}e.edges=(e.edges??[]).filter(e=>!e.isLayoutOnly);let es=(0,i.K)((e,t)=>{let n=t.x??0,r=t.y??0,{w:o,h:l}=nw(t,0);if(o<=0||l<=0)return e;let i=n-o/2,a=n+o/2,s=r-l/2,f=r+l/2;if(e.x<i||e.x>a||e.y<s||e.y>f)return e;let d=e.x-i,u=a-e.x,h=e.y-s,g=Math.min(d,u,h,f-e.y);return g===d?{x:i,y:e.y}:g===u?{x:a,y:e.y}:g===h?{x:e.x,y:s}:{x:e.x,y:f}},"nodeBoundaryClamp");for(let t of e.edges){let e=t.points;if(!e||e.length<2)continue;let n=t.start,r=t.end,o=n?l.get(n):void 0,i=r?l.get(r):void 0;o&&(e[0]=es(e[0],o)),i&&(e[e.length-1]=es(e[e.length-1],i))}return e}function nC(e){return e.direction??"TB"}function nO(e){let t=$(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,o=e.config.swimlane?.ignoreCrossLaneEdges??!0,l=e.config.swimlane?.optimizeRanksByCrossings??!0,i=e.config.swimlane?.automaticLaneOrdering??!1,a=nC(e),{ordered:s,coordinates:f}=nM(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:o,optimizeRanksByCrossings:l,automaticLaneOrdering:i,direction:a});for(let o of(A(t,s,f,{nodeGap:n,layerGap:r}),e.edges??[]))delete o.points;for(let t of(nL(e,a),e.edges??[]))t.curve&&"basis"!==t.curve||(t.curve="rounded");return tv(e,a),tS(e),a}function nE(e){T(e);let t=N(e);e.nodes=t.nodes,e.edges=t.edges}(0,i.K)(nw,"drawnSize"),(0,i.K)(nS,"sharedLineEndpointCoord"),(0,i.K)(nv,"pointOnLine"),(0,i.K)(nL,"routeEdgesOrthogonal"),(0,i.K)(nC,"getSwimlaneDirection"),(0,i.K)(nO,"runSwimlaneLayoutCore"),(0,i.K)(nE,"prepareSwimlaneLayout");var nR=(0,o.xY)({prepareLayout:nE,runLayoutCore:nO,afterPaint:a})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7423],{29673:(t,e,n)=>{var r;function i(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function a(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function u(t){let e,n,r;function u(t,r,i=0,a=t.length){if(i<a){if(0!==e(r,r))return a;do{let e=i+a>>>1;0>n(t[e],r)?i=e+1:a=e}while(i<a)}return i}return 2!==t.length?(e=i,n=(e,n)=>i(t(e),n),r=(e,n)=>t(e)-n):(e=t===i||t===a?t:o,n=t,r=t),{left:u,center:function(t,e,n=0,i=t.length){let a=u(t,e,n,i-1);return a>n&&r(t[a-1],e)>-r(t[a],e)?a-1:a},right:function(t,r,i=0,a=t.length){if(i<a){if(0!==e(r,r))return a;do{let e=i+a>>>1;0>=n(t[e],r)?i=e+1:a=e}while(i<a)}return i}}}function o(){return 0}n.d(e,{Bu:()=>d,T9:()=>C,Zc:()=>b,h1:()=>c,jk:()=>U,lq:()=>w,sG:()=>T,y1:()=>N,yl:()=>u});let l=u(i),c=l.right;function f(t){return function(e,n,r=n){if(!((n*=1)>=0))throw RangeError("invalid rx");if(!((r*=1)>=0))throw RangeError("invalid ry");let{data:i,width:a,height:u}=e;if(!((a=Math.floor(a))>=0))throw RangeError("invalid width");if(!((u=Math.floor(void 0!==u?u:i.length/a))>=0))throw RangeError("invalid height");if(!a||!u||!n&&!r)return e;let o=n&&t(n),l=r&&t(r),c=i.slice();return o&&l?(s(o,c,i,a,u),s(o,i,c,a,u),s(o,c,i,a,u),h(l,i,c,a,u),h(l,c,i,a,u),h(l,i,c,a,u)):o?(s(o,i,c,a,u),s(o,c,i,a,u),s(o,i,c,a,u)):l&&(h(l,i,c,a,u),h(l,c,i,a,u),h(l,i,c,a,u)),e}}function s(t,e,n,r,i){for(let a=0,u=r*i;a<u;)t(e,n,a,a+=r,1)}function h(t,e,n,r,i){for(let a=0,u=r*i;a<r;++a)t(e,n,a,a+u,r)}function g(t){let e=Math.floor(t);if(e===t){var n=t;let e=2*n+1;return(t,r,i,a,u)=>{if(!((a-=u)>=i))return;let o=n*r[i],l=u*n;for(let t=i,e=i+l;t<e;t+=u)o+=r[Math.min(a,t)];for(let n=i,c=a;n<=c;n+=u)o+=r[Math.min(a,n+l)],t[n]=o/e,o-=r[Math.max(i,n-l)]}}let r=t-e,i=2*t+1;return(t,n,a,u,o)=>{if(!((u-=o)>=a))return;let l=e*n[a],c=o*e,f=c+o;for(let t=a,e=a+c;t<e;t+=o)l+=n[Math.min(u,t)];for(let e=a,s=u;e<=s;e+=o)l+=n[Math.min(u,e+c)],t[e]=(l+r*(n[Math.max(a,e-f)]+n[Math.min(u,e+f)]))/i,l-=n[Math.max(a,e-c)]}}l.left,u(function(t){return null===t?NaN:+t}).center,f(g),f(function(t){let e=g(t);return(t,n,r,i,a)=>{e(t,n,(r<<=2)+0,(i<<=2)+0,a<<=2),e(t,n,r+1,i+1,a),e(t,n,r+2,i+2,a),e(t,n,r+3,i+3,a)}});class d extends Map{constructor(t,e=y){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,n]of t)this.set(e,n)}get(t){return super.get(p(this,t))}has(t){return super.has(p(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}(this,t))}}function p({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function y(t){return null!==t&&"object"==typeof t?t.valueOf():t}Array.prototype.slice;let M=Math.sqrt(50),m=Math.sqrt(10),v=Math.sqrt(2);function x(t,e,n){let r,i,a,u=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(u)),l=u/Math.pow(10,o),c=l>=M?10:l>=m?5:l>=v?2:1;return(o<0?(r=Math.round(t*(a=Math.pow(10,-o)/c)),i=Math.round(e*a),r/a<t&&++r,i/a>e&&--i,a=-a):(r=Math.round(t/(a=Math.pow(10,o)*c)),i=Math.round(e/a),r*a<t&&++r,i*a>e&&--i),i<r&&.5<=n&&n<2)?x(t,e,2*n):[r,i,a]}function b(t,e,n){if(e*=1,t*=1,!((n*=1)>0))return[];if(t===e)return[t];let r=e<t,[i,a,u]=r?x(e,t,n):x(t,e,n);if(!(a>=i))return[];let o=a-i+1,l=Array(o);if(r)if(u<0)for(let t=0;t<o;++t)l[t]=-((a-t)/u);else for(let t=0;t<o;++t)l[t]=(a-t)*u;else if(u<0)for(let t=0;t<o;++t)l[t]=-((i+t)/u);else for(let t=0;t<o;++t)l[t]=(i+t)*u;return l}function w(t,e,n){return x(t*=1,e*=1,n*=1)[2]}function T(t,e,n){e*=1,t*=1,n*=1;let r=e<t,i=r?w(e,t,n):w(t,e,n);return(r?-1:1)*(i<0?-(1/i):i)}function C(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function U(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function N(t,e,n){t*=1,e*=1,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=Array(i);++r<i;)a[r]=t+r*n;return a}r=Math.random},34098:(t,e,n)=>{function r(t,e){if(!isFinite(t)||0===t)return null;var n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function i(t){return(t=r(Math.abs(t)))?t[1]:NaN}n.d(e,{GP:()=>o,Gp:()=>f,Pj:()=>v,RT:()=>M,dT:()=>m,s:()=>l});var a,u,o,l,c=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function f(t){var e;if(!(e=c.exec(t)))throw Error("invalid format: "+t);return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function h(t,e){var n=r(t,e);if(!n)return t+"";var i=n[0],a=n[1];return a<0?"0."+Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+Array(a-i.length+2).join("0")}f.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var g={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>h(100*t,e),r:h,s:function(t,e){var n=r(t,e);if(!n)return a=void 0,t.toPrecision(e);var i=n[0],u=n[1],o=u-(a=3*Math.max(-8,Math.min(8,Math.floor(u/3))))+1,l=i.length;return o===l?i:o>l?i+Array(o-l+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+Array(1-o).join("0")+r(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function d(t){return t}var p=Array.prototype.map,y=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function M(t){return Math.max(0,-i(Math.abs(t)))}function m(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(i(e)/3)))-i(Math.abs(t)))}function v(t,e){return Math.max(0,i(e=Math.abs(e)-(t=Math.abs(t)))-i(t))+1}o=(u=function(t){var e,n,r,u=void 0===t.grouping||void 0===t.thousands?d:(e=p.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],u=0,o=e[0],l=0;i>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),a.push(t.substring(i-=o,i+o)),!((l+=o+1)>r));)o=e[u=(u+1)%e.length];return a.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",c=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?d:(r=p.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return r[+t]})}),h=void 0===t.percent?"%":t.percent+"",M=void 0===t.minus?"−":t.minus+"",m=void 0===t.nan?"NaN":t.nan+"";function v(t,e){var n=(t=f(t)).fill,r=t.align,i=t.sign,d=t.symbol,p=t.zero,v=t.width,x=t.comma,b=t.precision,w=t.trim,T=t.type;"n"===T?(x=!0,T="g"):g[T]||(void 0===b&&(b=12),w=!0,T="g"),(p||"0"===n&&"="===r)&&(p=!0,n="0",r="=");var C=(e&&void 0!==e.prefix?e.prefix:"")+("$"===d?o:"#"===d&&/[boxX]/.test(T)?"0"+T.toLowerCase():""),U=("$"===d?l:/[%p]/.test(T)?h:"")+(e&&void 0!==e.suffix?e.suffix:""),N=g[T],D=/[defgprs%]/.test(T);function k(t){var e,o,l,f=C,h=U;if("c"===T)h=N(t)+h,t="";else{var g=(t*=1)<0||1/t<0;if(t=isNaN(t)?m:N(Math.abs(t),b),w&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),g&&0==+t&&"+"!==i&&(g=!1),f=(g?"("===i?i:M:"-"===i||"("===i?"":i)+f,h=("s"!==T||isNaN(t)||void 0===a?"":y[8+a/3])+h+(g&&"("===i?")":""),D){for(e=-1,o=t.length;++e<o;)if(48>(l=t.charCodeAt(e))||l>57){h=(46===l?c+t.slice(e+1):t.slice(e))+h,t=t.slice(0,e);break}}}x&&!p&&(t=u(t,1/0));var d=f.length+t.length+h.length,k=d<v?Array(v-d+1).join(n):"";switch(x&&p&&(t=u(k+t,k.length?v-h.length:1/0),k=""),r){case"<":t=f+t+h+k;break;case"=":t=f+k+t+h;break;case"^":t=k.slice(0,d=k.length>>1)+f+t+h+k.slice(d);break;default:t=k+f+t+h}return s(t)}return b=void 0===b?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),k.toString=function(){return t+""},k}return{format:v,formatPrefix:function(t,e){var n=3*Math.max(-8,Math.min(8,Math.floor(i(e)/3))),r=Math.pow(10,-n),a=v(((t=f(t)).type="f",t),{suffix:y[8+n/3]});return function(t){return a(r*t)}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,l=u.formatPrefix},36835:(t,e,n)=>{n.d(e,{DC:()=>i});var r,i,a,u,o=n(91606);function l(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var s={"-":"",_:" ",0:"0"},h=/^\s*\d+/,g=/^%/,d=/[\\^$*+?|[\]().{}]/g;function p(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?Array(n-a+1).join(e)+i:i)}function y(t){return t.replace(d,"\\$&")}function M(t){return RegExp("^(?:"+t.map(y).join("|")+")","i")}function m(t){return new Map(t.map((t,e)=>[t.toLowerCase(),e]))}function v(t,e,n){var r=h.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function x(t,e,n){var r=h.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function b(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function w(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function T(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function C(t,e,n){var r=h.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function U(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function N(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function D(t,e,n){var r=h.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function k(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function A(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function $(t,e,n){var r=h.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Y(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function F(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function S(t,e,n){var r=h.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function H(t,e,n){var r=h.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function q(t,e,n){var r=h.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function j(t,e,n){var r=g.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function E(t,e,n){var r=h.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function X(t,e,n){var r=h.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function L(t,e){return p(t.getDate(),e,2)}function R(t,e){return p(t.getHours(),e,2)}function I(t,e){return p(t.getHours()%12||12,e,2)}function P(t,e){return p(1+o.UA.count((0,o.he)(t),t),e,3)}function O(t,e){return p(t.getMilliseconds(),e,3)}function G(t,e){return O(t,e)+"000"}function W(t,e){return p(t.getMonth()+1,e,2)}function Z(t,e){return p(t.getMinutes(),e,2)}function B(t,e){return p(t.getSeconds(),e,2)}function z(t){var e=t.getDay();return 0===e?7:e}function Q(t,e){return p(o.YP.count((0,o.he)(t)-1,t),e,2)}function V(t){var e=t.getDay();return e>=4||0===e?(0,o.Mo)(t):o.Mo.ceil(t)}function _(t,e){return t=V(t),p(o.Mo.count((0,o.he)(t),t)+(4===(0,o.he)(t).getDay()),e,2)}function J(t){return t.getDay()}function K(t,e){return p(o.AB.count((0,o.he)(t)-1,t),e,2)}function tt(t,e){return p(t.getFullYear()%100,e,2)}function te(t,e){return p((t=V(t)).getFullYear()%100,e,2)}function tn(t,e){return p(t.getFullYear()%1e4,e,4)}function tr(t,e){var n=t.getDay();return p((t=n>=4||0===n?(0,o.Mo)(t):o.Mo.ceil(t)).getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+p(e/60|0,"0",2)+p(e%60,"0",2)}function ta(t,e){return p(t.getUTCDate(),e,2)}function tu(t,e){return p(t.getUTCHours(),e,2)}function to(t,e){return p(t.getUTCHours()%12||12,e,2)}function tl(t,e){return p(1+o.dA.count((0,o.Mb)(t),t),e,3)}function tc(t,e){return p(t.getUTCMilliseconds(),e,3)}function tf(t,e){return tc(t,e)+"000"}function ts(t,e){return p(t.getUTCMonth()+1,e,2)}function th(t,e){return p(t.getUTCMinutes(),e,2)}function tg(t,e){return p(t.getUTCSeconds(),e,2)}function td(t){var e=t.getUTCDay();return 0===e?7:e}function tp(t,e){return p(o.Hl.count((0,o.Mb)(t)-1,t),e,2)}function ty(t){var e=t.getUTCDay();return e>=4||0===e?(0,o.pT)(t):o.pT.ceil(t)}function tM(t,e){return t=ty(t),p(o.pT.count((0,o.Mb)(t),t)+(4===(0,o.Mb)(t).getUTCDay()),e,2)}function tm(t){return t.getUTCDay()}function tv(t,e){return p(o.rt.count((0,o.Mb)(t)-1,t),e,2)}function tx(t,e){return p(t.getUTCFullYear()%100,e,2)}function tb(t,e){return p((t=ty(t)).getUTCFullYear()%100,e,2)}function tw(t,e){return p(t.getUTCFullYear()%1e4,e,4)}function tT(t,e){var n=t.getUTCDay();return p((t=n>=4||0===n?(0,o.pT)(t):o.pT.ceil(t)).getUTCFullYear()%1e4,e,4)}function tC(){return"+0000"}function tU(){return"%"}function tN(t){return+t}function tD(t){return Math.floor(t/1e3)}i=(r=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,u=t.shortDays,h=t.months,g=t.shortMonths,d=M(i),p=m(i),y=M(a),V=m(a),ty=M(u),tk=m(u),tA=M(h),t$=m(h),tY=M(g),tF=m(g),tS={a:function(t){return u[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return g[t.getMonth()]},B:function(t){return h[t.getMonth()]},c:null,d:L,e:L,f:G,g:te,G:tr,H:R,I:I,j:P,L:O,m:W,M:Z,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:tN,s:tD,S:B,u:z,U:Q,V:_,w:J,W:K,x:null,X:null,y:tt,Y:tn,Z:ti,"%":tU},tH={a:function(t){return u[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return g[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:ta,e:ta,f:tf,g:tb,G:tT,H:tu,I:to,j:tl,L:tc,m:ts,M:th,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:tN,s:tD,S:tg,u:td,U:tp,V:tM,w:tm,W:tv,x:null,X:null,y:tx,Y:tw,Z:tC,"%":tU},tq={a:function(t,e,n){var r=ty.exec(e.slice(n));return r?(t.w=tk.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.w=V.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=tY.exec(e.slice(n));return r?(t.m=tF.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=tA.exec(e.slice(n));return r?(t.m=t$.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return tX(t,e,n,r)},d:A,e:A,f:q,g:U,G:C,H:Y,I:Y,j:$,L:H,m:k,M:F,p:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.p=p.get(r[0].toLowerCase()),n+r[0].length):-1},q:D,Q:E,s:X,S:S,u:x,U:b,V:w,w:v,W:T,x:function(t,e,r){return tX(t,n,e,r)},X:function(t,e,n){return tX(t,r,e,n)},y:U,Y:C,Z:N,"%":j};function tj(t,e){return function(n){var r,i,a,u=[],o=-1,l=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++o<c;)37===t.charCodeAt(o)&&(u.push(t.slice(l,o)),null!=(i=s[r=t.charAt(++o)])?r=t.charAt(++o):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),u.push(r),l=o+1);return u.push(t.slice(l,o)),u.join("")}}function tE(t,e){return function(n){var r,i,a=f(1900,void 0,1);if(tX(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(!e||"Z"in a||(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=(r=c(f(a.y,0,1))).getUTCDay())>4||0===i?o.rt.ceil(r):(0,o.rt)(r),r=o.dA.offset(r,(a.V-1)*7),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(r=(i=(r=l(f(a.y,0,1))).getDay())>4||0===i?o.AB.ceil(r):(0,o.AB)(r),r=o.UA.offset(r,(a.V-1)*7),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:+("W"in a)),i="Z"in a?c(f(a.y,0,1)).getUTCDay():l(f(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,c(a)):l(a)}}function tX(t,e,n,r){for(var i,a,u=0,o=e.length,l=n.length;u<o;){if(r>=l)return -1;if(37===(i=e.charCodeAt(u++))){if(!(a=tq[(i=e.charAt(u++))in s?e.charAt(u++):i])||(r=a(t,n,r))<0)return -1}else if(i!=n.charCodeAt(r++))return -1}return r}return tS.x=tj(n,tS),tS.X=tj(r,tS),tS.c=tj(e,tS),tH.x=tj(n,tH),tH.X=tj(r,tH),tH.c=tj(e,tH),{format:function(t){var e=tj(t+="",tS);return e.toString=function(){return t},e},parse:function(t){var e=tE(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=tj(t+="",tH);return e.toString=function(){return t},e},utcParse:function(t){var e=tE(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,r.parse,a=r.utcFormat,u=r.utcParse;var tk="%Y-%m-%dT%H:%M:%S.%LZ";Date.prototype.toISOString||a(tk),+new Date("2000-01-01T00:00:00.000Z")||u(tk)},59814:(t,e,n)=>{n.d(e,{Dj:()=>g,GW:()=>function t(e,n){var r,a,o=typeof n;return null==n||"boolean"===o?u(n):("number"===o?g:"string"===o?(a=(0,i.yW)(n))?(n=a,f):function(t,e){var n,r,i,a,u,o=d.lastIndex=p.lastIndex=0,l=-1,c=[],f=[];for(t+="",e+="";(i=d.exec(t))&&(a=p.exec(e));)(u=a.index)>o&&(u=e.slice(o,u),c[l]?c[l]+=u:c[++l]=u),(i=i[0])===(a=a[0])?c[l]?c[l]+=a:c[++l]=a:(c[++l]=null,f.push({i:l,x:g(i,a)})),o=p.lastIndex;return o<e.length&&(u=e.slice(o),c[l]?c[l]+=u:c[++l]=u),c.length<2?f[0]?(n=f[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=f.length,function(t){for(var n,r=0;r<e;++r)c[(n=f[r]).i]=n.x(t);return c.join("")})}:n instanceof i.yW?f:n instanceof Date?function(t,e){var n=new Date;return t*=1,e*=1,function(r){return n.setTime(t*(1-r)+e*r),n}}:!ArrayBuffer.isView(r=n)||r instanceof DataView?Array.isArray(n)?function(e,n){var r,i=n?n.length:0,a=e?Math.min(i,e.length):0,u=Array(a),o=Array(i);for(r=0;r<a;++r)u[r]=t(e[r],n[r]);for(;r<i;++r)o[r]=n[r];return function(t){for(r=0;r<a;++r)o[r]=u[r](t);return o}}:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?function(e,n){var r,i={},a={};for(r in(null===e||"object"!=typeof e)&&(e={}),(null===n||"object"!=typeof n)&&(n={}),n)r in e?i[r]=t(e[r],n[r]):a[r]=n[r];return function(t){for(r in i)a[r]=i[r](t);return a}}:g:function(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;n<r;++n)i[n]=t[n]*(1-a)+e[n]*a;return i}})(e,n)},Xl:()=>N,bE:()=>C,sH:()=>y,z4:()=>h});var r,i=n(71788);function a(t,e,n,r,i){var a=t*t,u=a*t;return((1-3*t+3*a-u)*e+(4-6*a+3*u)*n+(1+3*t+3*a-3*u)*r+u*i)/6}var u=t=>()=>t;function o(t,e){return function(n){return t+n*e}}function l(t,e){var n=e-t;return n?o(t,n>180||n<-180?n-360*Math.round(n/360):n):u(isNaN(t)?e:t)}function c(t,e){var n=e-t;return n?o(t,n):u(isNaN(t)?e:t)}var f=function t(e){var n,r=1==(n=+e)?c:function(t,e){var r,i,a;return e-t?(r=t,i=e,r=Math.pow(r,a=n),i=Math.pow(i,a)-r,a=1/a,function(t){return Math.pow(r+t*i,a)}):u(isNaN(t)?e:t)};function a(t,e){var n=r((t=(0,i.Qh)(t)).r,(e=(0,i.Qh)(e)).r),a=r(t.g,e.g),u=r(t.b,e.b),o=c(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=u(e),t.opacity=o(e),t+""}}return a.gamma=t,a}(1);function s(t){return function(e){var n,r,a=e.length,u=Array(a),o=Array(a),l=Array(a);for(n=0;n<a;++n)r=(0,i.Qh)(e[n]),u[n]=r.r||0,o[n]=r.g||0,l[n]=r.b||0;return u=t(u),o=t(o),l=t(l),r.opacity=1,function(t){return r.r=u(t),r.g=o(t),r.b=l(t),r+""}}}var h=s(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],u=t[r+1],o=r>0?t[r-1]:2*i-u,l=r<e-1?t[r+2]:2*u-i;return a((n-r/e)*e,o,i,u,l)}});function g(t,e){return t*=1,e*=1,function(n){return t*(1-n)+e*n}}s(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],u=t[r%e],o=t[(r+1)%e],l=t[(r+2)%e];return a((n-r/e)*e,i,u,o,l)}});var d=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,p=RegExp(d.source,"g");function y(t,e){return t*=1,e*=1,function(n){return Math.round(t*(1-n)+e*n)}}var M=180/Math.PI,m={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function v(t,e,n,r,i,a){var u,o,l;return(u=Math.sqrt(t*t+e*e))&&(t/=u,e/=u),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(o=Math.sqrt(n*n+r*r))&&(n/=o,r/=o,l/=o),t*r<e*n&&(t=-t,e=-e,l=-l,u=-u),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*M,skewX:Math.atan(l)*M,scaleX:u,scaleY:o}}function x(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,u){var o,l,c,f,s=[],h=[];return a=t(a),u=t(u),!function(t,r,i,a,u,o){if(t!==i||r!==a){var l=u.push("translate(",null,e,null,n);o.push({i:l-4,x:g(t,i)},{i:l-2,x:g(r,a)})}else(i||a)&&u.push("translate("+i+e+a+n)}(a.translateX,a.translateY,u.translateX,u.translateY,s,h),o=a.rotate,l=u.rotate,o!==l?(o-l>180?l+=360:l-o>180&&(o+=360),h.push({i:s.push(i(s)+"rotate(",null,r)-2,x:g(o,l)})):l&&s.push(i(s)+"rotate("+l+r),c=a.skewX,f=u.skewX,c!==f?h.push({i:s.push(i(s)+"skewX(",null,r)-2,x:g(c,f)}):f&&s.push(i(s)+"skewX("+f+r),!function(t,e,n,r,a,u){if(t!==n||e!==r){var o=a.push(i(a)+"scale(",null,",",null,")");u.push({i:o-4,x:g(t,n)},{i:o-2,x:g(e,r)})}else(1!==n||1!==r)&&a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,u.scaleX,u.scaleY,s,h),a=u=null,function(t){for(var e,n=-1,r=h.length;++n<r;)s[(e=h[n]).i]=e.x(t);return s.join("")}}}function b(t){return((t=Math.exp(t))+1/t)/2}function w(t){return function(e,n){var r=t((e=(0,i.KI)(e)).h,(n=(0,i.KI)(n)).h),a=c(e.s,n.s),u=c(e.l,n.l),o=c(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=a(t),e.l=u(t),e.opacity=o(t),e+""}}}function T(t){return function(e,n){var r=t((e=(0,i.aq)(e)).h,(n=(0,i.aq)(n)).h),a=c(e.c,n.c),u=c(e.l,n.l),o=c(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=a(t),e.l=u(t),e.opacity=o(t),e+""}}}x(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?m:v(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),x(function(t){return null==t?m:(r||(r=document.createElementNS("http://www.w3.org/2000/svg","g")),r.setAttribute("transform",t),t=r.transform.baseVal.consolidate())?v((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):m},", ",")",")"),!function t(e,n,r){function i(t,i){var a,u,o=t[0],l=t[1],c=t[2],f=i[0],s=i[1],h=i[2],g=f-o,d=s-l,p=g*g+d*d;if(p<1e-12)u=Math.log(h/c)/e,a=function(t){return[o+t*g,l+t*d,c*Math.exp(e*t*u)]};else{var y=Math.sqrt(p),M=(h*h-c*c+r*p)/(2*c*n*y),m=(h*h-c*c-r*p)/(2*h*n*y),v=Math.log(Math.sqrt(M*M+1)-M);u=(Math.log(Math.sqrt(m*m+1)-m)-v)/e,a=function(t){var r,i,a=t*u,f=b(v),s=c/(n*y)*(f*(((r=Math.exp(2*(r=e*a+v)))-1)/(r+1))-((i=Math.exp(i=v))-1/i)/2);return[o+s*g,l+s*d,c*f/b(e*a+v)]}}return a.duration=1e3*Math.abs(u)*e/Math.SQRT2,a}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4),w(l),w(c);var C=T(l);function U(t){return function e(n){function r(e,r){var a=t((e=(0,i.UB)(e)).h,(r=(0,i.UB)(r)).h),u=c(e.s,r.s),o=c(e.l,r.l),l=c(e.opacity,r.opacity);return function(t){return e.h=a(t),e.s=u(t),e.l=o(Math.pow(t,n)),e.opacity=l(t),e+""}}return n*=1,r.gamma=e,r}(1)}T(c),U(l);var N=U(c)},71788:(t,e,n)=>{function r(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function i(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function a(){}n.d(e,{KI:()=>F,Qh:()=>T,UB:()=>K,aq:()=>Q,yW:()=>v});var u="\\s*([+-]?\\d+)\\s*",o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",l="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",c=/^#([0-9a-f]{3,8})$/,f=RegExp(`^rgb\\(${u},${u},${u}\\)$`),s=RegExp(`^rgb\\(${l},${l},${l}\\)$`),h=RegExp(`^rgba\\(${u},${u},${u},${o}\\)$`),g=RegExp(`^rgba\\(${l},${l},${l},${o}\\)$`),d=RegExp(`^hsl\\(${o},${l},${l}\\)$`),p=RegExp(`^hsla\\(${o},${l},${l},${o}\\)$`),y={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function M(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=c.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?x(e):3===n?new C(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?b(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?b(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=f.exec(t))?new C(e[1],e[2],e[3],1):(e=s.exec(t))?new C(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?b(e[1],e[2],e[3],e[4]):(e=g.exec(t))?b(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=d.exec(t))?$(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?$(e[1],e[2]/100,e[3]/100,e[4]):y.hasOwnProperty(t)?x(y[t]):"transparent"===t?new C(NaN,NaN,NaN,0):null}function x(t){return new C(t>>16&255,t>>8&255,255&t,1)}function b(t,e,n,r){return r<=0&&(t=e=n=NaN),new C(t,e,n,r)}function w(t){return(t instanceof a||(t=v(t)),t)?new C((t=t.rgb()).r,t.g,t.b,t.opacity):new C}function T(t,e,n,r){return 1==arguments.length?w(t):new C(t,e,n,null==r?1:r)}function C(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function U(){return`#${A(this.r)}${A(this.g)}${A(this.b)}`}function N(){let t=D(this.opacity);return`${1===t?"rgb(":"rgba("}${k(this.r)}, ${k(this.g)}, ${k(this.b)}${1===t?")":`, ${t})`}`}function D(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function k(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function A(t){return((t=k(t))<16?"0":"")+t.toString(16)}function $(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new S(t,e,n,r)}function Y(t){if(t instanceof S)return new S(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=v(t)),!t)return new S;if(t instanceof S)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),u=Math.max(e,n,r),o=NaN,l=u-i,c=(u+i)/2;return l?(o=e===u?(n-r)/l+(n<r)*6:n===u?(r-e)/l+2:(e-n)/l+4,l/=c<.5?u+i:2-u-i,o*=60):l=c>0&&c<1?0:o,new S(o,l,c,t.opacity)}function F(t,e,n,r){return 1==arguments.length?Y(t):new S(t,e,n,null==r?1:r)}function S(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function H(t){return(t=(t||0)%360)<0?t+360:t}function q(t){return Math.max(0,Math.min(1,t||0))}function j(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}r(a,v,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:M,formatHex:M,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Y(this).formatHsl()},formatRgb:m,toString:m}),r(C,T,i(a,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new C(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new C(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new C(k(this.r),k(this.g),k(this.b),D(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:U,formatHex:U,formatHex8:function(){return`#${A(this.r)}${A(this.g)}${A(this.b)}${A((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:N,toString:N})),r(S,F,i(a,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new S(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new S(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new C(j(t>=240?t-240:t+120,i,r),j(t,i,r),j(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new S(H(this.h),q(this.s),q(this.l),D(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=D(this.opacity);return`${1===t?"hsl(":"hsla("}${H(this.h)}, ${100*q(this.s)}%, ${100*q(this.l)}%${1===t?")":`, ${t})`}`}}));let E=Math.PI/180,X=180/Math.PI,L=4/29,R=6/29,I=6/29*3*(6/29),P=6/29*(6/29)*(6/29);function O(t){if(t instanceof G)return new G(t.l,t.a,t.b,t.opacity);if(t instanceof V)return _(t);t instanceof C||(t=w(t));var e,n,r=z(t.r),i=z(t.g),a=z(t.b),u=W((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?e=n=u:(e=W((.4360747*r+.3850649*i+.1430804*a)/.96422),n=W((.0139322*r+.0971045*i+.7141733*a)/.82521)),new G(116*u-16,500*(e-u),200*(u-n),t.opacity)}function G(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function W(t){return t>P?Math.pow(t,1/3):t/I+L}function Z(t){return t>R?t*t*t:I*(t-L)}function B(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function z(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Q(t,e,n,r){return 1==arguments.length?function(t){if(t instanceof V)return new V(t.h,t.c,t.l,t.opacity);if(t instanceof G||(t=O(t)),0===t.a&&0===t.b)return new V(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*X;return new V(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new V(t,e,n,null==r?1:r)}function V(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function _(t){if(isNaN(t.h))return new G(t.l,0,0,t.opacity);var e=t.h*E;return new G(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}r(G,function(t,e,n,r){return 1==arguments.length?O(t):new G(t,e,n,null==r?1:r)},i(a,{brighter(t){return new G(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new G(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=.96422*Z(e),new C(B(3.1338561*e-1.6168667*(t=+Z(t))-.4906146*(n=.82521*Z(n))),B(-.9787684*e+1.9161415*t+.033454*n),B(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),r(V,Q,i(a,{brighter(t){return new V(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new V(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return _(this).rgb()}}));var J=-1.78277*.29227-.1347134789;function K(t,e,n,r){return 1==arguments.length?function(t){if(t instanceof tt)return new tt(t.h,t.s,t.l,t.opacity);t instanceof C||(t=w(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(J*r+-1.7884503806*e-3.5172982438*n)/(J+-1.7884503806-3.5172982438),a=r-i,u=-((1.97294*(n-i)- -.29227*a)/.90649),o=Math.sqrt(u*u+a*a)/(1.97294*i*(1-i)),l=o?Math.atan2(u,a)*X-120:NaN;return new tt(l<0?l+360:l,o,i,t.opacity)}(t):new tt(t,e,n,null==r?1:r)}function tt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}r(tt,K,i(a,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*E,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new C(255*(e+n*(-.14861*r+1.78277*i)),255*(e+n*(-.29227*r+-.90649*i)),255*(e+1.97294*r*n),this.opacity)}}))},91606:(t,e,n)=>{n.d(e,{AB:()=>m,Ag:()=>s,Cf:()=>L,Gu:()=>x,Hl:()=>U,Kg:()=>M,Mb:()=>q,Mo:()=>b,PG:()=>v,TU:()=>w,UA:()=>g,Ui:()=>F,YP:()=>M,dA:()=>d,he:()=>H,pT:()=>A,rG:()=>T,rt:()=>N,t6:()=>o,uc:()=>l,wX:()=>c,yE:()=>R});var r=n(29673);let i=new Date,a=new Date;function u(t,e,n,r){function o(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{let e=o(t),n=o.ceil(t);return t-e<n-t?e:n},o.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{let a,u=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n<r)||!(i>0))return u;do u.push(a=new Date(+n)),e(n,i),t(n);while(a<n&&n<r);return u},o.filter=n=>u(e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},(t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}),n&&(o.count=(e,r)=>(i.setTime(+e),a.setTime(+r),t(i),t(a),Math.floor(n(i,a))),o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?o.filter(r?e=>r(e)%t==0:e=>o.count(0,e)%t==0):o:null),o}let o=u(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?u(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):o:null,o.range;let l=u(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());l.range;let c=u(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());c.range;let f=u(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());f.range;let s=u(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());s.range;let h=u(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());h.range;let g=u(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1);g.range;let d=u(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1);d.range;let p=u(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5));function y(t){return u(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}p.range;let M=y(0),m=y(1),v=y(2),x=y(3),b=y(4),w=y(5),T=y(6);function C(t){return u(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/6048e5)}M.range,m.range,v.range,x.range,b.range,w.range,T.range;let U=C(0),N=C(1),D=C(2),k=C(3),A=C(4),$=C(5),Y=C(6);U.range,N.range,D.range,k.range,A.range,$.range,Y.range;let F=u(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());F.range;let S=u(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());S.range;let H=u(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());H.every=t=>isFinite(t=Math.floor(t))&&t>0?u(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}):null,H.range;let q=u(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function j(t,e,n,i,a,u){let c=[[l,1,1e3],[l,5,5e3],[l,15,15e3],[l,30,3e4],[u,1,6e4],[u,5,3e5],[u,15,9e5],[u,30,18e5],[a,1,36e5],[a,3,108e5],[a,6,216e5],[a,12,432e5],[i,1,864e5],[i,2,1728e5],[n,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function f(e,n,i){let a=Math.abs(n-e)/i,u=(0,r.yl)(([,,t])=>t).right(c,a);if(u===c.length)return t.every((0,r.sG)(e/31536e6,n/31536e6,i));if(0===u)return o.every(Math.max((0,r.sG)(e,n,i),1));let[l,f]=c[a/c[u-1][2]<c[u][2]/a?u-1:u];return l.every(f)}return[function(t,e,n){let r=e<t;r&&([t,e]=[e,t]);let i=n&&"function"==typeof n.range?n:f(t,e,n),a=i?i.range(t,+e+1):[];return r?a.reverse():a},f]}q.every=t=>isFinite(t=Math.floor(t))&&t>0?u(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null,q.range;let[E,X]=j(q,S,U,p,h,f),[L,R]=j(H,F,M,g,s,c)},97423:(t,e,n)=>{n.d(e,{UM:()=>f,WH:()=>function t(){var e,n,i=f().unknown(void 0),a=i.domain,u=i.range,o=0,c=1,s=!1,h=0,g=0,d=.5;function p(){var t=a().length,i=c<o,l=i?c:o,f=i?o:c;e=(f-l)/Math.max(1,t-h+2*g),s&&(e=Math.floor(e)),l+=(f-l-e*(t-h))*d,n=e*(1-h),s&&(l=Math.round(l),n=Math.round(n));var p=(0,r.y1)(t).map(function(t){return l+e*t});return u(i?p.reverse():p)}return delete i.unknown,i.domain=function(t){return arguments.length?(a(t),p()):a()},i.range=function(t){return arguments.length?([o,c]=t,o*=1,c*=1,p()):[o,c]},i.rangeRound=function(t){return[o,c]=t,o*=1,c*=1,s=!0,p()},i.bandwidth=function(){return n},i.step=function(){return e},i.round=function(t){return arguments.length?(s=!!t,p()):s},i.padding=function(t){return arguments.length?(h=Math.min(1,g=+t),p()):h},i.paddingInner=function(t){return arguments.length?(h=Math.min(1,t),p()):h},i.paddingOuter=function(t){return arguments.length?(g=+t,p()):g},i.align=function(t){return arguments.length?(d=Math.max(0,Math.min(1,t)),p()):d},i.copy=function(){return t(a(),[o,c]).round(s).paddingInner(h).paddingOuter(g).align(d)},l.apply(p(),arguments)},m4:()=>function t(){var e,n=m();return n.copy=function(){return M(n,t())},l.apply(n,arguments),e=n.domain,n.ticks=function(t){var n=e();return(0,r.Zc)(n[0],n[n.length-1],null==t?10:t)},n.tickFormat=function(t,n){var i=e();return function(t,e,n,i){var u,o=(0,r.sG)(t,e,n);switch((i=(0,a.Gp)(null==i?",f":i)).type){case"s":var l=Math.max(Math.abs(t),Math.abs(e));return null!=i.precision||isNaN(u=(0,a.dT)(o,l))||(i.precision=u),(0,a.s)(i,l);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(u=(0,a.Pj)(o,Math.max(Math.abs(t),Math.abs(e))))||(i.precision=u-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(u=(0,a.RT)(o))||(i.precision=u-("%"===i.type)*2)}return(0,a.GP)(i)}(i[0],i[i.length-1],null==t?10:t,n)},n.nice=function(t){null==t&&(t=10);var i,a,u=e(),o=0,l=u.length-1,c=u[o],f=u[l],s=10;for(f<c&&(a=c,c=f,f=a,a=o,o=l,l=a);s-- >0;){if((a=(0,r.lq)(c,f,t))===i)return u[o]=c,u[l]=f,e(u);if(a>0)c=Math.floor(c/a)*a,f=Math.ceil(f/a)*a;else if(a<0)c=Math.ceil(c*a)/a,f=Math.floor(f*a)/a;else break;i=a}return n},n},w7:()=>b});var r=n(29673),i=n(59814),a=n(34098),u=n(91606),o=n(36835);function l(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}let c=Symbol("implicit");function f(){var t=new r.Bu,e=[],n=[],i=c;function a(r){let a=t.get(r);if(void 0===a){if(i!==c)return i;t.set(r,a=e.push(r)-1)}return n[a%n.length]}return a.domain=function(n){if(!arguments.length)return e.slice();for(let i of(e=[],t=new r.Bu,n))t.has(i)||t.set(i,e.push(i)-1);return a},a.range=function(t){return arguments.length?(n=Array.from(t),a):n.slice()},a.unknown=function(t){return arguments.length?(i=t,a):i},a.copy=function(){return f(e,n).unknown(i)},l.apply(a,arguments),a}function s(t){return+t}var h=[0,1];function g(t){return t}function d(t,e){var n;return(e-=t*=1)?function(n){return(n-t)/e}:(n=isNaN(e)?NaN:.5,function(){return n})}function p(t,e,n){var r=t[0],i=t[1],a=e[0],u=e[1];return i<r?(r=d(i,r),a=n(u,a)):(r=d(r,i),a=n(a,u)),function(t){return a(r(t))}}function y(t,e,n){var i=Math.min(t.length,e.length)-1,a=Array(i),u=Array(i),o=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<i;)a[o]=d(t[o],t[o+1]),u[o]=n(e[o],e[o+1]);return function(e){var n=(0,r.h1)(t,e,1,i)-1;return u[n](a[n](e))}}function M(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function m(){return(function(){var t,e,n,r,a,u,o=h,l=h,c=i.GW,f=g;function d(){var t,e,n,i=Math.min(o.length,l.length);return f!==g&&(t=o[0],e=o[i-1],t>e&&(n=t,t=e,e=n),f=function(n){return Math.max(t,Math.min(e,n))}),r=i>2?y:p,a=u=null,M}function M(e){return null==e||isNaN(e*=1)?n:(a||(a=r(o.map(t),l,c)))(t(f(e)))}return M.invert=function(n){return f(e((u||(u=r(l,o.map(t),i.Dj)))(n)))},M.domain=function(t){return arguments.length?(o=Array.from(t,s),d()):o.slice()},M.range=function(t){return arguments.length?(l=Array.from(t),d()):l.slice()},M.rangeRound=function(t){return l=Array.from(t),c=i.sH,d()},M.clamp=function(t){return arguments.length?(f=!!t||g,d()):f!==g},M.interpolate=function(t){return arguments.length?(c=t,d()):c},M.unknown=function(t){return arguments.length?(n=t,M):n},function(n,r){return t=n,e=r,d()}})()(g,g)}function v(t){return new Date(t)}function x(t){return t instanceof Date?+t:Math.round(t)}function b(){return l.apply((function t(e,n,r,i,a,u,o,l,c,f){var s=m(),h=s.invert,g=s.domain,d=f(".%L"),p=f(":%S"),y=f("%I:%M"),b=f("%I %p"),w=f("%a %d"),T=f("%b %d"),C=f("%B"),U=f("%Y");function N(t){return(c(t)<t?d:l(t)<t?p:o(t)<t?y:u(t)<t?b:i(t)<t?a(t)<t?w:T:r(t)<t?C:U)(t)}return s.invert=function(t){return new Date(Math.round(h(t)))},s.domain=function(t){return arguments.length?g(Array.from(t,x)):g().map(v)},s.ticks=function(t){var n=g();return e(n[0],n[n.length-1],null==t?10:t)},s.tickFormat=function(t,e){return null==e?N:f(e)},s.nice=function(t){var e,r,i,a,u,o,l,c=g();return t&&"function"==typeof t.range||(t=n(c[0],c[c.length-1],null==t?10:t)),t?g((e=c,r=t,e=e.slice(),a=0,u=e.length-1,o=e[a],(l=e[u])<o&&(i=a,a=u,u=i,i=o,o=l,l=i),e[a]=r.floor(o),e[u]=r.ceil(l),e)):s},s.copy=function(){return M(s,t(e,n,r,i,a,u,o,l,c,f))},s})(u.Cf,u.yE,u.he,u.Ui,u.Kg,u.UA,u.Ag,u.wX,u.uc,o.DC).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}}}]);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7443],{26789:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(88252).K)(r,"populateCommonDb")},97443:(t,e,a)=>{a.d(e,{diagram:()=>E});var r=a(26789),i=a(56384),n=a(27058),l=a(92826),s=a(58442),o=a(88252),c=a(37267),d={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},g={axes:[],curves:[],options:d},u=structuredClone(g),p=l.UI.radar,x=(0,o.K)(()=>(0,n.$t)({...p,...(0,l.zj)().radar}),"getConfig"),h=(0,o.K)(()=>u.axes,"getAxes"),m=(0,o.K)(()=>u.curves,"getCurves"),$=(0,o.K)(()=>u.options,"getOptions"),f=(0,o.K)(t=>{u.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),y=(0,o.K)(t=>{u.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:v(t.entries)}))},"setCurves"),v=(0,o.K)(t=>{if(void 0==t[0].axis)return t.map(t=>t.value);let e=h();if(0===e.length)throw Error("Axes must be populated before curves for reference entries");return e.map(e=>{let a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),w={getAxes:h,getCurves:m,getOptions:$,setAxes:f,setCurves:y,setOptions:(0,o.K)(t=>{let e=t.reduce((t,e)=>(t[e.name]=e,t),{});u.options={showLegend:e.showLegend?.value??d.showLegend,ticks:e.ticks?.value??d.ticks,max:e.max?.value??d.max,min:e.min?.value??d.min,graticule:e.graticule?.value??d.graticule},u.options.ticks>32&&(s.R.warn(`Radar diagram ticks (${u.options.ticks}) exceeds maximum allowed (32). Using 32 instead.`),u.options.ticks=32)},"setOptions"),getConfig:x,clear:(0,o.K)(()=>{(0,l.IU)(),u=structuredClone(g)},"clear"),setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI},b=(0,o.K)(t=>{(0,r.S)(t,w);let{axes:e,curves:a,options:i}=t;w.setAxes(e),w.setCurves(a),w.setOptions(i)},"populate"),C={parse:(0,o.K)(async t=>{let e=await (0,c.qg)("radar",t);s.R.debug(e),b(e)},"parse")},k=(0,o.K)((t,e,a,r)=>{let n=r.db,l=n.getAxes(),s=n.getCurves(),o=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),g=K((0,i.D)(e),c),u=o.max??Math.max(...s.map(t=>Math.max(...t.entries))),p=o.min,x=Math.min(c.width,c.height)/2;M(g,l,x,o.ticks,o.graticule),L(g,l,x,c),T(g,l,s,p,u,o.graticule,c),I(g,s,o.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),K=(0,o.K)((t,e)=>{let a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return(0,l.a$)(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} ${r}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),M=(0,o.K)((t,e,a,r,i)=>{if("circle"===i)for(let e=0;e<r;e++){let i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===i){let i=e.length;for(let n=0;n<r;n++){let l=a*(n+1)/r,s=e.map((t,e)=>{let a=2*e*Math.PI/i-Math.PI/2,r=l*Math.cos(a),n=l*Math.sin(a);return`${r},${n}`}).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),L=(0,o.K)((t,e,a,r)=>{let i=e.length;for(let n=0;n<i;n++){let l=e[n].label,s=2*n*Math.PI/i-Math.PI/2,o=Math.cos(s),c=Math.sin(s);t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*o).attr("y2",a*r.axisScaleFactor*c).attr("class","radarAxisLine");let d=o>.01?"start":o<-.01?"end":"middle",g=c>.01?"hanging":c<-.01?"auto":"central";t.append("text").text(l).attr("x",a*r.axisLabelFactor*o+4*o).attr("y",a*r.axisLabelFactor*c+4*c).attr("text-anchor",d).attr("dominant-baseline",g).attr("class","radarAxisLabel")}},"drawAxes");function T(t,e,a,r,i,n,l){let s=e.length,o=Math.min(l.width,l.height)/2;a.forEach((e,a)=>{if(e.entries.length!==s)return;let c=e.entries.map((t,e)=>{let a=2*Math.PI*e/s-Math.PI/2,n=A(t,r,i,o);return{x:n*Math.cos(a),y:n*Math.sin(a)}});"circle"===n?t.append("path").attr("d",S(c,l.curveTension)).attr("class",`radarCurve-${a}`):"polygon"===n&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${a}`)})}function A(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function S(t,e){let a=t.length,r=`M${t[0].x},${t[0].y}`;for(let i=0;i<a;i++){let n=t[(i-1+a)%a],l=t[i],s=t[(i+1)%a],o=t[(i+2)%a],c={x:l.x+(s.x-n.x)*e,y:l.y+(s.y-n.y)*e},d={x:s.x-(o.x-l.x)*e,y:s.y-(o.y-l.y)*e};r+=` C${c.x},${c.y} ${d.x},${d.y} ${s.x},${s.y}`}return`${r} Z`}function I(t,e,a,r){if(!a)return;let i=(r.width/2+r.marginRight)*3/4,n=-(3*(r.height/2+r.marginTop))/4;e.forEach((e,a)=>{let r=t.append("g").attr("transform",`translate(${i}, ${n+20*a})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${a}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}(0,o.K)(T,"drawCurves"),(0,o.K)(A,"relativeRadius"),(0,o.K)(S,"closedRoundCurve"),(0,o.K)(I,"drawLegend");var D=(0,o.K)((t,e)=>{let a="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){let i=t[`cScale${r}`];a+=`
|
|
2
|
+
.radarCurve-${r} {
|
|
3
|
+
color: ${i};
|
|
4
|
+
fill: ${i};
|
|
5
|
+
fill-opacity: ${e.curveOpacity};
|
|
6
|
+
stroke: ${i};
|
|
7
|
+
stroke-width: ${e.curveStrokeWidth};
|
|
8
|
+
}
|
|
9
|
+
.radarLegendBox-${r} {
|
|
10
|
+
fill: ${i};
|
|
11
|
+
fill-opacity: ${e.curveOpacity};
|
|
12
|
+
stroke: ${i};
|
|
13
|
+
}
|
|
14
|
+
`}return a},"genIndexStyles"),O=(0,o.K)(t=>{let e=(0,l.P$)(),a=(0,l.zj)(),r=(0,n.$t)(e,a.themeVariables),i=(0,n.$t)(r.radar,t);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),E={parser:C,db:w,renderer:{draw:k},styles:(0,o.K)(({radar:t}={})=>{let{themeVariables:e,radarOptions:a}=O(t);return`
|
|
15
|
+
.radarTitle {
|
|
16
|
+
font-size: ${e.fontSize};
|
|
17
|
+
color: ${e.titleColor};
|
|
18
|
+
dominant-baseline: hanging;
|
|
19
|
+
text-anchor: middle;
|
|
20
|
+
}
|
|
21
|
+
.radarAxisLine {
|
|
22
|
+
stroke: ${a.axisColor};
|
|
23
|
+
stroke-width: ${a.axisStrokeWidth};
|
|
24
|
+
}
|
|
25
|
+
.radarAxisLabel {
|
|
26
|
+
font-size: ${a.axisLabelFontSize}px;
|
|
27
|
+
color: ${a.axisColor};
|
|
28
|
+
}
|
|
29
|
+
.radarGraticule {
|
|
30
|
+
fill: ${a.graticuleColor};
|
|
31
|
+
fill-opacity: ${a.graticuleOpacity};
|
|
32
|
+
stroke: ${a.graticuleColor};
|
|
33
|
+
stroke-width: ${a.graticuleStrokeWidth};
|
|
34
|
+
}
|
|
35
|
+
.radarLegendText {
|
|
36
|
+
text-anchor: start;
|
|
37
|
+
font-size: ${a.legendFontSize}px;
|
|
38
|
+
dominant-baseline: hanging;
|
|
39
|
+
}
|
|
40
|
+
${D(e,a)}
|
|
41
|
+
`},"styles")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7482],{7482:(e,t,i)=>{i.d(t,{captureNodeSizes:()=>u});var n=i(88252);function r(){if("undefined"!=typeof globalThis)return globalThis}function a(){return"undefined"==typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let i=r();if(!i)return;let n=t.node(),a=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,o=a?.id??"(unknown)";i.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};i.mermaidCapturedSizes.push(u),i.mermaidLastCapturedSizes=u}function u(e,t){let i=[];for(let e of t.nodes)e.isGroup||i.push({id:e.id,width:e.width??0,height:e.height??0});0!==i.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:a()},nodes:i},e)}(0,n.K)(r,"getCaptureGlobal"),(0,n.K)(function(){return!!r()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,n.K)(a,"capturedFromLocation"),(0,n.K)(o,"emitCapturedSizes"),(0,n.K)(u,"captureNodeSizes")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7498],{37498:(e,r,t)=>{t.d(r,{diagram:()=>g});var a=t(54014),n=t(26789);t(56384),t(92826);var s=t(58442),l=t(88252),p=t(37267),i=(0,p.Pz)().RailroadPeg.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(u);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),u=(0,l.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=(0,l.K)(e=>{let r=c(e.suffix);return e.operator?{type:"special",text:"&"===e.operator?`&${d(r)}`:`!${d(r)}`}:r},"transformPrefix"),d=(0,l.K)(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),c=(0,l.K)(e=>{let r=f(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),f=(0,l.K)(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return o(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),P=(0,l.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(y(e)))},"populateDb"),g={parser:{parse:(0,l.K)(e=>{a.db.clear(),s.R.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[PEG Parser] Parsed rules:",t.rules.length),P(t),s.R.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7573],{37573:(e,r,a)=>{a.d(r,{diagram:()=>m});var t=a(54014),l=a(26789);a(56384),a(92826);var n=a(58442),i=a(88252),s=a(37267),p=(0,s.lz)().Railroad.parser.LangiumParser,o=(0,i.K)(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(o);return 1===r.length?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(o);return 1===r.length?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:o(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:o(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),d=(0,i.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=(0,i.K)(e=>{(0,l.S)(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(e=>t.db.addRule(d(e)))},"populateDb"),m={parser:{parse:(0,i.K)(e=>{t.db.clear(),n.R.debug("[Railroad Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new s.zg(r);let a=r.value;n.R.debug("[Railroad Parser] Parsed rules:",a.rules.length),u(a),n.R.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.U,styles:t.$}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7613],{18006:(e,t,r)=>{r.d(t,{b:()=>o});var a=r(41440),n=r(74037),s=r(19478),l=r(17119);function o(e){let{columns:t,rows:r,offset:o,limit:d,totalRows:i,hasMore:c,onPage:u}=e,x=(0,l.kj)(),m=o+r.length;return(0,a.jsxs)("div",{className:"flex h-full flex-col",children:[(0,a.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[(0,a.jsxs)("table",{className:"min-w-full border-collapse text-xs",children:[(0,a.jsx)("thead",{className:"sticky top-0 z-10 bg-[var(--card)] shadow-[inset_0_-1px_0_var(--border)]",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"px-2 py-1.5 text-right text-[10px] font-medium text-[var(--muted-foreground)]",children:"#"}),t.map((e,t)=>(0,a.jsxs)("th",{className:"whitespace-nowrap px-3 py-1.5 text-left",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[var(--foreground)]",children:e.name}),e.type&&(0,a.jsx)("span",{className:"ml-1.5 text-[9px] font-normal text-[var(--muted-foreground)]",children:e.type})]},t))]})}),(0,a.jsx)("tbody",{children:r.map((e,r)=>(0,a.jsxs)("tr",{className:"odd:bg-[var(--card)]/40 hover:bg-[var(--secondary)]",children:[(0,a.jsx)("td",{className:"px-2 py-1 text-right text-[10px] text-[var(--muted-foreground)] tabular-nums",children:o+r+1}),t.map((t,r)=>{var n,s;let l=null===(s=null!=(n=e[r])?n:null)?"":"string"==typeof s?s:String(s),o=l.length>200;return(0,a.jsx)("td",{title:o?l:void 0,className:"whitespace-nowrap px-3 py-1 ".concat(null===e[r]?"italic text-[var(--muted-foreground)]":"text-[var(--foreground)]"),children:null===e[r]?"NULL":o?"".concat(l.slice(0,200),"…"):l},r)})]},r))})]}),0===r.length&&(0,a.jsx)("div",{className:"flex h-24 items-center justify-center text-xs text-[var(--muted-foreground)]",children:x("dataPreview.empty")})]}),(0,a.jsxs)("div",{className:"flex h-8 shrink-0 items-center justify-end gap-2 border-t border-[var(--border)] bg-[var(--card)] px-3",children:[(0,a.jsx)("span",{className:"text-[10px] tabular-nums text-[var(--muted-foreground)]",children:x("dataPreview.range",{from:0===i?0:o+1,to:m,total:c?"".concat(i,"+"):i})}),(0,a.jsx)("button",{onClick:()=>u(Math.max(o-d,0)),disabled:0===o,title:x("dataPreview.prev"),className:"rounded p-1 text-[var(--muted-foreground)] transition-colors enabled:hover:bg-[var(--secondary)] enabled:hover:text-[var(--foreground)] disabled:opacity-40",children:(0,a.jsx)(n.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("button",{onClick:()=>u(o+d),disabled:!c&&o+d>=i,title:x("dataPreview.next"),className:"rounded p-1 text-[var(--muted-foreground)] transition-colors enabled:hover:bg-[var(--secondary)] enabled:hover:text-[var(--foreground)] disabled:opacity-40",children:(0,a.jsx)(s.A,{className:"h-3.5 w-3.5"})})]})]})}},19646:(e,t,r)=>{r.d(t,{w:()=>n});var a=r(54604);function n(e,t){let[r,n]=(0,a.useState)(null),[s,l]=(0,a.useState)(null),[o,d]=(0,a.useState)(!!e);return(0,a.useEffect)(()=>{if(!e){n(null),l(null),d(!1);return}let t=!1,r=new AbortController;return d(!0),l(null),e(r.signal).then(e=>{t||(n(e),d(!1))}).catch(e=>{t||e instanceof DOMException&&"AbortError"===e.name||(l(function(e){let t=e instanceof Error?e.message:String(e),r=t.indexOf("{");if(-1!==r)try{let e=JSON.parse(t.slice(r));if(e.error)return e.error}catch(e){}return t}(e)),d(!1))}),()=>{t=!0,r.abort()}},t),{data:r,error:s,loading:o}}},37613:(e,t,r)=>{r.r(t),r.d(t,{ParquetPreview:()=>i});var a=r(41440),n=r(54604),s=r(37050),l=r(19646),o=r(18006),d=r(43672);function i(e){let{name:t,path:r,projectId:i,downloadUrl:c,onOpenAsText:u}=e,[x,m]=(0,n.useState)(0),{data:h,error:f,loading:p}=(0,l.w)(i?e=>d.FH.dataPreview.parquet(r,i,x,100,e):null,[r,i,x]);return(0,a.jsx)(s.no,{name:t,downloadUrl:c,onOpenAsText:u,loading:p,error:f,children:h&&(0,a.jsx)(o.b,{columns:h.columns,rows:h.rows,offset:h.offset,limit:h.limit,totalRows:h.totalRows,onPage:m})})}}}]);
|