@industry-theme/principal-view-panels 0.4.43 → 0.4.44
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/dist/panels.bundle.js +32 -26
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +2 -2
- package/dist/adapters/PanelFileSystemAdapter.d.ts +0 -82
- package/dist/adapters/PanelFileSystemAdapter.d.ts.map +0 -1
- package/dist/demo/DemoApp.d.ts +0 -13
- package/dist/demo/DemoApp.d.ts.map +0 -1
- package/dist/demo/DemoApp.stories.d.ts +0 -71
- package/dist/demo/DemoApp.stories.d.ts.map +0 -1
- package/dist/demo/api/browser.d.ts +0 -15
- package/dist/demo/api/browser.d.ts.map +0 -1
- package/dist/demo/api/handlers.d.ts +0 -8
- package/dist/demo/api/handlers.d.ts.map +0 -1
- package/dist/demo/components/BookDetails/BookDetails.d.ts +0 -16
- package/dist/demo/components/BookDetails/BookDetails.d.ts.map +0 -1
- package/dist/demo/components/CardCatalog/CardCatalog.d.ts +0 -16
- package/dist/demo/components/CardCatalog/CardCatalog.d.ts.map +0 -1
- package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts +0 -17
- package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts.map +0 -1
- package/dist/demo/data/mockData.d.ts +0 -33
- package/dist/demo/data/mockData.d.ts.map +0 -1
- package/dist/demo/data/types.d.ts +0 -168
- package/dist/demo/data/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -63
- package/dist/index.d.ts.map +0 -1
- package/dist/mocks/panelContext.d.ts +0 -31
- package/dist/mocks/panelContext.d.ts.map +0 -1
- package/dist/mocks/vvfConfigs.d.ts +0 -32
- package/dist/mocks/vvfConfigs.d.ts.map +0 -1
- package/dist/panels/AgentMonitoringGapExplainerPanel.d.ts +0 -6
- package/dist/panels/AgentMonitoringGapExplainerPanel.d.ts.map +0 -1
- package/dist/panels/AgentMonitoringGapExplainerPanel.stories.d.ts +0 -12
- package/dist/panels/AgentMonitoringGapExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/BookAnalogyExplainerPanel.d.ts +0 -7
- package/dist/panels/BookAnalogyExplainerPanel.d.ts.map +0 -1
- package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasDetailPanel.d.ts +0 -58
- package/dist/panels/CanvasDetailPanel.d.ts.map +0 -1
- package/dist/panels/CanvasDetailPanel.stories.d.ts +0 -105
- package/dist/panels/CanvasDetailPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasEditorPanel.d.ts +0 -29
- package/dist/panels/CanvasEditorPanel.d.ts.map +0 -1
- package/dist/panels/CanvasEditorPanel.stories.d.ts +0 -32
- package/dist/panels/CanvasEditorPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasListPanel.d.ts +0 -13
- package/dist/panels/CanvasListPanel.d.ts.map +0 -1
- package/dist/panels/CanvasListPanel.stories.d.ts +0 -62
- package/dist/panels/CanvasListPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasTypesExplainerPanel.d.ts +0 -7
- package/dist/panels/CanvasTypesExplainerPanel.d.ts.map +0 -1
- package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts +0 -7
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ControlTowerIntegration.stories.d.ts +0 -12
- package/dist/panels/ControlTowerIntegration.stories.d.ts.map +0 -1
- package/dist/panels/EventControllerPanel.d.ts +0 -32
- package/dist/panels/EventControllerPanel.d.ts.map +0 -1
- package/dist/panels/EventControllerPanel.stories.d.ts +0 -53
- package/dist/panels/EventControllerPanel.stories.d.ts.map +0 -1
- package/dist/panels/EventRecorderPanel.d.ts +0 -54
- package/dist/panels/EventRecorderPanel.d.ts.map +0 -1
- package/dist/panels/EventRecorderPanel.stories.d.ts +0 -12
- package/dist/panels/EventRecorderPanel.stories.d.ts.map +0 -1
- package/dist/panels/EventRecordingIntegration.stories.d.ts +0 -21
- package/dist/panels/EventRecordingIntegration.stories.d.ts.map +0 -1
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts +0 -7
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/LibraryAnchoringExplainerPanel.d.ts +0 -7
- package/dist/panels/LibraryAnchoringExplainerPanel.d.ts.map +0 -1
- package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts +0 -7
- package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts.map +0 -1
- package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts +0 -7
- package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts.map +0 -1
- package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/NarrativeExplainerPanel.d.ts +0 -7
- package/dist/panels/NarrativeExplainerPanel.d.ts.map +0 -1
- package/dist/panels/NarrativeExplainerPanel.stories.d.ts +0 -23
- package/dist/panels/NarrativeExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ProductionDebuggingExplainerPanel.d.ts +0 -7
- package/dist/panels/ProductionDebuggingExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/RuntimeValidationExplainerPanel.d.ts +0 -7
- package/dist/panels/RuntimeValidationExplainerPanel.d.ts.map +0 -1
- package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts +0 -7
- package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/SkillInstallation.stories.d.ts +0 -45
- package/dist/panels/SkillInstallation.stories.d.ts.map +0 -1
- package/dist/panels/SystemStoriesSolutionExplainerPanel.d.ts +0 -6
- package/dist/panels/SystemStoriesSolutionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/SystemStoriesSolutionExplainerPanel.stories.d.ts +0 -12
- package/dist/panels/SystemStoriesSolutionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/TelemetryCoverageExplainerPanel.d.ts +0 -7
- package/dist/panels/TelemetryCoverageExplainerPanel.d.ts.map +0 -1
- package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/TestVsProductionExplainerPanel.d.ts +0 -7
- package/dist/panels/TestVsProductionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/WhyNowAgentRevolutionExplainerPanel.d.ts +0 -6
- package/dist/panels/WhyNowAgentRevolutionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/WhyNowAgentRevolutionExplainerPanel.stories.d.ts +0 -12
- package/dist/panels/WhyNowAgentRevolutionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/canvas-list/components/CanvasCard.d.ts +0 -13
- package/dist/panels/canvas-list/components/CanvasCard.d.ts.map +0 -1
- package/dist/panels/canvas-list/hooks/useCanvasData.d.ts +0 -18
- package/dist/panels/canvas-list/hooks/useCanvasData.d.ts.map +0 -1
- package/dist/panels/canvas-list/hooks/useCanvasNarrativeData.d.ts +0 -25
- package/dist/panels/canvas-list/hooks/useCanvasNarrativeData.d.ts.map +0 -1
- package/dist/panels/execution-viewer/EventNodeMapper.d.ts +0 -46
- package/dist/panels/execution-viewer/EventNodeMapper.d.ts.map +0 -1
- package/dist/panels/execution-viewer/ExecutionLoader.d.ts +0 -121
- package/dist/panels/execution-viewer/ExecutionLoader.d.ts.map +0 -1
- package/dist/panels/execution-viewer/ExecutionStats.d.ts +0 -11
- package/dist/panels/execution-viewer/ExecutionStats.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeLoader.d.ts +0 -65
- package/dist/panels/execution-viewer/NarrativeLoader.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeRenderer.d.ts +0 -25
- package/dist/panels/execution-viewer/NarrativeRenderer.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts +0 -13
- package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts.map +0 -1
- package/dist/panels/execution-viewer/ScenarioDetailsPanel.d.ts +0 -60
- package/dist/panels/execution-viewer/ScenarioDetailsPanel.d.ts.map +0 -1
- package/dist/panels/execution-viewer/narrative-converter.d.ts +0 -44
- package/dist/panels/execution-viewer/narrative-converter.d.ts.map +0 -1
- package/dist/panels/principal-view/ConfigLoader.d.ts +0 -43
- package/dist/panels/principal-view/ConfigLoader.d.ts.map +0 -1
- package/dist/panels/principal-view/EmptyStateContent.d.ts +0 -12
- package/dist/panels/principal-view/EmptyStateContent.d.ts.map +0 -1
- package/dist/panels/principal-view/ErrorStateContent.d.ts +0 -14
- package/dist/panels/principal-view/ErrorStateContent.d.ts.map +0 -1
- package/dist/stubs/codebase-quality-lenses-stub.d.ts +0 -26
- package/dist/stubs/codebase-quality-lenses-stub.d.ts.map +0 -1
- package/dist/tools/index.d.ts +0 -32
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
package/dist/panels.bundle.js
CHANGED
|
@@ -43262,7 +43262,7 @@ const CenterIndicator = ({ color: color2 }) => {
|
|
|
43262
43262
|
zIndex: 5
|
|
43263
43263
|
}, children: [jsx("line", { x1: screenX, y1: screenY - size2, x2: screenX, y2: screenY + size2, stroke: color2, strokeWidth, opacity: 0.7 }), jsx("line", { x1: screenX - size2, y1: screenY, x2: screenX + size2, y2: screenY, stroke: color2, strokeWidth, opacity: 0.7 }), jsx("circle", { cx: screenX, cy: screenY, r: 3, fill: color2, opacity: 0.7 })] });
|
|
43264
43264
|
};
|
|
43265
|
-
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = "dots", backgroundGap, showCenterIndicator = false, showTooltips = true, fitViewDuration = 200, highlightedNodeId, activeNodeIds, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onSourceClick, onNodeClick: onNodeClickProp }) => {
|
|
43265
|
+
const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges, violations = [], configName: _configName, showMinimap = false, showControls = true, showBackground = true, backgroundVariant = "dots", backgroundGap, showCenterIndicator = false, showTooltips = true, fitViewDuration = 200, highlightedNodeId, activeNodeIds, events = [], onEventProcessed, editable = false, onPendingChangesChange, onEditStateChange, editStateRef, onSourceClick, onNodeClick: onNodeClickProp, showNodeDetailPanel }) => {
|
|
43266
43266
|
const { fitView: fitView2 } = useReactFlow();
|
|
43267
43267
|
const updateNodeInternals2 = useUpdateNodeInternals();
|
|
43268
43268
|
const { theme } = useTheme();
|
|
@@ -43349,34 +43349,39 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
43349
43349
|
}
|
|
43350
43350
|
}, [editable, selectedEdgeIds]);
|
|
43351
43351
|
const onNodeClick = useCallback((event, node) => {
|
|
43352
|
+
const shouldManagePanel = showNodeDetailPanel !== false && (showNodeDetailPanel === true || !onNodeClickProp);
|
|
43352
43353
|
if (onNodeClickProp) {
|
|
43353
43354
|
onNodeClickProp(node.id, event);
|
|
43354
|
-
|
|
43355
|
+
if (showNodeDetailPanel !== true) {
|
|
43356
|
+
return;
|
|
43357
|
+
}
|
|
43355
43358
|
}
|
|
43356
|
-
if (
|
|
43357
|
-
|
|
43358
|
-
|
|
43359
|
-
|
|
43360
|
-
next.
|
|
43359
|
+
if (shouldManagePanel) {
|
|
43360
|
+
if (event.shiftKey && editable) {
|
|
43361
|
+
setSelectedNodeIds((prev) => {
|
|
43362
|
+
const next = new Set(prev);
|
|
43363
|
+
if (next.has(node.id)) {
|
|
43364
|
+
next.delete(node.id);
|
|
43365
|
+
} else {
|
|
43366
|
+
next.add(node.id);
|
|
43367
|
+
}
|
|
43368
|
+
return next;
|
|
43369
|
+
});
|
|
43370
|
+
setShowNodePanel(true);
|
|
43371
|
+
} else {
|
|
43372
|
+
const shouldDeselect = selectedNodeIds.size === 1 && selectedNodeIds.has(node.id);
|
|
43373
|
+
if (shouldDeselect) {
|
|
43374
|
+
setSelectedNodeIds(/* @__PURE__ */ new Set());
|
|
43375
|
+
setShowNodePanel(false);
|
|
43361
43376
|
} else {
|
|
43362
|
-
|
|
43377
|
+
setSelectedNodeIds(/* @__PURE__ */ new Set([node.id]));
|
|
43378
|
+
setShowNodePanel(true);
|
|
43363
43379
|
}
|
|
43364
|
-
|
|
43365
|
-
|
|
43366
|
-
setShowNodePanel(true);
|
|
43367
|
-
} else {
|
|
43368
|
-
const shouldDeselect = selectedNodeIds.size === 1 && selectedNodeIds.has(node.id);
|
|
43369
|
-
if (shouldDeselect) {
|
|
43370
|
-
setSelectedNodeIds(/* @__PURE__ */ new Set());
|
|
43371
|
-
setShowNodePanel(false);
|
|
43372
|
-
} else {
|
|
43373
|
-
setSelectedNodeIds(/* @__PURE__ */ new Set([node.id]));
|
|
43374
|
-
setShowNodePanel(true);
|
|
43380
|
+
setSelectedEdgeIds(/* @__PURE__ */ new Set());
|
|
43381
|
+
setShowEdgePanel(false);
|
|
43375
43382
|
}
|
|
43376
|
-
setSelectedEdgeIds(/* @__PURE__ */ new Set());
|
|
43377
|
-
setShowEdgePanel(false);
|
|
43378
43383
|
}
|
|
43379
|
-
}, [editable, selectedNodeIds, onNodeClickProp]);
|
|
43384
|
+
}, [editable, selectedNodeIds, onNodeClickProp, showNodeDetailPanel]);
|
|
43380
43385
|
const onCloseEdgeInfoPanel = useCallback(() => {
|
|
43381
43386
|
setSelectedEdgeIds(/* @__PURE__ */ new Set());
|
|
43382
43387
|
setShowEdgePanel(false);
|
|
@@ -43917,7 +43922,7 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
|
|
|
43917
43922
|
var _a;
|
|
43918
43923
|
const nodeData = node.data;
|
|
43919
43924
|
return ((_a = nodeData == null ? void 0 : nodeData.typeDefinition) == null ? void 0 : _a.color) || theme.colors.secondary;
|
|
43920
|
-
}, nodeBorderRadius: 2, pannable: true, zoomable: true }), showCenterIndicator && jsx(CenterIndicator, { color: theme.colors.textMuted })] }, `${baseNodesKey}-${baseEdgesKey}`), selectedNodeIds.size >= 2 && showNodePanel && jsx(SelectionSidebar, { selectedNodeIds, nodes, nodeTypeDefinitions: configuration.nodeTypes, onClose: onCloseNodeInfoPanel }), selectedEdgeIds.size === 1 && selectedEdge && selectedEdgeTypeDefinition && showEdgePanel && jsx(EdgeInfoPanel, { edge: selectedEdge, typeDefinition: selectedEdgeTypeDefinition, sourceNodeId: selectedEdge.from, targetNodeId: selectedEdge.to, onClose: onCloseEdgeInfoPanel, onDelete: editable ? handleEdgeDelete : void 0, onUpdateSides: editable ? handleUpdateEdgeSides : void 0 }), selectedNodeIds.size === 1 && selectedNode && selectedNodeTypeDefinition && showNodePanel && jsx(NodeInfoPanel, { node: selectedNode, typeDefinition: selectedNodeTypeDefinition, availableNodeTypes: configuration.nodeTypes, onClose: onCloseNodeInfoPanel, onDelete: editable ? handleNodeDelete : void 0, onUpdate: editable ? handleNodeUpdate : void 0, onSourceClick }), pendingConnection && jsxs("div", { style: {
|
|
43925
|
+
}, nodeBorderRadius: 2, pannable: true, zoomable: true }), showCenterIndicator && jsx(CenterIndicator, { color: theme.colors.textMuted })] }, `${baseNodesKey}-${baseEdgesKey}`), selectedNodeIds.size >= 2 && showNodePanel && showNodeDetailPanel !== false && jsx(SelectionSidebar, { selectedNodeIds, nodes, nodeTypeDefinitions: configuration.nodeTypes, onClose: onCloseNodeInfoPanel }), selectedEdgeIds.size === 1 && selectedEdge && selectedEdgeTypeDefinition && showEdgePanel && jsx(EdgeInfoPanel, { edge: selectedEdge, typeDefinition: selectedEdgeTypeDefinition, sourceNodeId: selectedEdge.from, targetNodeId: selectedEdge.to, onClose: onCloseEdgeInfoPanel, onDelete: editable ? handleEdgeDelete : void 0, onUpdateSides: editable ? handleUpdateEdgeSides : void 0 }), selectedNodeIds.size === 1 && selectedNode && selectedNodeTypeDefinition && showNodePanel && showNodeDetailPanel !== false && jsx(NodeInfoPanel, { node: selectedNode, typeDefinition: selectedNodeTypeDefinition, availableNodeTypes: configuration.nodeTypes, onClose: onCloseNodeInfoPanel, onDelete: editable ? handleNodeDelete : void 0, onUpdate: editable ? handleNodeUpdate : void 0, onSourceClick }), pendingConnection && jsxs("div", { style: {
|
|
43921
43926
|
position: "absolute",
|
|
43922
43927
|
top: "50%",
|
|
43923
43928
|
left: "50%",
|
|
@@ -44126,8 +44131,8 @@ const GraphRenderer = forwardRef((props, ref) => {
|
|
|
44126
44131
|
}, children: jsx("p", { children: "No canvas data provided." }) });
|
|
44127
44132
|
}
|
|
44128
44133
|
const { configuration, nodes, edges } = canvasData;
|
|
44129
|
-
const { violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, onSourceClick, onNodeClick } = props;
|
|
44130
|
-
return jsx("div", { className, style: { width, height, position: "relative" }, children: jsx(ReactFlowProvider, { children: jsx(GraphRendererInner, { configuration, nodes, edges, violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, editStateRef, onSourceClick, onNodeClick }) }) });
|
|
44134
|
+
const { violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, onSourceClick, onNodeClick, showNodeDetailPanel } = props;
|
|
44135
|
+
return jsx("div", { className, style: { width, height, position: "relative" }, children: jsx(ReactFlowProvider, { children: jsx(GraphRendererInner, { configuration, nodes, edges, violations, configName, showMinimap, showControls, showBackground, backgroundVariant, backgroundGap, showCenterIndicator, showTooltips, fitViewDuration, highlightedNodeId, activeNodeIds, events, onEventProcessed, editable, onPendingChangesChange, editStateRef, onSourceClick, onNodeClick, showNodeDetailPanel }) }) });
|
|
44131
44136
|
});
|
|
44132
44137
|
GraphRenderer.displayName = "GraphRenderer";
|
|
44133
44138
|
/**
|
|
@@ -51726,7 +51731,8 @@ const CanvasDetailPanel = ({
|
|
|
51726
51731
|
highlightedNodeId: state.highlightedNodeId,
|
|
51727
51732
|
activeNodeIds,
|
|
51728
51733
|
onNodeClick: handleNodeClick2,
|
|
51729
|
-
onSourceClick: handleSourceClick
|
|
51734
|
+
onSourceClick: handleSourceClick,
|
|
51735
|
+
showNodeDetailPanel: true
|
|
51730
51736
|
}
|
|
51731
51737
|
)
|
|
51732
51738
|
}
|