@xyo-network/react-node-renderer 4.4.11 → 5.0.0-rc.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/dist/browser/index.mjs +5 -5
- package/dist/browser/index.mjs.map +1 -1
- package/dist/{browser → types}/components/module/graph/node/hooks/useNodeElement.d.ts +1 -1
- package/dist/types/components/relational/graph/Graph.d.ts +16 -0
- package/dist/types/components/relational/graph/Graph.d.ts.map +1 -0
- package/package.json +44 -42
- package/src/components/relational/graph/Graph.tsx +102 -104
- package/src/contexts/CytoscapeInstance/Provider.tsx +2 -2
- package/dist/browser/components/relational/graph/Graph.d.ts +0 -6
- package/dist/browser/components/relational/graph/Graph.d.ts.map +0 -1
- /package/dist/{browser → types}/Cytoscape/CytoscapeElements.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/CytoscapeElements.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/CytoscapeIcons.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/CytoscapeIcons.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/CytoscapeStyles.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/CytoscapeStyles.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/index.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/index.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/CyNodeModuleTypes.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/CyNodeModuleTypes.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/encodeSvg.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/encodeSvg.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/iconMap.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/iconMap.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/index.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/index.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/ColaLayout.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/ColaLayout.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/ConcentricLayout.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/ConcentricLayout.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/index.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/layout/index.d.ts.map +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/parseModuleType.d.ts +0 -0
- /package/dist/{browser → types}/Cytoscape/lib/parseModuleType.d.ts.map +0 -0
- /package/dist/{browser → types}/components/cytoscape-extensions/WithExtensions.d.ts +0 -0
- /package/dist/{browser → types}/components/cytoscape-extensions/WithExtensions.d.ts.map +0 -0
- /package/dist/{browser → types}/components/cytoscape-extensions/index.d.ts +0 -0
- /package/dist/{browser → types}/components/cytoscape-extensions/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/index.d.ts +0 -0
- /package/dist/{browser → types}/components/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/lib/RelationalGraphProps.d.ts +0 -0
- /package/dist/{browser → types}/components/lib/RelationalGraphProps.d.ts.map +0 -0
- /package/dist/{browser → types}/components/lib/index.d.ts +0 -0
- /package/dist/{browser → types}/components/lib/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/CardParser.d.ts +0 -0
- /package/dist/{browser → types}/components/module/CardParser.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/DetailsFlexbox.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/DetailsFlexbox.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/GraphFlexBox.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/GraphFlexBox.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/Popper.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/Popper.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/index.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/node/Hover.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/node/Hover.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/node/hooks/index.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/node/hooks/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/node/hooks/useNodeElement.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/graph/node/index.d.ts +0 -0
- /package/dist/{browser → types}/components/module/graph/node/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/module/index.d.ts +0 -0
- /package/dist/{browser → types}/components/module/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/relational/graph/ProvidedNodeRenderer.d.ts +0 -0
- /package/dist/{browser → types}/components/relational/graph/ProvidedNodeRenderer.d.ts.map +0 -0
- /package/dist/{browser → types}/components/relational/graph/index.d.ts +0 -0
- /package/dist/{browser → types}/components/relational/graph/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/relational/graph/story/TestData.d.ts +0 -0
- /package/dist/{browser → types}/components/relational/graph/story/TestData.d.ts.map +0 -0
- /package/dist/{browser → types}/components/relational/graph/story/index.d.ts +0 -0
- /package/dist/{browser → types}/components/relational/graph/story/index.d.ts.map +0 -0
- /package/dist/{browser → types}/components/relational/index.d.ts +0 -0
- /package/dist/{browser → types}/components/relational/index.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/Context.d.ts +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/Context.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/Provider.d.ts +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/Provider.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/State.d.ts +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/State.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/index.d.ts +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/index.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/use.d.ts +0 -0
- /package/dist/{browser → types}/contexts/CytoscapeInstance/use.d.ts.map +0 -0
- /package/dist/{browser → types}/contexts/index.d.ts +0 -0
- /package/dist/{browser → types}/contexts/index.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/index.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/index.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useCytoscapeElements.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useCytoscapeElements.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useElements.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useElements.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useHoveredNode.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useHoveredNode.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useNewElements.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useNewElements.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useRenderNewElements.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useRenderNewElements.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useSelectedElement.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/elements/useSelectedElement.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/index.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/index.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeOptions.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeOptions.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeStyle.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeStyle.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useIcons.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useIcons.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useModuleDetails.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useModuleDetails.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useRelationalGraphOptions.d.ts +0 -0
- /package/dist/{browser → types}/hooks/cytoscape/useRelationalGraphOptions.d.ts.map +0 -0
- /package/dist/{browser → types}/hooks/index.d.ts +0 -0
- /package/dist/{browser → types}/hooks/index.d.ts.map +0 -0
- /package/dist/{browser → types}/index.d.ts +0 -0
- /package/dist/{browser → types}/index.d.ts.map +0 -0
|
@@ -16,7 +16,7 @@ import coseBilkentLayout from 'cytoscape-cose-bilkent'
|
|
|
16
16
|
import dagre from 'cytoscape-dagre'
|
|
17
17
|
import eulerLayout from 'cytoscape-euler'
|
|
18
18
|
import React, {
|
|
19
|
-
|
|
19
|
+
useEffect, useRef, useState,
|
|
20
20
|
} from 'react'
|
|
21
21
|
|
|
22
22
|
import type { NodeRelationalGraphProps } from '../../lib/index.ts'
|
|
@@ -72,120 +72,118 @@ const ModuleHoverDetails: React.FC<ModuleHoverDetailsProps> = ({
|
|
|
72
72
|
)
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
export const NodeRelationalGraphFlexBox =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const [hoverAddress, setHoverAddress] = useState<Address>()
|
|
75
|
+
export const NodeRelationalGraphFlexBox = ({
|
|
76
|
+
ref, actions, children, node, layout, layoutOptions, showDetails, detail, options, onHover, ...props
|
|
77
|
+
}: NodeRelationalGraphProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {
|
|
78
|
+
const theme = useTheme()
|
|
79
|
+
const [cy, setCy] = useState<Core>()
|
|
80
|
+
const cytoscapeRef = useRef<HTMLDivElement>(null)
|
|
81
|
+
const [hoverPosition, setHoverBoundingBox] = useState<{ x1: number; x2: number; y1: number; y2: number }>()
|
|
82
|
+
const [hoverAddress, setHoverAddress] = useState<Address>()
|
|
84
83
|
|
|
85
|
-
|
|
84
|
+
const [moduleInstance] = useWeakModuleFromNode(hoverAddress, { node })
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
cy?.on('mouseover tap', ({ target }) => {
|
|
88
|
+
const cyNode = target as NodeSingular
|
|
89
|
+
const bb = cyNode?.renderedBoundingBox?.()
|
|
90
|
+
setHoverBoundingBox(bb)
|
|
91
|
+
const id = cyNode.id?.()
|
|
92
|
+
if (id) {
|
|
93
|
+
if (id.includes('/')) {
|
|
94
|
+
setHoverAddress(undefined)
|
|
95
|
+
onHover?.()
|
|
96
|
+
} else {
|
|
97
|
+
setHoverAddress(asAddress(id))
|
|
98
|
+
onHover?.(asAddress(id))
|
|
101
99
|
}
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
}, [onHover, cy])
|
|
103
|
+
|
|
104
|
+
const handleReset = () => {
|
|
105
|
+
cy?.reset()
|
|
106
|
+
applyLayout(cy, layout ?? 'euler', layoutOptions)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
let newCy: Core | undefined
|
|
111
|
+
const container = cytoscapeRef.current
|
|
112
|
+
if (container) {
|
|
113
|
+
newCy = cytoscape({
|
|
114
|
+
container,
|
|
115
|
+
...options,
|
|
102
116
|
})
|
|
103
|
-
|
|
117
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
118
|
+
setCy(newCy)
|
|
119
|
+
} else {
|
|
120
|
+
newCy?.destroy()
|
|
121
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
122
|
+
setCy(undefined)
|
|
123
|
+
}
|
|
124
|
+
return () => {
|
|
125
|
+
newCy?.destroy()
|
|
126
|
+
setCy(undefined)
|
|
127
|
+
}
|
|
128
|
+
}, [options, cytoscapeRef, layoutOptions])
|
|
104
129
|
|
|
105
|
-
|
|
106
|
-
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
if (cy) {
|
|
132
|
+
loadLayout(layout)
|
|
107
133
|
applyLayout(cy, layout ?? 'euler', layoutOptions)
|
|
108
134
|
}
|
|
135
|
+
}, [cy, layoutOptions, layout])
|
|
109
136
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
newCy?.destroy()
|
|
127
|
-
setCy(undefined)
|
|
128
|
-
}
|
|
129
|
-
}, [options, cytoscapeRef, layoutOptions])
|
|
130
|
-
|
|
131
|
-
useEffect(() => {
|
|
132
|
-
if (cy) {
|
|
133
|
-
loadLayout(layout)
|
|
134
|
-
applyLayout(cy, layout ?? 'euler', layoutOptions)
|
|
135
|
-
}
|
|
136
|
-
}, [cy, layoutOptions, layout])
|
|
137
|
-
|
|
138
|
-
return (
|
|
139
|
-
<FlexCol id="relational-graph-wrapper" ref={ref} {...props}>
|
|
140
|
-
{hoverAddress && hoverPosition
|
|
141
|
-
? (
|
|
142
|
-
<Box position="absolute" top={hoverPosition.y1} left={hoverPosition.x1} zIndex={100}>
|
|
143
|
-
<ModuleHoverDetails address={hoverAddress} name={moduleInstance?.deref()?.id ?? 'Unknown'} />
|
|
144
|
-
</Box>
|
|
145
|
-
)
|
|
146
|
-
: null}
|
|
147
|
-
<FlexRow justifyContent="start" width="100%">
|
|
148
|
-
{actions === null
|
|
149
|
-
? null
|
|
150
|
-
: actions
|
|
151
|
-
? (
|
|
152
|
-
<ButtonGroup>
|
|
153
|
-
{actions}
|
|
154
|
-
<Button size="small" variant="contained" onClick={handleReset}>
|
|
155
|
-
Reset View
|
|
156
|
-
</Button>
|
|
157
|
-
</ButtonGroup>
|
|
158
|
-
)
|
|
159
|
-
: (
|
|
137
|
+
return (
|
|
138
|
+
<FlexCol id="relational-graph-wrapper" ref={ref} {...props}>
|
|
139
|
+
{hoverAddress && hoverPosition
|
|
140
|
+
? (
|
|
141
|
+
<Box position="absolute" top={hoverPosition.y1} left={hoverPosition.x1} zIndex={100}>
|
|
142
|
+
<ModuleHoverDetails address={hoverAddress} name={moduleInstance?.deref()?.id ?? 'Unknown'} />
|
|
143
|
+
</Box>
|
|
144
|
+
)
|
|
145
|
+
: null}
|
|
146
|
+
<FlexRow justifyContent="start" width="100%">
|
|
147
|
+
{actions === null
|
|
148
|
+
? null
|
|
149
|
+
: actions
|
|
150
|
+
? (
|
|
151
|
+
<ButtonGroup>
|
|
152
|
+
{actions}
|
|
160
153
|
<Button size="small" variant="contained" onClick={handleReset}>
|
|
161
|
-
Reset
|
|
154
|
+
Reset View
|
|
162
155
|
</Button>
|
|
163
|
-
|
|
164
|
-
</FlexRow>
|
|
165
|
-
<FlexGrowRow width="100%" alignItems="start">
|
|
166
|
-
{showDetails
|
|
167
|
-
? (
|
|
168
|
-
<FlexCol height="100%" width="85%">
|
|
169
|
-
{detail}
|
|
170
|
-
</FlexCol>
|
|
156
|
+
</ButtonGroup>
|
|
171
157
|
)
|
|
172
|
-
:
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
158
|
+
: (
|
|
159
|
+
<Button size="small" variant="contained" onClick={handleReset}>
|
|
160
|
+
Reset
|
|
161
|
+
</Button>
|
|
162
|
+
)}
|
|
163
|
+
</FlexRow>
|
|
164
|
+
<FlexGrowRow width="100%" alignItems="start">
|
|
165
|
+
{showDetails
|
|
166
|
+
? (
|
|
167
|
+
<FlexCol height="100%" width="85%">
|
|
168
|
+
{detail}
|
|
169
|
+
</FlexCol>
|
|
170
|
+
)
|
|
171
|
+
: null}
|
|
172
|
+
<FlexCol
|
|
173
|
+
justifyContent="start"
|
|
174
|
+
classes="cytoscape-wrap"
|
|
175
|
+
width={showDetails ? '15%' : '100%'}
|
|
176
|
+
height={showDetails ? '50%' : '100%'}
|
|
177
|
+
border={showDetails ? `1px solid ${theme.palette.divider}` : undefined}
|
|
178
|
+
>
|
|
179
|
+
{/* Cytoscape Element */}
|
|
180
|
+
<FlexCol alignItems="stretch" position="absolute" width="100%" height="100%" ref={cytoscapeRef} />
|
|
181
|
+
{children}
|
|
182
|
+
</FlexCol>
|
|
183
|
+
</FlexGrowRow>
|
|
184
|
+
</FlexCol>
|
|
185
|
+
)
|
|
186
|
+
}
|
|
189
187
|
|
|
190
188
|
NodeRelationalGraphFlexBox.displayName = 'NodeRelationalGraph'
|
|
191
189
|
|
|
@@ -16,8 +16,8 @@ export const CytoscapeInstanceProvider: React.FC<CytoscapeInstanceProviderProps>
|
|
|
16
16
|
}), [cy, setCy])
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
|
-
<CytoscapeInstanceContext
|
|
19
|
+
<CytoscapeInstanceContext value={value}>
|
|
20
20
|
{children}
|
|
21
|
-
</CytoscapeInstanceContext
|
|
21
|
+
</CytoscapeInstanceContext>
|
|
22
22
|
)
|
|
23
23
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { NodeRelationalGraphProps } from '../../lib/index.ts';
|
|
3
|
-
export declare const NodeRelationalGraphFlexBox: React.ForwardRefExoticComponent<NodeRelationalGraphProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
-
/** @deprecated */
|
|
5
|
-
export declare const NodeRelationalGraph: React.ForwardRefExoticComponent<NodeRelationalGraphProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
-
//# sourceMappingURL=Graph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../../src/components/relational/graph/Graph.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAEN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAqDlE,eAAO,MAAM,0BAA0B,iGAiHtC,CAAA;AAID,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,iGAA6B,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|