Browse Source

Slightly improved C# formatting. custom edit actions are now working again.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@16 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mike Krüger 22 years ago
parent
commit
f6d4ee4e4f
  1. 5
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 69
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs
  3. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  4. 2
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/Nodes/BookmarkFolderNode.cs
  5. 3
      src/Main/Base/Project/Src/TextEditor/Codons/EditActionErbauer.cs
  6. 2
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/Nodes/SearchFolderNode.cs
  7. 70
      src/SharpDevelop.sln

5
AddIns/ICSharpCode.SharpDevelop.addin

@ -7,6 +7,7 @@
<Runtime> <Runtime>
<Import assembly="../bin/ICSharpCode.SharpDevelop.dll"/> <Import assembly="../bin/ICSharpCode.SharpDevelop.dll"/>
<Import assembly="../bin/ICSharpCode.TextEditor.dll"/>
</Runtime> </Runtime>
<Path name = "/SharpDevelop/Workbench/Ambiences"> <Path name = "/SharpDevelop/Workbench/Ambiences">
@ -1827,11 +1828,11 @@
<!-- Note : Most actions are put directly into the control, because <!-- Note : Most actions are put directly into the control, because
they're used for the standalone version too, only put keys in the they're used for the standalone version too, only put keys in the
tree that are sharpdevelop specific, general keys put into TextAreaControl.GenerateDefaultActions --> tree that are sharpdevelop specific, general keys put into TextAreaControl.GenerateDefaultActions -->
<!-- <Path name = "/AddIns/DefaultTextEditor/EditActions"> <Path name = "/AddIns/DefaultTextEditor/EditActions">
<EditAction id = "TemplateCompletion" class = "ICSharpCode.SharpDevelop.DefaultEditor.Actions.TemplateCompletion" keys = "Control|J"/> <EditAction id = "TemplateCompletion" class = "ICSharpCode.SharpDevelop.DefaultEditor.Actions.TemplateCompletion" keys = "Control|J"/>
<EditAction id = "CodeCompletionPopup" class = "ICSharpCode.SharpDevelop.DefaultEditor.Actions.CodeCompletionPopup" keys = "Control|Space"/> <EditAction id = "CodeCompletionPopup" class = "ICSharpCode.SharpDevelop.DefaultEditor.Actions.CodeCompletionPopup" keys = "Control|Space"/>
<EditAction id = "IndentSelection" class = "ICSharpCode.TextEditor.Actions.IndentSelection" keys = "Control|I"/> <EditAction id = "IndentSelection" class = "ICSharpCode.TextEditor.Actions.IndentSelection" keys = "Control|I"/>
</Path> --> </Path>
<Path name = "/SharpDevelop/Workbench/Pads"> <Path name = "/SharpDevelop/Workbench/Pads">

69
src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs

@ -179,6 +179,40 @@ namespace CSharpBinding.FormattingStrategy
return curlyCounter > 0; return curlyCounter > 0;
} }
bool IsInsideNonVerbatimString(TextArea textArea, LineSegment curLine, int cursorOffset)
{
// scan cur line if it is inside a string or single line comment (//)
bool insideString = false;
char stringstart = ' ';
bool verbatim = false; // true if the current string is verbatim (@-string)
char c = ' ';
char lastchar;
for (int i = curLine.Offset; i < cursorOffset; ++i) {
lastchar = c;
c = textArea.Document.GetCharAt(i);
if (insideString) {
if (c == stringstart) {
if (verbatim && i + 1 < cursorOffset && textArea.Document.GetCharAt(i + 1) == '"') {
++i; // skip escaped character
} else {
insideString = false;
}
} else if (c == '\\' && !verbatim) {
++i; // skip escaped character
}
} else if (c == '/' && i + 1 < cursorOffset && textArea.Document.GetCharAt(i + 1) == '/') {
return false;
} else if (c == '"' || c == '\'') {
stringstart = c;
insideString = true;
verbatim = (c == '"') && (lastchar == '@');
}
}
return insideString && !verbatim;
}
bool IsInsideStringOrComment(TextArea textArea, LineSegment curLine, int cursorOffset) bool IsInsideStringOrComment(TextArea textArea, LineSegment curLine, int cursorOffset)
{ {
// scan cur line if it is inside a string or single line comment (//) // scan cur line if it is inside a string or single line comment (//)
@ -187,15 +221,17 @@ namespace CSharpBinding.FormattingStrategy
bool verbatim = false; // true if the current string is verbatim (@-string) bool verbatim = false; // true if the current string is verbatim (@-string)
char c = ' '; char c = ' ';
char lastchar; char lastchar;
for (int i = curLine.Offset; i < cursorOffset; ++i) { for (int i = curLine.Offset; i < cursorOffset; ++i) {
lastchar = c; lastchar = c;
c = textArea.Document.GetCharAt(i); c = textArea.Document.GetCharAt(i);
if (insideString) { if (insideString) {
if (c == stringstart) { if (c == stringstart) {
if (verbatim && i + 1 < cursorOffset && textArea.Document.GetCharAt(i + 1) == '"') if (verbatim && i + 1 < cursorOffset && textArea.Document.GetCharAt(i + 1) == '"') {
++i; // skip escaped character ++i; // skip escaped character
else } else {
insideString = false; insideString = false;
}
} else if (c == '\\' && !verbatim) { } else if (c == '\\' && !verbatim) {
++i; // skip escaped character ++i; // skip escaped character
} }
@ -207,6 +243,7 @@ namespace CSharpBinding.FormattingStrategy
verbatim = (c == '"') && (lastchar == '@'); verbatim = (c == '"') && (lastchar == '@');
} }
} }
return insideString; return insideString;
} }
@ -300,6 +337,21 @@ namespace CSharpBinding.FormattingStrategy
#endregion #endregion
#region FormatLine #region FormatLine
bool NeedEndregion(IDocument document)
{
int regions = 0;
int endregions = 0;
foreach (LineSegment line in document.LineSegmentCollection) {
string text = document.GetText(line).Trim();
if (text.StartsWith("#region")) {
++regions;
} else if (text.StartsWith("#endregion")) {
++endregions;
}
}
return regions > endregions;
}
public override int FormatLine(TextArea textArea, int lineNr, int cursorOffset, char ch) // used for comment tag formater/inserter public override int FormatLine(TextArea textArea, int lineNr, int cursorOffset, char ch) // used for comment tag formater/inserter
{ {
LineSegment curLine = textArea.Document.GetLineSegment(lineNr); LineSegment curLine = textArea.Document.GetLineSegment(lineNr);
@ -347,12 +399,12 @@ namespace CSharpBinding.FormattingStrategy
} }
return 0; return 0;
} }
if (ch != '\n' && ch != '>') { if (ch != '\n' && ch != '>') {
if (IsInsideStringOrComment(textArea, curLine, cursorOffset)) { if (IsInsideStringOrComment(textArea, curLine, cursorOffset)) {
return 0; return 0;
} }
} }
switch (ch) { switch (ch) {
case '>': case '>':
if (IsInsideDocumentationComment(textArea, curLine, cursorOffset)) { if (IsInsideDocumentationComment(textArea, curLine, cursorOffset)) {
@ -389,6 +441,12 @@ namespace CSharpBinding.FormattingStrategy
case '{': case '{':
return textArea.Document.FormattingStrategy.IndentLine(textArea, lineNr); return textArea.Document.FormattingStrategy.IndentLine(textArea, lineNr);
case '\n': case '\n':
if (IsInsideNonVerbatimString(textArea, lineAbove, lineAbove.Offset + lineAbove.Length)) {
textArea.Document.Insert(lineAbove.Offset + lineAbove.Length,
"\" +");
textArea.Document.Insert(curLine.Offset, "\"");
return IndentLine(textArea, lineNr) + 1;
}
if (lineNr <= 0) { if (lineNr <= 0) {
return IndentLine(textArea, lineNr); return IndentLine(textArea, lineNr);
} }
@ -405,6 +463,11 @@ namespace CSharpBinding.FormattingStrategy
int addCursorOffset = 0; int addCursorOffset = 0;
if (lineAboveText.Trim().StartsWith("#region") && NeedEndregion(textArea.Document)) {
textArea.Document.Insert(curLine.Offset, "#endregion");
return IndentLine(textArea, lineNr) + "#endregion".Length;
}
if (lineAbove.HighlightSpanStack != null && lineAbove.HighlightSpanStack.Count > 0) { if (lineAbove.HighlightSpanStack != null && lineAbove.HighlightSpanStack.Count > 0) {
if (!((Span)lineAbove.HighlightSpanStack.Peek()).StopEOL) { // case for /* style comments if (!((Span)lineAbove.HighlightSpanStack.Peek()).StopEOL) { // case for /* style comments
int index = lineAboveText.IndexOf("/*"); int index = lineAboveText.IndexOf("/*");

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -13,6 +13,7 @@
<SignAssembly>True</SignAssembly> <SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>Resources\ICSharpCode.SharpDevelop.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>Resources\ICSharpCode.SharpDevelop.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode> <AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
<AssemblyKeyProviderName />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols> <DebugSymbols>True</DebugSymbols>

2
src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/Nodes/BookmarkFolderNode.cs

@ -57,7 +57,7 @@ namespace Bookmark
Graphics g = e.Graphics; Graphics g = e.Graphics;
float x = e.Bounds.X; float x = e.Bounds.X;
if (icon != null) { if (icon != null) {
g.DrawImage(icon, x, e.Bounds.Y); g.DrawImage(icon, x, e.Bounds.Y, icon.Width, icon.Height);
x += icon.Width; x += icon.Width;
} }
DrawText(g, fileName, Brushes.Black, Font, ref x, e.Bounds.Y); DrawText(g, fileName, Brushes.Black, Font, ref x, e.Bounds.Y);

3
src/Main/Base/Project/Src/TextEditor/Codons/EditActionErbauer.cs

@ -22,8 +22,9 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Codons
{ {
public object BuildItem(object caller, Codon codon, ArrayList subItems) public object BuildItem(object caller, Codon codon, ArrayList subItems)
{ {
Console.WriteLine("Try to create '{0}'", codon.Properties["class"]);
IEditAction editAction = (IEditAction)codon.AddIn.CreateObject(codon.Properties["class"]); IEditAction editAction = (IEditAction)codon.AddIn.CreateObject(codon.Properties["class"]);
Console.WriteLine("Action : " + editAction);
string[] keys = codon.Properties["keys"].Split(','); string[] keys = codon.Properties["keys"].Split(',');
Keys[] actionKeys = new Keys[keys.Length]; Keys[] actionKeys = new Keys[keys.Length];

2
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/Nodes/SearchFolderNode.cs

@ -57,7 +57,7 @@ namespace SearchAndReplace
Graphics g = e.Graphics; Graphics g = e.Graphics;
float x = e.Bounds.X; float x = e.Bounds.X;
if (icon != null) { if (icon != null) {
g.DrawImage(icon, x, e.Bounds.Y); g.DrawImage(icon, x, e.Bounds.Y, icon.Width, icon.Height);
x += icon.Width; x += icon.Width;
} }
DrawText(g, fileName, Brushes.Black, Font, ref x, e.Bounds.Y); DrawText(g, fileName, Brushes.Black, Font, ref x, e.Bounds.Y);

70
src/SharpDevelop.sln

@ -1,5 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.1 # SharpDevelop 2.0.0.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
@ -34,32 +60,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Backends", "Backends", "{FE
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@ -133,6 +133,15 @@ Global
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
@ -145,14 +154,5 @@ Global
{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79}
{CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79}
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C}
{83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

Loading…
Cancel
Save