1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3019],{46060:function(e,t,n){n.d(t,{c:function(){return write}});var r=n(49360),i=n(92346),l=n(43836);function write(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:l.Z(e.nodes(),function(t){var n=e.node(t),i=e.parent(t),l={v:t};return r.Z(n)||(l.value=n),r.Z(i)||(l.parent=i),l}),edges:l.Z(e.edges(),function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.Z(t.name)||(i.name=t.name),r.Z(n)||(i.value=n),i})};return r.Z(e.graph())||(t.value=i.Z(e.graph())),t}n(52544)},92346:function(e,t,n){var r=n(48451);t.Z=function(e){return(0,r.Z)(e,4)}},33019:function(e,t,n){n.d(t,{r:function(){return render}});var r=n(41644),i=n(46060),l=n(76010),d=n(98539),a=n(45625),s=n(75371),o=n(64218);let c={},h={},g={},clear$1=()=>{h={},g={},c={}},isDescendant=(e,t)=>(d.l.trace("In isDescendant",t," ",e," = ",h[t].includes(e)),!!h[t].includes(e)),edgeInCluster=(e,t)=>(d.l.info("Descendants of ",t," is ",h[t]),d.l.info("Edge is ",e),e.v!==t&&e.w!==t&&(h[t]?h[t].includes(e.v)||isDescendant(e.v,t)||isDescendant(e.w,t)||h[t].includes(e.w):(d.l.debug("Tilt, ",t,",not in descendants"),!1))),copy=(e,t,n,r)=>{d.l.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),d.l.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{if(t.children(i).length>0)copy(i,t,n,r);else{let l=t.node(i);d.l.info("cp ",i," to ",r," with parent ",e),n.setNode(i,l),r!==t.parent(i)&&(d.l.warn("Setting parent",i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(d.l.debug("Setting parent",i,e),n.setParent(i,e)):(d.l.info("In copy ",e,"root",r,"data",t.node(e),r),d.l.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));let a=t.edges(i);d.l.debug("Copying Edges",a),a.forEach(i=>{d.l.info("Edge",i);let l=t.edge(i.v,i.w,i.name);d.l.info("Edge data",l,r);try{edgeInCluster(i,r)?(d.l.info("Copying as ",i.v,i.w,l,i.name),n.setEdge(i.v,i.w,l,i.name),d.l.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):d.l.info("Skipping copy of edge ",i.v,"-->",i.w," rootId: ",r," clusterId:",e)}catch(e){d.l.error(e)}})}d.l.debug("Removing node",i),t.removeNode(i)})},extractDescendants=(e,t)=>{let n=t.children(e),r=[...n];for(let i of n)g[i]=e,r=[...r,...extractDescendants(i,t)];return r},findNonClusterChild=(e,t)=>{d.l.trace("Searching",e);let n=t.children(e);if(d.l.trace("Searching children of id ",e,n),n.length<1)return d.l.trace("This is a valid node",e),e;for(let r of n){let n=findNonClusterChild(r,t);if(n)return d.l.trace("Found replacement for",e," => ",n),n}},getAnchorId=e=>c[e]&&c[e].externalConnections&&c[e]?c[e].id:e,adjustClustersAndEdges=(e,t)=>{if(!e||t>10){d.l.debug("Opting out, no graph ");return}for(let t of(d.l.debug("Opting in, graph "),e.nodes().forEach(function(t){let n=e.children(t);n.length>0&&(d.l.warn("Cluster identified",t," Replacement id in edges: ",findNonClusterChild(t,e)),h[t]=extractDescendants(t,e),c[t]={id:findNonClusterChild(t,e),clusterData:e.node(t)})}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(d.l.debug("Cluster identified",t,h),r.forEach(e=>{if(e.v!==t&&e.w!==t){let n=isDescendant(e.v,t),r=isDescendant(e.w,t);n^r&&(d.l.warn("Edge: ",e," leaves cluster ",t),d.l.warn("Descendants of XXX ",t,": ",h[t]),c[t].externalConnections=!0)}})):d.l.debug("Not a cluster ",t,h)}),Object.keys(c))){let n=c[t].id,r=e.parent(n);r!==t&&c[r]&&!c[r].externalConnections&&(c[t].id=r)}
1e.edges().forEach(function(t){let n=e.edge(t);d.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),d.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(d.l.warn("Fix XXX",c,"ids:",t.v,t.w,"Translating: ",c[t.v]," --- ",c[t.w]),c[t.v]&&c[t.w]&&c[t.v]===c[t.w]){d.l.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),d.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=getAnchorId(t.v),i=getAnchorId(t.w),e.removeEdge(t.v,t.w,t.name);let l=t.w+"---"+t.v;e.setNode(l,{domId:l,id:l,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let a=structuredClone(n),s=structuredClone(n);a.label="",a.arrowTypeEnd="none",s.label="",a.fromCluster=t.v,s.toCluster=t.v,e.setEdge(r,l,a,t.name+"-cyclic-special"),e.setEdge(l,i,s,t.name+"-cyclic-special")}else if(c[t.v]||c[t.w]){if(d.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=getAnchorId(t.v),i=getAnchorId(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let i=e.parent(r);c[i].externalConnections=!0,n.fromCluster=t.v}if(i!==t.w){let r=e.parent(i);c[r].externalConnections=!0,n.toCluster=t.w}d.l.warn("Fix Replacing with XXX",r,i,t.name),e.setEdge(r,i,n,t.name)}}),d.l.warn("Adjusted Graph",i.c(e)),extractor(e,0),d.l.trace(c)},extractor=(e,t)=>{if(d.l.warn("extractor - ",t,i.c(e),e.children("D")),t>10){d.l.error("Bailing out");return}let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r){d.l.debug("Done, no node has children",e.nodes());return}for(let r of(d.l.debug("Nodes = ",n,t),n))if(d.l.debug("Extracting node",r,c,c[r]&&!c[r].externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),c[r]){if(!c[r].externalConnections&&e.children(r)&&e.children(r).length>0){d.l.warn("Cluster without external connections, without a parent and with children",r,t);let n=e.graph(),l="TB"===n.rankdir?"LR":"TB";c[r]&&c[r].clusterData&&c[r].clusterData.dir&&(l=c[r].clusterData.dir,d.l.warn("Fixing dir",c[r].clusterData.dir,l));let s=new a.k({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});d.l.warn("Old graph before copy",i.c(e)),copy(r,e,s,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:c[r].clusterData,labelText:c[r].labelText,graph:s}),d.l.warn("New graph after copy node: (",r,")",i.c(s)),d.l.debug("Old graph after copy",i.c(e))}else d.l.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!c[r].externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),d.l.debug(c)}else d.l.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),d.l.warn("New list of nodes",n),n)){let n=e.node(r);d.l.warn(" Now next level",r,n),n.clusterNode&&extractor(n.graph,t+1)}},sorter=(e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach(t=>{let r=e.children(t),i=sorter(e,r);n=[...n,...i]}),n},sortNodesByHierarchy=e=>sorter(e,e.children()),f={rect:(e,t)=>{d.l.info("Creating subgraph rect for ",t.id,t);let n=(0,d.c)(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=(0,d.m)(n.flowchart.htmlLabels),c=r.insert("g").attr("class","cluster-label"),h="markdown"===t.labelType?(0,s.a)(c,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):c.node().appendChild((0,l.c)(t.labelText,t.labelStyle,void 0,!0)),g=h.getBBox();if((0,d.m)(n.flowchart.htmlLabels)){let e=h.children[0],t=(0,o.Ys)(h);g=e.getBoundingClientRect(),t.attr("width",g.width),t.attr("height",g.height)}let f=0*t.padding,u=f/2,w=t.width<=g.width+f?g.width+f:t.width;t.width<=g.width+f?t.diff=(g.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,d.l.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-w/2).attr("y",t.y-t.height/2-u).attr("width",w).attr("height",t.height+f);let{subGraphTitleTopMargin:p}=(0,l.g)(n);a?c.attr("transform",`translate(${t.x-g.width/2}, ${t.y-t.height/2+p})`):c.attr("transform",`translate(${t.x}, ${t.y-t.height/2+p})`);let v=i.node().getBBox();return t.width=v.width,t.height=v.height,t.intersect=function(e){return(0,l.i)(t,e)},r}
1,roundedWithTitle:(e,t)=>{let n=(0,d.c)(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),s=r.append("rect"),c=a.node().appendChild((0,l.c)(t.labelText,t.labelStyle,void 0,!0)),h=c.getBBox();if((0,d.m)(n.flowchart.htmlLabels)){let e=c.children[0],t=(0,o.Ys)(c);h=e.getBoundingClientRect(),t.attr("width",h.width),t.attr("height",h.height)}h=c.getBBox();let g=0*t.padding,f=g/2,u=t.width<=h.width+t.padding?h.width+t.padding:t.width;t.width<=h.width+t.padding?t.diff=(h.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-u/2-f).attr("y",t.y-t.height/2-f).attr("width",u+g).attr("height",t.height+g),s.attr("class","inner").attr("x",t.x-u/2-f).attr("y",t.y-t.height/2-f+h.height-1).attr("width",u+g).attr("height",t.height+g-h.height-3);let{subGraphTitleTopMargin:w}=(0,l.g)(n);a.attr("transform",`translate(${t.x-h.width/2}, ${t.y-t.height/2-t.padding/3+((0,d.m)(n.flowchart.htmlLabels)?5:3)+w})`);let p=i.node().getBBox();return t.height=p.height,t.intersect=function(e){return(0,l.i)(t,e)},r},noteGroup:(e,t)=>{let n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,d=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-d).attr("y",t.y-t.height/2-d).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");let a=r.node().getBBox();return t.width=a.width,t.height=a.height,t.intersect=function(e){return(0,l.i)(t,e)},n},divider:(e,t)=>{let n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,d=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-d).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);let a=r.node().getBBox();return t.width=a.width,t.height=a.height,t.diff=-t.padding/2,t.intersect=function(e){return(0,l.i)(t,e)},n}},u={},insertCluster=(e,t)=>{d.l.trace("Inserting cluster");let n=t.shape||"rect";u[t.id]=f[n](e,t)},clear=()=>{u={}},recursiveRender=async(e,t,n,a,s,o)=>{d.l.info("Graph in recursive render: XXX",i.c(t),s);let h=t.graph().rankdir;d.l.trace("Dir in recursive render - dir:",h);let g=e.insert("g").attr("class","root");t.nodes()?d.l.info("Recursive render XXX",t.nodes()):d.l.info("No nodes found for",t),t.edges().length>0&&d.l.trace("Recursive edges",t.edge(t.edges()[0]));let f=g.insert("g").attr("class","clusters"),u=g.insert("g").attr("class","edgePaths"),w=g.insert("g").attr("class","edgeLabels"),p=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){let r=t.node(e);if(void 0!==s){let n=JSON.parse(JSON.stringify(s.clusterData));d.l.info("Setting data for cluster XXX (",e,") ",n,s),t.setNode(s.id,n),t.parent(e)||(d.l.trace("Setting parent",e,s.id),t.setParent(e,s.id,n))}if(d.l.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),r&&r.clusterNode){d.l.info("Cluster identified",e,r.width,t.node(e));let i=await recursiveRender(p,r.graph,n,a,t.node(e),o),s=i.elem;(0,l.u)(r,s),r.diff=i.diff||0,d.l.info("Node bounds (abc123)",e,r,r.width,r.x,r.y),(0,l.s)(s,r),d.l.warn("Recursive render complete ",s,r)}else t.children(e).length>0?(d.l.info("Cluster - the non recursive path XXX",e,r.id,r,t),d.l.info(findNonClusterChild(r.id,t)),c[r.id]={id:findNonClusterChild(r.id,t),node:r}):(d.l.info("Node - the non recursive path",e,r.id,r),await (0,l.e)(p,t.node(e),h))}
1)),t.edges().forEach(function(e){let n=t.edge(e.v,e.w,e.name);d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),d.l.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),d.l.info("Fix",c,"ids:",e.v,e.w,"Translating: ",c[e.v],c[e.w]),(0,l.f)(w,n)}),t.edges().forEach(function(e){d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))}),d.l.info("#############################################"),d.l.info("### Layout ###"),d.l.info("#############################################"),d.l.info(t),(0,r.bK)(t),d.l.info("Graph after layout:",i.c(t));let v=0,{subGraphTitleTotalMargin:y}=(0,l.g)(o);return sortNodesByHierarchy(t).forEach(function(e){let n=t.node(e);d.l.info("Position "+e+": "+JSON.stringify(t.node(e))),d.l.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?(n.y+=y,(0,l.p)(n)):t.children(e).length>0?(n.height+=y,insertCluster(f,n),c[n.id].node=n):(n.y+=y/2,(0,l.p)(n))}),t.edges().forEach(function(e){let r=t.edge(e);d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r),r),r.points.forEach(e=>e.y+=y/2);let i=(0,l.h)(u,e,r,c,n,t,a);(0,l.j)(r,i)}),t.nodes().forEach(function(e){let n=t.node(e);d.l.info(e,n.type,n.diff),"group"===n.type&&(v=n.diff)}),{elem:g,diff:v}},render=async(e,t,n,r,a)=>{(0,l.a)(e,n,r,a),(0,l.b)(),(0,l.d)(),clear(),clear$1(),d.l.warn("Graph at first:",JSON.stringify(i.c(t))),adjustClustersAndEdges(t),d.l.warn("Graph after:",JSON.stringify(i.c(t)));let s=(0,d.c)();await recursiveRender(e,t,r,a,void 0,s)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.